@arcgis/core 6.0.0-next.36 → 6.0.0-next.38

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 (389) hide show
  1. package/analysis/DimensionAnalysis.js +1 -1
  2. package/analysis/DimensionSimpleStyle.js +1 -1
  3. package/analysis/LengthDimension.js +1 -1
  4. package/analysis/LineOfSightAnalysis.js +1 -1
  5. package/analysis/LineOfSightAnalysisTarget.js +1 -1
  6. package/analysis/Viewshed.js +1 -1
  7. package/analysis/ViewshedAnalysis.js +1 -1
  8. package/assets/esri/core/workers/RemoteClient.js +1 -1
  9. package/assets/esri/core/workers/chunks/{0202eb8c2b2865f99981.js → 00311d1b18d5952a014b.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{9503eedfdda55fc5adab.js → 091ec4fe83038f3558f4.js} +1 -1
  11. package/assets/esri/core/workers/chunks/0b21d0e2e5a91c34a108.js +1 -0
  12. package/assets/esri/core/workers/chunks/{322b22a5d54e404bebd5.js → 0c893837f67829757df7.js} +1 -1
  13. package/assets/esri/core/workers/chunks/123541f79be7adff0818.js +1 -0
  14. package/assets/esri/core/workers/chunks/{155861fbd0e5fc2db80c.js → 1a91443970d64a59521d.js} +1 -1
  15. package/assets/esri/core/workers/chunks/1e37337f47f45d6d8005.js +1 -0
  16. package/assets/esri/core/workers/chunks/{4e5405134d079bdf9b7a.js → 1f76f6dcdae9f55389cb.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{f717005e14a7e9141df7.js → 2050c844b5a29b1df28a.js} +1 -1
  18. package/assets/esri/core/workers/chunks/2c3612379111457c3221.js +1 -0
  19. package/assets/esri/core/workers/chunks/2d16b5a44f840147e882.js +1 -0
  20. package/assets/esri/core/workers/chunks/{d9a240a3c6bf85124474.js → 342a97974a78007b25e0.js} +1 -1
  21. package/assets/esri/core/workers/chunks/34467f7d84baffd772a3.js +1 -0
  22. package/assets/esri/core/workers/chunks/396299c22994c502e41c.js +1 -0
  23. package/assets/esri/core/workers/chunks/{03daf6f235c6edef6268.js → 398ec098fffe6abceedd.js} +1 -1
  24. package/assets/esri/core/workers/chunks/3b32a24488b3068f0cb7.js +1 -0
  25. package/assets/esri/core/workers/chunks/3b5e9e0b180dc10491ec.js +1 -0
  26. package/assets/esri/core/workers/chunks/{4d18b48d4a282a0f341c.js → 427d929dc7f89b0a1ea9.js} +1 -1
  27. package/assets/esri/core/workers/chunks/432728c557be5dfa26b5.js +1 -0
  28. package/assets/esri/core/workers/chunks/46969f379623810b2eca.js +1 -0
  29. package/assets/esri/core/workers/chunks/46edd6c9ed6701e6b975.js +1 -0
  30. package/assets/esri/core/workers/chunks/{8b0d5551978ab0aac0d1.js → 520f499d79fa71f262c7.js} +1 -1
  31. package/assets/esri/core/workers/chunks/5473409fee59db80f87d.js +1 -0
  32. package/assets/esri/core/workers/chunks/553a8bf5bc5c56d1bcaf.js +1 -0
  33. package/assets/esri/core/workers/chunks/{2211ff0a1f1ae8100231.js → 585ae43c7bcb86a26762.js} +1 -1
  34. package/assets/esri/core/workers/chunks/58716a3a6106a1b0fb9d.js +1 -0
  35. package/assets/esri/core/workers/chunks/{aa6ee2aa4ff6e6d41efb.js → 5882f349f3771868e67f.js} +1 -1
  36. package/assets/esri/core/workers/chunks/592b5db1459c02cf6a0c.js +1 -0
  37. package/assets/esri/core/workers/chunks/{1b17f5f720f6cf3f6d73.js → 5be386b3af867b19ff39.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{ea81f9d71b0842a4be26.js → 5e48898cebb6dbaf09b5.js} +1 -1
  39. package/assets/esri/core/workers/chunks/6a21dc13a465757ba007.js +1 -0
  40. package/assets/esri/core/workers/chunks/{139e753d95cfc9470e74.js → 6a65fc1a2931230fe994.js} +1 -1
  41. package/assets/esri/core/workers/chunks/{3e406043a374ee17475b.js → 6f2e7e663229b223b4df.js} +1 -1
  42. package/assets/esri/core/workers/chunks/{379db67f78161ebd5468.js → 7023651ed6398dcf8efb.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{90360c0bd053d3e3fd77.js → 7027a0e7bfabb3bb7fc2.js} +1 -1
  44. package/assets/esri/core/workers/chunks/76e80381fa6d1e084796.js +1 -0
  45. package/assets/esri/core/workers/chunks/78818c2a898444f7e890.js +1 -0
  46. package/assets/esri/core/workers/chunks/{40c2674dae73f0942751.js → 7d497df6e13162156342.js} +1 -1
  47. package/assets/esri/core/workers/chunks/{3b380e64566a6cce59e2.js → 7e0ed6e8f7b77e43f628.js} +1 -1
  48. package/assets/esri/core/workers/chunks/8c3779de09291170497f.js +1 -0
  49. package/assets/esri/core/workers/chunks/8e391b5b82429f39791e.js +1 -0
  50. package/assets/esri/core/workers/chunks/947f3a1cad976bba9738.js +1 -0
  51. package/assets/esri/core/workers/chunks/{59a1b637d2c107504a04.js → 966204d6dedc8149c3e9.js} +1 -1
  52. package/assets/esri/core/workers/chunks/9826baa3c15ea2062669.js +1 -0
  53. package/assets/esri/core/workers/chunks/{d3369ffed19f4c264dcd.js → 9ab0735e86cf8932bf9d.js} +1 -1
  54. package/assets/esri/core/workers/chunks/ab0ea4042f4e13874aed.js +1 -0
  55. package/assets/esri/core/workers/chunks/ab98ade3257360015d6c.js +1 -0
  56. package/assets/esri/core/workers/chunks/ac107079342251a984dd.js +1 -0
  57. package/assets/esri/core/workers/chunks/{572aec57593a08b8045b.js → b15a8d4322f3b7819d2f.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{552c36b40e5a5ec117fb.js → b472c0a21ae29e653f7d.js} +1 -1
  59. package/assets/esri/core/workers/chunks/b90271ce38522bcf813b.js +1 -0
  60. package/assets/esri/core/workers/chunks/ba91df9835cdea7698a9.js +1 -0
  61. package/assets/esri/core/workers/chunks/bdd76a0b6c14e7fb6984.js +1 -0
  62. package/assets/esri/core/workers/chunks/bfe13ac9fa1aafb190a1.js +1 -0
  63. package/assets/esri/core/workers/chunks/{f372f4eb5527238c46f5.js → c31830ee897d5a7f2582.js} +1 -1
  64. package/assets/esri/core/workers/chunks/c48d97c38e821be17dc5.js +1 -0
  65. package/assets/esri/core/workers/chunks/{0a508e25ec05363e1f04.js → c7ad62f54d2abe1d17a0.js} +1 -1
  66. package/assets/esri/core/workers/chunks/cb1642ea8b66231cbfb5.js +1 -0
  67. package/assets/esri/core/workers/chunks/ce0274847ccce6a1ac53.js +1 -0
  68. package/assets/esri/core/workers/chunks/cf21b217b13770757cb8.js +1 -0
  69. package/assets/esri/core/workers/chunks/cf2e5f827cea7d7319ce.js +1 -0
  70. package/assets/esri/core/workers/chunks/d42a4f47843e075c56a8.js +1 -0
  71. package/assets/esri/core/workers/chunks/dae2036faa28dade2119.js +1 -0
  72. package/assets/esri/core/workers/chunks/e2430bc3a1edeb5c3266.js +1 -0
  73. package/assets/esri/core/workers/chunks/e9457a67befc61e11095.js +1 -0
  74. package/assets/esri/core/workers/chunks/f06ef153e106b26a6748.js +1 -0
  75. package/assets/esri/core/workers/chunks/faae3c43048b42341536.js +1 -0
  76. package/assets/esri/core/workers/chunks/fc77eb7683e708774168.js +1 -0
  77. package/assets/esri/core/workers/chunks/fd967a9f3cf0e2890dbb.js +1 -0
  78. package/chunks/Clouds.glsl.js +7 -11
  79. package/chunks/h.js +2 -0
  80. package/chunks/projector.js +2 -0
  81. package/config.js +1 -1
  82. package/core/libs/gl-matrix-2/math/vec3.js +1 -1
  83. package/core/sanitizerUtils.js +1 -1
  84. package/form/FormTemplate.js +1 -1
  85. package/form/elements/Element.js +1 -1
  86. package/form/elements/FieldElement.js +1 -1
  87. package/geometry/ellipsoidUtils.js +4 -4
  88. package/geometry/support/frustumPlanes.js +1 -1
  89. package/geometry/support/plane.js +1 -1
  90. package/geometry/support/triangle.js +1 -1
  91. package/kernel.js +1 -1
  92. package/layers/BaseElevationLayer.js +1 -1
  93. package/layers/ElevationLayer.js +1 -1
  94. package/layers/GraphicsLayer.js +1 -1
  95. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  96. package/layers/IntegratedMeshLayer.d.ts +2 -0
  97. package/layers/IntegratedMeshLayer.js +1 -1
  98. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  99. package/layers/geospatialPDF/geospatialPDFParserUtils.js +1 -1
  100. package/layers/geospatialPDF/support/datumUtils.js +2 -0
  101. package/layers/geospatialPDF/support/ellipsoidUtils.js +2 -0
  102. package/layers/geospatialPDF/support/geographicProjectionUtils.js +2 -0
  103. package/layers/geospatialPDF/support/parameterUtils.js +2 -0
  104. package/layers/geospatialPDF/support/projectedProjectionUtils.js +3 -0
  105. package/layers/geospatialPDF/support/projectionToSpatialReference.js +2 -0
  106. package/layers/geospatialPDF/support/statePlaneUtils.js +2 -0
  107. package/layers/geospatialPDF/support/unitUtils.js +2 -0
  108. package/layers/geospatialPDF/support/validateProjectionUtils.js +2 -0
  109. package/layers/graphics/sources/support/clientSideDefaults.js +2 -2
  110. package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.js +1 -1
  111. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  112. package/layers/ogc/ogcFeatureUtils.js +1 -1
  113. package/layers/save/imageryUtils.js +1 -1
  114. package/layers/save/mediaLayerUtils.js +1 -1
  115. package/layers/save/streamLayerUtils.js +1 -1
  116. package/layers/support/ControlPoint.js +1 -1
  117. package/layers/support/ControlPointsGeoreference.js +1 -1
  118. package/layers/support/DimensionalDefinition.js +1 -1
  119. package/layers/support/ElevationQuery.js +1 -1
  120. package/layers/support/LabelClass.js +1 -1
  121. package/layers/support/LabelExpressionInfo.js +1 -1
  122. package/layers/support/MediaElementBase.js +1 -1
  123. package/layers/support/MosaicRule.js +1 -1
  124. package/layers/support/MultidimensionalSubset.js +1 -1
  125. package/layers/support/RasterBandInfo.js +1 -1
  126. package/layers/support/RasterFunction.js +1 -1
  127. package/layers/support/RasterFunctionTemplate.js +1 -1
  128. package/layers/support/RasterInfo.js +1 -1
  129. package/layers/support/RasterSensorInfo.js +1 -1
  130. package/layers/support/RasterStorageInfo.js +1 -1
  131. package/layers/support/VideoElement.js +1 -1
  132. package/layers/support/layersLoader.js +1 -1
  133. package/layers/video/VideoController.js +3 -3
  134. package/layers/video/types.d.ts +12 -0
  135. package/legend/ActiveLayerInfo.d.ts +5 -1
  136. package/legend/ActiveLayerInfo.js +1 -1
  137. package/libs/maquette-advanced-projector/projector.js +1 -1
  138. package/linkChart/LayoutSettings.js +1 -1
  139. package/linkChart/RootedLayoutSettings.js +1 -1
  140. package/package.json +3 -3
  141. package/renderers/FlowRenderer.js +1 -1
  142. package/renderers/RasterColormapRenderer.js +1 -1
  143. package/renderers/RasterShadedReliefRenderer.js +1 -1
  144. package/renderers/RasterStretchRenderer.js +1 -1
  145. package/renderers/VectorFieldRenderer.js +1 -1
  146. package/renderers/support/ColormapInfo.js +1 -1
  147. package/renderers/support/RasterPresetRenderer.js +1 -1
  148. package/renderers/support/rasterRendererHelper.js +1 -1
  149. package/rest/knowledgeGraph/GraphApplyEdits.js +1 -1
  150. package/rest/support/BaseImageMeasureParameters.js +1 -1
  151. package/rest/support/BaseImageMeasureResult.js +1 -1
  152. package/rest/support/FindImagesParameters.js +1 -1
  153. package/rest/support/FindImagesResult.js +1 -1
  154. package/rest/support/ImageAngleParameters.js +1 -1
  155. package/rest/support/ImageAngleResult.js +1 -1
  156. package/rest/support/ImageAreaParameters.js +1 -1
  157. package/rest/support/ImageAreaResult.js +1 -1
  158. package/rest/support/ImageBoundaryParameters.js +1 -1
  159. package/rest/support/ImageBoundaryResult.js +1 -1
  160. package/rest/support/ImageDistanceParameters.js +1 -1
  161. package/rest/support/ImageDistanceResult.js +1 -1
  162. package/rest/support/ImageGPSInfoParameters.js +1 -1
  163. package/rest/support/ImageGPSInfoResult.js +1 -1
  164. package/rest/support/ImageHeightParameters.js +1 -1
  165. package/rest/support/ImageHeightResult.js +1 -1
  166. package/rest/support/ImageHistogramParameters.js +1 -1
  167. package/rest/support/ImageIdentifyParameters.js +1 -1
  168. package/rest/support/ImageIdentifyResult.js +1 -1
  169. package/rest/support/ImagePixelLocationParameters.js +1 -1
  170. package/rest/support/ImagePixelLocationResult.js +1 -1
  171. package/rest/support/ImagePointParameters.js +1 -1
  172. package/rest/support/ImagePointResult.js +1 -1
  173. package/rest/support/ImageSample.js +1 -1
  174. package/rest/support/ImageSampleParameters.js +1 -1
  175. package/rest/support/ImageSampleResult.js +1 -1
  176. package/rest/support/ImageToMapMultirayParameters.js +1 -1
  177. package/rest/support/ImageToMapParameters.js +1 -1
  178. package/rest/support/ImageUrlParameters.js +1 -1
  179. package/rest/support/ImageUrlResult.js +1 -1
  180. package/rest/support/ImageVolumeParameters.js +1 -1
  181. package/rest/support/ImageVolumeResult.js +1 -1
  182. package/rest/support/MapToImageParameters.js +1 -1
  183. package/rest/support/MeasureAreaFromImageResult.js +1 -1
  184. package/rest/support/MeasureFromImageParameters.js +1 -1
  185. package/rest/support/MeasureLengthFromImageResult.js +1 -1
  186. package/symbols/support/cimSymbolUtils.js +1 -1
  187. package/symbols/support/renderUtils.js +1 -1
  188. package/views/2d/ViewState.d.ts +3 -3
  189. package/views/2d/ViewState.js +1 -1
  190. package/views/2d/ViewStateManager.js +1 -1
  191. package/views/2d/engine/Bitmap.js +1 -1
  192. package/views/2d/engine/flow/styles/Imagery.js +1 -1
  193. package/views/2d/engine/vectorTiles/SpriteMosaic.js +1 -1
  194. package/views/2d/engine/vectorTiles/VTLPainter3D.js +1 -1
  195. package/views/2d/engine/vectorTiles/decluttering/CollisionJob.js +1 -1
  196. package/views/2d/engine/vectorTiles/style/geoJSONVectorTileUtils.js +1 -1
  197. package/views/2d/engine/webgl/AttributeStoreView.js +1 -1
  198. package/views/2d/engine/webgl/GlyphMosaic.js +1 -1
  199. package/views/2d/engine/webgl/Overlay.js +1 -1
  200. package/views/2d/engine/webgl/OverlayMultipoint.js +1 -1
  201. package/views/2d/engine/webgl/SpriteMosaic.js +1 -1
  202. package/views/2d/engine/webgl/VideoScreenRenderer.js +1 -1
  203. package/views/2d/engine/webgl/animations/store/AnimationStore.js +1 -1
  204. package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
  205. package/views/2d/engine/webgl/collisions/LabelStore.js +1 -1
  206. package/views/2d/engine/webgl/effects/highlight/HighlightGradient.js +1 -1
  207. package/views/2d/engine/webgl/shaderGraph/techniques/TextureStatisticsTechnique.js +1 -1
  208. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
  209. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
  210. package/views/2d/engine/webgl/shaderGraph/techniques/blend/BlendTechnique.js +1 -1
  211. package/views/2d/engine/webgl/shaderGraph/techniques/colorize/ColorizeTechnique.js +1 -1
  212. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityResources.js +1 -1
  213. package/views/2d/engine/webgl/shaderGraph/techniques/drop-shadow/DropShadowTechnique.js +1 -1
  214. package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapResources.js +1 -1
  215. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
  216. package/views/2d/engine/webgl/shaderGraph/techniques/magnifier/MagnifierTechnique.js +1 -1
  217. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
  218. package/views/2d/engine/webgl/shaderGraph/techniques/opacity/OpacityTechnique.js +1 -1
  219. package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterColorizerTechnique.js +1 -1
  220. package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterHighlightTechnique.js +1 -1
  221. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/textureUtils.js +1 -1
  222. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
  223. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/FillShader.js +1 -1
  224. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
  225. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OutlineFillShader.js +1 -1
  226. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  227. package/views/2d/engine/webgl/shaderGraph/techniques/tile/TileDebugInfoTexture.js +1 -1
  228. package/views/2d/engine/webgl/textureUtils.js +1 -1
  229. package/views/2d/engine/webgl/util/IntervalMatcher.js +1 -1
  230. package/views/2d/layers/LayerView2D.js +1 -1
  231. package/views/2d/webglDeps.js +1 -1
  232. package/views/3d/FocusAreasView.js +1 -1
  233. package/views/3d/GroundView3D.js +1 -1
  234. package/views/3d/input/SceneInputManager.js +1 -1
  235. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  236. package/views/3d/layers/graphics/ElevationAligners.js +1 -1
  237. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  238. package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
  239. package/views/3d/layers/i3s/I3SBinaryReader.js +1 -1
  240. package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
  241. package/views/3d/state/ConstraintsManager.js +1 -1
  242. package/views/3d/state/ViewState.js +1 -1
  243. package/views/3d/state/ViewStateManager.js +1 -1
  244. package/views/3d/support/engineContent/line.js +1 -1
  245. package/views/3d/support/engineContent/marker.js +1 -1
  246. package/views/3d/support/flow/StreamlineResources3D.js +1 -1
  247. package/views/3d/support/flow/StreamlineResources3DOverlay.js +1 -1
  248. package/views/3d/support/flow/StreamlineResources3DShape.js +1 -1
  249. package/views/3d/support/flow/geometryUtils.js +1 -1
  250. package/views/3d/support/gaussianSplatting/GaussianSplatFadeHelper.js +1 -1
  251. package/views/3d/support/gaussianSplatting/GaussianSplatIntersectionHandler.js +1 -1
  252. package/views/3d/support/gaussianSplatting/GaussianSplatOrderTexture.js +1 -1
  253. package/views/3d/support/gaussianSplatting/GaussianSplatTextureAtlas.js +1 -1
  254. package/views/3d/support/gaussianSplatting/GaussianTileBuilder.js +2 -0
  255. package/views/3d/support/gaussianSplatting/GaussianTileLifecycle.js +2 -0
  256. package/views/3d/support/gaussianSplatting/formatConstants.js +2 -0
  257. package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
  258. package/views/3d/support/pointsOfInterest/StableSurfaceCenter.js +1 -1
  259. package/views/3d/terrain/OverlayManager.js +1 -1
  260. package/views/3d/terrain/OverlayRenderer.js +1 -1
  261. package/views/3d/terrain/TerrainRenderer.js +1 -1
  262. package/views/3d/terrain/TerrainSurface.js +1 -1
  263. package/views/3d/terrain/Tile.js +1 -1
  264. package/views/3d/terrain/TileCompositor.js +1 -1
  265. package/views/3d/terrain/TileRenderer.js +1 -1
  266. package/views/3d/terrain/tileUtils.js +1 -1
  267. package/views/3d/webgl/RenderNode.d.ts +1 -1
  268. package/views/3d/webgl-engine/core/FBOCache.js +1 -1
  269. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  270. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +1 -1
  271. package/views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js +1 -1
  272. package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js +15 -11
  273. package/views/3d/webgl-engine/effects/WeatherFader.js +1 -1
  274. package/views/3d/webgl-engine/effects/atmosphere/LocalAtmosphere.js +1 -1
  275. package/views/3d/webgl-engine/effects/atmosphere/MarsAtmosphere.js +1 -1
  276. package/views/3d/webgl-engine/effects/clouds/CloudsRenderer.js +1 -1
  277. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +19 -9
  278. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  279. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  280. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  281. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  282. package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
  283. package/views/3d/webgl-engine/lib/AttributeView.js +1 -1
  284. package/views/3d/webgl-engine/lib/BasisUtil.js +1 -1
  285. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  286. package/views/3d/webgl-engine/lib/DDSUtil.js +1 -1
  287. package/views/3d/webgl-engine/lib/DrapedHeatmapRenderer.js +1 -1
  288. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
  289. package/views/3d/webgl-engine/lib/GaussianSplatRenderUtils.js +1 -1
  290. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  291. package/views/3d/webgl-engine/lib/ManagedTexture.js +1 -1
  292. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  293. package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
  294. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBuffer.js +1 -1
  295. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBufferView.js +1 -1
  296. package/views/3d/webgl-engine/lib/VerticesView.js +2 -0
  297. package/views/3d/webgl-engine/lib/attributeViewUtils.js +1 -1
  298. package/views/3d/webgl-engine/lib/edgeRendering/strokes.js +1 -1
  299. package/views/3d/webgl-engine/lib/geometryDataUtils.js +1 -1
  300. package/views/3d/webgl-engine/lib/glUtil3D.js +1 -1
  301. package/views/3d/webgl-engine/lib/screenPolygonOverlapUtils.js +1 -1
  302. package/views/3d/webgl-engine/lib/screenPolygonTriangleIntersections.js +1 -1
  303. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  304. package/views/3d/webgl-engine/materials/HUDMaterialBaseInstance.js +1 -1
  305. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  306. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  307. package/views/3d/webgl-engine/materials/internal/WaterTextureRepository.js +1 -1
  308. package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
  309. package/views/3d/webgl-engine/materials/internal/lineMarkerBufferUtils.js +2 -0
  310. package/views/3d/webgl-engine/materials/internal/ribbonLineBufferUtils.js +2 -0
  311. package/views/3d/webgl-engine/materials/renderers/VaoRenderer.js +1 -1
  312. package/views/3d/webgl-engine/materials/stippleTextureRepository.js +1 -1
  313. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  314. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  315. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  316. package/views/3d/webgl-engine/shaders/hudMaterialLayouts.js +2 -0
  317. package/views/3d/webgl-engine/shaders/lineMarkerLayouts.js +2 -0
  318. package/views/draw/support/ManagedTooltipField.js +1 -1
  319. package/views/overlay/LineOverlayItem.js +1 -1
  320. package/views/overlay/TextOverlayItem.js +1 -1
  321. package/views/overlay/ViewOverlay.js +1 -1
  322. package/views/support/GroundElevationSampler.js +1 -1
  323. package/views/support/HighlightOptions.d.ts +2 -2
  324. package/views/support/HighlightOptions.js +1 -1
  325. package/views/support/TextureCompressionHelper.js +1 -1
  326. package/views/support/imageReprojection.js +1 -1
  327. package/views/webgl/FramebufferObject.js +1 -1
  328. package/views/webgl/RenderingContext.js +1 -1
  329. package/views/webgl/Texture.js +1 -1
  330. package/views/webgl/Util.js +1 -1
  331. package/views/webgl/rasterUtils.js +1 -1
  332. package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
  333. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  334. package/widgets/Legend/styles/support/univariateUtils.js +1 -1
  335. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  336. package/widgets/OrientedImageryViewer.js +1 -1
  337. package/widgets/ScaleRangeSlider/types.d.ts +3 -3
  338. package/assets/esri/core/workers/chunks/01f55004d64309f8538b.js +0 -1
  339. package/assets/esri/core/workers/chunks/039d9bc5b5015012f811.js +0 -1
  340. package/assets/esri/core/workers/chunks/08140725277de5d2e41a.js +0 -1
  341. package/assets/esri/core/workers/chunks/0d99bfb75dcb9fa29080.js +0 -1
  342. package/assets/esri/core/workers/chunks/144bad0c2415c345736a.js +0 -1
  343. package/assets/esri/core/workers/chunks/165ca7a97b611c8f26c4.js +0 -1
  344. package/assets/esri/core/workers/chunks/16cda273927ab0a39544.js +0 -1
  345. package/assets/esri/core/workers/chunks/1989410a618865f02dec.js +0 -1
  346. package/assets/esri/core/workers/chunks/29c610ce1c81ebb84a6b.js +0 -1
  347. package/assets/esri/core/workers/chunks/3223f9fbc76ba9ef8d13.js +0 -1
  348. package/assets/esri/core/workers/chunks/338d800d4efcc91cead1.js +0 -1
  349. package/assets/esri/core/workers/chunks/3415531224f8494d79ca.js +0 -1
  350. package/assets/esri/core/workers/chunks/3fdcc383bbd9cf0d274c.js +0 -1
  351. package/assets/esri/core/workers/chunks/46c290108a90518ef695.js +0 -1
  352. package/assets/esri/core/workers/chunks/48b8b57f559a53c6c513.js +0 -1
  353. package/assets/esri/core/workers/chunks/4a979fce1c971b614a18.js +0 -1
  354. package/assets/esri/core/workers/chunks/59a88dd53f8806bbec06.js +0 -1
  355. package/assets/esri/core/workers/chunks/5aeb5e18514644fe2cf9.js +0 -1
  356. package/assets/esri/core/workers/chunks/5bd1414220e42cb8ebcf.js +0 -1
  357. package/assets/esri/core/workers/chunks/5d781c2c6204cffffd0d.js +0 -1
  358. package/assets/esri/core/workers/chunks/6edc13a426e00bb93a9b.js +0 -1
  359. package/assets/esri/core/workers/chunks/723df53cfa0189837d01.js +0 -1
  360. package/assets/esri/core/workers/chunks/7400b8c454b47ee4fb3c.js +0 -1
  361. package/assets/esri/core/workers/chunks/7862abd24fb5c3b12e6b.js +0 -1
  362. package/assets/esri/core/workers/chunks/796c6195b6bf59dcc9bd.js +0 -1
  363. package/assets/esri/core/workers/chunks/7af4edc6e87d27b9d467.js +0 -1
  364. package/assets/esri/core/workers/chunks/81bcc495e6eaf2cf7474.js +0 -1
  365. package/assets/esri/core/workers/chunks/934e1f2153e6fad6ed23.js +0 -1
  366. package/assets/esri/core/workers/chunks/990e96139b5a1dccb061.js +0 -1
  367. package/assets/esri/core/workers/chunks/a607541959169741a943.js +0 -1
  368. package/assets/esri/core/workers/chunks/aa779896fd9e5c341349.js +0 -1
  369. package/assets/esri/core/workers/chunks/c131e0dd180a4c10e12e.js +0 -1
  370. package/assets/esri/core/workers/chunks/c7adb7b77721c75891f4.js +0 -1
  371. package/assets/esri/core/workers/chunks/cd55cad81accf51d2989.js +0 -1
  372. package/assets/esri/core/workers/chunks/ce324dde6d7daea33638.js +0 -1
  373. package/assets/esri/core/workers/chunks/d3412518a7b518860fbb.js +0 -1
  374. package/assets/esri/core/workers/chunks/dac69c0047488fdf986d.js +0 -1
  375. package/assets/esri/core/workers/chunks/dba5f44c4e4a3f075df2.js +0 -1
  376. package/assets/esri/core/workers/chunks/e67ea2f1714e5abeae44.js +0 -1
  377. package/assets/esri/core/workers/chunks/e8fb2ba7b7a4f0916325.js +0 -1
  378. package/assets/esri/core/workers/chunks/f10c883eb26330e3421c.js +0 -1
  379. package/assets/esri/core/workers/chunks/f3b4159c0722df8ffe13.js +0 -1
  380. package/assets/esri/core/workers/chunks/f75eec2cbc541eec9712.js +0 -1
  381. package/layers/geospatialPDF/projectionToWKTUtils.js +0 -3
  382. package/libs/maquette/cache.js +0 -2
  383. package/libs/maquette/dom.js +0 -2
  384. package/libs/maquette/h.js +0 -2
  385. package/libs/maquette/index.js +0 -2
  386. package/libs/maquette/mapping.js +0 -2
  387. package/libs/maquette/projection.js +0 -2
  388. package/libs/maquette/projector.js +0 -2
  389. package/libs/maquette/utilities/window-performance-projector-logger.js +0 -2
@@ -15,7 +15,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
15
15
  `,nexist:`∄`,nexists:`∄`,Nfr:`𝔑`,nfr:`𝔫`,ngE:`≧̸`,nge:`≱`,ngeq:`≱`,ngeqq:`≧̸`,ngeqslant:`⩾̸`,nges:`⩾̸`,nGg:`⋙̸`,ngsim:`≵`,nGt:`≫⃒`,ngt:`≯`,ngtr:`≯`,nGtv:`≫̸`,nhArr:`⇎`,nharr:`↮`,nhpar:`⫲`,ni:`∋`,nis:`⋼`,nisd:`⋺`,niv:`∋`,NJcy:`Њ`,njcy:`њ`,nlArr:`⇍`,nlarr:`↚`,nldr:`‥`,nlE:`≦̸`,nle:`≰`,nLeftarrow:`⇍`,nleftarrow:`↚`,nLeftrightarrow:`⇎`,nleftrightarrow:`↮`,nleq:`≰`,nleqq:`≦̸`,nleqslant:`⩽̸`,nles:`⩽̸`,nless:`≮`,nLl:`⋘̸`,nlsim:`≴`,nLt:`≪⃒`,nlt:`≮`,nltri:`⋪`,nltrie:`⋬`,nLtv:`≪̸`,nmid:`∤`,NoBreak:`⁠`,NonBreakingSpace:`\xA0`,Nopf:`ℕ`,nopf:`𝕟`,Not:`⫬`,not:`¬`,NotCongruent:`≢`,NotCupCap:`≭`,NotDoubleVerticalBar:`∦`,NotElement:`∉`,NotEqual:`≠`,NotEqualTilde:`≂̸`,NotExists:`∄`,NotGreater:`≯`,NotGreaterEqual:`≱`,NotGreaterFullEqual:`≧̸`,NotGreaterGreater:`≫̸`,NotGreaterLess:`≹`,NotGreaterSlantEqual:`⩾̸`,NotGreaterTilde:`≵`,NotHumpDownHump:`≎̸`,NotHumpEqual:`≏̸`,notin:`∉`,notindot:`⋵̸`,notinE:`⋹̸`,notinva:`∉`,notinvb:`⋷`,notinvc:`⋶`,NotLeftTriangle:`⋪`,NotLeftTriangleBar:`⧏̸`,NotLeftTriangleEqual:`⋬`,NotLess:`≮`,NotLessEqual:`≰`,NotLessGreater:`≸`,NotLessLess:`≪̸`,NotLessSlantEqual:`⩽̸`,NotLessTilde:`≴`,NotNestedGreaterGreater:`⪢̸`,NotNestedLessLess:`⪡̸`,notni:`∌`,notniva:`∌`,notnivb:`⋾`,notnivc:`⋽`,NotPrecedes:`⊀`,NotPrecedesEqual:`⪯̸`,NotPrecedesSlantEqual:`⋠`,NotReverseElement:`∌`,NotRightTriangle:`⋫`,NotRightTriangleBar:`⧐̸`,NotRightTriangleEqual:`⋭`,NotSquareSubset:`⊏̸`,NotSquareSubsetEqual:`⋢`,NotSquareSuperset:`⊐̸`,NotSquareSupersetEqual:`⋣`,NotSubset:`⊂⃒`,NotSubsetEqual:`⊈`,NotSucceeds:`⊁`,NotSucceedsEqual:`⪰̸`,NotSucceedsSlantEqual:`⋡`,NotSucceedsTilde:`≿̸`,NotSuperset:`⊃⃒`,NotSupersetEqual:`⊉`,NotTilde:`≁`,NotTildeEqual:`≄`,NotTildeFullEqual:`≇`,NotTildeTilde:`≉`,NotVerticalBar:`∤`,npar:`∦`,nparallel:`∦`,nparsl:`⫽⃥`,npart:`∂̸`,npolint:`⨔`,npr:`⊀`,nprcue:`⋠`,npre:`⪯̸`,nprec:`⊀`,npreceq:`⪯̸`,nrArr:`⇏`,nrarr:`↛`,nrarrc:`⤳̸`,nrarrw:`↝̸`,nRightarrow:`⇏`,nrightarrow:`↛`,nrtri:`⋫`,nrtrie:`⋭`,nsc:`⊁`,nsccue:`⋡`,nsce:`⪰̸`,Nscr:`𝒩`,nscr:`𝓃`,nshortmid:`∤`,nshortparallel:`∦`,nsim:`≁`,nsime:`≄`,nsimeq:`≄`,nsmid:`∤`,nspar:`∦`,nsqsube:`⋢`,nsqsupe:`⋣`,nsub:`⊄`,nsubE:`⫅̸`,nsube:`⊈`,nsubset:`⊂⃒`,nsubseteq:`⊈`,nsubseteqq:`⫅̸`,nsucc:`⊁`,nsucceq:`⪰̸`,nsup:`⊅`,nsupE:`⫆̸`,nsupe:`⊉`,nsupset:`⊃⃒`,nsupseteq:`⊉`,nsupseteqq:`⫆̸`,ntgl:`≹`,Ntilde:`Ñ`,ntilde:`ñ`,ntlg:`≸`,ntriangleleft:`⋪`,ntrianglelefteq:`⋬`,ntriangleright:`⋫`,ntrianglerighteq:`⋭`,Nu:`Ν`,nu:`ν`,num:`#`,numero:`№`,numsp:` `,nvap:`≍⃒`,nVDash:`⊯`,nVdash:`⊮`,nvDash:`⊭`,nvdash:`⊬`,nvge:`≥⃒`,nvgt:`>⃒`,nvHarr:`⤄`,nvinfin:`⧞`,nvlArr:`⤂`,nvle:`≤⃒`,nvlt:`<⃒`,nvltrie:`⊴⃒`,nvrArr:`⤃`,nvrtrie:`⊵⃒`,nvsim:`∼⃒`,nwarhk:`⤣`,nwArr:`⇖`,nwarr:`↖`,nwarrow:`↖`,nwnear:`⤧`,Oacute:`Ó`,oacute:`ó`,oast:`⊛`,ocir:`⊚`,Ocirc:`Ô`,ocirc:`ô`,Ocy:`О`,ocy:`о`,odash:`⊝`,Odblac:`Ő`,odblac:`ő`,odiv:`⨸`,odot:`⊙`,odsold:`⦼`,OElig:`Œ`,oelig:`œ`,ofcir:`⦿`,Ofr:`𝔒`,ofr:`𝔬`,ogon:`˛`,Ograve:`Ò`,ograve:`ò`,ogt:`⧁`,ohbar:`⦵`,ohm:`Ω`,oint:`∮`,olarr:`↺`,olcir:`⦾`,olcross:`⦻`,oline:`‾`,olt:`⧀`,Omacr:`Ō`,omacr:`ō`,Omega:`Ω`,omega:`ω`,Omicron:`Ο`,omicron:`ο`,omid:`⦶`,ominus:`⊖`,Oopf:`𝕆`,oopf:`𝕠`,opar:`⦷`,OpenCurlyDoubleQuote:`“`,OpenCurlyQuote:`‘`,operp:`⦹`,oplus:`⊕`,Or:`⩔`,or:`∨`,orarr:`↻`,ord:`⩝`,order:`ℴ`,orderof:`ℴ`,ordf:`ª`,ordm:`º`,origof:`⊶`,oror:`⩖`,orslope:`⩗`,orv:`⩛`,oS:`Ⓢ`,Oscr:`𝒪`,oscr:`ℴ`,Oslash:`Ø`,oslash:`ø`,osol:`⊘`,Otilde:`Õ`,otilde:`õ`,Otimes:`⨷`,otimes:`⊗`,otimesas:`⨶`,Ouml:`Ö`,ouml:`ö`,ovbar:`⌽`,OverBar:`‾`,OverBrace:`⏞`,OverBracket:`⎴`,OverParenthesis:`⏜`,par:`∥`,para:`¶`,parallel:`∥`,parsim:`⫳`,parsl:`⫽`,part:`∂`,PartialD:`∂`,Pcy:`П`,pcy:`п`,percnt:`%`,period:`.`,permil:`‰`,perp:`⊥`,pertenk:`‱`,Pfr:`𝔓`,pfr:`𝔭`,Phi:`Φ`,phi:`φ`,phiv:`ϕ`,phmmat:`ℳ`,phone:`☎`,Pi:`Π`,pi:`π`,pitchfork:`⋔`,piv:`ϖ`,planck:`ℏ`,planckh:`ℎ`,plankv:`ℏ`,plus:`+`,plusacir:`⨣`,plusb:`⊞`,pluscir:`⨢`,plusdo:`∔`,plusdu:`⨥`,pluse:`⩲`,PlusMinus:`±`,plusmn:`±`,plussim:`⨦`,plustwo:`⨧`,pm:`±`,Poincareplane:`ℌ`,pointint:`⨕`,Popf:`ℙ`,popf:`𝕡`,pound:`£`,Pr:`⪻`,pr:`≺`,prap:`⪷`,prcue:`≼`,prE:`⪳`,pre:`⪯`,prec:`≺`,precapprox:`⪷`,preccurlyeq:`≼`,Precedes:`≺`,PrecedesEqual:`⪯`,PrecedesSlantEqual:`≼`,PrecedesTilde:`≾`,preceq:`⪯`,precnapprox:`⪹`,precneqq:`⪵`,precnsim:`⋨`,precsim:`≾`,Prime:`″`,prime:`′`,primes:`ℙ`,prnap:`⪹`,prnE:`⪵`,prnsim:`⋨`,prod:`∏`,Product:`∏`,profalar:`⌮`,profline:`⌒`,profsurf:`⌓`,prop:`∝`,Proportion:`∷`,Proportional:`∝`,propto:`∝`,prsim:`≾`,prurel:`⊰`,Pscr:`𝒫`,pscr:`𝓅`,Psi:`Ψ`,psi:`ψ`,puncsp:` `,Qfr:`𝔔`,qfr:`𝔮`,qint:`⨌`,Qopf:`ℚ`,qopf:`𝕢`,qprime:`⁗`,Qscr:`𝒬`,qscr:`𝓆`,quaternions:`ℍ`,quatint:`⨖`,quest:`?`,questeq:`≟`,QUOT:`"`,quot:`"`,rAarr:`⇛`,race:`∽̱`,Racute:`Ŕ`,racute:`ŕ`,radic:`√`,raemptyv:`⦳`,Rang:`⟫`,rang:`⟩`,rangd:`⦒`,range:`⦥`,rangle:`⟩`,raquo:`»`,Rarr:`↠`,rArr:`⇒`,rarr:`→`,rarrap:`⥵`,rarrb:`⇥`,rarrbfs:`⤠`,rarrc:`⤳`,rarrfs:`⤞`,rarrhk:`↪`,rarrlp:`↬`,rarrpl:`⥅`,rarrsim:`⥴`,Rarrtl:`⤖`,rarrtl:`↣`,rarrw:`↝`,rAtail:`⤜`,ratail:`⤚`,ratio:`∶`,rationals:`ℚ`,RBarr:`⤐`,rBarr:`⤏`,rbarr:`⤍`,rbbrk:`❳`,rbrace:`}`,rbrack:`]`,rbrke:`⦌`,rbrksld:`⦎`,rbrkslu:`⦐`,Rcaron:`Ř`,rcaron:`ř`,Rcedil:`Ŗ`,rcedil:`ŗ`,rceil:`⌉`,rcub:`}`,Rcy:`Р`,rcy:`р`,rdca:`⤷`,rdldhar:`⥩`,rdquo:`”`,rdquor:`”`,rdsh:`↳`,Re:`ℜ`,real:`ℜ`,realine:`ℛ`,realpart:`ℜ`,reals:`ℝ`,rect:`▭`,REG:`®`,reg:`®`,ReverseElement:`∋`,ReverseEquilibrium:`⇋`,ReverseUpEquilibrium:`⥯`,rfisht:`⥽`,rfloor:`⌋`,Rfr:`ℜ`,rfr:`𝔯`,rHar:`⥤`,rhard:`⇁`,rharu:`⇀`,rharul:`⥬`,Rho:`Ρ`,rho:`ρ`,rhov:`ϱ`,RightAngleBracket:`⟩`,RightArrow:`→`,Rightarrow:`⇒`,rightarrow:`→`,RightArrowBar:`⇥`,RightArrowLeftArrow:`⇄`,rightarrowtail:`↣`,RightCeiling:`⌉`,RightDoubleBracket:`⟧`,RightDownTeeVector:`⥝`,RightDownVector:`⇂`,RightDownVectorBar:`⥕`,RightFloor:`⌋`,rightharpoondown:`⇁`,rightharpoonup:`⇀`,rightleftarrows:`⇄`,rightleftharpoons:`⇌`,rightrightarrows:`⇉`,rightsquigarrow:`↝`,RightTee:`⊢`,RightTeeArrow:`↦`,RightTeeVector:`⥛`,rightthreetimes:`⋌`,RightTriangle:`⊳`,RightTriangleBar:`⧐`,RightTriangleEqual:`⊵`,RightUpDownVector:`⥏`,RightUpTeeVector:`⥜`,RightUpVector:`↾`,RightUpVectorBar:`⥔`,RightVector:`⇀`,RightVectorBar:`⥓`,ring:`˚`,risingdotseq:`≓`,rlarr:`⇄`,rlhar:`⇌`,rlm:`‏`,rmoust:`⎱`,rmoustache:`⎱`,rnmid:`⫮`,roang:`⟭`,roarr:`⇾`,robrk:`⟧`,ropar:`⦆`,Ropf:`ℝ`,ropf:`𝕣`,roplus:`⨮`,rotimes:`⨵`,RoundImplies:`⥰`,rpar:`)`,rpargt:`⦔`,rppolint:`⨒`,rrarr:`⇉`,Rrightarrow:`⇛`,rsaquo:`›`,Rscr:`ℛ`,rscr:`𝓇`,Rsh:`↱`,rsh:`↱`,rsqb:`]`,rsquo:`’`,rsquor:`’`,rthree:`⋌`,rtimes:`⋊`,rtri:`▹`,rtrie:`⊵`,rtrif:`▸`,rtriltri:`⧎`,RuleDelayed:`⧴`,ruluhar:`⥨`,rx:`℞`,Sacute:`Ś`,sacute:`ś`,sbquo:`‚`,Sc:`⪼`,sc:`≻`,scap:`⪸`,Scaron:`Š`,scaron:`š`,sccue:`≽`,scE:`⪴`,sce:`⪰`,Scedil:`Ş`,scedil:`ş`,Scirc:`Ŝ`,scirc:`ŝ`,scnap:`⪺`,scnE:`⪶`,scnsim:`⋩`,scpolint:`⨓`,scsim:`≿`,Scy:`С`,scy:`с`,sdot:`⋅`,sdotb:`⊡`,sdote:`⩦`,searhk:`⤥`,seArr:`⇘`,searr:`↘`,searrow:`↘`,sect:`§`,semi:`;`,seswar:`⤩`,setminus:`∖`,setmn:`∖`,sext:`✶`,Sfr:`𝔖`,sfr:`𝔰`,sfrown:`⌢`,sharp:`♯`,SHCHcy:`Щ`,shchcy:`щ`,SHcy:`Ш`,shcy:`ш`,ShortDownArrow:`↓`,ShortLeftArrow:`←`,shortmid:`∣`,shortparallel:`∥`,ShortRightArrow:`→`,ShortUpArrow:`↑`,shy:`­`,Sigma:`Σ`,sigma:`σ`,sigmaf:`ς`,sigmav:`ς`,sim:`∼`,simdot:`⩪`,sime:`≃`,simeq:`≃`,simg:`⪞`,simgE:`⪠`,siml:`⪝`,simlE:`⪟`,simne:`≆`,simplus:`⨤`,simrarr:`⥲`,slarr:`←`,SmallCircle:`∘`,smallsetminus:`∖`,smashp:`⨳`,smeparsl:`⧤`,smid:`∣`,smile:`⌣`,smt:`⪪`,smte:`⪬`,smtes:`⪬︀`,SOFTcy:`Ь`,softcy:`ь`,sol:`/`,solb:`⧄`,solbar:`⌿`,Sopf:`𝕊`,sopf:`𝕤`,spades:`♠`,spadesuit:`♠`,spar:`∥`,sqcap:`⊓`,sqcaps:`⊓︀`,sqcup:`⊔`,sqcups:`⊔︀`,Sqrt:`√`,sqsub:`⊏`,sqsube:`⊑`,sqsubset:`⊏`,sqsubseteq:`⊑`,sqsup:`⊐`,sqsupe:`⊒`,sqsupset:`⊐`,sqsupseteq:`⊒`,squ:`□`,Square:`□`,square:`□`,SquareIntersection:`⊓`,SquareSubset:`⊏`,SquareSubsetEqual:`⊑`,SquareSuperset:`⊐`,SquareSupersetEqual:`⊒`,SquareUnion:`⊔`,squarf:`▪`,squf:`▪`,srarr:`→`,Sscr:`𝒮`,sscr:`𝓈`,ssetmn:`∖`,ssmile:`⌣`,sstarf:`⋆`,Star:`⋆`,star:`☆`,starf:`★`,straightepsilon:`ϵ`,straightphi:`ϕ`,strns:`¯`,Sub:`⋐`,sub:`⊂`,subdot:`⪽`,subE:`⫅`,sube:`⊆`,subedot:`⫃`,submult:`⫁`,subnE:`⫋`,subne:`⊊`,subplus:`⪿`,subrarr:`⥹`,Subset:`⋐`,subset:`⊂`,subseteq:`⊆`,subseteqq:`⫅`,SubsetEqual:`⊆`,subsetneq:`⊊`,subsetneqq:`⫋`,subsim:`⫇`,subsub:`⫕`,subsup:`⫓`,succ:`≻`,succapprox:`⪸`,succcurlyeq:`≽`,Succeeds:`≻`,SucceedsEqual:`⪰`,SucceedsSlantEqual:`≽`,SucceedsTilde:`≿`,succeq:`⪰`,succnapprox:`⪺`,succneqq:`⪶`,succnsim:`⋩`,succsim:`≿`,SuchThat:`∋`,Sum:`∑`,sum:`∑`,sung:`♪`,Sup:`⋑`,sup:`⊃`,sup1:`¹`,sup2:`²`,sup3:`³`,supdot:`⪾`,supdsub:`⫘`,supE:`⫆`,supe:`⊇`,supedot:`⫄`,Superset:`⊃`,SupersetEqual:`⊇`,suphsol:`⟉`,suphsub:`⫗`,suplarr:`⥻`,supmult:`⫂`,supnE:`⫌`,supne:`⊋`,supplus:`⫀`,Supset:`⋑`,supset:`⊃`,supseteq:`⊇`,supseteqq:`⫆`,supsetneq:`⊋`,supsetneqq:`⫌`,supsim:`⫈`,supsub:`⫔`,supsup:`⫖`,swarhk:`⤦`,swArr:`⇙`,swarr:`↙`,swarrow:`↙`,swnwar:`⤪`,szlig:`ß`,Tab:` `,target:`⌖`,Tau:`Τ`,tau:`τ`,tbrk:`⎴`,Tcaron:`Ť`,tcaron:`ť`,Tcedil:`Ţ`,tcedil:`ţ`,Tcy:`Т`,tcy:`т`,tdot:`⃛`,telrec:`⌕`,Tfr:`𝔗`,tfr:`𝔱`,there4:`∴`,Therefore:`∴`,therefore:`∴`,Theta:`Θ`,theta:`θ`,thetasym:`ϑ`,thetav:`ϑ`,thickapprox:`≈`,thicksim:`∼`,ThickSpace:`  `,thinsp:` `,ThinSpace:` `,thkap:`≈`,thksim:`∼`,THORN:`Þ`,thorn:`þ`,Tilde:`∼`,tilde:`˜`,TildeEqual:`≃`,TildeFullEqual:`≅`,TildeTilde:`≈`,times:`×`,timesb:`⊠`,timesbar:`⨱`,timesd:`⨰`,tint:`∭`,toea:`⤨`,top:`⊤`,topbot:`⌶`,topcir:`⫱`,Topf:`𝕋`,topf:`𝕥`,topfork:`⫚`,tosa:`⤩`,tprime:`‴`,TRADE:`™`,trade:`™`,triangle:`▵`,triangledown:`▿`,triangleleft:`◃`,trianglelefteq:`⊴`,triangleq:`≜`,triangleright:`▹`,trianglerighteq:`⊵`,tridot:`◬`,trie:`≜`,triminus:`⨺`,TripleDot:`⃛`,triplus:`⨹`,trisb:`⧍`,tritime:`⨻`,trpezium:`⏢`,Tscr:`𝒯`,tscr:`𝓉`,TScy:`Ц`,tscy:`ц`,TSHcy:`Ћ`,tshcy:`ћ`,Tstrok:`Ŧ`,tstrok:`ŧ`,twixt:`≬`,twoheadleftarrow:`↞`,twoheadrightarrow:`↠`,Uacute:`Ú`,uacute:`ú`,Uarr:`↟`,uArr:`⇑`,uarr:`↑`,Uarrocir:`⥉`,Ubrcy:`Ў`,ubrcy:`ў`,Ubreve:`Ŭ`,ubreve:`ŭ`,Ucirc:`Û`,ucirc:`û`,Ucy:`У`,ucy:`у`,udarr:`⇅`,Udblac:`Ű`,udblac:`ű`,udhar:`⥮`,ufisht:`⥾`,Ufr:`𝔘`,ufr:`𝔲`,Ugrave:`Ù`,ugrave:`ù`,uHar:`⥣`,uharl:`↿`,uharr:`↾`,uhblk:`▀`,ulcorn:`⌜`,ulcorner:`⌜`,ulcrop:`⌏`,ultri:`◸`,Umacr:`Ū`,umacr:`ū`,uml:`¨`,UnderBar:`_`,UnderBrace:`⏟`,UnderBracket:`⎵`,UnderParenthesis:`⏝`,Union:`⋃`,UnionPlus:`⊎`,Uogon:`Ų`,uogon:`ų`,Uopf:`𝕌`,uopf:`𝕦`,UpArrow:`↑`,Uparrow:`⇑`,uparrow:`↑`,UpArrowBar:`⤒`,UpArrowDownArrow:`⇅`,UpDownArrow:`↕`,Updownarrow:`⇕`,updownarrow:`↕`,UpEquilibrium:`⥮`,upharpoonleft:`↿`,upharpoonright:`↾`,uplus:`⊎`,UpperLeftArrow:`↖`,UpperRightArrow:`↗`,Upsi:`ϒ`,upsi:`υ`,upsih:`ϒ`,Upsilon:`Υ`,upsilon:`υ`,UpTee:`⊥`,UpTeeArrow:`↥`,upuparrows:`⇈`,urcorn:`⌝`,urcorner:`⌝`,urcrop:`⌎`,Uring:`Ů`,uring:`ů`,urtri:`◹`,Uscr:`𝒰`,uscr:`𝓊`,utdot:`⋰`,Utilde:`Ũ`,utilde:`ũ`,utri:`▵`,utrif:`▴`,uuarr:`⇈`,Uuml:`Ü`,uuml:`ü`,uwangle:`⦧`,vangrt:`⦜`,varepsilon:`ϵ`,varkappa:`ϰ`,varnothing:`∅`,varphi:`ϕ`,varpi:`ϖ`,varpropto:`∝`,vArr:`⇕`,varr:`↕`,varrho:`ϱ`,varsigma:`ς`,varsubsetneq:`⊊︀`,varsubsetneqq:`⫋︀`,varsupsetneq:`⊋︀`,varsupsetneqq:`⫌︀`,vartheta:`ϑ`,vartriangleleft:`⊲`,vartriangleright:`⊳`,Vbar:`⫫`,vBar:`⫨`,vBarv:`⫩`,Vcy:`В`,vcy:`в`,VDash:`⊫`,Vdash:`⊩`,vDash:`⊨`,vdash:`⊢`,Vdashl:`⫦`,Vee:`⋁`,vee:`∨`,veebar:`⊻`,veeeq:`≚`,vellip:`⋮`,Verbar:`‖`,verbar:`|`,Vert:`‖`,vert:`|`,VerticalBar:`∣`,VerticalLine:`|`,VerticalSeparator:`❘`,VerticalTilde:`≀`,VeryThinSpace:` `,Vfr:`𝔙`,vfr:`𝔳`,vltri:`⊲`,vnsub:`⊂⃒`,vnsup:`⊃⃒`,Vopf:`𝕍`,vopf:`𝕧`,vprop:`∝`,vrtri:`⊳`,Vscr:`𝒱`,vscr:`𝓋`,vsubnE:`⫋︀`,vsubne:`⊊︀`,vsupnE:`⫌︀`,vsupne:`⊋︀`,Vvdash:`⊪`,vzigzag:`⦚`,Wcirc:`Ŵ`,wcirc:`ŵ`,wedbar:`⩟`,Wedge:`⋀`,wedge:`∧`,wedgeq:`≙`,weierp:`℘`,Wfr:`𝔚`,wfr:`𝔴`,Wopf:`𝕎`,wopf:`𝕨`,wp:`℘`,wr:`≀`,wreath:`≀`,Wscr:`𝒲`,wscr:`𝓌`,xcap:`⋂`,xcirc:`◯`,xcup:`⋃`,xdtri:`▽`,Xfr:`𝔛`,xfr:`𝔵`,xhArr:`⟺`,xharr:`⟷`,Xi:`Ξ`,xi:`ξ`,xlArr:`⟸`,xlarr:`⟵`,xmap:`⟼`,xnis:`⋻`,xodot:`⨀`,Xopf:`𝕏`,xopf:`𝕩`,xoplus:`⨁`,xotime:`⨂`,xrArr:`⟹`,xrarr:`⟶`,Xscr:`𝒳`,xscr:`𝓍`,xsqcup:`⨆`,xuplus:`⨄`,xutri:`△`,xvee:`⋁`,xwedge:`⋀`,Yacute:`Ý`,yacute:`ý`,YAcy:`Я`,yacy:`я`,Ycirc:`Ŷ`,ycirc:`ŷ`,Ycy:`Ы`,ycy:`ы`,yen:`¥`,Yfr:`𝔜`,yfr:`𝔶`,YIcy:`Ї`,yicy:`ї`,Yopf:`𝕐`,yopf:`𝕪`,Yscr:`𝒴`,yscr:`𝓎`,YUcy:`Ю`,yucy:`ю`,Yuml:`Ÿ`,yuml:`ÿ`,Zacute:`Ź`,zacute:`ź`,Zcaron:`Ž`,zcaron:`ž`,Zcy:`З`,zcy:`з`,Zdot:`Ż`,zdot:`ż`,zeetrf:`ℨ`,ZeroWidthSpace:`​`,Zeta:`Ζ`,zeta:`ζ`,Zfr:`ℨ`,zfr:`𝔷`,ZHcy:`Ж`,zhcy:`ж`,zigrarr:`⇝`,Zopf:`ℤ`,zopf:`𝕫`,Zscr:`𝒵`,zscr:`𝓏`,zwj:`‍`,zwnj:`‌`}),e.entityMap=e.HTML_ENTITIES}(tn)),tn}var an={},on;function sn(){if(on)return an;on=1;var e=Zt().NAMESPACE,t=Zt().tagNamePattern,n=0,r=1,i=2,a=3,o=4,s=5,c=6,l=7;function u(e,t){this.message=e,this.locator=t,Error.captureStackTrace&&Error.captureStackTrace(this,u)}u.prototype=Error(),u.prototype.name=u.name;function d(){}d.prototype={parse:function(e,t,n){var r=this.domBuilder;r.startDocument(),v(t,t={}),f(e,t,n,r,this.errorHandler),r.endDocument()}};function f(n,r,i,a,o){function s(e){if(e>65535){e-=65536;var t=55296+(e>>10),n=56320+(e&1023);return String.fromCharCode(t,n)}return String.fromCharCode(e)}function c(e){var t=e.slice(1,-1);return Object.hasOwnProperty.call(i,t)?i[t]:t.charAt(0)===`#`?s(parseInt(t.substr(1).replace(`x`,`0x`))):(o.error(`entity not found:`+e),e)}function l(e){if(e>E){var t=n.substring(E,e).replace(/&#?\w+;/g,c);C&&d(E),a.characters(t,0,e-E),E=e}}function d(e,t){for(;e>=v&&(t=S.exec(n));)f=t.index,v=f+t[0].length,C.lineNumber++;C.columnNumber=e-f+1}for(var f=0,v=0,S=/.*(?:\r\n?|\n)|.*$/g,C=a.locator,w=[{currentNSMap:r}],T={},E=0;;){try{var D=n.indexOf(`<`,E);if(D<0){if(!n.substr(E).match(/^\s*$/)){var O=a.doc,ee=O.createTextNode(n.substr(E));O.appendChild(ee),a.currentElement=ee}return}switch(D>E&&l(D),n.charAt(D+1)){case`/`:var k=n.indexOf(`>`,D+3),A=n.substring(D+2,k).replace(/^([\s\S]*?[^ \t\n\r])?[ \t\n\r]*$/,`$1`),te=w.pop();k<0?(A=n.substring(D+2).replace(/[\s<].*/,``),o.error(`end tag name: `+A+` is not complete:`+te.tagName),k=D+1+A.length):A.match(/\s</)?(A=A.replace(/[\s<].*/,``),o.error(`end tag name: `+A+` maybe not complete`),k=D+1+A.length):/[ \t\n\r]/.test(A)&&t.test(A.split(/[ \t\n\r]/)[0])&&o.error(`end tag name is followed by whitespace and trailing content: "`+A+`"`);var ne=te.localNSMap,re=te.tagName==A;if(re||te.tagName&&te.tagName.toLowerCase()==A.toLowerCase()){if(a.endElement(te.uri,te.localName,A),ne)for(var ie in ne)Object.prototype.hasOwnProperty.call(ne,ie)&&a.endPrefixMapping(ie);re||o.fatalError(`end tag name: `+A+` is not match the current start tagName:`+te.tagName)}else w.push(te);k++;break;case`?`:C&&d(D),k=b(n,D,a);break;case`!`:C&&d(D),k=y(n,D,a,o);break;default:C&&d(D);var j=new x,ae=w[w.length-1].currentNSMap,k=m(n,D,j,ae,c,o),oe=j.length;if(!j.closed&&_(n,k,j.tagName,T)&&(j.closed=!0,i.nbsp||o.warning(`unclosed xml attribute`)),C&&oe){for(var se=p(C,{}),ce=0;ce<oe;ce++){var le=j[ce];d(le.offset),le.locator=p(C,{})}a.locator=se,h(j,a,ae)&&w.push(j),a.locator=C}else h(j,a,ae)&&w.push(j);e.isHTML(j.uri)&&!j.closed?k=g(n,k,j.tagName,c,a):k++}}catch(e){if(e instanceof u)throw e;o.error(`element parse error: `+e),k=-1}k>E?E=k:l(Math.max(D,E)+1)}}function p(e,t){return t.lineNumber=e.lineNumber,t.columnNumber=e.columnNumber,t}function m(t,u,d,f,p,m){function h(e,t,n){d.attributeNames.hasOwnProperty(e)&&m.fatalError(`Attribute `+e+` redefined`),d.addValue(e,t.replace(/[\t\n\r]/g,` `).replace(/&#?\w+;/g,p),n)}for(var g,_,v=++u,y=n;;){var b=t.charAt(v);if(y===n&&b===`<`)throw Error(`unexpected < in tag name: `+t.slice(u,v));switch(b){case`=`:if(y===r)g=t.slice(u,v),y=a;else if(y===i)y=a;else throw Error(`attribute equal must after attrName`);break;case`'`:case`"`:if(y===a||y===r){if(y===r&&(m.warning(`attribute value must after "="`),g=t.slice(u,v)),u=v+1,v=t.indexOf(b,u),v>0)_=t.slice(u,v),h(g,_,u-1),y=s;else throw Error(`attribute value no end '`+b+`' match`)}else if(y==o)_=t.slice(u,v),h(g,_,u),m.warning(`attribute "`+g+`" missed start quot(`+b+`)!!`),u=v+1,y=s;else throw Error(`attribute value must after "="`);break;case`/`:switch(y){case n:d.setTagName(t.slice(u,v));case s:case c:case l:y=l,d.closed=!0;case o:case r:break;case i:d.closed=!0;break;default:throw Error(`attribute invalid close char('/')`)}break;case``:return m.error(`unexpected end of input`),y==n&&d.setTagName(t.slice(u,v)),v;case`>`:switch(y){case n:d.setTagName(t.slice(u,v));case s:case c:case l:break;case o:case r:_=t.slice(u,v),_.slice(-1)===`/`&&(d.closed=!0,_=_.slice(0,-1));case i:y===i&&(_=g),y==o?(m.warning(`attribute "`+_+`" missed quot(")!`),h(g,_,u)):(e.isHTML(f[``])&&_.match(/^(?:disabled|checked|selected)$/i)||m.warning(`attribute "`+_+`" missed value!! "`+_+`" instead!!`),h(_,_,u));break;case a:throw Error(`attribute value missed!!`)}return v;case`€`:b=` `;default:if(b<=` `)switch(y){case n:d.setTagName(t.slice(u,v)),y=c;break;case r:g=t.slice(u,v),y=i;break;case o:var _=t.slice(u,v);m.warning(`attribute "`+_+`" missed quot(")!!`),h(g,_,u);case s:y=c}else switch(y){case i:d.tagName,e.isHTML(f[``])&&g.match(/^(?:disabled|checked|selected)$/i)||m.warning(`attribute "`+g+`" missed value!! "`+g+`" instead2!!`),h(g,g,u),u=v,y=r;break;case s:m.warning(`attribute space is required"`+g+`"!!`);case c:y=r,u=v;break;case a:y=o,u=v;break;case l:throw Error(`elements closed character '/' and '>' must be connected to`)}}v++}}function h(t,n,r){for(var i=t.tagName,a=null,o=t.length;o--;){var s=t[o],c=s.qName,l=s.value,u=c.indexOf(`:`);if(u>0)var d=s.prefix=c.slice(0,u),f=c.slice(u+1),p=d===`xmlns`&&f;else f=c,d=null,p=c===`xmlns`&&``;s.localName=f,p!==!1&&(a??(a={},r=Object.create(r)),r[p]=a[p]=l,s.uri=e.XMLNS,n.startPrefixMapping(p,l))}for(var o=t.length;o--;){s=t[o];var d=s.prefix;d&&(d===`xml`&&(s.uri=e.XML),d!==`xmlns`&&(s.uri=r[d||``]))}var u=i.indexOf(`:`);u>0?(d=t.prefix=i.slice(0,u),f=t.localName=i.slice(u+1)):(d=null,f=t.localName=i);var m=t.uri=r[d||``];if(n.startElement(m,f,i,t),t.closed){if(n.endElement(m,f,i),a)for(d in a)Object.prototype.hasOwnProperty.call(a,d)&&n.endPrefixMapping(d)}else return t.currentNSMap=r,t.localNSMap=a,!0}function g(e,t,n,r,i){if(/^(?:script|textarea)$/i.test(n)){var a=e.indexOf(`</`+n+`>`,t),o=e.substring(t+1,a);if(/[&<]/.test(o))return/^script$/i.test(n)?(i.characters(o,0,o.length),a):(o=o.replace(/&#?\w+;/g,r),i.characters(o,0,o.length),a)}return t+1}function _(e,t,n,r){var i=r[n];return i??(i=e.lastIndexOf(`</`+n+`>`),i<t&&(i=e.lastIndexOf(`</`+n)),r[n]=i),i<t}function v(e,t){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])}function y(e,t,n,r){switch(e.charAt(t+2)){case`-`:if(e.charAt(t+3)===`-`){var i=e.indexOf(`-->`,t+4);return i>t?(n.comment(e,t+4,i-t-4),i+3):(r.error(`Unclosed comment`),-1)}return-1;default:if(e.substr(t+3,6)==`CDATA[`){var i=e.indexOf(`]]>`,t+9);return n.startCDATA(),n.characters(e,t+9,i-t-9),n.endCDATA(),i+3}var a=S(e,t),o=a.length;if(o>1&&/!doctype/i.test(a[0][0])){var s=a[1][0],c=!1,l=!1;o>3&&(/^public$/i.test(a[2][0])?(c=a[3][0],l=o>4&&a[4][0]):/^system$/i.test(a[2][0])&&(l=a[3][0]));var u=a[o-1];return n.startDTD(s,c,l),n.endDTD(),u.index+u[0].length}}return-1}function b(e,t,n){var r=e.indexOf(`?>`,t);if(r){var i=e.substring(t,r).match(/^<\?(\S*)\s*([\s\S]*?)$/);return i?(i[0].length,n.processingInstruction(i[1],i[2]),r+2):-1}return-1}function x(){this.attributeNames={}}x.prototype={setTagName:function(e){if(!t.test(e))throw Error(`invalid tagName:`+e);this.tagName=e},addValue:function(e,n,r){if(!t.test(e))throw Error(`invalid attribute:`+e);this.attributeNames[e]=this.length,this[this.length++]={qName:e,value:n,offset:r}},length:0,getLocalName:function(e){return this[e].localName},getLocator:function(e){return this[e].locator},getQName:function(e){return this[e].qName},getURI:function(e){return this[e].uri},getValue:function(e){return this[e].value}};function S(e,t){var n,r=[],i=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;for(i.lastIndex=t,i.exec(e);n=i.exec(e);)if(r.push(n),n[1])return r}return an.XMLReader=d,an.ParseError=u,an}var cn;function ln(){if(cn)return en;cn=1;var e=Zt(),t=$t(),n=rn(),r=sn(),i=t.DOMImplementation,a=e.NAMESPACE,o=r.ParseError,s=r.XMLReader;function c(e){return e.replace(/\r[\n\u0085]/g,`
16
16
  `).replace(/[\r\u0085\u2028]/g,`
17
17
  `)}function l(e){this.options=e||{locator:{}}}l.prototype.parseFromString=function(e,t){var r=this.options,i=new s,o=r.domBuilder||new d,l=r.errorHandler,f=r.locator,p=r.xmlns||{},m=/\/x?html?$/.test(t),h=m?n.HTML_ENTITIES:n.XML_ENTITIES;f&&o.setDocumentLocator(f),i.errorHandler=u(l,o,f),i.domBuilder=r.domBuilder||o,m&&(p[``]=a.HTML),p.xml=p.xml||a.XML;var g=r.normalizeLineEndings||c;return e&&typeof e==`string`?i.parse(g(e),p,h):i.errorHandler.error(`invalid doc source`),o.doc};function u(e,t,n){if(!e){if(t instanceof d)return t;e=t}var r={},i=e instanceof Function;n||={};function a(t){var a=e[t];!a&&i&&(a=e.length==2?function(n){e(t,n)}:e),r[t]=a&&function(e){a(`[xmldom `+t+`] `+e+p(n))}||function(){}}return a(`warning`),a(`error`),a(`fatalError`),r}function d(){this.cdata=!1}function f(e,t){t.lineNumber=e.lineNumber,t.columnNumber=e.columnNumber}d.prototype={startDocument:function(){this.doc=new i().createDocument(null,null,null),this.locator&&(this.doc.documentURI=this.locator.systemId)},startElement:function(e,t,n,r){var i=this.doc,a=i.createElementNS(e,n||t),o=r.length;h(this,a),this.currentElement=a,this.locator&&f(this.locator,a);for(var s=0;s<o;s++){var e=r.getURI(s),c=r.getValue(s),n=r.getQName(s),l=i.createAttributeNS(e,n);this.locator&&f(r.getLocator(s),l),l.value=l.nodeValue=c,a.setAttributeNode(l)}},endElement:function(e,t,n){var r=this.currentElement;r.tagName,this.currentElement=r.parentNode},startPrefixMapping:function(e,t){},endPrefixMapping:function(e){},processingInstruction:function(e,t){var n=this.doc.createProcessingInstruction(e,t);this.locator&&f(this.locator,n),h(this,n)},ignorableWhitespace:function(e,t,n){},characters:function(e,t,n){if(e=m.apply(this,arguments),e){if(this.cdata)var r=this.doc.createCDATASection(e);else var r=this.doc.createTextNode(e);this.currentElement?this.currentElement.appendChild(r):/^\s*$/.test(e)&&this.doc.appendChild(r),this.locator&&f(this.locator,r)}},skippedEntity:function(e){},endDocument:function(){this.doc.normalize()},setDocumentLocator:function(e){(this.locator=e)&&(e.lineNumber=0)},comment:function(e,t,n){e=m.apply(this,arguments);var r=this.doc.createComment(e);this.locator&&f(this.locator,r),h(this,r)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(e,t,n){var r=this.doc.implementation;if(r&&r.createDocumentType){var i=r.createDocumentType(e,t,n);this.locator&&f(this.locator,i),h(this,i),this.doc.doctype=i}},warning:function(e){console.warn(`[xmldom warning] `+e,p(this.locator))},error:function(e){console.error(`[xmldom error] `+e,p(this.locator))},fatalError:function(e){throw new o(e,this.locator)}};function p(e){if(e)return`
18
- @`+(e.systemId||``)+`#[line:`+e.lineNumber+`,col:`+e.columnNumber+`]`}function m(e,t,n){return typeof e==`string`?e.substr(t,n):e.length>=t+n||t?new java.lang.String(e,t,n)+``:e}`endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl`.replace(/\w+/g,function(e){d.prototype[e]=function(){return null}});function h(e,t){e.currentElement?e.currentElement.appendChild(t):e.doc.appendChild(t)}return en.__DOMHandler=d,en.normalizeLineEndings=c,en.DOMParser=l,en}var un;function dn(){if(un)return qt;un=1;var e=$t();return qt.DOMImplementation=e.DOMImplementation,qt.XMLSerializer=e.XMLSerializer,qt.DOMParser=ln().DOMParser,qt}var fn=dn();const pn=e=>!!e&&typeof e==`object`,mn=(...e)=>e.reduce((e,t)=>(typeof t==`object`&&Object.keys(t).forEach(n=>{e[n]=Array.isArray(e[n])&&Array.isArray(t[n])?e[n].concat(t[n]):pn(e[n])&&pn(t[n])?mn(e[n],t[n]):t[n]}),e),{}),hn=e=>Object.keys(e).map(t=>e[t]),gn=(e,t)=>{let n=[];for(let r=e;r<t;r++)n.push(r);return n},_n=e=>e.reduce((e,t)=>e.concat(t),[]),vn=e=>{if(!e.length)return[];let t=[];for(let n=0;n<e.length;n++)t.push(e[n]);return t},yn=(e,t)=>e.reduce((e,n,r)=>(n[t]&&e.push(r),e),[]),bn=(e,t)=>hn(e.reduce((e,n)=>(n.forEach(n=>{e[t(n)]=n}),e),{}));var xn={INVALID_NUMBER_OF_PERIOD:`INVALID_NUMBER_OF_PERIOD`,DASH_EMPTY_MANIFEST:`DASH_EMPTY_MANIFEST`,DASH_INVALID_XML:`DASH_INVALID_XML`,NO_BASE_URL:`NO_BASE_URL`,SEGMENT_TIME_UNSPECIFIED:`SEGMENT_TIME_UNSPECIFIED`,UNSUPPORTED_UTC_TIMING_SCHEME:`UNSUPPORTED_UTC_TIMING_SCHEME`};const Sn=({baseUrl:e=``,source:t=``,range:n=``,indexRange:r=``})=>{let i={uri:t,resolvedUri:ot(e||``,t)};if(n||r){let e=(n||r).split(`-`),t=x.BigInt?x.BigInt(e[0]):parseInt(e[0],10),a=x.BigInt?x.BigInt(e[1]):parseInt(e[1],10);t<2**53-1&&typeof t==`bigint`&&(t=Number(t)),a<2**53-1&&typeof a==`bigint`&&(a=Number(a));let o;o=typeof a==`bigint`||typeof t==`bigint`?x.BigInt(a)-x.BigInt(t)+x.BigInt(1):a-t+1,typeof o==`bigint`&&o<2**53-1&&(o=Number(o)),i.byterange={length:o,offset:t}}return i},Cn=e=>{let t;return t=typeof e.offset==`bigint`||typeof e.length==`bigint`?x.BigInt(e.offset)+x.BigInt(e.length)-x.BigInt(1):e.offset+e.length-1,`${e.offset}-${t}`},wn=e=>(e&&typeof e!=`number`&&(e=parseInt(e,10)),isNaN(e)?null:e),Tn={static(e){let{duration:t,timescale:n=1,sourceDuration:r,periodDuration:i}=e,a=wn(e.endNumber),o=t/n;return typeof a==`number`?{start:0,end:a}:typeof i==`number`?{start:0,end:i/o}:{start:0,end:r/o}},dynamic(e){let{NOW:t,clientOffset:n,availabilityStartTime:r,timescale:i=1,duration:a,periodStart:o=0,minimumUpdatePeriod:s=0,timeShiftBufferDepth:c=1/0}=e,l=wn(e.endNumber),u=(t+n)/1e3,d=r+o,f=u+s-d,p=Math.ceil(f*i/a),m=Math.floor((u-d-c)*i/a),h=Math.floor((u-d)*i/a);return{start:Math.max(0,m),end:typeof l==`number`?l:Math.min(p,h)}}},En=e=>t=>{let{duration:n,timescale:r=1,periodStart:i,startNumber:a=1}=e;return{number:a+t,duration:n/r,timeline:i,time:t*n}},Dn=e=>{let{type:t,duration:n,timescale:r=1,periodDuration:i,sourceDuration:a}=e,{start:o,end:s}=Tn[t](e),c=gn(o,s).map(En(e));if(t===`static`){let e=c.length-1,t=typeof i==`number`?i:a;c[e].duration=t-n/r*e}return c},On=e=>{let{baseUrl:t,initialization:n={},sourceDuration:r,indexRange:i=``,periodStart:a,presentationTime:o,number:s=0,duration:c}=e;if(!t)throw Error(xn.NO_BASE_URL);let l=Sn({baseUrl:t,source:n.sourceURL,range:n.range}),u=Sn({baseUrl:t,source:t,indexRange:i});if(u.map=l,c){let t=Dn(e);t.length&&(u.duration=t[0].duration,u.timeline=t[0].timeline)}else r&&(u.duration=r,u.timeline=a);return u.presentationTime=o||a,u.number=s,[u]},kn=(e,t,n)=>{let r=e.sidx.map?e.sidx.map:null,i=e.sidx.duration,a=e.timeline||0,o=e.sidx.byterange,s=o.offset+o.length,c=t.timescale,l=t.references.filter(e=>e.referenceType!==1),u=[],d=e.endList?`static`:`dynamic`,f=e.sidx.timeline,p=f,m=e.mediaSequence||0,h;h=typeof t.firstOffset==`bigint`?x.BigInt(s)+t.firstOffset:s+t.firstOffset;for(let e=0;e<l.length;e++){let o=t.references[e],s=o.referencedSize,l=o.subsegmentDuration,g;g=typeof h==`bigint`?h+x.BigInt(s)-x.BigInt(1):h+s-1;let _=`${h}-${g}`,v=On({baseUrl:n,timescale:c,timeline:a,periodStart:f,presentationTime:p,number:m,duration:l,sourceDuration:i,indexRange:_,type:d})[0];r&&(v.map=r),u.push(v),h+=typeof h==`bigint`?x.BigInt(s):s,p+=l/c,m++}return e.segments=u,e},An=[`AUDIO`,`SUBTITLES`],jn=e=>bn(e,({timeline:e})=>e).sort((e,t)=>e.timeline>t.timeline?1:-1),Mn=(e,t)=>{for(let n=0;n<e.length;n++)if(e[n].attributes.NAME===t)return e[n];return null},Nn=e=>{let t=[];return Kt(e,An,(e,n,r,i)=>{t=t.concat(e.playlists||[])}),t},Pn=({playlist:e,mediaSequence:t})=>{e.mediaSequence=t,e.segments.forEach((t,n)=>{t.number=e.mediaSequence+n})},Fn=({oldPlaylists:e,newPlaylists:t,timelineStarts:n})=>{t.forEach(t=>{t.discontinuitySequence=n.findIndex(function({timeline:e}){return e===t.timeline});let r=Mn(e,t.attributes.NAME);if(!r||t.sidx)return;let i=t.segments[0],a=r.segments.findIndex(function(e){return Math.abs(e.presentationTime-i.presentationTime)<.016666666666666666});a===-1?(Pn({playlist:t,mediaSequence:r.mediaSequence+r.segments.length}),t.segments[0].discontinuity=!0,t.discontinuityStarts.unshift(0),(!r.segments.length&&t.timeline>r.timeline||r.segments.length&&t.timeline>r.segments[r.segments.length-1].timeline)&&t.discontinuitySequence--):(r.segments[a].discontinuity&&!i.discontinuity&&(i.discontinuity=!0,t.discontinuityStarts.unshift(0),t.discontinuitySequence--),Pn({playlist:t,mediaSequence:r.segments[a].number}))})},In=({oldManifest:e,newManifest:t})=>{let n=e.playlists.concat(Nn(e)),r=t.playlists.concat(Nn(t));return t.timelineStarts=jn([e.timelineStarts,t.timelineStarts]),Fn({oldPlaylists:n,newPlaylists:r,timelineStarts:t.timelineStarts}),t},Ln=e=>e&&e.uri+`-`+Cn(e.byterange),Rn=e=>{let t=e.reduce(function(e,t){return e[t.attributes.baseUrl]||(e[t.attributes.baseUrl]=[]),e[t.attributes.baseUrl].push(t),e},{}),n=[];return Object.values(t).forEach(e=>{let t=hn(e.reduce((e,t)=>{let n=t.attributes.id+(t.attributes.lang||``);return e[n]?(t.segments&&(t.segments[0]&&(t.segments[0].discontinuity=!0),e[n].segments.push(...t.segments)),t.attributes.contentProtection&&(e[n].attributes.contentProtection=t.attributes.contentProtection)):(e[n]=t,e[n].attributes.timelineStarts=[]),e[n].attributes.timelineStarts.push({start:t.attributes.periodStart,timeline:t.attributes.periodStart}),e},{}));n=n.concat(t)}),n.map(e=>(e.discontinuityStarts=yn(e.segments||[],`discontinuity`),e))},zn=(e,t)=>{let n=Ln(e.sidx),r=n&&t[n]&&t[n].sidx;return r&&kn(e,r,e.sidx.resolvedUri),e},Bn=(e,t={})=>{if(!Object.keys(t).length)return e;for(let n in e)e[n]=zn(e[n],t);return e},Vn=({attributes:e,segments:t,sidx:n,mediaSequence:r,discontinuitySequence:i,discontinuityStarts:a},o)=>{let s={attributes:{NAME:e.id,BANDWIDTH:e.bandwidth,CODECS:e.codecs,"PROGRAM-ID":1},uri:``,endList:e.type===`static`,timeline:e.periodStart,resolvedUri:e.baseUrl||``,targetDuration:e.duration,discontinuitySequence:i,discontinuityStarts:a,timelineStarts:e.timelineStarts,mediaSequence:r,segments:t};return e.contentProtection&&(s.contentProtection=e.contentProtection),e.serviceLocation&&(s.attributes.serviceLocation=e.serviceLocation),n&&(s.sidx=n),o&&(s.attributes.AUDIO=`audio`,s.attributes.SUBTITLES=`subs`),s},Hn=({attributes:e,segments:t,mediaSequence:n,discontinuityStarts:r,discontinuitySequence:i})=>{t===void 0&&(t=[{uri:e.baseUrl,timeline:e.periodStart,resolvedUri:e.baseUrl||``,duration:e.sourceDuration,number:0}],e.duration=e.sourceDuration);let a={NAME:e.id,BANDWIDTH:e.bandwidth,"PROGRAM-ID":1};e.codecs&&(a.CODECS=e.codecs);let o={attributes:a,uri:``,endList:e.type===`static`,timeline:e.periodStart,resolvedUri:e.baseUrl||``,targetDuration:e.duration,timelineStarts:e.timelineStarts,discontinuityStarts:r,discontinuitySequence:i,mediaSequence:n,segments:t};return e.serviceLocation&&(o.attributes.serviceLocation=e.serviceLocation),o},Un=(e,t={},n=!1)=>{let r,i=e.reduce((e,i)=>{let a=i.attributes.role&&i.attributes.role.value||``,o=i.attributes.lang||``,s=i.attributes.label||`main`;if(o&&!i.attributes.label){let e=a?` (${a})`:``;s=`${i.attributes.lang}${e}`}e[s]||(e[s]={language:o,autoselect:!0,default:a===`main`,playlists:[],uri:``});let c=zn(Vn(i,n),t);return e[s].playlists.push(c),r===void 0&&a===`main`&&(r=i,r.default=!0),e},{});if(!r){let e=Object.keys(i)[0];i[e].default=!0}return i},Wn=(e,t={})=>e.reduce((e,n)=>{let r=n.attributes.label||n.attributes.lang||`text`,i=n.attributes.lang||`und`;return e[r]||(e[r]={language:i,default:!1,autoselect:!1,playlists:[],uri:``}),e[r].playlists.push(zn(Hn(n),t)),e},{}),Gn=e=>e.reduce((e,t)=>(t&&t.forEach(t=>{let{channel:n,language:r}=t;e[r]={autoselect:!1,default:!1,instreamId:n,language:r},t.hasOwnProperty(`aspectRatio`)&&(e[r].aspectRatio=t.aspectRatio),t.hasOwnProperty(`easyReader`)&&(e[r].easyReader=t.easyReader),t.hasOwnProperty(`3D`)&&(e[r][`3D`]=t[`3D`])}),e),{}),Kn=({attributes:e,segments:t,sidx:n,discontinuityStarts:r})=>{let i={attributes:{NAME:e.id,AUDIO:`audio`,SUBTITLES:`subs`,RESOLUTION:{width:e.width,height:e.height},CODECS:e.codecs,BANDWIDTH:e.bandwidth,"PROGRAM-ID":1},uri:``,endList:e.type===`static`,timeline:e.periodStart,resolvedUri:e.baseUrl||``,targetDuration:e.duration,discontinuityStarts:r,timelineStarts:e.timelineStarts,segments:t};return e.frameRate&&(i.attributes[`FRAME-RATE`]=e.frameRate),e.qualityRanking!==void 0&&(i.attributes.SCORE=1/(e.qualityRanking+1)),e.contentProtection&&(i.contentProtection=e.contentProtection),e.serviceLocation&&(i.attributes.serviceLocation=e.serviceLocation),n&&(i.sidx=n),i},qn=({attributes:e})=>e.mimeType===`video/mp4`||e.mimeType===`video/webm`||e.contentType===`video`,Jn=({attributes:e})=>e.mimeType===`audio/mp4`||e.mimeType===`audio/webm`||e.contentType===`audio`,Yn=({attributes:e})=>e.mimeType===`text/vtt`||e.contentType===`text`,Xn=(e,t)=>{e.forEach(e=>{e.mediaSequence=0,e.discontinuitySequence=t.findIndex(function({timeline:t}){return t===e.timeline}),e.segments&&e.segments.forEach((e,t)=>{e.number=t})})},Zn=e=>e?Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(r.playlists)},[]):[],Qn=({dashPlaylists:e,locations:t,contentSteering:n,sidxMapping:r={},previousManifest:i,eventStream:a})=>{if(!e.length)return{};let{sourceDuration:o,type:s,suggestedPresentationDelay:c,minimumUpdatePeriod:l}=e[0].attributes,u=Rn(e.filter(qn)).map(Kn),d=Rn(e.filter(Jn)),f=Rn(e.filter(Yn)),p=e.map(e=>e.attributes.captionServices).filter(Boolean),m={allowCache:!0,discontinuityStarts:[],segments:[],endList:!0,mediaGroups:{AUDIO:{},VIDEO:{},"CLOSED-CAPTIONS":{},SUBTITLES:{}},uri:``,duration:o,playlists:Bn(u,r)};l>=0&&(m.minimumUpdatePeriod=l*1e3),t&&(m.locations=t),n&&(m.contentSteering=n),s===`dynamic`&&(m.suggestedPresentationDelay=c),a&&a.length>0&&(m.eventStream=a);let h=m.playlists.length===0,g=d.length?Un(d,r,h):null,_=f.length?Wn(f,r):null,v=u.concat(Zn(g),Zn(_)),y=v.map(({timelineStarts:e})=>e);return m.timelineStarts=jn(y),Xn(v,m.timelineStarts),g&&(m.mediaGroups.AUDIO.audio=g),_&&(m.mediaGroups.SUBTITLES.subs=_),p.length&&(m.mediaGroups[`CLOSED-CAPTIONS`].cc=Gn(p)),i?In({oldManifest:i,newManifest:m}):m},$n=(e,t,n)=>{let{NOW:r,clientOffset:i,availabilityStartTime:a,timescale:o=1,periodStart:s=0,minimumUpdatePeriod:c=0}=e,l=(r+i)/1e3,u=a+s,d=l+c-u;return Math.ceil((d*o-t)/n)},er=(e,t)=>{let{type:n,minimumUpdatePeriod:r=0,media:i=``,sourceDuration:a,timescale:o=1,startNumber:s=1,periodStart:c}=e,l=[],u=-1;for(let d=0;d<t.length;d++){let f=t[d],p=f.d,m=f.r||0,h=f.t||0;u<0&&(u=h),h&&h>u&&(u=h);let g;if(m<0){let s=d+1;g=s===t.length?n===`dynamic`&&r>0&&i.indexOf(`$Number$`)>0?$n(e,u,p):(a*o-u)/p:(t[s].t-u)/p}else g=m+1;let _=s+l.length+g,v=s+l.length;for(;v<_;)l.push({number:v,duration:p/o,time:u,timeline:c}),u+=p,v++}return l},tr=/\$([A-z]*)(?:(%0)([0-9]+)d)?\$/g,nr=e=>(t,n,r,i)=>{if(t===`$$`)return`$`;if(e[n]===void 0)return t;let a=``+e[n];return n===`RepresentationID`||(i=r?parseInt(i,10):1,a.length>=i)?a:`${Array(i-a.length+1).join(`0`)}${a}`},rr=(e,t)=>e.replace(tr,nr(t)),ir=(e,t)=>!e.duration&&!t?[{number:e.startNumber||1,duration:e.sourceDuration,time:0,timeline:e.periodStart}]:e.duration?Dn(e):er(e,t),ar=(e,t)=>{let n={RepresentationID:e.id,Bandwidth:e.bandwidth||0},{initialization:r={sourceURL:``,range:``}}=e,i=Sn({baseUrl:e.baseUrl,source:rr(r.sourceURL,n),range:r.range});return ir(e,t).map(t=>{n.Number=t.number,n.Time=t.time;let r=rr(e.media||``,n),a=e.timescale||1,o=e.presentationTimeOffset||0,s=e.periodStart+(t.time-o)/a;return{uri:r,timeline:t.timeline,duration:t.duration,resolvedUri:ot(e.baseUrl||``,r),map:i,number:t.number,presentationTime:s}})},or=(e,t)=>{let{baseUrl:n,initialization:r={}}=e,i=Sn({baseUrl:n,source:r.sourceURL,range:r.range}),a=Sn({baseUrl:n,source:t.media,range:t.mediaRange});return a.map=i,a},sr=(e,t)=>{let{duration:n,segmentUrls:r=[],periodStart:i}=e;if(!n&&!t||n&&t)throw Error(xn.SEGMENT_TIME_UNSPECIFIED);let a=r.map(t=>or(e,t)),o;return n&&(o=Dn(e)),t&&(o=er(e,t)),o.map((t,n)=>{if(a[n]){let r=a[n],o=e.timescale||1,s=e.presentationTimeOffset||0;return r.timeline=t.timeline,r.duration=t.duration,r.number=t.number,r.presentationTime=i+(t.time-s)/o,r}}).filter(e=>e)},cr=({attributes:e,segmentInfo:t})=>{let n,r;t.template?(r=ar,n=mn(e,t.template)):t.base?(r=On,n=mn(e,t.base)):t.list&&(r=sr,n=mn(e,t.list));let i={attributes:e};if(!r)return i;let a=r(n,t.segmentTimeline);if(n.duration){let{duration:e,timescale:t=1}=n;n.duration=e/t}else a.length?n.duration=a.reduce((e,t)=>Math.max(e,Math.ceil(t.duration)),0):n.duration=0;return i.attributes=n,i.segments=a,t.base&&n.indexRange&&(i.sidx=a[0],i.segments=[]),i},lr=e=>e.map(cr),V=(e,t)=>vn(e.childNodes).filter(({tagName:e})=>e===t),ur=e=>e.textContent.trim(),dr=e=>parseFloat(e.split(`/`).reduce((e,t)=>e/t)),fr=e=>{let t=/P(?:(\d*)Y)?(?:(\d*)M)?(?:(\d*)D)?(?:T(?:(\d*)H)?(?:(\d*)M)?(?:([\d.]*)S)?)?/.exec(e);if(!t)return 0;let[n,r,i,a,o,s]=t.slice(1);return parseFloat(n||0)*31536e3+parseFloat(r||0)*2592e3+parseFloat(i||0)*86400+parseFloat(a||0)*3600+parseFloat(o||0)*60+parseFloat(s||0)},pr=e=>(/^\d+-\d+-\d+T\d+:\d+:\d+(\.\d+)?$/.test(e)&&(e+=`Z`),Date.parse(e)),mr={mediaPresentationDuration(e){return fr(e)},availabilityStartTime(e){return pr(e)/1e3},minimumUpdatePeriod(e){return fr(e)},suggestedPresentationDelay(e){return fr(e)},type(e){return e},timeShiftBufferDepth(e){return fr(e)},start(e){return fr(e)},width(e){return parseInt(e,10)},height(e){return parseInt(e,10)},bandwidth(e){return parseInt(e,10)},frameRate(e){return dr(e)},startNumber(e){return parseInt(e,10)},timescale(e){return parseInt(e,10)},presentationTimeOffset(e){return parseInt(e,10)},duration(e){let t=parseInt(e,10);return isNaN(t)?fr(e):t},d(e){return parseInt(e,10)},t(e){return parseInt(e,10)},r(e){return parseInt(e,10)},presentationTime(e){return parseInt(e,10)},qualityRanking(e){return parseInt(e,10)},qualityranking(e){return parseInt(e,10)},DEFAULT(e){return e}},hr={qualityranking:`qualityRanking`},gr=e=>e&&e.attributes?vn(e.attributes).reduce((e,t)=>{let n=mr[t.name]||mr.DEFAULT,r=hr[t.name]||t.name;return e[r]=n(t.value),e},{}):{},_r={"urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b":`org.w3.clearkey`,"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed":`com.widevine.alpha`,"urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95":`com.microsoft.playready`,"urn:uuid:f239e769-efa3-4850-9c16-a903c6932efb":`com.adobe.primetime`,"urn:mpeg:dash:mp4protection:2011":`mp4protection`},vr=(e,t)=>t.length?_n(e.map(function(e){return t.map(function(t){let n=ur(t),r=ot(e.baseUrl,n),i=mn(gr(t),{baseUrl:r});return r!==n&&!i.serviceLocation&&e.serviceLocation&&(i.serviceLocation=e.serviceLocation),i})})):e,yr=e=>{let t=V(e,`SegmentTemplate`)[0],n=V(e,`SegmentList`)[0],r=n&&V(n,`SegmentURL`).map(e=>mn({tag:`SegmentURL`},gr(e))),i=V(e,`SegmentBase`)[0],a=n||t,o=a&&V(a,`SegmentTimeline`)[0],s=n||i||t,c=s&&V(s,`Initialization`)[0],l=t&&gr(t);l&&c?l.initialization=c&&gr(c):l&&l.initialization&&(l.initialization={sourceURL:l.initialization});let u={template:l,segmentTimeline:o&&V(o,`S`).map(e=>gr(e)),list:n&&mn(gr(n),{segmentUrls:r,initialization:gr(c)}),base:i&&mn(gr(i),{initialization:gr(c)})};return Object.keys(u).forEach(e=>{u[e]||delete u[e]}),u},br=(e,t,n)=>r=>{let i=V(r,`BaseURL`),a=vr(t,i),o=mn(e,gr(r)),s=yr(r);return a.map(e=>({segmentInfo:mn(n,s),attributes:mn(o,e)}))},xr=e=>e.reduce((e,t)=>{let n=gr(t);n.schemeIdUri&&=n.schemeIdUri.toLowerCase();let r=_r[n.schemeIdUri];if(r){e[r]={attributes:n};let i=V(t,`cenc:pssh`)[0];if(i){let t=ur(i);e[r].pssh=t&&lt(t)}}return e},{}),Sr=e=>{if(e.schemeIdUri===`urn:scte:dash:cc:cea-608:2015`)return(typeof e.value==`string`?e.value.split(`;`):[]).map(e=>{let t,n;return n=e,/^CC\d=/.test(e)?[t,n]=e.split(`=`):/^CC\d$/.test(e)&&(t=e),{channel:t,language:n}});if(e.schemeIdUri===`urn:scte:dash:cc:cea-708:2015`)return(typeof e.value==`string`?e.value.split(`;`):[]).map(e=>{let t={channel:void 0,language:void 0,aspectRatio:1,easyReader:0,"3D":0};if(/=/.test(e)){let[n,r=``]=e.split(`=`);t.channel=n,t.language=e,r.split(`,`).forEach(e=>{let[n,r]=e.split(`:`);n===`lang`?t.language=r:n===`er`?t.easyReader=Number(r):n===`war`?t.aspectRatio=Number(r):n===`3D`&&(t[`3D`]=Number(r))})}else t.language=e;return t.channel&&=`SERVICE`+t.channel,t})},Cr=e=>_n(V(e.node,`EventStream`).map(t=>{let n=gr(t),r=n.schemeIdUri;return V(t,`Event`).map(t=>{let i=gr(t),a=i.presentationTime||0,o=n.timescale||1,s=i.duration||0,c=a/o+e.attributes.start;return{schemeIdUri:r,value:n.value,id:i.id,start:c,end:c+s/o,messageData:ur(t)||i.messageData,contentEncoding:n.contentEncoding,presentationTimeOffset:n.presentationTimeOffset||0}})})),wr=(e,t,n)=>r=>{let i=gr(r),a=vr(t,V(r,`BaseURL`)),o=V(r,`Role`)[0],s={role:gr(o)},c=mn(e,i,s),l=V(r,`Accessibility`)[0],u=Sr(gr(l));u&&(c=mn(c,{captionServices:u}));let d=V(r,`Label`)[0];if(d&&d.childNodes.length){let e=d.childNodes[0].nodeValue.trim();c=mn(c,{label:e})}let f=xr(V(r,`ContentProtection`));Object.keys(f).length&&(c=mn(c,{contentProtection:f}));let p=yr(r),m=V(r,`Representation`),h=mn(n,p);return _n(m.map(br(c,a,h)))},Tr=(e,t)=>(n,r)=>{let i=vr(t,V(n.node,`BaseURL`)),a=mn(e,{periodStart:n.attributes.start});typeof n.attributes.duration==`number`&&(a.periodDuration=n.attributes.duration);let o=V(n.node,`AdaptationSet`),s=yr(n.node);return _n(o.map(wr(a,i,s)))},Er=(e,t)=>{if(e.length>1&&t({type:`warn`,message:`The MPD manifest should contain no more than one ContentSteering tag`}),!e.length)return null;let n=mn({serverURL:ur(e[0])},gr(e[0]));return n.queryBeforeStart=n.queryBeforeStart===`true`,n},Dr=({attributes:e,priorPeriodAttributes:t,mpdType:n})=>typeof e.start==`number`?e.start:t&&typeof t.start==`number`&&typeof t.duration==`number`?t.start+t.duration:!t&&n===`static`?0:null,Or=(e,t={})=>{let{manifestUri:n=``,NOW:r=Date.now(),clientOffset:i=0,eventHandler:a=function(){}}=t,o=V(e,`Period`);if(!o.length)throw Error(xn.INVALID_NUMBER_OF_PERIOD);let s=V(e,`Location`),c=gr(e),l=vr([{baseUrl:n}],V(e,`BaseURL`)),u=V(e,`ContentSteering`);c.type=c.type||`static`,c.sourceDuration=c.mediaPresentationDuration||0,c.NOW=r,c.clientOffset=i,s.length&&(c.locations=s.map(ur));let d=[];return o.forEach((e,t)=>{let n=gr(e),r=d[t-1];n.start=Dr({attributes:n,priorPeriodAttributes:r?r.attributes:null,mpdType:c.type}),d.push({node:e,attributes:n})}),{locations:c.locations,contentSteeringInfo:Er(u,a),representationInfo:_n(d.map(Tr(c,l))),eventStream:_n(d.map(Cr))}},kr=e=>{if(e===``)throw Error(xn.DASH_EMPTY_MANIFEST);let t=new fn.DOMParser,n,r;try{n=t.parseFromString(e,`application/xml`),r=n&&n.documentElement.tagName===`MPD`?n.documentElement:null}catch{}if(!r||r&&r.getElementsByTagName(`parsererror`).length>0)throw Error(xn.DASH_INVALID_XML);return r},Ar=e=>{let t=V(e,`UTCTiming`)[0];if(!t)return null;let n=gr(t);switch(n.schemeIdUri){case`urn:mpeg:dash:utc:http-head:2014`:case`urn:mpeg:dash:utc:http-head:2012`:n.method=`HEAD`;break;case`urn:mpeg:dash:utc:http-xsdate:2014`:case`urn:mpeg:dash:utc:http-iso:2014`:case`urn:mpeg:dash:utc:http-xsdate:2012`:case`urn:mpeg:dash:utc:http-iso:2012`:n.method=`GET`;break;case`urn:mpeg:dash:utc:direct:2014`:case`urn:mpeg:dash:utc:direct:2012`:n.method=`DIRECT`,n.value=Date.parse(n.value);break;default:throw Error(xn.UNSUPPORTED_UTC_TIMING_SCHEME)}return n},jr=(e,t={})=>{let n=Or(kr(e),t),r=lr(n.representationInfo);return Qn({dashPlaylists:r,locations:n.locations,contentSteering:n.contentSteeringInfo,sidxMapping:t.sidxMapping,previousManifest:t.previousManifest,eventStream:n.eventStream})},Mr=e=>Ar(kr(e));var Nr,Pr;function Fr(){if(Pr)return Nr;Pr=1;var e=2**32;return Nr={getUint64:function(t){var n=new DataView(t.buffer,t.byteOffset,t.byteLength),r;return n.getBigUint64?(r=n.getBigUint64(0),r<2**53-1?Number(r):r):n.getUint32(0)*e+n.getUint32(4)},MAX_UINT32:e},Nr}var Ir,Lr;function Rr(){if(Lr)return Ir;Lr=1;var e=Fr().getUint64;return Ir=function(t){var n=new DataView(t.buffer,t.byteOffset,t.byteLength),r={version:t[0],flags:new Uint8Array(t.subarray(1,4)),references:[],referenceId:n.getUint32(4),timescale:n.getUint32(8)},i=12;r.version===0?(r.earliestPresentationTime=n.getUint32(i),r.firstOffset=n.getUint32(i+4),i+=8):(r.earliestPresentationTime=e(t.subarray(i)),r.firstOffset=e(t.subarray(i+8)),i+=16),i+=2;var a=n.getUint16(i);for(i+=2;a>0;i+=12,a--)r.references.push({referenceType:(t[i]&128)>>>7,referencedSize:n.getUint32(i)&2147483647,subsegmentDuration:n.getUint32(i+4),startsWithSap:!!(t[i+8]&128),sapType:(t[i+8]&112)>>>4,sapDeltaTime:n.getUint32(i+8)&268435455});return r},Ir}var zr=Rr();const Br=g(zr);var H=z([73,68,51]),Vr=function(e,t){t===void 0&&(t=0),e=z(e);var n=e[t+5],r=e[t+6]<<21|e[t+7]<<14|e[t+8]<<7|e[t+9];return(n&16)>>4?r+20:r+10},Hr=function e(t,n){return n===void 0&&(n=0),t=z(t),t.length-n<10||!B(t,H,{offset:n})?n:(n+=Vr(t,n),e(t,n))},Ur=function(e){return typeof e==`string`?Wt(e):e},Wr=function(e){return Array.isArray(e)?e.map(function(e){return Ur(e)}):[Ur(e)]},Gr=function e(t,n,r){r===void 0&&(r=!1),n=Wr(n),t=z(t);var i=[];if(!n.length)return i;for(var a=0;a<t.length;){var o=(t[a]<<24|t[a+1]<<16|t[a+2]<<8|t[a+3])>>>0,s=t.subarray(a+4,a+8);if(o===0)break;var c=a+o;if(c>t.length){if(r)break;c=t.length}var l=t.subarray(a+8,c);B(s,n[0])&&(n.length===1?i.push(l):i.push.apply(i,e(l,n.slice(1),r))),a=c}return i},Kr={EBML:z([26,69,223,163]),DocType:z([66,130]),Segment:z([24,83,128,103]),SegmentInfo:z([21,73,169,102]),Tracks:z([22,84,174,107]),Track:z([174]),TrackNumber:z([215]),DefaultDuration:z([35,227,131]),TrackEntry:z([174]),TrackType:z([131]),FlagDefault:z([136]),CodecID:z([134]),CodecPrivate:z([99,162]),VideoTrack:z([224]),AudioTrack:z([225]),Cluster:z([31,67,182,117]),Timestamp:z([231]),TimestampScale:z([42,215,177]),BlockGroup:z([160]),BlockDuration:z([155]),Block:z([161]),SimpleBlock:z([163])},qr=[128,64,32,16,8,4,2,1],Jr=function(e){for(var t=1,n=0;n<qr.length&&!(e&qr[n]);n++)t++;return t},Yr=function(e,t,n,r){n===void 0&&(n=!0),r===void 0&&(r=!1);var i=Jr(e[t]),a=e.subarray(t,t+i);return n&&(a=Array.prototype.slice.call(e,t,t+i),a[0]^=qr[i-1]),{length:i,value:Ht(a,{signed:r}),bytes:a}},Xr=function e(t){return typeof t==`string`?t.match(/.{1,2}/g).map(function(t){return e(t)}):typeof t==`number`?Ut(t):t},Zr=function(e){return Array.isArray(e)?e.map(function(e){return Xr(e)}):[Xr(e)]},Qr=function e(t,n,r){if(r>=n.length)return n.length;var i=Yr(n,r,!1);if(B(t.bytes,i.bytes))return r;var a=Yr(n,r+i.length);return e(t,n,r+a.length+a.value+i.length)},$r=function e(t,n){n=Zr(n),t=z(t);var r=[];if(!n.length)return r;for(var i=0;i<t.length;){var a=Yr(t,i,!1),o=Yr(t,i+a.length),s=i+a.length+o.length;o.value===127&&(o.value=Qr(a,t,s),o.value!==t.length&&(o.value-=s));var c=s+o.value>t.length?t.length:s+o.value,l=t.subarray(s,c);B(n[0],a.bytes)&&(n.length===1?r.push(l):r=r.concat(e(l,n.slice(1))));var u=a.length+o.length+l.length;i+=u}return r},ei=z([0,0,0,1]),ti=z([0,0,1]),ni=z([0,0,3]),ri=function(e){for(var t=[],n=1;n<e.length-2;)B(e.subarray(n,n+3),ni)&&(t.push(n+2),n++),n++;if(t.length===0)return e;var r=e.length-t.length,i=new Uint8Array(r),a=0;for(n=0;n<r;a++,n++)a===t[0]&&(a++,t.shift()),i[n]=e[a];return i},ii=function(e,t,n,r){e=z(e),n=[].concat(n);for(var i=0,a,o=0;i<e.length&&(o<r||a);){var s=void 0;if(B(e.subarray(i),ei)?s=4:B(e.subarray(i),ti)&&(s=3),!s)i++;else{if(o++,a)return ri(e.subarray(a,i));var c=void 0;t===`h264`?c=e[i+s]&31:t===`h265`&&(c=e[i+s]>>1&63),n.indexOf(c)!==-1&&(a=i+s),i+=s+(t===`h264`?1:2)}}return e.subarray(0,0)},ai=function(e,t,n){return ii(e,`h264`,t,n)},oi=function(e,t,n){return ii(e,`h265`,t,n)},si={webm:z([119,101,98,109]),matroska:z([109,97,116,114,111,115,107,97]),flac:z([102,76,97,67]),ogg:z([79,103,103,83]),ac3:z([11,119]),riff:z([82,73,70,70]),avi:z([65,86,73]),wav:z([87,65,86,69]),"3gp":z([102,116,121,112,51,103]),mp4:z([102,116,121,112]),fmp4:z([115,116,121,112]),mov:z([102,116,121,112,113,116]),moov:z([109,111,111,118]),moof:z([109,111,111,102]),vtt:z([87,69,66,86,84,84])},ci={aac:function(e){return B(e,[255,16],{offset:Hr(e),mask:[255,22]})},mp3:function(e){return B(e,[255,2],{offset:Hr(e),mask:[255,6]})},webm:function(e){var t=$r(e,[Kr.EBML,Kr.DocType])[0];return B(t,si.webm)},mkv:function(e){var t=$r(e,[Kr.EBML,Kr.DocType])[0];return B(t,si.matroska)},mp4:function(e){if(ci[`3gp`](e)||ci.mov(e))return!1;if(B(e,si.mp4,{offset:4})||B(e,si.fmp4,{offset:4})||B(e,si.moof,{offset:4})||B(e,si.moov,{offset:4}))return!0},mov:function(e){return B(e,si.mov,{offset:4})},"3gp":function(e){return B(e,si[`3gp`],{offset:4})},ac3:function(e){var t=Hr(e);return B(e,si.ac3,{offset:t})},vtt:function(e){return B(e,si.vtt)},ts:function(e){if(e.length<189&&e.length>=1)return e[0]===71;for(var t=0;t+188<e.length&&t<188;){if(e[t]===71&&e[t+188]===71)return!0;t+=1}return!1},flac:function(e){var t=Hr(e);return B(e,si.flac,{offset:t})},ogg:function(e){return B(e,si.ogg)},avi:function(e){return B(e,si.riff)&&B(e,si.avi,{offset:8})},wav:function(e){return B(e,si.riff)&&B(e,si.wav,{offset:8})},h264:function(e){return ai(e,7,3).length},h265:function(e){return oi(e,[32,33],3).length}},li=Object.keys(ci).filter(function(e){return e!==`ts`&&e!==`h264`&&e!==`h265`}).concat([`ts`,`h264`,`h265`]);li.forEach(function(e){var t=ci[e];ci[e]=function(e){return t(z(e))}});var ui=ci,di=function(e){e=z(e);for(var t=0;t<li.length;t++){var n=li[t];if(ui[n](e))return n}return``},fi=function(e){return Gr(e,[`moof`]).length>0},pi,mi;function hi(){if(mi)return pi;mi=1;var e=9e4,t=function(t){return t*e},n=function(e,t){return e*t},r=function(t){return t/e},i=function(e,t){return e/t};return pi={ONE_SECOND_IN_TS:e,secondsToVideoTs:t,secondsToAudioTs:n,videoTsToSeconds:r,audioTsToSeconds:i,audioTsToVideoTs:function(e,n){return t(i(e,n))},videoTsToAudioTs:function(e,t){return n(r(e),t)},metadataTsToSeconds:function(e,t,n){return r(n?e:e-t)}},pi}var gi=hi(),_i=`8.24.1`;const vi={},yi=function(e,t){return vi[e]=vi[e]||[],t&&(vi[e]=vi[e].concat(t)),vi[e]},bi=function(e,t){yi(e,t)},xi=function(e,t){let n=yi(e).indexOf(t);return n<=-1?!1:(vi[e]=vi[e].slice(),vi[e].splice(n,1),!0)},Si=function(e,t){yi(e,[].concat(t).map(t=>{let n=(...r)=>(xi(e,n),t(...r));return n}))},Ci={prefixed:!0},wi=[[`requestFullscreen`,`exitFullscreen`,`fullscreenElement`,`fullscreenEnabled`,`fullscreenchange`,`fullscreenerror`,`fullscreen`],[`webkitRequestFullscreen`,`webkitExitFullscreen`,`webkitFullscreenElement`,`webkitFullscreenEnabled`,`webkitfullscreenchange`,`webkitfullscreenerror`,`-webkit-full-screen`]],Ti=wi[0];let Ei;for(let e=0;e<wi.length;e++)if(wi[e][1]in F){Ei=wi[e];break}if(Ei){for(let e=0;e<Ei.length;e++)Ci[Ti[e]]=Ei[e];Ci.prefixed=Ei[0]!==Ti[0]}let Di=[];const Oi=(e,t,n)=>(r,i,a)=>{let o=t.levels[i],s=RegExp(`^(${o})$`),c=e;if(r!==`log`&&a.unshift(r.toUpperCase()+`:`),n&&(c=`%c${e}`,a.unshift(n)),a.unshift(c+`:`),Di){Di.push([].concat(a));let e=Di.length-1e3;Di.splice(0,e>0?e:0)}if(!x.console)return;let l=x.console[r];!l&&r===`debug`&&(l=x.console.info||x.console.log),l&&o&&s.test(r)&&l[Array.isArray(a)?`apply`:`call`](x.console,a)};function ki(e,t=`:`,n=``){let r=`info`,i;function a(...e){i(`log`,r,e)}return i=Oi(e,a,n),a.createLogger=(r,i,a)=>{let o=i===void 0?t:i,s=a===void 0?n:a;return ki(`${e} ${o} ${r}`,o,s)},a.createNewLogger=(e,t,n)=>ki(e,t,n),a.levels={all:`debug|log|warn|error`,off:``,debug:`debug|log|warn|error`,info:`log|warn|error`,warn:`warn|error`,error:`error`,DEFAULT:r},a.level=e=>{if(typeof e==`string`){if(!a.levels.hasOwnProperty(e))throw Error(`"${e}" in not a valid log level`);r=e}return r},a.history=()=>Di?[].concat(Di):[],a.history.filter=e=>(Di||[]).filter(t=>RegExp(`.*${e}.*`).test(t[0])),a.history.clear=()=>{Di&&(Di.length=0)},a.history.disable=()=>{Di!==null&&(Di.length=0,Di=null)},a.history.enable=()=>{Di===null&&(Di=[])},a.error=(...e)=>i(`error`,r,e),a.warn=(...e)=>i(`warn`,r,e),a.debug=(...e)=>i(`debug`,r,e),a}const U=ki(`VIDEOJS`),Ai=U.createLogger,ji=Object.prototype.toString,Mi=function(e){return Fi(e)?Object.keys(e):[]};function Ni(e,t){Mi(e).forEach(n=>t(e[n],n))}function Pi(e,t,n=0){return Mi(e).reduce((n,r)=>t(n,e[r],r),n)}function Fi(e){return!!e&&typeof e==`object`}function Ii(e){return Fi(e)&&ji.call(e)===`[object Object]`&&e.constructor===Object}function W(...e){let t={};return e.forEach(e=>{e&&Ni(e,(e,n)=>{Ii(e)?(Ii(t[n])||(t[n]={}),t[n]=W(t[n],e)):t[n]=e})}),t}function Li(e={}){let t=[];for(let n in e)if(e.hasOwnProperty(n)){let r=e[n];t.push(r)}return t}function Ri(e,t,n,r=!0){let i=n=>Object.defineProperty(e,t,{value:n,enumerable:!0,writable:!0}),a={configurable:!0,enumerable:!0,get(){let e=n();return i(e),e}};return r&&(a.set=i),Object.defineProperty(e,t,a)}var zi=Object.freeze({__proto__:null,each:Ni,reduce:Pi,isObject:Fi,isPlain:Ii,merge:W,values:Li,defineLazyProperty:Ri});let Bi=!1,Vi=null,Hi=!1,Ui,Wi=!1,Gi=!1,Ki=!1,qi=!1,Ji=null,Yi=null;const Xi=!!(x.cast&&x.cast.framework&&x.cast.framework.CastReceiverContext);let Zi=null,Qi=!1,$i=!1,ea=!1,ta=!1,na=!1,ra=!1,ia=!1;const aa=!!(fa()&&(`ontouchstart`in x||x.navigator.maxTouchPoints||x.DocumentTouch&&x.document instanceof x.DocumentTouch)),oa=x.navigator&&x.navigator.userAgentData;if(oa&&oa.platform&&oa.brands&&(Hi=oa.platform===`Android`,Gi=!!oa.brands.find(e=>e.brand===`Microsoft Edge`),Ki=!!oa.brands.find(e=>e.brand===`Chromium`),qi=!Gi&&Ki,Ji=Yi=(oa.brands.find(e=>e.brand===`Chromium`)||{}).version||null,$i=oa.platform===`Windows`),!Ki){let e=x.navigator&&x.navigator.userAgent||``;Bi=/iPod/i.test(e),Vi=function(){let t=e.match(/OS (\d+)_/i);return t&&t[1]?t[1]:null}(),Hi=/Android/i.test(e),Ui=function(){let t=e.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);if(!t)return null;let n=t[1]&&parseFloat(t[1]),r=t[2]&&parseFloat(t[2]);return n&&r?parseFloat(t[1]+`.`+t[2]):n||null}(),Wi=/Firefox/i.test(e),Gi=/Edg/i.test(e),Ki=/Chrome/i.test(e)||/CriOS/i.test(e),qi=!Gi&&Ki,Ji=Yi=function(){let t=e.match(/(Chrome|CriOS)\/(\d+)/);return t&&t[2]?parseFloat(t[2]):null}(),Zi=function(){let t=/MSIE\s(\d+)\.\d/.exec(e),n=t&&parseFloat(t[1]);return!n&&/Trident\/7.0/i.test(e)&&/rv:11.0/.test(e)&&(n=11),n}(),na=/Tizen/i.test(e),ra=/Web0S/i.test(e),ia=na||ra,Qi=/Safari/i.test(e)&&!qi&&!Hi&&!Gi&&!ia,$i=/Windows/i.test(e),ea=/iPad/i.test(e)||Qi&&aa&&!/iPhone/i.test(e),ta=/iPhone/i.test(e)&&!ea}const sa=ta||ea||Bi,ca=(Qi||sa)&&!qi;var la=Object.freeze({__proto__:null,get IS_IPOD(){return Bi},get IOS_VERSION(){return Vi},get IS_ANDROID(){return Hi},get ANDROID_VERSION(){return Ui},get IS_FIREFOX(){return Wi},get IS_EDGE(){return Gi},get IS_CHROMIUM(){return Ki},get IS_CHROME(){return qi},get CHROMIUM_VERSION(){return Ji},get CHROME_VERSION(){return Yi},IS_CHROMECAST_RECEIVER:Xi,get IE_VERSION(){return Zi},get IS_SAFARI(){return Qi},get IS_WINDOWS(){return $i},get IS_IPAD(){return ea},get IS_IPHONE(){return ta},get IS_TIZEN(){return na},get IS_WEBOS(){return ra},get IS_SMART_TV(){return ia},TOUCH_ENABLED:aa,IS_IOS:sa,IS_ANY_SAFARI:ca});function ua(e){return typeof e==`string`&&!!e.trim()}function da(e){if(e.indexOf(` `)>=0)throw Error(`class has illegal whitespace characters`)}function fa(){return F===x.document}function pa(e){return Fi(e)&&e.nodeType===1}function ma(){try{return x.parent!==x.self}catch{return!0}}function ha(e){return function(t,n){if(!ua(t))return F[e](null);ua(n)&&(n=F.querySelector(n));let r=pa(n)?n:F;return r[e]&&r[e](t)}}function G(e=`div`,t={},n={},r){let i=F.createElement(e);return Object.getOwnPropertyNames(t).forEach(function(e){let n=t[e];e===`textContent`?ga(i,n):(i[e]!==n||e===`tabIndex`)&&(i[e]=n)}),Object.getOwnPropertyNames(n).forEach(function(e){i.setAttribute(e,n[e])}),r&&Fa(i,r),i}function ga(e,t){return e.textContent===void 0?e.innerText=t:e.textContent=t,e}function _a(e,t){t.firstChild?t.insertBefore(e,t.firstChild):t.appendChild(e)}function va(e,t){return da(t),e.classList.contains(t)}function ya(e,...t){return e.classList.add(...t.reduce((e,t)=>e.concat(t.split(/\s+/)),[])),e}function ba(e,...t){return e?(e.classList.remove(...t.reduce((e,t)=>e.concat(t.split(/\s+/)),[])),e):(U.warn(`removeClass was called with an element that doesn't exist`),null)}function xa(e,t,n){return typeof n==`function`&&(n=n(e,t)),typeof n!=`boolean`&&(n=void 0),t.split(/\s+/).forEach(t=>e.classList.toggle(t,n)),e}function Sa(e,t){Object.getOwnPropertyNames(t).forEach(function(n){let r=t[n];r==null||r===!1?e.removeAttribute(n):e.setAttribute(n,r===!0?``:r)})}function Ca(e){let t={},n=[`autoplay`,`controls`,`playsinline`,`loop`,`muted`,`default`,`defaultMuted`];if(e&&e.attributes&&e.attributes.length>0){let r=e.attributes;for(let e=r.length-1;e>=0;e--){let i=r[e].name,a=r[e].value;n.includes(i)&&(a=a!==null),t[i]=a}}return t}function wa(e,t){return e.getAttribute(t)}function Ta(e,t,n){e.setAttribute(t,n)}function Ea(e,t){e.removeAttribute(t)}function Da(){F.body.focus(),F.onselectstart=function(){return!1}}function Oa(){F.onselectstart=function(){return!0}}function ka(e){if(e&&e.getBoundingClientRect&&e.parentNode){let t=e.getBoundingClientRect(),n={};return[`bottom`,`height`,`left`,`right`,`top`,`width`].forEach(e=>{t[e]!==void 0&&(n[e]=t[e])}),n.height||=parseFloat(Ba(e,`height`)),n.width||=parseFloat(Ba(e,`width`)),n}}function Aa(e){if(!e||e&&!e.offsetParent)return{left:0,top:0,width:0,height:0};let t=e.offsetWidth,n=e.offsetHeight,r=0,i=0;for(;e.offsetParent&&e!==F[Ci.fullscreenElement];)r+=e.offsetLeft,i+=e.offsetTop,e=e.offsetParent;return{left:r,top:i,width:t,height:n}}function ja(e,t){let n={x:0,y:0};if(sa){let t=e;for(;t&&t.nodeName.toLowerCase()!==`html`;){let e=Ba(t,`transform`);if(/^matrix/.test(e)){let t=e.slice(7,-1).split(/,\s/).map(Number);n.x+=t[4],n.y+=t[5]}else if(/^matrix3d/.test(e)){let t=e.slice(9,-1).split(/,\s/).map(Number);n.x+=t[12],n.y+=t[13]}if(t.assignedSlot&&t.assignedSlot.parentElement&&x.WebKitCSSMatrix){let e=x.getComputedStyle(t.assignedSlot.parentElement).transform,r=new x.WebKitCSSMatrix(e);n.x+=r.m41,n.y+=r.m42}t=t.parentNode||t.host}}let r={},i=Aa(t.target),a=Aa(e),o=a.width,s=a.height,c=t.offsetY-(a.top-i.top),l=t.offsetX-(a.left-i.left);return t.changedTouches&&(l=t.changedTouches[0].pageX-a.left,c=t.changedTouches[0].pageY+a.top,sa&&(l-=n.x,c-=n.y)),r.y=1-Math.max(0,Math.min(1,c/s)),r.x=Math.max(0,Math.min(1,l/o)),r}function Ma(e){return Fi(e)&&e.nodeType===3}function Na(e){for(;e.firstChild;)e.removeChild(e.firstChild);return e}function Pa(e){return typeof e==`function`&&(e=e()),(Array.isArray(e)?e:[e]).map(e=>{if(typeof e==`function`&&(e=e()),pa(e)||Ma(e))return e;if(typeof e==`string`&&/\S/.test(e))return F.createTextNode(e)}).filter(e=>e)}function Fa(e,t){return Pa(t).forEach(t=>e.appendChild(t)),e}function Ia(e,t){return Fa(Na(e),t)}function La(e){return e.button===void 0&&e.buttons===void 0||e.button===0&&e.buttons===void 0||e.type===`mouseup`&&e.button===0&&e.buttons===0||e.type===`mousedown`&&e.button===0&&e.buttons===0||e.button===0&&e.buttons===1}const Ra=ha(`querySelector`),za=ha(`querySelectorAll`);function Ba(e,t){if(!e||!t)return``;if(typeof x.getComputedStyle==`function`){let n;try{n=x.getComputedStyle(e)}catch{return``}return n?n.getPropertyValue(t)||n[t]:``}return``}function Va(e){[...F.styleSheets].forEach(t=>{try{let n=[...t.cssRules].map(e=>e.cssText).join(``),r=F.createElement(`style`);r.textContent=n,e.document.head.appendChild(r)}catch{let n=F.createElement(`link`);n.rel=`stylesheet`,n.type=t.type,n.media=t.media.mediaText,n.href=t.href,e.document.head.appendChild(n)}})}var Ha=Object.freeze({__proto__:null,isReal:fa,isEl:pa,isInFrame:ma,createEl:G,textContent:ga,prependTo:_a,hasClass:va,addClass:ya,removeClass:ba,toggleClass:xa,setAttributes:Sa,getAttributes:Ca,getAttribute:wa,setAttribute:Ta,removeAttribute:Ea,blockTextSelection:Da,unblockTextSelection:Oa,getBoundingClientRect:ka,findPosition:Aa,getPointerPosition:ja,isTextNode:Ma,emptyEl:Na,normalizeContent:Pa,appendContent:Fa,insertContent:Ia,isSingleLeftClick:La,$:Ra,$$:za,computedStyle:Ba,copyStyleSheetsToWindow:Va});let Ua=!1,Wa;const Ga=function(){if(Wa.options.autoSetup===!1)return;let e=Array.prototype.slice.call(F.getElementsByTagName(`video`)),t=Array.prototype.slice.call(F.getElementsByTagName(`audio`)),n=Array.prototype.slice.call(F.getElementsByTagName(`video-js`)),r=e.concat(t,n);if(r&&r.length>0)for(let e=0,t=r.length;e<t;e++){let t=r[e];if(t&&t.getAttribute)t.player===void 0&&t.getAttribute(`data-setup`)!==null&&Wa(t);else{Ka(1);break}}else Ua||Ka(1)};function Ka(e,t){fa()&&(t&&(Wa=t),x.setTimeout(Ga,e))}function qa(){Ua=!0,x.removeEventListener(`load`,qa)}fa()&&(F.readyState===`complete`?qa():x.addEventListener(`load`,qa));const Ja=function(e){let t=F.createElement(`style`);return t.className=e,t},Ya=function(e,t){e.styleSheet?e.styleSheet.cssText=t:e.textContent=t};var Xa=new WeakMap;let Za=3;function Qa(){return Za++}function $a(e,t){if(!Xa.has(e))return;let n=Xa.get(e);n.handlers[t].length===0&&(delete n.handlers[t],e.removeEventListener?e.removeEventListener(t,n.dispatcher,!1):e.detachEvent&&e.detachEvent(`on`+t,n.dispatcher)),Object.getOwnPropertyNames(n.handlers).length<=0&&(delete n.handlers,delete n.dispatcher,delete n.disabled),Object.getOwnPropertyNames(n).length===0&&Xa.delete(e)}function eo(e,t,n,r){n.forEach(function(n){e(t,n,r)})}function to(e){if(e.fixed_)return e;function t(){return!0}function n(){return!1}if(!e||!e.isPropagationStopped||!e.isImmediatePropagationStopped){let r=e||x.event;e={};let i=[`layerX`,`layerY`,`keyLocation`,`path`,`webkitMovementX`,`webkitMovementY`,`mozPressure`,`mozInputSource`];for(let t in r)i.includes(t)||t===`returnValue`&&r.preventDefault||(e[t]=r[t]);if(e.target||(e.target=e.srcElement||F),e.relatedTarget||(e.relatedTarget=e.fromElement===e.target?e.toElement:e.fromElement),e.preventDefault=function(){r.preventDefault&&r.preventDefault(),e.returnValue=!1,r.returnValue=!1,e.defaultPrevented=!0},e.defaultPrevented=!1,e.stopPropagation=function(){r.stopPropagation&&r.stopPropagation(),e.cancelBubble=!0,r.cancelBubble=!0,e.isPropagationStopped=t},e.isPropagationStopped=n,e.stopImmediatePropagation=function(){r.stopImmediatePropagation&&r.stopImmediatePropagation(),e.isImmediatePropagationStopped=t,e.stopPropagation()},e.isImmediatePropagationStopped=n,e.clientX!==null&&e.clientX!==void 0){let t=F.documentElement,n=F.body;e.pageX=e.clientX+(t&&t.scrollLeft||n&&n.scrollLeft||0)-(t&&t.clientLeft||n&&n.clientLeft||0),e.pageY=e.clientY+(t&&t.scrollTop||n&&n.scrollTop||0)-(t&&t.clientTop||n&&n.clientTop||0)}e.which=e.charCode||e.keyCode,e.button!==null&&e.button!==void 0&&(e.button=e.button&1?0:e.button&4?1:e.button&2?2:0)}return e.fixed_=!0,e}let no;const ro=function(){if(typeof no!=`boolean`){no=!1;try{let e=Object.defineProperty({},"passive",{get(){no=!0}});x.addEventListener(`test`,null,e),x.removeEventListener(`test`,null,e)}catch{}}return no},io=[`touchstart`,`touchmove`];function ao(e,t,n){if(Array.isArray(t))return eo(ao,e,t,n);Xa.has(e)||Xa.set(e,{});let r=Xa.get(e);if(r.handlers||={},r.handlers[t]||(r.handlers[t]=[]),n.guid||=Qa(),r.handlers[t].push(n),r.dispatcher||=(r.disabled=!1,function(t,n){if(r.disabled)return;t=to(t);let i=r.handlers[t.type];if(i){let r=i.slice(0);for(let i=0,a=r.length;i<a&&!t.isImmediatePropagationStopped();i++)try{r[i].call(e,t,n)}catch(e){U.error(e)}}}),r.handlers[t].length===1){if(e.addEventListener){let n=!1;ro()&&io.indexOf(t)>-1&&(n={passive:!0}),e.addEventListener(t,r.dispatcher,n)}else e.attachEvent&&e.attachEvent(`on`+t,r.dispatcher)}}function oo(e,t,n){if(!Xa.has(e))return;let r=Xa.get(e);if(!r.handlers)return;if(Array.isArray(t))return eo(oo,e,t,n);let i=function(e,t){r.handlers[t]=[],$a(e,t)};if(t===void 0){for(let t in r.handlers)Object.prototype.hasOwnProperty.call(r.handlers||{},t)&&i(e,t);return}let a=r.handlers[t];if(a){if(!n)i(e,t);else{if(n.guid)for(let e=0;e<a.length;e++)a[e].guid===n.guid&&a.splice(e--,1);$a(e,t)}}}function so(e,t,n){let r=Xa.has(e)?Xa.get(e):{},i=e.parentNode||e.ownerDocument;if(typeof t==`string`?t={type:t,target:e}:t.target||(t.target=e),t=to(t),r.dispatcher&&r.dispatcher.call(e,t,n),i&&!t.isPropagationStopped()&&t.bubbles===!0)so.call(null,i,t,n);else if(!i&&!t.defaultPrevented&&t.target&&t.target[t.type]){Xa.has(t.target)||Xa.set(t.target,{});let e=Xa.get(t.target);t.target[t.type]&&(e.disabled=!0,typeof t.target[t.type]==`function`&&t.target[t.type](),e.disabled=!1)}return!t.defaultPrevented}function co(e,t,n){if(Array.isArray(t))return eo(co,e,t,n);let r=function(){oo(e,t,r),n.apply(this,arguments)};r.guid=n.guid=n.guid||Qa(),ao(e,t,r)}function lo(e,t,n){let r=function(){oo(e,t,r),n.apply(this,arguments)};r.guid=n.guid=n.guid||Qa(),ao(e,t,r)}var uo=Object.freeze({__proto__:null,fixEvent:to,on:ao,off:oo,trigger:so,one:co,any:lo});const K=function(e,t,n){t.guid||=Qa();let r=t.bind(e);return r.guid=n?n+`_`+t.guid:t.guid,r},fo=function(e,t){let n=x.performance.now();return function(...r){let i=x.performance.now();i-n>=t&&(e(...r),n=i)}},po=function(e,t,n,r=x){let i,a=()=>{r.clearTimeout(i),i=null},o=function(){let a=this,o=arguments,s=function(){i=null,s=null,n||e.apply(a,o)};!i&&n&&e.apply(a,o),r.clearTimeout(i),i=r.setTimeout(s,t)};return o.cancel=a,o};var mo=Object.freeze({__proto__:null,UPDATE_REFRESH_INTERVAL:30,bind_:K,throttle:fo,debounce:po});let ho;class go{on(e,t){let n=this.addEventListener;this.addEventListener=()=>{},ao(this,e,t),this.addEventListener=n}off(e,t){oo(this,e,t)}one(e,t){let n=this.addEventListener;this.addEventListener=()=>{},co(this,e,t),this.addEventListener=n}any(e,t){let n=this.addEventListener;this.addEventListener=()=>{},lo(this,e,t),this.addEventListener=n}trigger(e){let t=e.type||e;typeof e==`string`&&(e={type:t}),e=to(e),this.allowedEvents_[t]&&this[`on`+t]&&this[`on`+t](e),so(this,e)}queueTrigger(e){ho||=new Map;let t=e.type||e,n=ho.get(this);n||(n=new Map,ho.set(this,n));let r=n.get(t);n.delete(t),x.clearTimeout(r);let i=x.setTimeout(()=>{n.delete(t),n.size===0&&(n=null,ho.delete(this)),this.trigger(e)},0);n.set(t,i)}}go.prototype.allowedEvents_={},go.prototype.addEventListener=go.prototype.on,go.prototype.removeEventListener=go.prototype.off,go.prototype.dispatchEvent=go.prototype.trigger;const _o=e=>typeof e.name==`function`?e.name():typeof e.name==`string`?e.name:e.name_?e.name_:e.constructor&&e.constructor.name?e.constructor.name:typeof e,vo=e=>e instanceof go||!!e.eventBusEl_&&[`on`,`one`,`off`,`trigger`].every(t=>typeof e[t]==`function`),yo=(e,t)=>{vo(e)?t():(e.eventedCallbacks||=[],e.eventedCallbacks.push(t))},bo=e=>typeof e==`string`&&/\S/.test(e)||Array.isArray(e)&&!!e.length,xo=(e,t,n)=>{if(!e||!e.nodeName&&!vo(e))throw Error(`Invalid target for ${_o(t)}#${n}; must be a DOM node or evented object.`)},So=(e,t,n)=>{if(!bo(e))throw Error(`Invalid event type for ${_o(t)}#${n}; must be a non-empty string or array.`)},Co=(e,t,n)=>{if(typeof e!=`function`)throw Error(`Invalid listener for ${_o(t)}#${n}; must be a function.`)},wo=(e,t,n)=>{let r=t.length<3||t[0]===e||t[0]===e.eventBusEl_,i,a,o;return r?(i=e.eventBusEl_,t.length>=3&&t.shift(),[a,o]=t):(i=t[0],a=t[1],o=t[2]),xo(i,e,n),So(a,e,n),Co(o,e,n),o=K(e,o),{isTargetingSelf:r,target:i,type:a,listener:o}},To=(e,t,n,r)=>{xo(e,e,t),e.nodeName?uo[t](e,n,r):e[t](n,r)},Eo={on(...e){let{isTargetingSelf:t,target:n,type:r,listener:i}=wo(this,e,`on`);if(To(n,`on`,r,i),!t){let e=()=>this.off(n,r,i);e.guid=i.guid;let t=()=>this.off(`dispose`,e);t.guid=i.guid,To(this,`on`,`dispose`,e),To(n,`on`,`dispose`,t)}},one(...e){let{isTargetingSelf:t,target:n,type:r,listener:i}=wo(this,e,`one`);if(t)To(n,`one`,r,i);else{let e=(...t)=>{this.off(n,r,e),i.apply(null,t)};e.guid=i.guid,To(n,`one`,r,e)}},any(...e){let{isTargetingSelf:t,target:n,type:r,listener:i}=wo(this,e,`any`);if(t)To(n,`any`,r,i);else{let e=(...t)=>{this.off(n,r,e),i.apply(null,t)};e.guid=i.guid,To(n,`any`,r,e)}},off(e,t,n){if(!e||bo(e))oo(this.eventBusEl_,e,t);else{let r=e,i=t;xo(r,this,`off`),So(i,this,`off`),Co(n,this,`off`),n=K(this,n),this.off(`dispose`,n),r.nodeName?(oo(r,i,n),oo(r,`dispose`,n)):vo(r)&&(r.off(i,n),r.off(`dispose`,n))}},trigger(e,t){xo(this.eventBusEl_,this,`trigger`);let n=e&&typeof e!=`string`?e.type:e;if(!bo(n))throw Error(`Invalid event type for ${_o(this)}#trigger; must be a non-empty string or object with a type key that has a non-empty value.`);return so(this.eventBusEl_,e,t)}};function Do(e,t={}){let{eventBusKey:n}=t;if(n){if(!e[n].nodeName)throw Error(`The eventBusKey "${n}" does not refer to an element.`);e.eventBusEl_=e[n]}else e.eventBusEl_=G(`span`,{className:`vjs-event-bus`});return Object.assign(e,Eo),e.eventedCallbacks&&e.eventedCallbacks.forEach(e=>{e()}),e.on(`dispose`,()=>{e.off(),[e,e.el_,e.eventBusEl_].forEach(function(e){e&&Xa.has(e)&&Xa.delete(e)}),x.setTimeout(()=>{e.eventBusEl_=null},0)}),e}const Oo={state:{},setState(e){typeof e==`function`&&(e=e());let t;return Ni(e,(e,n)=>{this.state[n]!==e&&(t||={},t[n]={from:this.state[n],to:e}),this.state[n]=e}),t&&vo(this)&&this.trigger({changes:t,type:`statechanged`}),t}};function ko(e,t){return Object.assign(e,Oo),e.state=Object.assign({},e.state,t),typeof e.handleStateChanged==`function`&&vo(e)&&e.on(`statechanged`,e.handleStateChanged),e}const Ao=function(e){return typeof e==`string`?e.replace(/./,e=>e.toLowerCase()):e},jo=function(e){return typeof e==`string`?e.replace(/./,e=>e.toUpperCase()):e},Mo=function(e,t){return jo(e)===jo(t)};var No=Object.freeze({__proto__:null,toLowerCase:Ao,toTitleCase:jo,titleCaseEquals:Mo});class q{constructor(e,t,n){if(this.player_=!e&&this.play?e=this:e,this.isDisposed_=!1,this.parentComponent_=null,this.options_=W({},this.options_),t=this.options_=W(this.options_,t),this.id_=t.id||t.el&&t.el.id,!this.id_){let t=e&&e.id&&e.id()||`no_player`;this.id_=`${t}_component_${Qa()}`}this.name_=t.name||null,t.el?this.el_=t.el:t.createEl!==!1&&(this.el_=this.createEl()),t.className&&this.el_&&t.className.split(` `).forEach(e=>this.addClass(e)),[`on`,`off`,`one`,`any`,`trigger`].forEach(e=>{this[e]=void 0}),t.evented!==!1&&(Do(this,{eventBusKey:this.el_?`el_`:null}),this.handleLanguagechange=this.handleLanguagechange.bind(this),this.on(this.player_,`languagechange`,this.handleLanguagechange)),ko(this,this.constructor.defaultState),this.children_=[],this.childIndex_={},this.childNameIndex_={},this.setTimeoutIds_=new Set,this.setIntervalIds_=new Set,this.rafIds_=new Set,this.namedRafs_=new Map,this.clearingTimersOnDispose_=!1,t.initChildren!==!1&&this.initChildren(),this.ready(n),t.reportTouchActivity!==!1&&this.enableTouchActivity()}dispose(e={}){if(!this.isDisposed_){if(this.readyQueue_&&(this.readyQueue_.length=0),this.trigger({type:`dispose`,bubbles:!1}),this.isDisposed_=!0,this.children_)for(let e=this.children_.length-1;e>=0;e--)this.children_[e].dispose&&this.children_[e].dispose();this.children_=null,this.childIndex_=null,this.childNameIndex_=null,this.parentComponent_=null,this.el_&&=(this.el_.parentNode&&(e.restoreEl?this.el_.parentNode.replaceChild(e.restoreEl,this.el_):this.el_.parentNode.removeChild(this.el_)),null),this.player_=null}}isDisposed(){return!!this.isDisposed_}player(){return this.player_}options(e){return e&&(this.options_=W(this.options_,e)),this.options_}el(){return this.el_}createEl(e,t,n){return G(e,t,n)}localize(e,t,n=e){let r=this.player_.language&&this.player_.language(),i=this.player_.languages&&this.player_.languages(),a=i&&i[r],o=r&&r.split(`-`)[0],s=i&&i[o],c=n;return a&&a[e]?c=a[e]:s&&s[e]&&(c=s[e]),t&&(c=c.replace(/\{(\d+)\}/g,function(e,n){let r=t[n-1],i=r;return r===void 0&&(i=e),i})),c}handleLanguagechange(){}contentEl(){return this.contentEl_||this.el_}id(){return this.id_}name(){return this.name_}children(){return this.children_}getChildById(e){return this.childIndex_[e]}getChild(e){if(e)return this.childNameIndex_[e]}getDescendant(...e){e=e.reduce((e,t)=>e.concat(t),[]);let t=this;for(let n=0;n<e.length;n++)if(t=t.getChild(e[n]),!t||!t.getChild)return;return t}setIcon(e,t=this.el()){if(!this.player_.options_.experimentalSvgIcons)return;let n=`http://www.w3.org/2000/svg`,r=G(`span`,{className:`vjs-icon-placeholder vjs-svg-icon`},{"aria-hidden":`true`}),i=F.createElementNS(n,`svg`);i.setAttributeNS(null,`viewBox`,`0 0 512 512`);let a=F.createElementNS(n,`use`);return i.appendChild(a),a.setAttributeNS(null,`href`,`#vjs-icon-${e}`),r.appendChild(i),this.iconIsSet_?t.replaceChild(r,t.querySelector(`.vjs-icon-placeholder`)):t.appendChild(r),this.iconIsSet_=!0,r}addChild(e,t={},n=this.children_.length){let r,i;if(typeof e==`string`){i=jo(e);let n=t.componentClass||i;t.name=i;let a=q.getComponent(n);if(!a)throw Error(`Component ${n} does not exist`);if(typeof a!=`function`)return null;r=new a(this.player_||this,t)}else r=e;if(r.parentComponent_&&r.parentComponent_.removeChild(r),this.children_.splice(n,0,r),r.parentComponent_=this,typeof r.id==`function`&&(this.childIndex_[r.id()]=r),i||=r.name&&jo(r.name()),i&&(this.childNameIndex_[i]=r,this.childNameIndex_[Ao(i)]=r),typeof r.el==`function`&&r.el()){let e=null;this.children_[n+1]&&(this.children_[n+1].el_?e=this.children_[n+1].el_:pa(this.children_[n+1])&&(e=this.children_[n+1])),this.contentEl().insertBefore(r.el(),e)}return r}removeChild(e){if(typeof e==`string`&&(e=this.getChild(e)),!e||!this.children_)return;let t=!1;for(let n=this.children_.length-1;n>=0;n--)if(this.children_[n]===e){t=!0,this.children_.splice(n,1);break}if(!t)return;e.parentComponent_=null,this.childIndex_[e.id()]=null,this.childNameIndex_[jo(e.name())]=null,this.childNameIndex_[Ao(e.name())]=null;let n=e.el();n&&n.parentNode===this.contentEl()&&this.contentEl().removeChild(e.el())}initChildren(){let e=this.options_.children;if(e){let t=this.options_,n=e=>{let n=e.name,r=e.opts;if(t[n]!==void 0&&(r=t[n]),r===!1)return;r===!0&&(r={}),r.playerOptions=this.options_.playerOptions;let i=this.addChild(n,r);i&&(this[n]=i)},r,i=q.getComponent(`Tech`);r=Array.isArray(e)?e:Object.keys(e),r.concat(Object.keys(this.options_).filter(function(e){return!r.some(function(t){return typeof t==`string`?e===t:e===t.name})})).map(t=>{let n,r;return typeof t==`string`?(n=t,r=e[n]||this.options_[n]||{}):(n=t.name,r=t),{name:n,opts:r}}).filter(e=>{let t=q.getComponent(e.opts.componentClass||jo(e.name));return t&&!i.isTech(t)}).forEach(n)}}buildCSSClass(){return``}ready(e,t=!1){e&&(this.isReady_?t?e.call(this):this.setTimeout(e,1):(this.readyQueue_=this.readyQueue_||[],this.readyQueue_.push(e)))}triggerReady(){this.isReady_=!0,this.setTimeout(function(){let e=this.readyQueue_;this.readyQueue_=[],e&&e.length>0&&e.forEach(function(e){e.call(this)},this),this.trigger(`ready`)},1)}$(e,t){return Ra(e,t||this.contentEl())}$$(e,t){return za(e,t||this.contentEl())}hasClass(e){return va(this.el_,e)}addClass(...e){ya(this.el_,...e)}removeClass(...e){ba(this.el_,...e)}toggleClass(e,t){xa(this.el_,e,t)}show(){this.removeClass(`vjs-hidden`)}hide(){this.addClass(`vjs-hidden`)}lockShowing(){this.addClass(`vjs-lock-showing`)}unlockShowing(){this.removeClass(`vjs-lock-showing`)}getAttribute(e){return wa(this.el_,e)}setAttribute(e,t){Ta(this.el_,e,t)}removeAttribute(e){Ea(this.el_,e)}width(e,t){return this.dimension(`width`,e,t)}height(e,t){return this.dimension(`height`,e,t)}dimensions(e,t){this.width(e,!0),this.height(t)}dimension(e,t,n){if(t!==void 0){(t===null||t!==t)&&(t=0),(``+t).indexOf(`%`)!==-1||(``+t).indexOf(`px`)!==-1?this.el_.style[e]=t:t===`auto`?this.el_.style[e]=``:this.el_.style[e]=t+`px`,n||this.trigger(`componentresize`);return}if(!this.el_)return 0;let r=this.el_.style[e],i=r.indexOf(`px`);return parseInt(i===-1?this.el_[`offset`+jo(e)]:r.slice(0,i),10)}currentDimension(e){let t=0;if(e!==`width`&&e!==`height`)throw Error(`currentDimension only accepts width or height value`);if(t=Ba(this.el_,e),t=parseFloat(t),t===0||isNaN(t)){let n=`offset${jo(e)}`;t=this.el_[n]}return t}currentDimensions(){return{width:this.currentDimension(`width`),height:this.currentDimension(`height`)}}currentWidth(){return this.currentDimension(`width`)}currentHeight(){return this.currentDimension(`height`)}getPositions(){let e=this.el_.getBoundingClientRect();return{boundingClientRect:{x:e.x,y:e.y,width:e.width,height:e.height,top:e.top,right:e.right,bottom:e.bottom,left:e.left},center:{x:e.left+e.width/2,y:e.top+e.height/2,width:0,height:0,top:e.top+e.height/2,right:e.left+e.width/2,bottom:e.top+e.height/2,left:e.left+e.width/2}}}focus(){this.el_.focus()}blur(){this.el_.blur()}handleKeyDown(e){this.player_&&(e.key!==`Tab`&&!(this.player_.options_.playerOptions.spatialNavigation&&this.player_.options_.playerOptions.spatialNavigation.enabled)&&e.stopPropagation(),this.player_.handleKeyDown(e))}handleKeyPress(e){this.handleKeyDown(e)}emitTapEvents(){let e=0,t=null,n;this.on(`touchstart`,function(r){r.touches.length===1&&(t={pageX:r.touches[0].pageX,pageY:r.touches[0].pageY},e=x.performance.now(),n=!0)}),this.on(`touchmove`,function(e){if(e.touches.length>1)n=!1;else if(t){let r=e.touches[0].pageX-t.pageX,i=e.touches[0].pageY-t.pageY;Math.sqrt(r*r+i*i)>10&&(n=!1)}});let r=function(){n=!1};this.on(`touchleave`,r),this.on(`touchcancel`,r),this.on(`touchend`,function(r){t=null,n===!0&&x.performance.now()-e<200&&(r.preventDefault(),this.trigger(`tap`))})}enableTouchActivity(){if(!this.player()||!this.player().reportUserActivity)return;let e=K(this.player(),this.player().reportUserActivity),t;this.on(`touchstart`,function(){e(),this.clearInterval(t),t=this.setInterval(e,250)});let n=function(n){e(),this.clearInterval(t)};this.on(`touchmove`,e),this.on(`touchend`,n),this.on(`touchcancel`,n)}setTimeout(e,t){var n;return e=K(this,e),this.clearTimersOnDispose_(),n=x.setTimeout(()=>{this.setTimeoutIds_.has(n)&&this.setTimeoutIds_.delete(n),e()},t),this.setTimeoutIds_.add(n),n}clearTimeout(e){return this.setTimeoutIds_.has(e)&&(this.setTimeoutIds_.delete(e),x.clearTimeout(e)),e}setInterval(e,t){e=K(this,e),this.clearTimersOnDispose_();let n=x.setInterval(e,t);return this.setIntervalIds_.add(n),n}clearInterval(e){return this.setIntervalIds_.has(e)&&(this.setIntervalIds_.delete(e),x.clearInterval(e)),e}requestAnimationFrame(e){this.clearTimersOnDispose_();var t;return e=K(this,e),t=x.requestAnimationFrame(()=>{this.rafIds_.has(t)&&this.rafIds_.delete(t),e()}),this.rafIds_.add(t),t}requestNamedAnimationFrame(e,t){this.namedRafs_.has(e)&&this.cancelNamedAnimationFrame(e),this.clearTimersOnDispose_(),t=K(this,t);let n=this.requestAnimationFrame(()=>{t(),this.namedRafs_.has(e)&&this.namedRafs_.delete(e)});return this.namedRafs_.set(e,n),e}cancelNamedAnimationFrame(e){this.namedRafs_.has(e)&&(this.cancelAnimationFrame(this.namedRafs_.get(e)),this.namedRafs_.delete(e))}cancelAnimationFrame(e){return this.rafIds_.has(e)&&(this.rafIds_.delete(e),x.cancelAnimationFrame(e)),e}clearTimersOnDispose_(){this.clearingTimersOnDispose_||(this.clearingTimersOnDispose_=!0,this.one(`dispose`,()=>{[[`namedRafs_`,`cancelNamedAnimationFrame`],[`rafIds_`,`cancelAnimationFrame`],[`setTimeoutIds_`,`clearTimeout`],[`setIntervalIds_`,`clearInterval`]].forEach(([e,t])=>{this[e].forEach((e,n)=>this[t](n))}),this.clearingTimersOnDispose_=!1}))}getIsDisabled(){return!!this.el_.disabled}getIsExpresslyInert(){return this.el_.inert&&!this.el_.ownerDocument.documentElement.inert}getIsFocusable(e){return(e||this.el_).tabIndex>=0&&!(this.getIsDisabled()||this.getIsExpresslyInert())}getIsAvailableToBeFocused(e){function t(e){let t=x.getComputedStyle(e,null),n=t.getPropertyValue(`visibility`);return t.getPropertyValue(`display`)!==`none`&&![`hidden`,`collapse`].includes(n)}function n(e){return!(!t(e.parentElement)||!t(e)||e.style.opacity===`0`||x.getComputedStyle(e).height===`0px`||x.getComputedStyle(e).width===`0px`)}function r(e){if(e.offsetWidth+e.offsetHeight+e.getBoundingClientRect().height+e.getBoundingClientRect().width===0)return!1;let t={x:e.getBoundingClientRect().left+e.offsetWidth/2,y:e.getBoundingClientRect().top+e.offsetHeight/2};if(t.x<0||t.x>(F.documentElement.clientWidth||x.innerWidth)||t.y<0||t.y>(F.documentElement.clientHeight||x.innerHeight))return!1;let n=F.elementFromPoint(t.x,t.y);for(;n;){if(n===e)return!0;if(n.parentNode)n=n.parentNode;else return!1}}return e||=this.el(),!!(r(e)&&n(e)&&(!e.parentElement||e.tabIndex>=0))}static registerComponent(e,t){if(typeof e!=`string`||!e)throw Error(`Illegal component name, "${e}"; must be a non-empty string.`);let n=q.getComponent(`Tech`),r=n&&n.isTech(t),i=q===t||q.prototype.isPrototypeOf(t.prototype);if(r||!i){let t;throw t=r?`techs must be registered using Tech.registerTech()`:`must be a Component subclass`,Error(`Illegal component, "${e}"; ${t}.`)}e=jo(e),q.components_||={};let a=q.getComponent(`Player`);if(e===`Player`&&a&&a.players){let e=a.players,t=Object.keys(e);if(e&&t.length>0){for(let n=0;n<t.length;n++)if(e[t[n]]!==null)throw Error(`Can not register Player component after player has been created.`)}}return q.components_[e]=t,q.components_[Ao(e)]=t,t}static getComponent(e){if(e&&q.components_)return q.components_[e]}}q.registerComponent(`Component`,q);function Po(e,t,n){if(typeof t!=`number`||t<0||t>n)throw Error(`Failed to execute '${e}' on 'TimeRanges': The index provided (${t}) is non-numeric or out of bounds (0-${n}).`)}function Fo(e,t,n,r){return Po(e,r,n.length-1),n[r][t]}function Io(e){let t;return t=e===void 0||e.length===0?{length:0,start(){throw Error(`This TimeRanges object is empty`)},end(){throw Error(`This TimeRanges object is empty`)}}:{length:e.length,start:Fo.bind(null,`start`,0,e),end:Fo.bind(null,`end`,1,e)},x.Symbol&&x.Symbol.iterator&&(t[x.Symbol.iterator]=()=>(e||[]).values()),t}function Lo(e,t){return Array.isArray(e)?Io(e):e===void 0||t===void 0?Io():Io([[e,t]])}const Ro=function(e,t){e=e<0?0:e;let n=Math.floor(e%60),r=Math.floor(e/60%60),i=Math.floor(e/3600),a=Math.floor(t/60%60),o=Math.floor(t/3600);return(isNaN(e)||e===1/0)&&(i=r=n=`-`),i=i>0||o>0?i+`:`:``,r=((i||a>=10)&&r<10?`0`+r:r)+`:`,n=n<10?`0`+n:n,i+r+n};let zo=Ro;function Bo(e){zo=e}function Vo(){zo=Ro}function Ho(e,t=e){return zo(e,t)}var Uo=Object.freeze({__proto__:null,createTimeRanges:Lo,createTimeRange:Lo,setFormatTime:Bo,resetFormatTime:Vo,formatTime:Ho});function Wo(e,t){let n=0,r,i;if(!t)return 0;e&&e.length||(e=Lo(0,0));for(let a=0;a<e.length;a++)r=e.start(a),i=e.end(a),i>t&&(i=t),n+=i-r;return n/t}function Go(e){if(e instanceof Go)return e;typeof e==`number`?this.code=e:typeof e==`string`?this.message=e:Fi(e)&&(typeof e.code==`number`&&(this.code=e.code),Object.assign(this,e)),this.message||=Go.defaultMessages[this.code]||``}Go.prototype.code=0,Go.prototype.message=``,Go.prototype.status=null,Go.prototype.metadata=null,Go.errorTypes=[`MEDIA_ERR_CUSTOM`,`MEDIA_ERR_ABORTED`,`MEDIA_ERR_NETWORK`,`MEDIA_ERR_DECODE`,`MEDIA_ERR_SRC_NOT_SUPPORTED`,`MEDIA_ERR_ENCRYPTED`],Go.defaultMessages={1:`You aborted the media playback`,2:`A network error caused the media download to fail part-way.`,3:`The media playback was aborted due to a corruption problem or because the media used features your browser did not support.`,4:`The media could not be loaded, either because the server or network failed or because the format is not supported.`,5:`The media is encrypted and we do not have the keys to decrypt it.`},Go.MEDIA_ERR_CUSTOM=0,Go.prototype.MEDIA_ERR_CUSTOM=0,Go.MEDIA_ERR_ABORTED=1,Go.prototype.MEDIA_ERR_ABORTED=1,Go.MEDIA_ERR_NETWORK=2,Go.prototype.MEDIA_ERR_NETWORK=2,Go.MEDIA_ERR_DECODE=3,Go.prototype.MEDIA_ERR_DECODE=3,Go.MEDIA_ERR_SRC_NOT_SUPPORTED=4,Go.prototype.MEDIA_ERR_SRC_NOT_SUPPORTED=4,Go.MEDIA_ERR_ENCRYPTED=5,Go.prototype.MEDIA_ERR_ENCRYPTED=5;function Ko(e){return e!=null&&typeof e.then==`function`}function qo(e){Ko(e)&&e.then(null,e=>{})}const Jo=function(e){return[`kind`,`label`,`language`,`id`,`inBandMetadataTrackDispatchType`,`mode`,`src`].reduce((t,n,r)=>(e[n]&&(t[n]=e[n]),t),{cues:e.cues&&Array.prototype.map.call(e.cues,function(e){return{startTime:e.startTime,endTime:e.endTime,text:e.text,id:e.id}})})};var Yo={textTracksToJson:function(e){let t=e.$$(`track`),n=Array.prototype.map.call(t,e=>e.track);return Array.prototype.map.call(t,function(e){let t=Jo(e.track);return e.src&&(t.src=e.src),t}).concat(Array.prototype.filter.call(e.textTracks(),function(e){return n.indexOf(e)===-1}).map(Jo))},jsonToTextTracks:function(e,t){return e.forEach(function(e){let n=t.addRemoteTextTrack(e).track;!e.src&&e.cues&&e.cues.forEach(e=>n.addCue(e))}),t.textTracks()},trackToJson:Jo};const Xo=`vjs-modal-dialog`;class Zo extends q{constructor(e,t){super(e,t),this.handleKeyDown_=e=>this.handleKeyDown(e),this.close_=e=>this.close(e),this.opened_=this.hasBeenOpened_=this.hasBeenFilled_=!1,this.closeable(!this.options_.uncloseable),this.content(this.options_.content),this.contentEl_=G(`div`,{className:`${Xo}-content`},{role:`document`}),this.descEl_=G(`p`,{className:`${Xo}-description vjs-control-text`,id:this.el().getAttribute(`aria-describedby`)}),ga(this.descEl_,this.description()),this.el_.appendChild(this.descEl_),this.el_.appendChild(this.contentEl_)}createEl(){return super.createEl(`div`,{className:this.buildCSSClass(),tabIndex:-1},{"aria-describedby":`${this.id()}_description`,"aria-hidden":`true`,"aria-label":this.label(),role:`dialog`,"aria-live":`polite`})}dispose(){this.contentEl_=null,this.descEl_=null,this.previouslyActiveEl_=null,super.dispose()}buildCSSClass(){return`${Xo} vjs-hidden ${super.buildCSSClass()}`}label(){return this.localize(this.options_.label||`Modal Window`)}description(){let e=this.options_.description||this.localize(`This is a modal window.`);return this.closeable()&&(e+=` `+this.localize(`This modal can be closed by pressing the Escape key or activating the close button.`)),e}open(){if(this.opened_){this.options_.fillAlways&&this.fill();return}let e=this.player();this.trigger(`beforemodalopen`),this.opened_=!0,(this.options_.fillAlways||!this.hasBeenOpened_&&!this.hasBeenFilled_)&&this.fill(),this.wasPlaying_=!e.paused(),this.options_.pauseOnOpen&&this.wasPlaying_&&e.pause(),this.on(`keydown`,this.handleKeyDown_),this.hadControls_=e.controls(),e.controls(!1),this.show(),this.conditionalFocus_(),this.el().setAttribute(`aria-hidden`,`false`),this.trigger(`modalopen`),this.hasBeenOpened_=!0}opened(e){return typeof e==`boolean`&&this[e?`open`:`close`](),this.opened_}close(){if(!this.opened_)return;let e=this.player();this.trigger(`beforemodalclose`),this.opened_=!1,this.wasPlaying_&&this.options_.pauseOnOpen&&e.play(),this.off(`keydown`,this.handleKeyDown_),this.hadControls_&&e.controls(!0),this.hide(),this.el().setAttribute(`aria-hidden`,`true`),this.trigger({type:`modalclose`,bubbles:!0}),this.conditionalBlur_(),this.options_.temporary&&this.dispose()}closeable(e){if(typeof e==`boolean`){let t=this.closeable_=!!e,n=this.getChild(`closeButton`);if(t&&!n){let e=this.contentEl_;this.contentEl_=this.el_,n=this.addChild(`closeButton`,{controlText:`Close Modal Dialog`}),this.contentEl_=e,this.on(n,`close`,this.close_)}!t&&n&&(this.off(n,`close`,this.close_),this.removeChild(n),n.dispose())}return this.closeable_}fill(){this.fillWith(this.content())}fillWith(e){let t=this.contentEl(),n=t.parentNode,r=t.nextSibling;this.trigger(`beforemodalfill`),this.hasBeenFilled_=!0,n.removeChild(t),this.empty(),Ia(t,e),this.trigger(`modalfill`),r?n.insertBefore(t,r):n.appendChild(t);let i=this.getChild(`closeButton`);i&&n.appendChild(i.el_),this.trigger(`aftermodalfill`)}empty(){this.trigger(`beforemodalempty`),Na(this.contentEl()),this.trigger(`modalempty`)}content(e){return e!==void 0&&(this.content_=e),this.content_}conditionalFocus_(){let e=F.activeElement,t=this.player_.el_;this.previouslyActiveEl_=null,(t.contains(e)||t===e)&&(this.previouslyActiveEl_=e,this.focus())}conditionalBlur_(){this.previouslyActiveEl_&&=(this.previouslyActiveEl_.focus(),null)}handleKeyDown(e){if(this.trigger({type:`modalKeydown`,originalEvent:e,target:this,bubbles:!0}),e.stopPropagation(),e.key===`Escape`&&this.closeable()){e.preventDefault(),this.close();return}if(e.key!==`Tab`)return;let t=this.focusableEls_(),n=this.el_.querySelector(`:focus`),r;for(let e=0;e<t.length;e++)if(n===t[e]){r=e;break}F.activeElement===this.el_&&(r=0),e.shiftKey&&r===0?(t[t.length-1].focus(),e.preventDefault()):!e.shiftKey&&r===t.length-1&&(t[0].focus(),e.preventDefault())}focusableEls_(){let e=this.el_.querySelectorAll(`*`);return Array.prototype.filter.call(e,e=>(e instanceof x.HTMLAnchorElement||e instanceof x.HTMLAreaElement)&&e.hasAttribute(`href`)||(e instanceof x.HTMLInputElement||e instanceof x.HTMLSelectElement||e instanceof x.HTMLTextAreaElement||e instanceof x.HTMLButtonElement)&&!e.hasAttribute(`disabled`)||e instanceof x.HTMLIFrameElement||e instanceof x.HTMLObjectElement||e instanceof x.HTMLEmbedElement||e.hasAttribute(`tabindex`)&&e.getAttribute(`tabindex`)!==-1||e.hasAttribute(`contenteditable`))}}Zo.prototype.options_={pauseOnOpen:!0,temporary:!0},q.registerComponent(`ModalDialog`,Zo);class Qo extends go{constructor(e=[]){super(),this.tracks_=[];for(let t=0;t<e.length;t++)this.addTrack(e[t])}get length(){return this.tracks_.length}addTrack(e){let t=this.tracks_.length;``+t in this||Object.defineProperty(this,t,{get(){return this.tracks_[t]}}),this.tracks_.indexOf(e)===-1&&(this.tracks_.push(e),this.trigger({track:e,type:`addtrack`,target:this})),e.labelchange_=()=>{this.trigger({track:e,type:`labelchange`,target:this})},vo(e)&&e.addEventListener(`labelchange`,e.labelchange_)}removeTrack(e){let t;for(let n=0,r=this.length;n<r;n++)if(this[n]===e){t=this[n],t.off&&t.off(),this.tracks_.splice(n,1);break}t&&this.trigger({track:t,type:`removetrack`,target:this})}getTrackById(e){let t=null;for(let n=0,r=this.length;n<r;n++){let r=this[n];if(r.id===e){t=r;break}}return t}}Qo.prototype.allowedEvents_={change:`change`,addtrack:`addtrack`,removetrack:`removetrack`,labelchange:`labelchange`};for(let e in Qo.prototype.allowedEvents_)Qo.prototype[`on`+e]=null;const $o=function(e,t){for(let n=0;n<e.length;n++)Object.keys(e[n]).length&&t.id!==e[n].id&&(e[n].enabled=!1)};class es extends Qo{constructor(e=[]){for(let t=e.length-1;t>=0;t--)if(e[t].enabled){$o(e,e[t]);break}super(e),this.changing_=!1}addTrack(e){e.enabled&&$o(this,e),super.addTrack(e),e.addEventListener&&(e.enabledChange_=()=>{this.changing_||(this.changing_=!0,$o(this,e),this.changing_=!1,this.trigger(`change`))},e.addEventListener(`enabledchange`,e.enabledChange_))}removeTrack(e){super.removeTrack(e),e.removeEventListener&&e.enabledChange_&&(e.removeEventListener(`enabledchange`,e.enabledChange_),e.enabledChange_=null)}}const ts=function(e,t){for(let n=0;n<e.length;n++)Object.keys(e[n]).length&&t.id!==e[n].id&&(e[n].selected=!1)};class ns extends Qo{constructor(e=[]){for(let t=e.length-1;t>=0;t--)if(e[t].selected){ts(e,e[t]);break}super(e),this.changing_=!1,Object.defineProperty(this,"selectedIndex",{get(){for(let e=0;e<this.length;e++)if(this[e].selected)return e;return-1},set(){}})}addTrack(e){e.selected&&ts(this,e),super.addTrack(e),e.addEventListener&&(e.selectedChange_=()=>{this.changing_||(this.changing_=!0,ts(this,e),this.changing_=!1,this.trigger(`change`))},e.addEventListener(`selectedchange`,e.selectedChange_))}removeTrack(e){super.removeTrack(e),e.removeEventListener&&e.selectedChange_&&(e.removeEventListener(`selectedchange`,e.selectedChange_),e.selectedChange_=null)}}class rs extends Qo{addTrack(e){super.addTrack(e),this.queueChange_||=()=>this.queueTrigger(`change`),this.triggerSelectedlanguagechange||(this.triggerSelectedlanguagechange_=()=>this.trigger(`selectedlanguagechange`)),e.addEventListener(`modechange`,this.queueChange_),[`metadata`,`chapters`].indexOf(e.kind)===-1&&e.addEventListener(`modechange`,this.triggerSelectedlanguagechange_)}removeTrack(e){super.removeTrack(e),e.removeEventListener&&(this.queueChange_&&e.removeEventListener(`modechange`,this.queueChange_),this.selectedlanguagechange_&&e.removeEventListener(`modechange`,this.triggerSelectedlanguagechange_))}toJSON(){return this.tracks_.map(e=>e.toJSON())}}class is{constructor(e=[]){this.trackElements_=[],Object.defineProperty(this,"length",{get(){return this.trackElements_.length}});for(let t=0,n=e.length;t<n;t++)this.addTrackElement_(e[t])}addTrackElement_(e){let t=this.trackElements_.length;``+t in this||Object.defineProperty(this,t,{get(){return this.trackElements_[t]}}),this.trackElements_.indexOf(e)===-1&&this.trackElements_.push(e)}getTrackElementByTrack_(e){let t;for(let n=0,r=this.trackElements_.length;n<r;n++)if(e===this.trackElements_[n].track){t=this.trackElements_[n];break}return t}removeTrackElement_(e){for(let t=0,n=this.trackElements_.length;t<n;t++)if(e===this.trackElements_[t]){this.trackElements_[t].track&&typeof this.trackElements_[t].track.off==`function`&&this.trackElements_[t].track.off(),typeof this.trackElements_[t].off==`function`&&this.trackElements_[t].off(),this.trackElements_.splice(t,1);break}}}class as{constructor(e){as.prototype.setCues_.call(this,e),Object.defineProperty(this,"length",{get(){return this.length_}})}setCues_(e){let t=this.length||0,n=0,r=e.length;this.cues_=e,this.length_=e.length;let i=function(e){``+e in this||Object.defineProperty(this,``+e,{get(){return this.cues_[e]}})};if(t<r)for(n=t;n<r;n++)i.call(this,n)}getCueById(e){let t=null;for(let n=0,r=this.length;n<r;n++){let r=this[n];if(r.id===e){t=r;break}}return t}}const os={alternative:`alternative`,captions:`captions`,main:`main`,sign:`sign`,subtitles:`subtitles`,commentary:`commentary`},ss={alternative:`alternative`,descriptions:`descriptions`,main:`main`,"main-desc":`main-desc`,translation:`translation`,commentary:`commentary`},cs={subtitles:`subtitles`,captions:`captions`,descriptions:`descriptions`,chapters:`chapters`,metadata:`metadata`},ls={disabled:`disabled`,hidden:`hidden`,showing:`showing`};class us extends go{constructor(e={}){super();let t={id:e.id||`vjs_track_`+Qa(),kind:e.kind||``,language:e.language||``},n=e.label||``;for(let e in t)Object.defineProperty(this,e,{get(){return t[e]},set(){}});Object.defineProperty(this,"label",{get(){return n},set(e){e!==n&&(n=e,this.trigger(`labelchange`))}})}}const ds=function(e){return new URL(e,F.baseURI)},fs=function(e){return new URL(e,F.baseURI).href},ps=function(e){if(typeof e==`string`){let t=e.split(`?`)[0].replace(/\/+$/,``).match(/\.([^.\/]+)$/);return t?t[1].toLowerCase():``}return``},ms=function(e,t=x.location){return ds(e).origin!==t.origin};var hs=Object.freeze({__proto__:null,parseUrl:ds,getAbsoluteURL:fs,getFileExtension:ps,isCrossOrigin:ms});const gs=function(e,t){let n=new x.WebVTT.Parser(x,x.vttjs,x.WebVTT.StringDecoder()),r=[];n.oncue=function(e){t.addCue(e)},n.onparsingerror=function(e){r.push(e)},n.onflush=function(){t.trigger({type:`loadeddata`,target:t})},n.parse(e),r.length>0&&(x.console&&x.console.groupCollapsed&&x.console.groupCollapsed(`Text Track parsing errors for ${t.src}`),r.forEach(e=>U.error(e)),x.console&&x.console.groupEnd&&x.console.groupEnd()),n.flush()},_s=function(e,t){let n={uri:e},r=ms(e);r&&(n.cors=r);let i=t.tech_.crossOrigin()===`use-credentials`;i&&(n.withCredentials=i),Ge(n,K(this,function(e,n,r){if(e)return U.error(e,n);t.loaded_=!0,typeof x.WebVTT==`function`?gs(r,t):t.tech_&&t.tech_.any([`vttjsloaded`,`vttjserror`],e=>{if(e.type===`vttjserror`)U.error(`vttjs failed to load, stopping trying to process ${t.src}`);else return gs(r,t)})}))};class vs extends us{constructor(e={}){if(!e.tech)throw Error(`A tech was not provided.`);let t=W(e,{kind:cs[e.kind]||`subtitles`,language:e.language||e.srclang||``}),n=ls[t.mode]||`disabled`,r=t.default;(t.kind===`metadata`||t.kind===`chapters`)&&(n=`hidden`),super(t),this.tech_=t.tech,this.cues_=[],this.activeCues_=[],this.preload_=this.tech_.preloadTextTracks!==!1;let i=new as(this.cues_),a=new as(this.activeCues_),o=!1;this.timeupdateHandler=K(this,function(e={}){this.tech_.isDisposed()||(this.tech_.isReady_&&(this.activeCues=this.activeCues,o&&=(this.trigger(`cuechange`),!1)),e.type!==`timeupdate`&&(this.rvf_=this.tech_.requestVideoFrameCallback(this.timeupdateHandler)))}),this.tech_.one(`dispose`,()=>{this.stopTracking()}),n!==`disabled`&&this.startTracking(),Object.defineProperties(this,{default:{get(){return r},set(){}},mode:{get(){return n},set(e){ls[e]&&n!==e&&(n=e,!this.preload_&&n!==`disabled`&&this.cues.length===0&&_s(this.src,this),this.stopTracking(),n!==`disabled`&&this.startTracking(),this.trigger(`modechange`))}},cues:{get(){return this.loaded_?i:null},set(){}},activeCues:{get(){if(!this.loaded_)return null;if(this.cues.length===0)return a;let e=this.tech_.currentTime(),t=[];for(let n=0,r=this.cues.length;n<r;n++){let r=this.cues[n];r.startTime<=e&&r.endTime>=e&&t.push(r)}if(o=!1,t.length!==this.activeCues_.length)o=!0;else for(let e=0;e<t.length;e++)this.activeCues_.indexOf(t[e])===-1&&(o=!0);return this.activeCues_=t,a.setCues_(this.activeCues_),a},set(){}}}),t.src?(this.src=t.src,this.preload_||(this.loaded_=!0),(this.preload_||t.kind!==`subtitles`&&t.kind!==`captions`)&&_s(this.src,this)):this.loaded_=!0}startTracking(){this.rvf_=this.tech_.requestVideoFrameCallback(this.timeupdateHandler),this.tech_.on(`timeupdate`,this.timeupdateHandler)}stopTracking(){this.rvf_&&=(this.tech_.cancelVideoFrameCallback(this.rvf_),void 0),this.tech_.off(`timeupdate`,this.timeupdateHandler)}addCue(e){let t=e;if(!(`getCueAsHTML`in t)){t=new x.vttjs.VTTCue(e.startTime,e.endTime,e.text);for(let n in e)n in t||(t[n]=e[n]);t.id=e.id,t.originalCue_=e}let n=this.tech_.textTracks();for(let e=0;e<n.length;e++)n[e]!==this&&n[e].removeCue(t);this.cues_.push(t),this.cues.setCues_(this.cues_)}toJSON(){return Yo.trackToJson(this)}removeCue(e){let t=this.cues_.length;for(;t--;){let n=this.cues_[t];if(n===e||n.originalCue_&&n.originalCue_===e){this.cues_.splice(t,1),this.cues.setCues_(this.cues_);break}}}}vs.prototype.allowedEvents_={cuechange:`cuechange`};class ys extends us{constructor(e={}){let t=W(e,{kind:ss[e.kind]||``});super(t);let n=!1;Object.defineProperty(this,"enabled",{get(){return n},set(e){typeof e==`boolean`&&e!==n&&(n=e,this.trigger(`enabledchange`))}}),t.enabled&&(this.enabled=t.enabled),this.loaded_=!0}}class bs extends us{constructor(e={}){let t=W(e,{kind:os[e.kind]||``});super(t);let n=!1;Object.defineProperty(this,"selected",{get(){return n},set(e){typeof e==`boolean`&&e!==n&&(n=e,this.trigger(`selectedchange`))}}),t.selected&&(this.selected=t.selected)}}class xs extends go{constructor(e={}){super();let t,n=new vs(e);this.kind=n.kind,this.src=n.src,this.srclang=n.language,this.label=n.label,this.default=n.default,Object.defineProperties(this,{readyState:{get(){return t}},track:{get(){return n}}}),t=xs.NONE,n.addEventListener(`loadeddata`,()=>{t=xs.LOADED,this.trigger({type:`load`,target:this})})}}xs.prototype.allowedEvents_={load:`load`},xs.NONE=0,xs.LOADING=1,xs.LOADED=2,xs.ERROR=3;const Ss={audio:{ListClass:es,TrackClass:ys,capitalName:`Audio`},video:{ListClass:ns,TrackClass:bs,capitalName:`Video`},text:{ListClass:rs,TrackClass:vs,capitalName:`Text`}};Object.keys(Ss).forEach(function(e){Ss[e].getterName=`${e}Tracks`,Ss[e].privateName=`${e}Tracks_`});const Cs={remoteText:{ListClass:rs,TrackClass:vs,capitalName:`RemoteText`,getterName:`remoteTextTracks`,privateName:`remoteTextTracks_`},remoteTextEl:{ListClass:is,TrackClass:xs,capitalName:`RemoteTextTrackEls`,getterName:`remoteTextTrackEls`,privateName:`remoteTextTrackEls_`}},ws=Object.assign({},Ss,Cs);Cs.names=Object.keys(Cs),Ss.names=Object.keys(Ss),ws.names=[].concat(Cs.names,Ss.names);function Ts(e,t,n,r,i={}){let a=e.textTracks();i.kind=t,n&&(i.label=n),r&&(i.language=r),i.tech=e;let o=new ws.text.TrackClass(i);return a.addTrack(o),o}class J extends q{constructor(e={},t=function(){}){e.reportTouchActivity=!1,super(null,e,t),this.onDurationChange_=e=>this.onDurationChange(e),this.trackProgress_=e=>this.trackProgress(e),this.trackCurrentTime_=e=>this.trackCurrentTime(e),this.stopTrackingCurrentTime_=e=>this.stopTrackingCurrentTime(e),this.disposeSourceHandler_=e=>this.disposeSourceHandler(e),this.queuedHanders_=new Set,this.hasStarted_=!1,this.on(`playing`,function(){this.hasStarted_=!0}),this.on(`loadstart`,function(){this.hasStarted_=!1}),ws.names.forEach(t=>{let n=ws[t];e&&e[n.getterName]&&(this[n.privateName]=e[n.getterName])}),this.featuresProgressEvents||this.manualProgressOn(),this.featuresTimeupdateEvents||this.manualTimeUpdatesOn(),[`Text`,`Audio`,`Video`].forEach(t=>{e[`native${t}Tracks`]===!1&&(this[`featuresNative${t}Tracks`]=!1)}),e.nativeCaptions===!1||e.nativeTextTracks===!1?this.featuresNativeTextTracks=!1:(e.nativeCaptions===!0||e.nativeTextTracks===!0)&&(this.featuresNativeTextTracks=!0),this.featuresNativeTextTracks||this.emulateTextTracks(),this.preloadTextTracks=e.preloadTextTracks!==!1,this.autoRemoteTextTracks_=new ws.text.ListClass,this.initTrackListeners(),e.nativeControlsForTouch||this.emitTapEvents(),this.constructor&&(this.name_=this.constructor.name||`Unknown Tech`)}triggerSourceset(e){this.isReady_||this.one(`ready`,()=>this.setTimeout(()=>this.triggerSourceset(e),1)),this.trigger({src:e,type:`sourceset`})}manualProgressOn(){this.on(`durationchange`,this.onDurationChange_),this.manualProgress=!0,this.one(`ready`,this.trackProgress_)}manualProgressOff(){this.manualProgress=!1,this.stopTrackingProgress(),this.off(`durationchange`,this.onDurationChange_)}trackProgress(e){this.stopTrackingProgress(),this.progressInterval=this.setInterval(K(this,function(){let e=this.bufferedPercent();this.bufferedPercent_!==e&&this.trigger(`progress`),this.bufferedPercent_=e,e===1&&this.stopTrackingProgress()}),500)}onDurationChange(e){this.duration_=this.duration()}buffered(){return Lo(0,0)}bufferedPercent(){return Wo(this.buffered(),this.duration_)}stopTrackingProgress(){this.clearInterval(this.progressInterval)}manualTimeUpdatesOn(){this.manualTimeUpdates=!0,this.on(`play`,this.trackCurrentTime_),this.on(`pause`,this.stopTrackingCurrentTime_)}manualTimeUpdatesOff(){this.manualTimeUpdates=!1,this.stopTrackingCurrentTime(),this.off(`play`,this.trackCurrentTime_),this.off(`pause`,this.stopTrackingCurrentTime_)}trackCurrentTime(){this.currentTimeInterval&&this.stopTrackingCurrentTime(),this.currentTimeInterval=this.setInterval(function(){this.trigger({type:`timeupdate`,target:this,manuallyTriggered:!0})},250)}stopTrackingCurrentTime(){this.clearInterval(this.currentTimeInterval),this.trigger({type:`timeupdate`,target:this,manuallyTriggered:!0})}dispose(){this.clearTracks(Ss.names),this.manualProgress&&this.manualProgressOff(),this.manualTimeUpdates&&this.manualTimeUpdatesOff(),super.dispose()}clearTracks(e){e=[].concat(e),e.forEach(e=>{let t=this[`${e}Tracks`]()||[],n=t.length;for(;n--;){let r=t[n];e===`text`&&this.removeRemoteTextTrack(r),t.removeTrack(r)}})}cleanupAutoTextTracks(){let e=this.autoRemoteTextTracks_||[],t=e.length;for(;t--;){let n=e[t];this.removeRemoteTextTrack(n)}}reset(){}crossOrigin(){}setCrossOrigin(){}error(e){return e!==void 0&&(this.error_=new Go(e),this.trigger(`error`)),this.error_}played(){return this.hasStarted_?Lo(0,0):Lo()}play(){}setScrubbing(e){}scrubbing(){}setCurrentTime(e){this.manualTimeUpdates&&this.trigger({type:`timeupdate`,target:this,manuallyTriggered:!0})}initTrackListeners(){Ss.names.forEach(e=>{let t=Ss[e],n=()=>{this.trigger(`${e}trackchange`)},r=this[t.getterName]();r.addEventListener(`removetrack`,n),r.addEventListener(`addtrack`,n),this.on(`dispose`,()=>{r.removeEventListener(`removetrack`,n),r.removeEventListener(`addtrack`,n)})})}addWebVttScript_(){if(!x.WebVTT){if(F.body.contains(this.el())){if(!this.options_[`vtt.js`]&&Ii(it)&&Object.keys(it).length>0){this.trigger(`vttjsloaded`);return}let e=F.createElement(`script`);e.src=this.options_[`vtt.js`]||`https://vjs.zencdn.net/vttjs/0.14.1/vtt.min.js`,e.onload=()=>{this.trigger(`vttjsloaded`)},e.onerror=()=>{this.trigger(`vttjserror`)},this.on(`dispose`,()=>{e.onload=null,e.onerror=null}),x.WebVTT=!0,this.el().parentNode.appendChild(e)}else this.ready(this.addWebVttScript_)}}emulateTextTracks(){let e=this.textTracks(),t=this.remoteTextTracks(),n=t=>e.addTrack(t.track),r=t=>e.removeTrack(t.track);t.on(`addtrack`,n),t.on(`removetrack`,r),this.addWebVttScript_();let i=()=>this.trigger(`texttrackchange`),a=()=>{i();for(let t=0;t<e.length;t++){let n=e[t];n.removeEventListener(`cuechange`,i),n.mode===`showing`&&n.addEventListener(`cuechange`,i)}};a(),e.addEventListener(`change`,a),e.addEventListener(`addtrack`,a),e.addEventListener(`removetrack`,a),this.on(`dispose`,function(){t.off(`addtrack`,n),t.off(`removetrack`,r),e.removeEventListener(`change`,a),e.removeEventListener(`addtrack`,a),e.removeEventListener(`removetrack`,a);for(let t=0;t<e.length;t++)e[t].removeEventListener(`cuechange`,i)})}addTextTrack(e,t,n){if(!e)throw Error(`TextTrack kind is required but was not provided`);return Ts(this,e,t,n)}createRemoteTextTrack(e){let t=W(e,{tech:this});return new Cs.remoteTextEl.TrackClass(t)}addRemoteTextTrack(e={},t){let n=this.createRemoteTextTrack(e);return typeof t!=`boolean`&&(t=!1),this.remoteTextTrackEls().addTrackElement_(n),this.remoteTextTracks().addTrack(n.track),t===!1&&this.ready(()=>this.autoRemoteTextTracks_.addTrack(n.track)),n}removeRemoteTextTrack(e){let t=this.remoteTextTrackEls().getTrackElementByTrack_(e);this.remoteTextTrackEls().removeTrackElement_(t),this.remoteTextTracks().removeTrack(e),this.autoRemoteTextTracks_.removeTrack(e)}getVideoPlaybackQuality(){return{}}requestPictureInPicture(){return Promise.reject()}disablePictureInPicture(){return!0}setDisablePictureInPicture(){}requestVideoFrameCallback(e){let t=Qa();return!this.isReady_||this.paused()?(this.queuedHanders_.add(t),this.one(`playing`,()=>{this.queuedHanders_.has(t)&&(this.queuedHanders_.delete(t),e())})):this.requestNamedAnimationFrame(t,e),t}cancelVideoFrameCallback(e){this.queuedHanders_.has(e)?this.queuedHanders_.delete(e):this.cancelNamedAnimationFrame(e)}setPoster(){}playsinline(){}setPlaysinline(){}overrideNativeAudioTracks(e){}overrideNativeVideoTracks(e){}canPlayType(e){return``}static canPlayType(e){return``}static canPlaySource(e,t){return J.canPlayType(e.type)}static isTech(e){return e.prototype instanceof J||e instanceof J||e===J}static registerTech(e,t){if(J.techs_||={},!J.isTech(t))throw Error(`Tech ${e} must be a Tech`);if(!J.canPlayType)throw Error(`Techs must have a static canPlayType method on them`);if(!J.canPlaySource)throw Error(`Techs must have a static canPlaySource method on them`);return e=jo(e),J.techs_[e]=t,J.techs_[Ao(e)]=t,e!==`Tech`&&J.defaultTechOrder_.push(e),t}static getTech(e){if(e){if(J.techs_&&J.techs_[e])return J.techs_[e];if(e=jo(e),x&&x.videojs&&x.videojs[e])return U.warn(`The ${e} tech was added to the videojs object when it should be registered using videojs.registerTech(name, tech)`),x.videojs[e]}}}ws.names.forEach(function(e){let t=ws[e];J.prototype[t.getterName]=function(){return this[t.privateName]=this[t.privateName]||new t.ListClass,this[t.privateName]}}),J.prototype.featuresVolumeControl=!0,J.prototype.featuresMuteControl=!0,J.prototype.featuresFullscreenResize=!1,J.prototype.featuresPlaybackRate=!1,J.prototype.featuresProgressEvents=!1,J.prototype.featuresSourceset=!1,J.prototype.featuresTimeupdateEvents=!1,J.prototype.featuresNativeTextTracks=!1,J.prototype.featuresVideoFrameCallback=!1,J.withSourceHandlers=function(e){e.registerSourceHandler=function(t,n){let r=e.sourceHandlers;r||=e.sourceHandlers=[],n===void 0&&(n=r.length),r.splice(n,0,t)},e.canPlayType=function(t){let n=e.sourceHandlers||[],r;for(let e=0;e<n.length;e++)if(r=n[e].canPlayType(t),r)return r;return``},e.selectSourceHandler=function(t,n){let r=e.sourceHandlers||[],i;for(let e=0;e<r.length;e++)if(i=r[e].canHandleSource(t,n),i)return r[e];return null},e.canPlaySource=function(t,n){let r=e.selectSourceHandler(t,n);return r?r.canHandleSource(t,n):``},[`seekable`,`seeking`,`duration`].forEach(function(e){let t=this[e];typeof t==`function`&&(this[e]=function(){return this.sourceHandler_&&this.sourceHandler_[e]?this.sourceHandler_[e].apply(this.sourceHandler_,arguments):t.apply(this,arguments)})},e.prototype),e.prototype.setSource=function(t){let n=e.selectSourceHandler(t,this.options_);n||(e.nativeSourceHandler?n=e.nativeSourceHandler:U.error(`No source handler found for the current source.`)),this.disposeSourceHandler(),this.off(`dispose`,this.disposeSourceHandler_),n!==e.nativeSourceHandler&&(this.currentSource_=t),this.sourceHandler_=n.handleSource(t,this,this.options_),this.one(`dispose`,this.disposeSourceHandler_)},e.prototype.disposeSourceHandler=function(){this.currentSource_&&=(this.clearTracks([`audio`,`video`]),null),this.cleanupAutoTextTracks(),this.sourceHandler_&&=(this.sourceHandler_.dispose&&this.sourceHandler_.dispose(),null)}},q.registerComponent(`Tech`,J),J.registerTech(`Tech`,J),J.defaultTechOrder_=[];const Es={},Ds={},Os={};function ks(e,t){Es[e]=Es[e]||[],Es[e].push(t)}function As(e,t,n){e.setTimeout(()=>Hs(t,Es[t.type],n,e),1)}function js(e,t){e.forEach(e=>e.setTech&&e.setTech(t))}function Ms(e,t,n){return e.reduceRight(Rs(n),t[n]())}function Ns(e,t,n,r){return t[n](e.reduce(Rs(n),r))}function Ps(e,t,n,r=null){let i=`call`+jo(n),a=e.reduce(Rs(i),r),o=a===Os,s=o?null:t[n](a);return zs(e,n,s,o),s}const Fs={buffered:1,currentTime:1,duration:1,muted:1,played:1,paused:1,seekable:1,volume:1,ended:1},Is={setCurrentTime:1,setMuted:1,setVolume:1},Ls={play:1,pause:1};function Rs(e){return(t,n)=>t===Os?Os:n[e]?n[e](t):t}function zs(e,t,n,r){for(let i=e.length-1;i>=0;i--){let a=e[i];a[t]&&a[t](r,n)}}function Bs(e){Ds.hasOwnProperty(e.id())&&delete Ds[e.id()]}function Vs(e,t){let n=Ds[e.id()],r=null;if(n==null)return r=t(e),Ds[e.id()]=[[t,r]],r;for(let e=0;e<n.length;e++){let[i,a]=n[e];i===t&&(r=a)}return r===null&&(r=t(e),n.push([t,r])),r}function Hs(e={},t=[],n,r,i=[],a=!1){let[o,...s]=t;if(typeof o==`string`)Hs(e,Es[o],n,r,i,a);else if(o){let t=Vs(r,o);if(!t.setSource)return i.push(t),Hs(e,s,n,r,i,a);t.setSource(Object.assign({},e),function(o,c){if(o)return Hs(e,s,n,r,i,a);i.push(t),Hs(c,e.type===c.type?s:Es[c.type],n,r,i,a)})}else s.length?Hs(e,s,n,r,i,a):a?n(e,i):Hs(e,Es[`*`],n,r,i,!0)}const Us={opus:`video/ogg`,ogv:`video/ogg`,mp4:`video/mp4`,mov:`video/mp4`,m4v:`video/mp4`,mkv:`video/x-matroska`,m4a:`audio/mp4`,mp3:`audio/mpeg`,aac:`audio/aac`,caf:`audio/x-caf`,flac:`audio/flac`,oga:`audio/ogg`,wav:`audio/wav`,m3u8:`application/x-mpegURL`,mpd:`application/dash+xml`,jpg:`image/jpeg`,jpeg:`image/jpeg`,gif:`image/gif`,png:`image/png`,svg:`image/svg+xml`,webp:`image/webp`},Ws=function(e=``){let t=ps(e);return Us[t.toLowerCase()]||``},Gs=(e,t)=>{if(!t)return``;if(e.cache_.source.src===t&&e.cache_.source.type)return e.cache_.source.type;let n=e.cache_.sources.filter(e=>e.src===t);if(n.length)return n[0].type;let r=e.$$(`source`);for(let e=0;e<r.length;e++){let n=r[e];if(n.type&&n.src&&n.src===t)return n.type}return Ws(t)},Ks=function(e){if(Array.isArray(e)){let t=[];e.forEach(function(e){e=Ks(e),Array.isArray(e)?t=t.concat(e):Fi(e)&&t.push(e)}),e=t}else e=typeof e==`string`&&e.trim()?[qs({src:e})]:Fi(e)&&typeof e.src==`string`&&e.src&&e.src.trim()?[qs(e)]:[];return e};function qs(e){if(!e.type){let t=Ws(e.src);t&&(e.type=t)}return e}var Js=`<svg xmlns="http://www.w3.org/2000/svg">
18
+ @`+(e.systemId||``)+`#[line:`+e.lineNumber+`,col:`+e.columnNumber+`]`}function m(e,t,n){return typeof e==`string`?e.substr(t,n):e.length>=t+n||t?new java.lang.String(e,t,n)+``:e}`endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl`.replace(/\w+/g,function(e){d.prototype[e]=function(){return null}});function h(e,t){e.currentElement?e.currentElement.appendChild(t):e.doc.appendChild(t)}return en.__DOMHandler=d,en.normalizeLineEndings=c,en.DOMParser=l,en}var un;function dn(){if(un)return qt;un=1;var e=$t();return qt.DOMImplementation=e.DOMImplementation,qt.XMLSerializer=e.XMLSerializer,qt.DOMParser=ln().DOMParser,qt}var fn=dn();const pn=e=>!!e&&typeof e==`object`,mn=(...e)=>e.reduce((e,t)=>(typeof t==`object`&&Object.keys(t).forEach(n=>{e[n]=Array.isArray(e[n])&&Array.isArray(t[n])?e[n].concat(t[n]):pn(e[n])&&pn(t[n])?mn(e[n],t[n]):t[n]}),e),{}),hn=e=>Object.keys(e).map(t=>e[t]),gn=(e,t)=>{let n=[];for(let r=e;r<t;r++)n.push(r);return n},_n=e=>e.reduce((e,t)=>e.concat(t),[]),vn=e=>{if(!e.length)return[];let t=[];for(let n=0;n<e.length;n++)t.push(e[n]);return t},yn=(e,t)=>e.reduce((e,n,r)=>(n[t]&&e.push(r),e),[]),bn=(e,t)=>hn(e.reduce((e,n)=>(n.forEach(n=>{e[t(n)]=n}),e),{}));var xn={INVALID_NUMBER_OF_PERIOD:`INVALID_NUMBER_OF_PERIOD`,DASH_EMPTY_MANIFEST:`DASH_EMPTY_MANIFEST`,DASH_INVALID_XML:`DASH_INVALID_XML`,NO_BASE_URL:`NO_BASE_URL`,SEGMENT_TIME_UNSPECIFIED:`SEGMENT_TIME_UNSPECIFIED`,UNSUPPORTED_UTC_TIMING_SCHEME:`UNSUPPORTED_UTC_TIMING_SCHEME`};const Sn=({baseUrl:e=``,source:t=``,range:n=``,indexRange:r=``})=>{let i={uri:t,resolvedUri:ot(e||``,t)};if(n||r){let e=(n||r).split(`-`),t=x.BigInt?x.BigInt(e[0]):parseInt(e[0],10),a=x.BigInt?x.BigInt(e[1]):parseInt(e[1],10);t<2**53-1&&typeof t==`bigint`&&(t=Number(t)),a<2**53-1&&typeof a==`bigint`&&(a=Number(a));let o;o=typeof a==`bigint`||typeof t==`bigint`?x.BigInt(a)-x.BigInt(t)+x.BigInt(1):a-t+1,typeof o==`bigint`&&o<2**53-1&&(o=Number(o)),i.byterange={length:o,offset:t}}return i},Cn=e=>{let t;return t=typeof e.offset==`bigint`||typeof e.length==`bigint`?x.BigInt(e.offset)+x.BigInt(e.length)-x.BigInt(1):e.offset+e.length-1,`${e.offset}-${t}`},wn=e=>(e&&typeof e!=`number`&&(e=parseInt(e,10)),isNaN(e)?null:e),Tn={static(e){let{duration:t,timescale:n=1,sourceDuration:r,periodDuration:i}=e,a=wn(e.endNumber),o=t/n;return typeof a==`number`?{start:0,end:a}:typeof i==`number`?{start:0,end:i/o}:{start:0,end:r/o}},dynamic(e){let{NOW:t,clientOffset:n,availabilityStartTime:r,timescale:i=1,duration:a,periodStart:o=0,minimumUpdatePeriod:s=0,timeShiftBufferDepth:c=1/0}=e,l=wn(e.endNumber),u=(t+n)/1e3,d=r+o,f=u+s-d,p=Math.ceil(f*i/a),m=Math.floor((u-d-c)*i/a),h=Math.floor((u-d)*i/a);return{start:Math.max(0,m),end:typeof l==`number`?l:Math.min(p,h)}}},En=e=>t=>{let{duration:n,timescale:r=1,periodStart:i,startNumber:a=1}=e;return{number:a+t,duration:n/r,timeline:i,time:t*n}},Dn=e=>{let{type:t,duration:n,timescale:r=1,periodDuration:i,sourceDuration:a}=e,{start:o,end:s}=Tn[t](e),c=gn(o,s).map(En(e));if(t===`static`){let e=c.length-1,t=typeof i==`number`?i:a;c[e].duration=t-n/r*e}return c},On=e=>{let{baseUrl:t,initialization:n={},sourceDuration:r,indexRange:i=``,periodStart:a,presentationTime:o,number:s=0,duration:c}=e;if(!t)throw Error(xn.NO_BASE_URL);let l=Sn({baseUrl:t,source:n.sourceURL,range:n.range}),u=Sn({baseUrl:t,source:t,indexRange:i});if(u.map=l,c){let t=Dn(e);t.length&&(u.duration=t[0].duration,u.timeline=t[0].timeline)}else r&&(u.duration=r,u.timeline=a);return u.presentationTime=o||a,u.number=s,[u]},kn=(e,t,n)=>{let r=e.sidx.map?e.sidx.map:null,i=e.sidx.duration,a=e.timeline||0,o=e.sidx.byterange,s=o.offset+o.length,c=t.timescale,l=t.references.filter(e=>e.referenceType!==1),u=[],d=e.endList?`static`:`dynamic`,f=e.sidx.timeline,p=f,m=e.mediaSequence||0,h;h=typeof t.firstOffset==`bigint`?x.BigInt(s)+t.firstOffset:s+t.firstOffset;for(let e=0;e<l.length;e++){let o=t.references[e],s=o.referencedSize,l=o.subsegmentDuration,g;g=typeof h==`bigint`?h+x.BigInt(s)-x.BigInt(1):h+s-1;let _=`${h}-${g}`,v=On({baseUrl:n,timescale:c,timeline:a,periodStart:f,presentationTime:p,number:m,duration:l,sourceDuration:i,indexRange:_,type:d})[0];r&&(v.map=r),u.push(v),h+=typeof h==`bigint`?x.BigInt(s):s,p+=l/c,m++}return e.segments=u,e},An=[`AUDIO`,`SUBTITLES`],jn=e=>bn(e,({timeline:e})=>e).sort((e,t)=>e.timeline>t.timeline?1:-1),Mn=(e,t)=>{for(let n=0;n<e.length;n++)if(e[n].attributes.NAME===t)return e[n];return null},Nn=e=>{let t=[];return Kt(e,An,(e,n,r,i)=>{t=t.concat(e.playlists||[])}),t},Pn=({playlist:e,mediaSequence:t})=>{e.mediaSequence=t,e.segments.forEach((t,n)=>{t.number=e.mediaSequence+n})},Fn=({oldPlaylists:e,newPlaylists:t,timelineStarts:n})=>{t.forEach(t=>{t.discontinuitySequence=n.findIndex(function({timeline:e}){return e===t.timeline});let r=Mn(e,t.attributes.NAME);if(!r||t.sidx)return;let i=t.segments[0],a=r.segments.findIndex(function(e){return Math.abs(e.presentationTime-i.presentationTime)<.016666666666666666});a===-1?(Pn({playlist:t,mediaSequence:r.mediaSequence+r.segments.length}),t.segments[0].discontinuity=!0,t.discontinuityStarts.unshift(0),(!r.segments.length&&t.timeline>r.timeline||r.segments.length&&t.timeline>r.segments[r.segments.length-1].timeline)&&t.discontinuitySequence--):(r.segments[a].discontinuity&&!i.discontinuity&&(i.discontinuity=!0,t.discontinuityStarts.unshift(0),t.discontinuitySequence--),Pn({playlist:t,mediaSequence:r.segments[a].number}))})},In=({oldManifest:e,newManifest:t})=>{let n=e.playlists.concat(Nn(e)),r=t.playlists.concat(Nn(t));return t.timelineStarts=jn([e.timelineStarts,t.timelineStarts]),Fn({oldPlaylists:n,newPlaylists:r,timelineStarts:t.timelineStarts}),t},Ln=e=>e&&e.uri+`-`+Cn(e.byterange),Rn=e=>{let t=e.reduce(function(e,t){return e[t.attributes.baseUrl]||(e[t.attributes.baseUrl]=[]),e[t.attributes.baseUrl].push(t),e},{}),n=[];return Object.values(t).forEach(e=>{let t=hn(e.reduce((e,t)=>{let n=t.attributes.id+(t.attributes.lang||``);return e[n]?(t.segments&&(t.segments[0]&&(t.segments[0].discontinuity=!0),e[n].segments.push(...t.segments)),t.attributes.contentProtection&&(e[n].attributes.contentProtection=t.attributes.contentProtection)):(e[n]=t,e[n].attributes.timelineStarts=[]),e[n].attributes.timelineStarts.push({start:t.attributes.periodStart,timeline:t.attributes.periodStart}),e},{}));n=n.concat(t)}),n.map(e=>(e.discontinuityStarts=yn(e.segments||[],`discontinuity`),e))},zn=(e,t)=>{let n=Ln(e.sidx),r=n&&t[n]&&t[n].sidx;return r&&kn(e,r,e.sidx.resolvedUri),e},Bn=(e,t={})=>{if(!Object.keys(t).length)return e;for(let n in e)e[n]=zn(e[n],t);return e},Vn=({attributes:e,segments:t,sidx:n,mediaSequence:r,discontinuitySequence:i,discontinuityStarts:a},o)=>{let s={attributes:{NAME:e.id,BANDWIDTH:e.bandwidth,CODECS:e.codecs,"PROGRAM-ID":1},uri:``,endList:e.type===`static`,timeline:e.periodStart,resolvedUri:e.baseUrl||``,targetDuration:e.duration,discontinuitySequence:i,discontinuityStarts:a,timelineStarts:e.timelineStarts,mediaSequence:r,segments:t};return e.contentProtection&&(s.contentProtection=e.contentProtection),e.serviceLocation&&(s.attributes.serviceLocation=e.serviceLocation),n&&(s.sidx=n),o&&(s.attributes.AUDIO=`audio`,s.attributes.SUBTITLES=`subs`),s},Hn=({attributes:e,segments:t,mediaSequence:n,discontinuityStarts:r,discontinuitySequence:i})=>{t===void 0&&(t=[{uri:e.baseUrl,timeline:e.periodStart,resolvedUri:e.baseUrl||``,duration:e.sourceDuration,number:0}],e.duration=e.sourceDuration);let a={NAME:e.id,BANDWIDTH:e.bandwidth,"PROGRAM-ID":1};e.codecs&&(a.CODECS=e.codecs);let o={attributes:a,uri:``,endList:e.type===`static`,timeline:e.periodStart,resolvedUri:e.baseUrl||``,targetDuration:e.duration,timelineStarts:e.timelineStarts,discontinuityStarts:r,discontinuitySequence:i,mediaSequence:n,segments:t};return e.serviceLocation&&(o.attributes.serviceLocation=e.serviceLocation),o},Un=(e,t={},n=!1)=>{let r,i=e.reduce((e,i)=>{let a=i.attributes.role&&i.attributes.role.value||``,o=i.attributes.lang||``,s=i.attributes.label||`main`;if(o&&!i.attributes.label){let e=a?` (${a})`:``;s=`${i.attributes.lang}${e}`}e[s]||(e[s]={language:o,autoselect:!0,default:a===`main`,playlists:[],uri:``});let c=zn(Vn(i,n),t);return e[s].playlists.push(c),r===void 0&&a===`main`&&(r=i,r.default=!0),e},{});if(!r){let e=Object.keys(i)[0];i[e].default=!0}return i},Wn=(e,t={})=>e.reduce((e,n)=>{let r=n.attributes.label||n.attributes.lang||`text`,i=n.attributes.lang||`und`;return e[r]||(e[r]={language:i,default:!1,autoselect:!1,playlists:[],uri:``}),e[r].playlists.push(zn(Hn(n),t)),e},{}),Gn=e=>e.reduce((e,t)=>(t&&t.forEach(t=>{let{channel:n,language:r}=t;e[r]={autoselect:!1,default:!1,instreamId:n,language:r},t.hasOwnProperty(`aspectRatio`)&&(e[r].aspectRatio=t.aspectRatio),t.hasOwnProperty(`easyReader`)&&(e[r].easyReader=t.easyReader),t.hasOwnProperty(`3D`)&&(e[r][`3D`]=t[`3D`])}),e),{}),Kn=({attributes:e,segments:t,sidx:n,discontinuityStarts:r})=>{let i={attributes:{NAME:e.id,AUDIO:`audio`,SUBTITLES:`subs`,RESOLUTION:{width:e.width,height:e.height},CODECS:e.codecs,BANDWIDTH:e.bandwidth,"PROGRAM-ID":1},uri:``,endList:e.type===`static`,timeline:e.periodStart,resolvedUri:e.baseUrl||``,targetDuration:e.duration,discontinuityStarts:r,timelineStarts:e.timelineStarts,segments:t};return e.frameRate&&(i.attributes[`FRAME-RATE`]=e.frameRate),e.qualityRanking!==void 0&&(i.attributes.SCORE=1/(e.qualityRanking+1)),e.contentProtection&&(i.contentProtection=e.contentProtection),e.serviceLocation&&(i.attributes.serviceLocation=e.serviceLocation),n&&(i.sidx=n),i},qn=({attributes:e})=>e.mimeType===`video/mp4`||e.mimeType===`video/webm`||e.contentType===`video`,Jn=({attributes:e})=>e.mimeType===`audio/mp4`||e.mimeType===`audio/webm`||e.contentType===`audio`,Yn=({attributes:e})=>e.mimeType===`text/vtt`||e.contentType===`text`,Xn=(e,t)=>{e.forEach(e=>{e.mediaSequence=0,e.discontinuitySequence=t.findIndex(function({timeline:t}){return t===e.timeline}),e.segments&&e.segments.forEach((e,t)=>{e.number=t})})},Zn=e=>e?Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(r.playlists)},[]):[],Qn=({dashPlaylists:e,locations:t,contentSteering:n,sidxMapping:r={},previousManifest:i,eventStream:a})=>{if(!e.length)return{};let{sourceDuration:o,type:s,suggestedPresentationDelay:c,minimumUpdatePeriod:l}=e[0].attributes,u=Rn(e.filter(qn)).map(Kn),d=Rn(e.filter(Jn)),f=Rn(e.filter(Yn)),p=e.map(e=>e.attributes.captionServices).filter(Boolean),m={allowCache:!0,discontinuityStarts:[],segments:[],endList:!0,mediaGroups:{AUDIO:{},VIDEO:{},"CLOSED-CAPTIONS":{},SUBTITLES:{}},uri:``,duration:o,playlists:Bn(u,r)};l>=0&&(m.minimumUpdatePeriod=l*1e3),t&&(m.locations=t),n&&(m.contentSteering=n),s===`dynamic`&&(m.suggestedPresentationDelay=c),a&&a.length>0&&(m.eventStream=a);let h=m.playlists.length===0,g=d.length?Un(d,r,h):null,_=f.length?Wn(f,r):null,v=u.concat(Zn(g),Zn(_)),y=v.map(({timelineStarts:e})=>e);return m.timelineStarts=jn(y),Xn(v,m.timelineStarts),g&&(m.mediaGroups.AUDIO.audio=g),_&&(m.mediaGroups.SUBTITLES.subs=_),p.length&&(m.mediaGroups[`CLOSED-CAPTIONS`].cc=Gn(p)),i?In({oldManifest:i,newManifest:m}):m},$n=(e,t,n)=>{let{NOW:r,clientOffset:i,availabilityStartTime:a,timescale:o=1,periodStart:s=0,minimumUpdatePeriod:c=0}=e,l=(r+i)/1e3,u=a+s,d=l+c-u;return Math.ceil((d*o-t)/n)},er=(e,t)=>{let{type:n,minimumUpdatePeriod:r=0,media:i=``,sourceDuration:a,timescale:o=1,startNumber:s=1,periodStart:c}=e,l=[],u=-1;for(let d=0;d<t.length;d++){let f=t[d],p=f.d,m=f.r||0,h=f.t||0;u<0&&(u=h),h&&h>u&&(u=h);let g;if(m<0){let s=d+1;g=s===t.length?n===`dynamic`&&r>0&&i.indexOf(`$Number$`)>0?$n(e,u,p):(a*o-u)/p:(t[s].t-u)/p}else g=m+1;let _=s+l.length+g,v=s+l.length;for(;v<_;)l.push({number:v,duration:p/o,time:u,timeline:c}),u+=p,v++}return l},tr=/\$([A-z]*)(?:(%0)([0-9]+)d)?\$/g,nr=e=>(t,n,r,i)=>{if(t===`$$`)return`$`;if(e[n]===void 0)return t;let a=``+e[n];return n===`RepresentationID`||(i=r?parseInt(i,10):1,a.length>=i)?a:`${Array(i-a.length+1).join(`0`)}${a}`},rr=(e,t)=>e.replace(tr,nr(t)),ir=(e,t)=>!e.duration&&!t?[{number:e.startNumber||1,duration:e.sourceDuration,time:0,timeline:e.periodStart}]:e.duration?Dn(e):er(e,t),ar=(e,t)=>{let n={RepresentationID:e.id,Bandwidth:e.bandwidth||0},{initialization:r={sourceURL:``,range:``}}=e,i=Sn({baseUrl:e.baseUrl,source:rr(r.sourceURL,n),range:r.range});return ir(e,t).map(t=>{n.Number=t.number,n.Time=t.time;let r=rr(e.media||``,n),a=e.timescale||1,o=e.presentationTimeOffset||0,s=e.periodStart+(t.time-o)/a;return{uri:r,timeline:t.timeline,duration:t.duration,resolvedUri:ot(e.baseUrl||``,r),map:i,number:t.number,presentationTime:s}})},or=(e,t)=>{let{baseUrl:n,initialization:r={}}=e,i=Sn({baseUrl:n,source:r.sourceURL,range:r.range}),a=Sn({baseUrl:n,source:t.media,range:t.mediaRange});return a.map=i,a},sr=(e,t)=>{let{duration:n,segmentUrls:r=[],periodStart:i}=e;if(!n&&!t||n&&t)throw Error(xn.SEGMENT_TIME_UNSPECIFIED);let a=r.map(t=>or(e,t)),o;return n&&(o=Dn(e)),t&&(o=er(e,t)),o.map((t,n)=>{if(a[n]){let r=a[n],o=e.timescale||1,s=e.presentationTimeOffset||0;return r.timeline=t.timeline,r.duration=t.duration,r.number=t.number,r.presentationTime=i+(t.time-s)/o,r}}).filter(e=>e)},cr=({attributes:e,segmentInfo:t})=>{let n,r;t.template?(r=ar,n=mn(e,t.template)):t.base?(r=On,n=mn(e,t.base)):t.list&&(r=sr,n=mn(e,t.list));let i={attributes:e};if(!r)return i;let a=r(n,t.segmentTimeline);if(n.duration){let{duration:e,timescale:t=1}=n;n.duration=e/t}else a.length?n.duration=a.reduce((e,t)=>Math.max(e,Math.ceil(t.duration)),0):n.duration=0;return i.attributes=n,i.segments=a,t.base&&n.indexRange&&(i.sidx=a[0],i.segments=[]),i},lr=e=>e.map(cr),V=(e,t)=>vn(e.childNodes).filter(({tagName:e})=>e===t),ur=e=>e.textContent.trim(),dr=e=>parseFloat(e.split(`/`).reduce((e,t)=>e/t)),fr=e=>{let t=/P(?:(\d*)Y)?(?:(\d*)M)?(?:(\d*)D)?(?:T(?:(\d*)H)?(?:(\d*)M)?(?:([\d.]*)S)?)?/.exec(e);if(!t)return 0;let[n,r,i,a,o,s]=t.slice(1);return parseFloat(n||0)*31536e3+parseFloat(r||0)*2592e3+parseFloat(i||0)*86400+parseFloat(a||0)*3600+parseFloat(o||0)*60+parseFloat(s||0)},pr=e=>(/^\d+-\d+-\d+T\d+:\d+:\d+(\.\d+)?$/.test(e)&&(e+=`Z`),Date.parse(e)),mr={mediaPresentationDuration(e){return fr(e)},availabilityStartTime(e){return pr(e)/1e3},minimumUpdatePeriod(e){return fr(e)},suggestedPresentationDelay(e){return fr(e)},type(e){return e},timeShiftBufferDepth(e){return fr(e)},start(e){return fr(e)},width(e){return parseInt(e,10)},height(e){return parseInt(e,10)},bandwidth(e){return parseInt(e,10)},frameRate(e){return dr(e)},startNumber(e){return parseInt(e,10)},timescale(e){return parseInt(e,10)},presentationTimeOffset(e){return parseInt(e,10)},duration(e){let t=parseInt(e,10);return isNaN(t)?fr(e):t},d(e){return parseInt(e,10)},t(e){return parseInt(e,10)},r(e){return parseInt(e,10)},presentationTime(e){return parseInt(e,10)},qualityRanking(e){return parseInt(e,10)},qualityranking(e){return parseInt(e,10)},DEFAULT(e){return e}},hr={qualityranking:`qualityRanking`},gr=e=>e&&e.attributes?vn(e.attributes).reduce((e,t)=>{let n=mr[t.name]||mr.DEFAULT,r=hr[t.name]||t.name;return e[r]=n(t.value),e},{}):{},_r={"urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b":`org.w3.clearkey`,"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed":`com.widevine.alpha`,"urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95":`com.microsoft.playready`,"urn:uuid:f239e769-efa3-4850-9c16-a903c6932efb":`com.adobe.primetime`,"urn:mpeg:dash:mp4protection:2011":`mp4protection`},vr=(e,t)=>t.length?_n(e.map(function(e){return t.map(function(t){let n=ur(t),r=ot(e.baseUrl,n),i=mn(gr(t),{baseUrl:r});return r!==n&&!i.serviceLocation&&e.serviceLocation&&(i.serviceLocation=e.serviceLocation),i})})):e,yr=e=>{let t=V(e,`SegmentTemplate`)[0],n=V(e,`SegmentList`)[0],r=n&&V(n,`SegmentURL`).map(e=>mn({tag:`SegmentURL`},gr(e))),i=V(e,`SegmentBase`)[0],a=n||t,o=a&&V(a,`SegmentTimeline`)[0],s=n||i||t,c=s&&V(s,`Initialization`)[0],l=t&&gr(t);l&&c?l.initialization=c&&gr(c):l&&l.initialization&&(l.initialization={sourceURL:l.initialization});let u={template:l,segmentTimeline:o&&V(o,`S`).map(e=>gr(e)),list:n&&mn(gr(n),{segmentUrls:r,initialization:gr(c)}),base:i&&mn(gr(i),{initialization:gr(c)})};return Object.keys(u).forEach(e=>{u[e]||delete u[e]}),u},br=(e,t,n)=>r=>{let i=V(r,`BaseURL`),a=vr(t,i),o=mn(e,gr(r)),s=yr(r);return a.map(e=>({segmentInfo:mn(n,s),attributes:mn(o,e)}))},xr=e=>e.reduce((e,t)=>{let n=gr(t);n.schemeIdUri&&=n.schemeIdUri.toLowerCase();let r=_r[n.schemeIdUri];if(r){e[r]={attributes:n};let i=V(t,`cenc:pssh`)[0];if(i){let t=ur(i);e[r].pssh=t&&lt(t)}}return e},{}),Sr=e=>{if(e.schemeIdUri===`urn:scte:dash:cc:cea-608:2015`)return(typeof e.value==`string`?e.value.split(`;`):[]).map(e=>{let t,n;return n=e,/^CC\d=/.test(e)?[t,n]=e.split(`=`):/^CC\d$/.test(e)&&(t=e),{channel:t,language:n}});if(e.schemeIdUri===`urn:scte:dash:cc:cea-708:2015`)return(typeof e.value==`string`?e.value.split(`;`):[]).map(e=>{let t={channel:void 0,language:void 0,aspectRatio:1,easyReader:0,"3D":0};if(/=/.test(e)){let[n,r=``]=e.split(`=`);t.channel=n,t.language=e,r.split(`,`).forEach(e=>{let[n,r]=e.split(`:`);n===`lang`?t.language=r:n===`er`?t.easyReader=Number(r):n===`war`?t.aspectRatio=Number(r):n===`3D`&&(t[`3D`]=Number(r))})}else t.language=e;return t.channel&&=`SERVICE`+t.channel,t})},Cr=e=>_n(V(e.node,`EventStream`).map(t=>{let n=gr(t),r=n.schemeIdUri;return V(t,`Event`).map(t=>{let i=gr(t),a=i.presentationTime||0,o=n.timescale||1,s=i.duration||0,c=a/o+e.attributes.start;return{schemeIdUri:r,value:n.value,id:i.id,start:c,end:c+s/o,messageData:ur(t)||i.messageData,contentEncoding:n.contentEncoding,presentationTimeOffset:n.presentationTimeOffset||0}})})),wr=(e,t,n)=>r=>{let i=gr(r),a=vr(t,V(r,`BaseURL`)),o=V(r,`Role`)[0],s={role:gr(o)},c=mn(e,i,s),l=V(r,`Accessibility`)[0],u=Sr(gr(l));u&&(c=mn(c,{captionServices:u}));let d=V(r,`Label`)[0];if(d&&d.childNodes.length){let e=d.childNodes[0].nodeValue.trim();c=mn(c,{label:e})}let f=xr(V(r,`ContentProtection`));Object.keys(f).length&&(c=mn(c,{contentProtection:f}));let p=yr(r),m=V(r,`Representation`),h=mn(n,p);return _n(m.map(br(c,a,h)))},Tr=(e,t)=>(n,r)=>{let i=vr(t,V(n.node,`BaseURL`)),a=mn(e,{periodStart:n.attributes.start});typeof n.attributes.duration==`number`&&(a.periodDuration=n.attributes.duration);let o=V(n.node,`AdaptationSet`),s=yr(n.node);return _n(o.map(wr(a,i,s)))},Er=(e,t)=>{if(e.length>1&&t({type:`warn`,message:`The MPD manifest should contain no more than one ContentSteering tag`}),!e.length)return null;let n=mn({serverURL:ur(e[0])},gr(e[0]));return n.queryBeforeStart=n.queryBeforeStart===`true`,n},Dr=({attributes:e,priorPeriodAttributes:t,mpdType:n})=>typeof e.start==`number`?e.start:t&&typeof t.start==`number`&&typeof t.duration==`number`?t.start+t.duration:!t&&n===`static`?0:null,Or=(e,t={})=>{let{manifestUri:n=``,NOW:r=Date.now(),clientOffset:i=0,eventHandler:a=function(){}}=t,o=V(e,`Period`);if(!o.length)throw Error(xn.INVALID_NUMBER_OF_PERIOD);let s=V(e,`Location`),c=gr(e),l=vr([{baseUrl:n}],V(e,`BaseURL`)),u=V(e,`ContentSteering`);c.type=c.type||`static`,c.sourceDuration=c.mediaPresentationDuration||0,c.NOW=r,c.clientOffset=i,s.length&&(c.locations=s.map(ur));let d=[];return o.forEach((e,t)=>{let n=gr(e),r=d[t-1];n.start=Dr({attributes:n,priorPeriodAttributes:r?r.attributes:null,mpdType:c.type}),d.push({node:e,attributes:n})}),{locations:c.locations,contentSteeringInfo:Er(u,a),representationInfo:_n(d.map(Tr(c,l))),eventStream:_n(d.map(Cr))}},kr=e=>{if(e===``)throw Error(xn.DASH_EMPTY_MANIFEST);let t=new fn.DOMParser,n,r;try{n=t.parseFromString(e,`application/xml`),r=n&&n.documentElement.tagName===`MPD`?n.documentElement:null}catch{}if(!r||r&&r.getElementsByTagName(`parsererror`).length>0)throw Error(xn.DASH_INVALID_XML);return r},Ar=e=>{let t=V(e,`UTCTiming`)[0];if(!t)return null;let n=gr(t);switch(n.schemeIdUri){case`urn:mpeg:dash:utc:http-head:2014`:case`urn:mpeg:dash:utc:http-head:2012`:n.method=`HEAD`;break;case`urn:mpeg:dash:utc:http-xsdate:2014`:case`urn:mpeg:dash:utc:http-iso:2014`:case`urn:mpeg:dash:utc:http-xsdate:2012`:case`urn:mpeg:dash:utc:http-iso:2012`:n.method=`GET`;break;case`urn:mpeg:dash:utc:direct:2014`:case`urn:mpeg:dash:utc:direct:2012`:n.method=`DIRECT`,n.value=Date.parse(n.value);break;default:throw Error(xn.UNSUPPORTED_UTC_TIMING_SCHEME)}return n},jr=(e,t={})=>{let n=Or(kr(e),t),r=lr(n.representationInfo);return Qn({dashPlaylists:r,locations:n.locations,contentSteering:n.contentSteeringInfo,sidxMapping:t.sidxMapping,previousManifest:t.previousManifest,eventStream:n.eventStream})},Mr=e=>Ar(kr(e));var Nr,Pr;function Fr(){if(Pr)return Nr;Pr=1;var e=2**32;return Nr={getUint64:function(t){var n=new DataView(t.buffer,t.byteOffset,t.byteLength),r;return n.getBigUint64?(r=n.getBigUint64(0),r<2**53-1?Number(r):r):n.getUint32(0)*e+n.getUint32(4)},MAX_UINT32:e},Nr}var Ir,Lr;function Rr(){if(Lr)return Ir;Lr=1;var e=Fr().getUint64;return Ir=function(t){var n=new DataView(t.buffer,t.byteOffset,t.byteLength),r={version:t[0],flags:new Uint8Array(t.subarray(1,4)),references:[],referenceId:n.getUint32(4),timescale:n.getUint32(8)},i=12;r.version===0?(r.earliestPresentationTime=n.getUint32(i),r.firstOffset=n.getUint32(i+4),i+=8):(r.earliestPresentationTime=e(t.subarray(i)),r.firstOffset=e(t.subarray(i+8)),i+=16),i+=2;var a=n.getUint16(i);for(i+=2;a>0;i+=12,a--)r.references.push({referenceType:(t[i]&128)>>>7,referencedSize:n.getUint32(i)&2147483647,subsegmentDuration:n.getUint32(i+4),startsWithSap:!!(t[i+8]&128),sapType:(t[i+8]&112)>>>4,sapDeltaTime:n.getUint32(i+8)&268435455});return r},Ir}var zr=Rr();const Br=g(zr);var H=z([73,68,51]),Vr=function(e,t){t===void 0&&(t=0),e=z(e);var n=e[t+5],r=e[t+6]<<21|e[t+7]<<14|e[t+8]<<7|e[t+9];return(n&16)>>4?r+20:r+10},Hr=function e(t,n){return n===void 0&&(n=0),t=z(t),t.length-n<10||!B(t,H,{offset:n})?n:(n+=Vr(t,n),e(t,n))},Ur=function(e){return typeof e==`string`?Wt(e):e},Wr=function(e){return Array.isArray(e)?e.map(function(e){return Ur(e)}):[Ur(e)]},Gr=function e(t,n,r){r===void 0&&(r=!1),n=Wr(n),t=z(t);var i=[];if(!n.length)return i;for(var a=0;a<t.length;){var o=(t[a]<<24|t[a+1]<<16|t[a+2]<<8|t[a+3])>>>0,s=t.subarray(a+4,a+8);if(o===0)break;var c=a+o;if(c>t.length){if(r)break;c=t.length}var l=t.subarray(a+8,c);B(s,n[0])&&(n.length===1?i.push(l):i.push.apply(i,e(l,n.slice(1),r))),a=c}return i},Kr={EBML:z([26,69,223,163]),DocType:z([66,130]),Segment:z([24,83,128,103]),SegmentInfo:z([21,73,169,102]),Tracks:z([22,84,174,107]),Track:z([174]),TrackNumber:z([215]),DefaultDuration:z([35,227,131]),TrackEntry:z([174]),TrackType:z([131]),FlagDefault:z([136]),CodecID:z([134]),CodecPrivate:z([99,162]),VideoTrack:z([224]),AudioTrack:z([225]),Cluster:z([31,67,182,117]),Timestamp:z([231]),TimestampScale:z([42,215,177]),BlockGroup:z([160]),BlockDuration:z([155]),Block:z([161]),SimpleBlock:z([163])},qr=[128,64,32,16,8,4,2,1],Jr=function(e){for(var t=1,n=0;n<qr.length&&!(e&qr[n]);n++)t++;return t},Yr=function(e,t,n,r){n===void 0&&(n=!0),r===void 0&&(r=!1);var i=Jr(e[t]),a=e.subarray(t,t+i);return n&&(a=Array.prototype.slice.call(e,t,t+i),a[0]^=qr[i-1]),{length:i,value:Ht(a,{signed:r}),bytes:a}},Xr=function e(t){return typeof t==`string`?t.match(/.{1,2}/g).map(function(t){return e(t)}):typeof t==`number`?Ut(t):t},Zr=function(e){return Array.isArray(e)?e.map(function(e){return Xr(e)}):[Xr(e)]},Qr=function e(t,n,r){if(r>=n.length)return n.length;var i=Yr(n,r,!1);if(B(t.bytes,i.bytes))return r;var a=Yr(n,r+i.length);return e(t,n,r+a.length+a.value+i.length)},$r=function e(t,n){n=Zr(n),t=z(t);var r=[];if(!n.length)return r;for(var i=0;i<t.length;){var a=Yr(t,i,!1),o=Yr(t,i+a.length),s=i+a.length+o.length;o.value===127&&(o.value=Qr(a,t,s),o.value!==t.length&&(o.value-=s));var c=s+o.value>t.length?t.length:s+o.value,l=t.subarray(s,c);B(n[0],a.bytes)&&(n.length===1?r.push(l):r=r.concat(e(l,n.slice(1))));var u=a.length+o.length+l.length;i+=u}return r},ei=z([0,0,0,1]),ti=z([0,0,1]),ni=z([0,0,3]),ri=function(e){for(var t=[],n=1;n<e.length-2;)B(e.subarray(n,n+3),ni)&&(t.push(n+2),n++),n++;if(t.length===0)return e;var r=e.length-t.length,i=new Uint8Array(r),a=0;for(n=0;n<r;a++,n++)a===t[0]&&(a++,t.shift()),i[n]=e[a];return i},ii=function(e,t,n,r){e=z(e),n=[].concat(n);for(var i=0,a,o=0;i<e.length&&(o<r||a);){var s=void 0;if(B(e.subarray(i),ei)?s=4:B(e.subarray(i),ti)&&(s=3),!s)i++;else{if(o++,a)return ri(e.subarray(a,i));var c=void 0;t===`h264`?c=e[i+s]&31:t===`h265`&&(c=e[i+s]>>1&63),n.indexOf(c)!==-1&&(a=i+s),i+=s+(t===`h264`?1:2)}}return e.subarray(0,0)},ai=function(e,t,n){return ii(e,`h264`,t,n)},oi=function(e,t,n){return ii(e,`h265`,t,n)},si={webm:z([119,101,98,109]),matroska:z([109,97,116,114,111,115,107,97]),flac:z([102,76,97,67]),ogg:z([79,103,103,83]),ac3:z([11,119]),riff:z([82,73,70,70]),avi:z([65,86,73]),wav:z([87,65,86,69]),"3gp":z([102,116,121,112,51,103]),mp4:z([102,116,121,112]),fmp4:z([115,116,121,112]),mov:z([102,116,121,112,113,116]),moov:z([109,111,111,118]),moof:z([109,111,111,102]),vtt:z([87,69,66,86,84,84])},ci={aac:function(e){return B(e,[255,16],{offset:Hr(e),mask:[255,22]})},mp3:function(e){return B(e,[255,2],{offset:Hr(e),mask:[255,6]})},webm:function(e){var t=$r(e,[Kr.EBML,Kr.DocType])[0];return B(t,si.webm)},mkv:function(e){var t=$r(e,[Kr.EBML,Kr.DocType])[0];return B(t,si.matroska)},mp4:function(e){if(ci[`3gp`](e)||ci.mov(e))return!1;if(B(e,si.mp4,{offset:4})||B(e,si.fmp4,{offset:4})||B(e,si.moof,{offset:4})||B(e,si.moov,{offset:4}))return!0},mov:function(e){return B(e,si.mov,{offset:4})},"3gp":function(e){return B(e,si[`3gp`],{offset:4})},ac3:function(e){var t=Hr(e);return B(e,si.ac3,{offset:t})},vtt:function(e){return B(e,si.vtt)},ts:function(e){if(e.length<189&&e.length>=1)return e[0]===71;for(var t=0;t+188<e.length&&t<188;){if(e[t]===71&&e[t+188]===71)return!0;t+=1}return!1},flac:function(e){var t=Hr(e);return B(e,si.flac,{offset:t})},ogg:function(e){return B(e,si.ogg)},avi:function(e){return B(e,si.riff)&&B(e,si.avi,{offset:8})},wav:function(e){return B(e,si.riff)&&B(e,si.wav,{offset:8})},h264:function(e){return ai(e,7,3).length},h265:function(e){return oi(e,[32,33],3).length}},li=Object.keys(ci).filter(function(e){return e!==`ts`&&e!==`h264`&&e!==`h265`}).concat([`ts`,`h264`,`h265`]);li.forEach(function(e){var t=ci[e];ci[e]=function(e){return t(z(e))}});var ui=ci,di=function(e){e=z(e);for(var t=0;t<li.length;t++){var n=li[t];if(ui[n](e))return n}return``},fi=function(e){return Gr(e,[`moof`]).length>0},pi,mi;function hi(){if(mi)return pi;mi=1;var e=9e4,t=function(t){return t*e},n=function(e,t){return e*t},r=function(t){return t/e},i=function(e,t){return e/t};return pi={ONE_SECOND_IN_TS:e,secondsToVideoTs:t,secondsToAudioTs:n,videoTsToSeconds:r,audioTsToSeconds:i,audioTsToVideoTs:function(e,n){return t(i(e,n))},videoTsToAudioTs:function(e,t){return n(r(e),t)},metadataTsToSeconds:function(e,t,n){return r(n?e:e-t)}},pi}var gi=hi(),_i=`8.24.1`;const vi={},yi=function(e,t){return vi[e]=vi[e]||[],t&&(vi[e]=vi[e].concat(t)),vi[e]},bi=function(e,t){yi(e,t)},xi=function(e,t){let n=yi(e).indexOf(t);return n<=-1?!1:(vi[e]=vi[e].slice(),vi[e].splice(n,1),!0)},Si=function(e,t){yi(e,[].concat(t).map(t=>{let n=(...r)=>(xi(e,n),t(...r));return n}))},Ci={prefixed:!0},wi=[[`requestFullscreen`,`exitFullscreen`,`fullscreenElement`,`fullscreenEnabled`,`fullscreenchange`,`fullscreenerror`,`fullscreen`],[`webkitRequestFullscreen`,`webkitExitFullscreen`,`webkitFullscreenElement`,`webkitFullscreenEnabled`,`webkitfullscreenchange`,`webkitfullscreenerror`,`-webkit-full-screen`]],Ti=wi[0];let Ei;for(let e=0;e<wi.length;e++)if(wi[e][1]in F){Ei=wi[e];break}if(Ei){for(let e=0;e<Ei.length;e++)Ci[Ti[e]]=Ei[e];Ci.prefixed=Ei[0]!==Ti[0]}let Di=[];const Oi=(e,t,n)=>(r,i,a)=>{let o=t.levels[i],s=RegExp(`^(${o})$`),c=e;if(r!==`log`&&a.unshift(r.toUpperCase()+`:`),n&&(c=`%c${e}`,a.unshift(n)),a.unshift(c+`:`),Di){Di.push([].concat(a));let e=Di.length-1e3;Di.splice(0,e>0?e:0)}if(!x.console)return;let l=x.console[r];!l&&r===`debug`&&(l=x.console.info||x.console.log),l&&o&&s.test(r)&&l[Array.isArray(a)?`apply`:`call`](x.console,a)};function ki(e,t=`:`,n=``){let r=`info`,i;function a(...e){i(`log`,r,e)}return i=Oi(e,a,n),a.createLogger=(r,i,a)=>{let o=i===void 0?t:i,s=a===void 0?n:a;return ki(`${e} ${o} ${r}`,o,s)},a.createNewLogger=(e,t,n)=>ki(e,t,n),a.levels={all:`debug|log|warn|error`,off:``,debug:`debug|log|warn|error`,info:`log|warn|error`,warn:`warn|error`,error:`error`,DEFAULT:r},a.level=e=>{if(typeof e==`string`){if(!a.levels.hasOwnProperty(e))throw Error(`"${e}" in not a valid log level`);r=e}return r},a.history=()=>Di?[].concat(Di):[],a.history.filter=e=>(Di||[]).filter(t=>RegExp(`.*${e}.*`).test(t[0])),a.history.clear=()=>{Di&&(Di.length=0)},a.history.disable=()=>{Di!==null&&(Di.length=0,Di=null)},a.history.enable=()=>{Di===null&&(Di=[])},a.error=(...e)=>i(`error`,r,e),a.warn=(...e)=>i(`warn`,r,e),a.debug=(...e)=>i(`debug`,r,e),a}const U=ki(`VIDEOJS`),Ai=U.createLogger,ji=Object.prototype.toString,Mi=function(e){return Fi(e)?Object.keys(e):[]};function Ni(e,t){Mi(e).forEach(n=>t(e[n],n))}function Pi(e,t,n=0){return Mi(e).reduce((n,r)=>t(n,e[r],r),n)}function Fi(e){return!!e&&typeof e==`object`}function Ii(e){return Fi(e)&&ji.call(e)===`[object Object]`&&e.constructor===Object}function W(...e){let t={};return e.forEach(e=>{e&&Ni(e,(e,n)=>{Ii(e)?(Ii(t[n])||(t[n]={}),t[n]=W(t[n],e)):t[n]=e})}),t}function Li(e={}){let t=[];for(let n in e)if(e.hasOwnProperty(n)){let r=e[n];t.push(r)}return t}function Ri(e,t,n,r=!0){let i=n=>Object.defineProperty(e,t,{value:n,enumerable:!0,writable:!0}),a={configurable:!0,enumerable:!0,get(){let e=n();return i(e),e}};return r&&(a.set=i),Object.defineProperty(e,t,a)}var zi=Object.freeze({__proto__:null,each:Ni,reduce:Pi,isObject:Fi,isPlain:Ii,merge:W,values:Li,defineLazyProperty:Ri});let Bi=!1,Vi=null,Hi=!1,Ui,Wi=!1,Gi=!1,Ki=!1,qi=!1,Ji=null,Yi=null;const Xi=!!(x.cast&&x.cast.framework&&x.cast.framework.CastReceiverContext);let Zi=null,Qi=!1,$i=!1,ea=!1,ta=!1,na=!1,ra=!1,ia=!1;const aa=!!(fa()&&(`ontouchstart`in x||x.navigator.maxTouchPoints||x.DocumentTouch&&x.document instanceof x.DocumentTouch)),oa=x.navigator&&x.navigator.userAgentData;if(oa&&oa.platform&&oa.brands&&(Hi=oa.platform===`Android`,Gi=!!oa.brands.find(e=>e.brand===`Microsoft Edge`),Ki=!!oa.brands.find(e=>e.brand===`Chromium`),qi=!Gi&&Ki,Ji=Yi=(oa.brands.find(e=>e.brand===`Chromium`)||{}).version||null,$i=oa.platform===`Windows`),!Ki){let e=x.navigator&&x.navigator.userAgent||``;Bi=/iPod/i.test(e),Vi=function(){let t=e.match(/OS (\d+)_/i);return t&&t[1]?t[1]:null}(),Hi=/Android/i.test(e),Ui=function(){let t=e.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);if(!t)return null;let n=t[1]&&parseFloat(t[1]),r=t[2]&&parseFloat(t[2]);return n&&r?parseFloat(t[1]+`.`+t[2]):n||null}(),Wi=/Firefox/i.test(e),Gi=/Edg/i.test(e),Ki=/Chrome/i.test(e)||/CriOS/i.test(e),qi=!Gi&&Ki,Ji=Yi=function(){let t=e.match(/(Chrome|CriOS)\/(\d+)/);return t&&t[2]?parseFloat(t[2]):null}(),Zi=function(){let t=/MSIE\s(\d+)\.\d/.exec(e),n=t&&parseFloat(t[1]);return!n&&/Trident\/7.0/i.test(e)&&/rv:11.0/.test(e)&&(n=11),n}(),na=/Tizen/i.test(e),ra=/Web0S/i.test(e),ia=na||ra,Qi=/Safari/i.test(e)&&!qi&&!Hi&&!Gi&&!ia,$i=/Windows/i.test(e),ea=/iPad/i.test(e)||Qi&&aa&&!/iPhone/i.test(e),ta=/iPhone/i.test(e)&&!ea}const sa=ta||ea||Bi,ca=(Qi||sa)&&!qi;var la=Object.freeze({__proto__:null,get IS_IPOD(){return Bi},get IOS_VERSION(){return Vi},get IS_ANDROID(){return Hi},get ANDROID_VERSION(){return Ui},get IS_FIREFOX(){return Wi},get IS_EDGE(){return Gi},get IS_CHROMIUM(){return Ki},get IS_CHROME(){return qi},get CHROMIUM_VERSION(){return Ji},get CHROME_VERSION(){return Yi},IS_CHROMECAST_RECEIVER:Xi,get IE_VERSION(){return Zi},get IS_SAFARI(){return Qi},get IS_WINDOWS(){return $i},get IS_IPAD(){return ea},get IS_IPHONE(){return ta},get IS_TIZEN(){return na},get IS_WEBOS(){return ra},get IS_SMART_TV(){return ia},TOUCH_ENABLED:aa,IS_IOS:sa,IS_ANY_SAFARI:ca});function ua(e){return typeof e==`string`&&!!e.trim()}function da(e){if(e.indexOf(` `)>=0)throw Error(`class has illegal whitespace characters`)}function fa(){return F===x.document}function pa(e){return Fi(e)&&e.nodeType===1}function ma(){try{return x.parent!==x.self}catch{return!0}}function ha(e){return function(t,n){if(!ua(t))return F[e](null);ua(n)&&(n=F.querySelector(n));let r=pa(n)?n:F;return r[e]&&r[e](t)}}function G(e=`div`,t={},n={},r){let i=F.createElement(e);return Object.getOwnPropertyNames(t).forEach(function(e){let n=t[e];e===`textContent`?ga(i,n):(i[e]!==n||e===`tabIndex`)&&(i[e]=n)}),Object.getOwnPropertyNames(n).forEach(function(e){i.setAttribute(e,n[e])}),r&&Fa(i,r),i}function ga(e,t){return e.textContent===void 0?e.innerText=t:e.textContent=t,e}function _a(e,t){t.firstChild?t.insertBefore(e,t.firstChild):t.appendChild(e)}function va(e,t){return da(t),e.classList.contains(t)}function ya(e,...t){return e.classList.add(...t.reduce((e,t)=>e.concat(t.split(/\s+/)),[])),e}function ba(e,...t){return e?(e.classList.remove(...t.reduce((e,t)=>e.concat(t.split(/\s+/)),[])),e):(U.warn(`removeClass was called with an element that doesn't exist`),null)}function xa(e,t,n){return typeof n==`function`&&(n=n(e,t)),typeof n!=`boolean`&&(n=void 0),t.split(/\s+/).forEach(t=>e.classList.toggle(t,n)),e}function Sa(e,t){Object.getOwnPropertyNames(t).forEach(function(n){let r=t[n];r==null||r===!1?e.removeAttribute(n):e.setAttribute(n,r===!0?``:r)})}function Ca(e){let t={},n=[`autoplay`,`controls`,`playsinline`,`loop`,`muted`,`default`,`defaultMuted`];if(e&&e.attributes&&e.attributes.length>0){let r=e.attributes;for(let e=r.length-1;e>=0;e--){let i=r[e].name,a=r[e].value;n.includes(i)&&(a=a!==null),t[i]=a}}return t}function wa(e,t){return e.getAttribute(t)}function Ta(e,t,n){e.setAttribute(t,n)}function Ea(e,t){e.removeAttribute(t)}function Da(){F.body.focus(),F.onselectstart=function(){return!1}}function Oa(){F.onselectstart=function(){return!0}}function ka(e){if(e&&e.getBoundingClientRect&&e.parentNode){let t=e.getBoundingClientRect(),n={};return[`bottom`,`height`,`left`,`right`,`top`,`width`].forEach(e=>{t[e]!==void 0&&(n[e]=t[e])}),n.height||=parseFloat(Ba(e,`height`)),n.width||=parseFloat(Ba(e,`width`)),n}}function Aa(e){if(!e||e&&!e.offsetParent)return{left:0,top:0,width:0,height:0};let t=e.offsetWidth,n=e.offsetHeight,r=0,i=0;for(;e.offsetParent&&e!==F[Ci.fullscreenElement];)r+=e.offsetLeft,i+=e.offsetTop,e=e.offsetParent;return{left:r,top:i,width:t,height:n}}function ja(e,t){let n={x:0,y:0};if(sa){let t=e;for(;t&&t.nodeName.toLowerCase()!==`html`;){let e=Ba(t,`transform`);if(/^matrix/.test(e)){let t=e.slice(7,-1).split(/,\s/).map(Number);n.x+=t[4],n.y+=t[5]}else if(/^matrix3d/.test(e)){let t=e.slice(9,-1).split(/,\s/).map(Number);n.x+=t[12],n.y+=t[13]}if(t.assignedSlot&&t.assignedSlot.parentElement&&x.WebKitCSSMatrix){let e=x.getComputedStyle(t.assignedSlot.parentElement).transform,r=new x.WebKitCSSMatrix(e);n.x+=r.m41,n.y+=r.m42}t=t.parentNode||t.host}}let r={},i=Aa(t.target),a=Aa(e),o=a.width,s=a.height,c=t.offsetY-(a.top-i.top),l=t.offsetX-(a.left-i.left);return t.changedTouches&&(l=t.changedTouches[0].pageX-a.left,c=t.changedTouches[0].pageY+a.top,sa&&(l-=n.x,c-=n.y)),r.y=1-Math.max(0,Math.min(1,c/s)),r.x=Math.max(0,Math.min(1,l/o)),r}function Ma(e){return Fi(e)&&e.nodeType===3}function Na(e){for(;e.firstChild;)e.removeChild(e.firstChild);return e}function Pa(e){return typeof e==`function`&&(e=e()),(Array.isArray(e)?e:[e]).map(e=>{if(typeof e==`function`&&(e=e()),pa(e)||Ma(e))return e;if(typeof e==`string`&&/\S/.test(e))return F.createTextNode(e)}).filter(e=>e)}function Fa(e,t){return Pa(t).forEach(t=>e.appendChild(t)),e}function Ia(e,t){return Fa(Na(e),t)}function La(e){return e.button===void 0&&e.buttons===void 0||e.button===0&&e.buttons===void 0||e.type===`mouseup`&&e.button===0&&e.buttons===0||e.type===`mousedown`&&e.button===0&&e.buttons===0||e.button===0&&e.buttons===1}const Ra=ha(`querySelector`),za=ha(`querySelectorAll`);function Ba(e,t){if(!e||!t)return``;if(typeof x.getComputedStyle==`function`){let n;try{n=x.getComputedStyle(e)}catch{return``}return n?n.getPropertyValue(t)||n[t]:``}return``}function Va(e){[...F.styleSheets].forEach(t=>{try{let n=[...t.cssRules].map(e=>e.cssText).join(``),r=F.createElement(`style`);r.textContent=n,e.document.head.appendChild(r)}catch{let n=F.createElement(`link`);n.rel=`stylesheet`,n.type=t.type,n.media=t.media.mediaText,n.href=t.href,e.document.head.appendChild(n)}})}var Ha=Object.freeze({__proto__:null,isReal:fa,isEl:pa,isInFrame:ma,createEl:G,textContent:ga,prependTo:_a,hasClass:va,addClass:ya,removeClass:ba,toggleClass:xa,setAttributes:Sa,getAttributes:Ca,getAttribute:wa,setAttribute:Ta,removeAttribute:Ea,blockTextSelection:Da,unblockTextSelection:Oa,getBoundingClientRect:ka,findPosition:Aa,getPointerPosition:ja,isTextNode:Ma,emptyEl:Na,normalizeContent:Pa,appendContent:Fa,insertContent:Ia,isSingleLeftClick:La,$:Ra,$$:za,computedStyle:Ba,copyStyleSheetsToWindow:Va});let Ua=!1,Wa;const Ga=function(){if(Wa.options.autoSetup===!1)return;let e=Array.prototype.slice.call(F.getElementsByTagName(`video`)),t=Array.prototype.slice.call(F.getElementsByTagName(`audio`)),n=Array.prototype.slice.call(F.getElementsByTagName(`video-js`)),r=e.concat(t,n);if(r&&r.length>0)for(let e=0,t=r.length;e<t;e++){let t=r[e];if(t&&t.getAttribute)t.player===void 0&&t.getAttribute(`data-setup`)!==null&&Wa(t);else{Ka(1);break}}else Ua||Ka(1)};function Ka(e,t){fa()&&(t&&(Wa=t),x.setTimeout(Ga,e))}function qa(){Ua=!0,x.removeEventListener(`load`,qa)}fa()&&(F.readyState===`complete`?qa():x.addEventListener(`load`,qa));const Ja=function(e){let t=F.createElement(`style`);return t.className=e,t},Ya=function(e,t){e.styleSheet?e.styleSheet.cssText=t:e.textContent=t};var Xa=new WeakMap;let Za=3;function Qa(){return Za++}function $a(e,t){if(!Xa.has(e))return;let n=Xa.get(e);n.handlers[t].length===0&&(delete n.handlers[t],e.removeEventListener?e.removeEventListener(t,n.dispatcher,!1):e.detachEvent&&e.detachEvent(`on`+t,n.dispatcher)),Object.getOwnPropertyNames(n.handlers).length<=0&&(delete n.handlers,delete n.dispatcher,delete n.disabled),Object.getOwnPropertyNames(n).length===0&&Xa.delete(e)}function eo(e,t,n,r){n.forEach(function(n){e(t,n,r)})}function to(e){if(e.fixed_)return e;function t(){return!0}function n(){return!1}if(!e||!e.isPropagationStopped||!e.isImmediatePropagationStopped){let r=e||x.event;e={};let i=[`layerX`,`layerY`,`keyLocation`,`path`,`webkitMovementX`,`webkitMovementY`,`mozPressure`,`mozInputSource`];for(let t in r)i.includes(t)||t===`returnValue`&&r.preventDefault||(e[t]=r[t]);if(e.target||(e.target=e.srcElement||F),e.relatedTarget||(e.relatedTarget=e.fromElement===e.target?e.toElement:e.fromElement),e.preventDefault=function(){r.preventDefault&&r.preventDefault(),e.returnValue=!1,r.returnValue=!1,e.defaultPrevented=!0},e.defaultPrevented=!1,e.stopPropagation=function(){r.stopPropagation&&r.stopPropagation(),e.cancelBubble=!0,r.cancelBubble=!0,e.isPropagationStopped=t},e.isPropagationStopped=n,e.stopImmediatePropagation=function(){r.stopImmediatePropagation&&r.stopImmediatePropagation(),e.isImmediatePropagationStopped=t,e.stopPropagation()},e.isImmediatePropagationStopped=n,e.clientX!==null&&e.clientX!==void 0){let t=F.documentElement,n=F.body;e.pageX=e.clientX+(t&&t.scrollLeft||n&&n.scrollLeft||0)-(t&&t.clientLeft||n&&n.clientLeft||0),e.pageY=e.clientY+(t&&t.scrollTop||n&&n.scrollTop||0)-(t&&t.clientTop||n&&n.clientTop||0)}e.which=e.charCode||e.keyCode,e.button!==null&&e.button!==void 0&&(e.button=e.button&1?0:e.button&4?1:e.button&2?2:0)}return e.fixed_=!0,e}let no;const ro=function(){if(typeof no!=`boolean`){no=!1;try{let e=Object.defineProperty({},"passive",{get(){no=!0}});x.addEventListener(`test`,null,e),x.removeEventListener(`test`,null,e)}catch{}}return no},io=[`touchstart`,`touchmove`];function ao(e,t,n){if(Array.isArray(t))return eo(ao,e,t,n);Xa.has(e)||Xa.set(e,{});let r=Xa.get(e);if(r.handlers||={},r.handlers[t]||(r.handlers[t]=[]),n.guid||=Qa(),r.handlers[t].push(n),r.dispatcher||=(r.disabled=!1,function(t,n){if(r.disabled)return;t=to(t);let i=r.handlers[t.type];if(i){let r=i.slice(0);for(let i=0,a=r.length;i<a&&!t.isImmediatePropagationStopped();i++)try{r[i].call(e,t,n)}catch(e){U.error(e)}}}),r.handlers[t].length===1){if(e.addEventListener){let n=!1;ro()&&io.indexOf(t)>-1&&(n={passive:!0}),e.addEventListener(t,r.dispatcher,n)}else e.attachEvent&&e.attachEvent(`on`+t,r.dispatcher)}}function oo(e,t,n){if(!Xa.has(e))return;let r=Xa.get(e);if(!r.handlers)return;if(Array.isArray(t))return eo(oo,e,t,n);let i=function(e,t){r.handlers[t]=[],$a(e,t)};if(t===void 0){for(let t in r.handlers)Object.prototype.hasOwnProperty.call(r.handlers||{},t)&&i(e,t);return}let a=r.handlers[t];if(a){if(!n)i(e,t);else{if(n.guid)for(let e=0;e<a.length;e++)a[e].guid===n.guid&&a.splice(e--,1);$a(e,t)}}}function so(e,t,n){let r=Xa.has(e)?Xa.get(e):{},i=e.parentNode||e.ownerDocument;if(typeof t==`string`?t={type:t,target:e}:t.target||(t.target=e),t=to(t),r.dispatcher&&r.dispatcher.call(e,t,n),i&&!t.isPropagationStopped()&&t.bubbles===!0)so.call(null,i,t,n);else if(!i&&!t.defaultPrevented&&t.target&&t.target[t.type]){Xa.has(t.target)||Xa.set(t.target,{});let e=Xa.get(t.target);t.target[t.type]&&(e.disabled=!0,typeof t.target[t.type]==`function`&&t.target[t.type](),e.disabled=!1)}return!t.defaultPrevented}function co(e,t,n){if(Array.isArray(t))return eo(co,e,t,n);let r=function(){oo(e,t,r),n.apply(this,arguments)};r.guid=n.guid=n.guid||Qa(),ao(e,t,r)}function lo(e,t,n){let r=function(){oo(e,t,r),n.apply(this,arguments)};r.guid=n.guid=n.guid||Qa(),ao(e,t,r)}var uo=Object.freeze({__proto__:null,fixEvent:to,on:ao,off:oo,trigger:so,one:co,any:lo});const K=function(e,t,n){t.guid||=Qa();let r=t.bind(e);return r.guid=n?n+`_`+t.guid:t.guid,r},fo=function(e,t){let n=x.performance.now();return function(...r){let i=x.performance.now();i-n>=t&&(e(...r),n=i)}},po=function(e,t,n,r=x){let i,a=()=>{r.clearTimeout(i),i=null},o=function(){let a=this,o=arguments,s=function(){i=null,s=null,n||e.apply(a,o)};!i&&n&&e.apply(a,o),r.clearTimeout(i),i=r.setTimeout(s,t)};return o.cancel=a,o};var mo=Object.freeze({__proto__:null,UPDATE_REFRESH_INTERVAL:30,bind_:K,throttle:fo,debounce:po});let ho;class go{on(e,t){let n=this.addEventListener;this.addEventListener=()=>{},ao(this,e,t),this.addEventListener=n}off(e,t){oo(this,e,t)}one(e,t){let n=this.addEventListener;this.addEventListener=()=>{},co(this,e,t),this.addEventListener=n}any(e,t){let n=this.addEventListener;this.addEventListener=()=>{},lo(this,e,t),this.addEventListener=n}trigger(e){let t=e.type||e;typeof e==`string`&&(e={type:t}),e=to(e),this.allowedEvents_[t]&&this[`on`+t]&&this[`on`+t](e),so(this,e)}queueTrigger(e){ho||=new Map;let t=e.type||e,n=ho.get(this);n||(n=new Map,ho.set(this,n));let r=n.get(t);n.delete(t),x.clearTimeout(r);let i=x.setTimeout(()=>{n.delete(t),n.size===0&&(n=null,ho.delete(this)),this.trigger(e)},0);n.set(t,i)}}go.prototype.allowedEvents_={},go.prototype.addEventListener=go.prototype.on,go.prototype.removeEventListener=go.prototype.off,go.prototype.dispatchEvent=go.prototype.trigger;const _o=e=>typeof e.name==`function`?e.name():typeof e.name==`string`?e.name:e.name_?e.name_:e.constructor&&e.constructor.name?e.constructor.name:typeof e,vo=e=>e instanceof go||!!e.eventBusEl_&&[`on`,`one`,`off`,`trigger`].every(t=>typeof e[t]==`function`),yo=(e,t)=>{vo(e)?t():(e.eventedCallbacks||=[],e.eventedCallbacks.push(t))},bo=e=>typeof e==`string`&&/\S/.test(e)||Array.isArray(e)&&!!e.length,xo=(e,t,n)=>{if(!e||!e.nodeName&&!vo(e))throw Error(`Invalid target for ${_o(t)}#${n}; must be a DOM node or evented object.`)},So=(e,t,n)=>{if(!bo(e))throw Error(`Invalid event type for ${_o(t)}#${n}; must be a non-empty string or array.`)},Co=(e,t,n)=>{if(typeof e!=`function`)throw Error(`Invalid listener for ${_o(t)}#${n}; must be a function.`)},wo=(e,t,n)=>{let r=t.length<3||t[0]===e||t[0]===e.eventBusEl_,i,a,o;return r?(i=e.eventBusEl_,t.length>=3&&t.shift(),[a,o]=t):(i=t[0],a=t[1],o=t[2]),xo(i,e,n),So(a,e,n),Co(o,e,n),o=K(e,o),{isTargetingSelf:r,target:i,type:a,listener:o}},To=(e,t,n,r)=>{xo(e,e,t),e.nodeName?uo[t](e,n,r):e[t](n,r)},Eo={on(...e){let{isTargetingSelf:t,target:n,type:r,listener:i}=wo(this,e,`on`);if(To(n,`on`,r,i),!t){let e=()=>this.off(n,r,i);e.guid=i.guid;let t=()=>this.off(`dispose`,e);t.guid=i.guid,To(this,`on`,`dispose`,e),To(n,`on`,`dispose`,t)}},one(...e){let{isTargetingSelf:t,target:n,type:r,listener:i}=wo(this,e,`one`);if(t)To(n,`one`,r,i);else{let e=(...t)=>{this.off(n,r,e),i.apply(null,t)};e.guid=i.guid,To(n,`one`,r,e)}},any(...e){let{isTargetingSelf:t,target:n,type:r,listener:i}=wo(this,e,`any`);if(t)To(n,`any`,r,i);else{let e=(...t)=>{this.off(n,r,e),i.apply(null,t)};e.guid=i.guid,To(n,`any`,r,e)}},off(e,t,n){if(!e||bo(e))oo(this.eventBusEl_,e,t);else{let r=e,i=t;xo(r,this,`off`),So(i,this,`off`),Co(n,this,`off`),n=K(this,n),this.off(`dispose`,n),r.nodeName?(oo(r,i,n),oo(r,`dispose`,n)):vo(r)&&(r.off(i,n),r.off(`dispose`,n))}},trigger(e,t){xo(this.eventBusEl_,this,`trigger`);let n=e&&typeof e!=`string`?e.type:e;if(!bo(n))throw Error(`Invalid event type for ${_o(this)}#trigger; must be a non-empty string or object with a type key that has a non-empty value.`);return so(this.eventBusEl_,e,t)}};function Do(e,t={}){let{eventBusKey:n}=t;if(n){if(!e[n].nodeName)throw Error(`The eventBusKey "${n}" does not refer to an element.`);e.eventBusEl_=e[n]}else e.eventBusEl_=G(`span`,{className:`vjs-event-bus`});return Object.assign(e,Eo),e.eventedCallbacks&&e.eventedCallbacks.forEach(e=>{e()}),e.on(`dispose`,()=>{e.off(),[e,e.el_,e.eventBusEl_].forEach(function(e){e&&Xa.has(e)&&Xa.delete(e)}),x.setTimeout(()=>{e.eventBusEl_=null},0)}),e}const Oo={state:{},setState(e){typeof e==`function`&&(e=e());let t;return Ni(e,(e,n)=>{this.state[n]!==e&&(t||={},t[n]={from:this.state[n],to:e}),this.state[n]=e}),t&&vo(this)&&this.trigger({changes:t,type:`statechanged`}),t}};function ko(e,t){return Object.assign(e,Oo),e.state=Object.assign({},e.state,t),typeof e.handleStateChanged==`function`&&vo(e)&&e.on(`statechanged`,e.handleStateChanged),e}const Ao=function(e){return typeof e==`string`?e.replace(/./,e=>e.toLowerCase()):e},jo=function(e){return typeof e==`string`?e.replace(/./,e=>e.toUpperCase()):e},Mo=function(e,t){return jo(e)===jo(t)};var No=Object.freeze({__proto__:null,toLowerCase:Ao,toTitleCase:jo,titleCaseEquals:Mo});class q{constructor(e,t,n){if(this.player_=!e&&this.play?e=this:e,this.isDisposed_=!1,this.parentComponent_=null,this.options_=W({},this.options_),t=this.options_=W(this.options_,t),this.id_=t.id||t.el&&t.el.id,!this.id_){let t=e&&e.id&&e.id()||`no_player`;this.id_=`${t}_component_${Qa()}`}this.name_=t.name||null,t.el?this.el_=t.el:t.createEl!==!1&&(this.el_=this.createEl()),t.className&&this.el_&&t.className.split(` `).forEach(e=>this.addClass(e)),[`on`,`off`,`one`,`any`,`trigger`].forEach(e=>{this[e]=void 0}),t.evented!==!1&&(Do(this,{eventBusKey:this.el_?`el_`:null}),this.handleLanguagechange=this.handleLanguagechange.bind(this),this.on(this.player_,`languagechange`,this.handleLanguagechange)),ko(this,this.constructor.defaultState),this.children_=[],this.childIndex_={},this.childNameIndex_={},this.setTimeoutIds_=new Set,this.setIntervalIds_=new Set,this.rafIds_=new Set,this.namedRafs_=new Map,this.clearingTimersOnDispose_=!1,t.initChildren!==!1&&this.initChildren(),this.ready(n),t.reportTouchActivity!==!1&&this.enableTouchActivity()}dispose(e={}){if(!this.isDisposed_){if(this.readyQueue_&&(this.readyQueue_.length=0),this.trigger({type:`dispose`,bubbles:!1}),this.isDisposed_=!0,this.children_)for(let e=this.children_.length-1;e>=0;e--)this.children_[e].dispose&&this.children_[e].dispose();this.children_=null,this.childIndex_=null,this.childNameIndex_=null,this.parentComponent_=null,this.el_&&=(this.el_.parentNode&&(e.restoreEl?this.el_.parentNode.replaceChild(e.restoreEl,this.el_):this.el_.parentNode.removeChild(this.el_)),null),this.player_=null}}isDisposed(){return!!this.isDisposed_}player(){return this.player_}options(e){return e&&(this.options_=W(this.options_,e)),this.options_}el(){return this.el_}createEl(e,t,n){return G(e,t,n)}localize(e,t,n=e){let r=this.player_.language&&this.player_.language(),i=this.player_.languages&&this.player_.languages(),a=i&&i[r],o=r&&r.split(`-`)[0],s=i&&i[o],c=n;return a&&a[e]?c=a[e]:s&&s[e]&&(c=s[e]),t&&(c=c.replace(/\{(\d+)\}/g,function(e,n){let r=t[n-1],i=r;return r===void 0&&(i=e),i})),c}handleLanguagechange(){}contentEl(){return this.contentEl_||this.el_}id(){return this.id_}name(){return this.name_}children(){return this.children_}getChildById(e){return this.childIndex_[e]}getChild(e){if(e)return this.childNameIndex_[e]}getDescendant(...e){e=e.reduce((e,t)=>e.concat(t),[]);let t=this;for(let n=0;n<e.length;n++)if(t=t.getChild(e[n]),!t||!t.getChild)return;return t}setIcon(e,t=this.el()){if(!this.player_.options_.experimentalSvgIcons)return;let n=`http://www.w3.org/2000/svg`,r=G(`span`,{className:`vjs-icon-placeholder vjs-svg-icon`},{"aria-hidden":`true`}),i=F.createElementNS(n,`svg`);i.setAttributeNS(null,`viewBox`,`0 0 512 512`);let a=F.createElementNS(n,`use`);return i.appendChild(a),a.setAttributeNS(null,`href`,`#vjs-icon-${e}`),r.appendChild(i),this.iconIsSet_?t.replaceChild(r,t.querySelector(`.vjs-icon-placeholder`)):t.appendChild(r),this.iconIsSet_=!0,r}addChild(e,t={},n=this.children_.length){let r,i;if(typeof e==`string`){i=jo(e);let n=t.componentClass||i;t.name=i;let a=q.getComponent(n);if(!a)throw Error(`Component ${n} does not exist`);if(typeof a!=`function`)return null;r=new a(this.player_||this,t)}else r=e;if(r.parentComponent_&&r.parentComponent_.removeChild(r),this.children_.splice(n,0,r),r.parentComponent_=this,typeof r.id==`function`&&(this.childIndex_[r.id()]=r),i||=r.name&&jo(r.name()),i&&(this.childNameIndex_[i]=r,this.childNameIndex_[Ao(i)]=r),typeof r.el==`function`&&r.el()){let e=null;this.children_[n+1]&&(this.children_[n+1].el_?e=this.children_[n+1].el_:pa(this.children_[n+1])&&(e=this.children_[n+1])),this.contentEl().insertBefore(r.el(),e)}return r}removeChild(e){if(typeof e==`string`&&(e=this.getChild(e)),!e||!this.children_)return;let t=!1;for(let n=this.children_.length-1;n>=0;n--)if(this.children_[n]===e){t=!0,this.children_.splice(n,1);break}if(!t)return;e.parentComponent_=null,this.childIndex_[e.id()]=null,this.childNameIndex_[jo(e.name())]=null,this.childNameIndex_[Ao(e.name())]=null;let n=e.el();n&&n.parentNode===this.contentEl()&&this.contentEl().removeChild(e.el())}initChildren(){let e=this.options_.children;if(e){let t=this.options_,n=e=>{let n=e.name,r=e.opts;if(t[n]!==void 0&&(r=t[n]),r===!1)return;r===!0&&(r={}),r.playerOptions=this.options_.playerOptions;let i=this.addChild(n,r);i&&(this[n]=i)},r,i=q.getComponent(`Tech`);r=Array.isArray(e)?e:Object.keys(e),r.concat(Object.keys(this.options_).filter(function(e){return!r.some(function(t){return typeof t==`string`?e===t:e===t.name})})).map(t=>{let n,r;return typeof t==`string`?(n=t,r=e[n]||this.options_[n]||{}):(n=t.name,r=t),{name:n,opts:r}}).filter(e=>{let t=q.getComponent(e.opts.componentClass||jo(e.name));return t&&!i.isTech(t)}).forEach(n)}}buildCSSClass(){return``}ready(e,t=!1){e&&(this.isReady_?t?e.call(this):this.setTimeout(e,1):(this.readyQueue_=this.readyQueue_||[],this.readyQueue_.push(e)))}triggerReady(){this.isReady_=!0,this.setTimeout(function(){let e=this.readyQueue_;this.readyQueue_=[],e&&e.length>0&&e.forEach(function(e){e.call(this)},this),this.trigger(`ready`)},1)}$(e,t){return Ra(e,t||this.contentEl())}$$(e,t){return za(e,t||this.contentEl())}hasClass(e){return va(this.el_,e)}addClass(...e){ya(this.el_,...e)}removeClass(...e){ba(this.el_,...e)}toggleClass(e,t){xa(this.el_,e,t)}show(){this.removeClass(`vjs-hidden`)}hide(){this.addClass(`vjs-hidden`)}lockShowing(){this.addClass(`vjs-lock-showing`)}unlockShowing(){this.removeClass(`vjs-lock-showing`)}getAttribute(e){return wa(this.el_,e)}setAttribute(e,t){Ta(this.el_,e,t)}removeAttribute(e){Ea(this.el_,e)}width(e,t){return this.dimension(`width`,e,t)}height(e,t){return this.dimension(`height`,e,t)}dimensions(e,t){this.width(e,!0),this.height(t)}dimension(e,t,n){if(t!==void 0){(t===null||t!==t)&&(t=0),(``+t).indexOf(`%`)!==-1||(``+t).indexOf(`px`)!==-1?this.el_.style[e]=t:t===`auto`?this.el_.style[e]=``:this.el_.style[e]=t+`px`,n||this.trigger(`componentresize`);return}if(!this.el_)return 0;let r=this.el_.style[e],i=r.indexOf(`px`);return parseInt(i===-1?this.el_[`offset`+jo(e)]:r.slice(0,i),10)}currentDimension(e){let t=0;if(e!==`width`&&e!==`height`)throw Error(`currentDimension only accepts width or height value`);if(t=Ba(this.el_,e),t=parseFloat(t),t===0||isNaN(t)){let n=`offset${jo(e)}`;t=this.el_[n]}return t}currentDimensions(){return{width:this.currentDimension(`width`),height:this.currentDimension(`height`)}}currentWidth(){return this.currentDimension(`width`)}currentHeight(){return this.currentDimension(`height`)}getPositions(){let e=this.el_.getBoundingClientRect();return{boundingClientRect:{x:e.x,y:e.y,width:e.width,height:e.height,top:e.top,right:e.right,bottom:e.bottom,left:e.left},center:{x:e.left+e.width/2,y:e.top+e.height/2,width:0,height:0,top:e.top+e.height/2,right:e.left+e.width/2,bottom:e.top+e.height/2,left:e.left+e.width/2}}}focus(){this.el_.focus()}blur(){this.el_.blur()}handleKeyDown(e){this.player_&&(e.key!==`Tab`&&!(this.player_.options_.playerOptions.spatialNavigation&&this.player_.options_.playerOptions.spatialNavigation.enabled)&&e.stopPropagation(),this.player_.handleKeyDown(e))}handleKeyPress(e){this.handleKeyDown(e)}emitTapEvents(){let e=0,t=null,n;this.on(`touchstart`,function(r){r.touches.length===1&&(t={pageX:r.touches[0].pageX,pageY:r.touches[0].pageY},e=x.performance.now(),n=!0)}),this.on(`touchmove`,function(e){if(e.touches.length>1)n=!1;else if(t){let r=e.touches[0].pageX-t.pageX,i=e.touches[0].pageY-t.pageY;Math.sqrt(r*r+i*i)>10&&(n=!1)}});let r=function(){n=!1};this.on(`touchleave`,r),this.on(`touchcancel`,r),this.on(`touchend`,function(r){t=null,n===!0&&x.performance.now()-e<200&&(r.preventDefault(),this.trigger(`tap`))})}enableTouchActivity(){if(!this.player()||!this.player().reportUserActivity)return;let e=K(this.player(),this.player().reportUserActivity),t;this.on(`touchstart`,function(){e(),this.clearInterval(t),t=this.setInterval(e,250)});let n=function(n){e(),this.clearInterval(t)};this.on(`touchmove`,e),this.on(`touchend`,n),this.on(`touchcancel`,n)}setTimeout(e,t){var n;return e=K(this,e),this.clearTimersOnDispose_(),n=x.setTimeout(()=>{this.setTimeoutIds_.has(n)&&this.setTimeoutIds_.delete(n),e()},t),this.setTimeoutIds_.add(n),n}clearTimeout(e){return this.setTimeoutIds_.has(e)&&(this.setTimeoutIds_.delete(e),x.clearTimeout(e)),e}setInterval(e,t){e=K(this,e),this.clearTimersOnDispose_();let n=x.setInterval(e,t);return this.setIntervalIds_.add(n),n}clearInterval(e){return this.setIntervalIds_.has(e)&&(this.setIntervalIds_.delete(e),x.clearInterval(e)),e}requestAnimationFrame(e){this.clearTimersOnDispose_();var t;return e=K(this,e),t=x.requestAnimationFrame(()=>{this.rafIds_.has(t)&&this.rafIds_.delete(t),e()}),this.rafIds_.add(t),t}requestNamedAnimationFrame(e,t){this.namedRafs_.has(e)&&this.cancelNamedAnimationFrame(e),this.clearTimersOnDispose_(),t=K(this,t);let n=this.requestAnimationFrame(()=>{t(),this.namedRafs_.has(e)&&this.namedRafs_.delete(e)});return this.namedRafs_.set(e,n),e}cancelNamedAnimationFrame(e){this.namedRafs_.has(e)&&(this.cancelAnimationFrame(this.namedRafs_.get(e)),this.namedRafs_.delete(e))}cancelAnimationFrame(e){return this.rafIds_.has(e)&&(this.rafIds_.delete(e),x.cancelAnimationFrame(e)),e}clearTimersOnDispose_(){this.clearingTimersOnDispose_||(this.clearingTimersOnDispose_=!0,this.one(`dispose`,()=>{[[`namedRafs_`,`cancelNamedAnimationFrame`],[`rafIds_`,`cancelAnimationFrame`],[`setTimeoutIds_`,`clearTimeout`],[`setIntervalIds_`,`clearInterval`]].forEach(([e,t])=>{this[e].forEach((e,n)=>this[t](n))}),this.clearingTimersOnDispose_=!1}))}getIsDisabled(){return!!this.el_.disabled}getIsExpresslyInert(){return this.el_.inert&&!this.el_.ownerDocument.documentElement.inert}getIsFocusable(e){return(e||this.el_).tabIndex>=0&&!(this.getIsDisabled()||this.getIsExpresslyInert())}getIsAvailableToBeFocused(e){function t(e){let t=x.getComputedStyle(e,null),n=t.getPropertyValue(`visibility`);return t.getPropertyValue(`display`)!==`none`&&![`hidden`,`collapse`].includes(n)}function n(e){return!(!t(e.parentElement)||!t(e)||e.style.opacity===`0`||x.getComputedStyle(e).height===`0px`||x.getComputedStyle(e).width===`0px`)}function r(e){if(e.offsetWidth+e.offsetHeight+e.getBoundingClientRect().height+e.getBoundingClientRect().width===0)return!1;let t={x:e.getBoundingClientRect().left+e.offsetWidth/2,y:e.getBoundingClientRect().top+e.offsetHeight/2};if(t.x<0||t.x>(F.documentElement.clientWidth||x.innerWidth)||t.y<0||t.y>(F.documentElement.clientHeight||x.innerHeight))return!1;let n=F.elementFromPoint(t.x,t.y);for(;n;){if(n===e)return!0;if(n.parentNode)n=n.parentNode;else return!1}}return e||=this.el(),!!(r(e)&&n(e)&&(!e.parentElement||e.tabIndex>=0))}static registerComponent(e,t){if(typeof e!=`string`||!e)throw Error(`Illegal component name, "${e}"; must be a non-empty string.`);let n=q.getComponent(`Tech`),r=n&&n.isTech(t),i=q===t||q.prototype.isPrototypeOf(t.prototype);if(r||!i){let t;throw t=r?`techs must be registered using Tech.registerTech()`:`must be a Component subclass`,Error(`Illegal component, "${e}"; ${t}.`)}e=jo(e),q.components_||={};let a=q.getComponent(`Player`);if(e===`Player`&&a&&a.players){let e=a.players,t=Object.keys(e);if(e&&t.length>0){for(let n=0;n<t.length;n++)if(e[t[n]]!==null)throw Error(`Can not register Player component after player has been created.`)}}return q.components_[e]=t,q.components_[Ao(e)]=t,t}static getComponent(e){if(e&&q.components_)return q.components_[e]}}q.registerComponent(`Component`,q);function Po(e,t,n){if(typeof t!=`number`||t<0||t>n)throw Error(`Failed to execute '${e}' on 'TimeRanges': The index provided (${t}) is non-numeric or out of bounds (0-${n}).`)}function Fo(e,t,n,r){return Po(e,r,n.length-1),n[r][t]}function Io(e){let t;return t=e===void 0||e.length===0?{length:0,start(){throw Error(`This TimeRanges object is empty`)},end(){throw Error(`This TimeRanges object is empty`)}}:{length:e.length,start:Fo.bind(null,`start`,0,e),end:Fo.bind(null,`end`,1,e)},x.Symbol&&x.Symbol.iterator&&(t[x.Symbol.iterator]=()=>(e||[]).values()),t}function Lo(e,t){return Array.isArray(e)?Io(e):e===void 0||t===void 0?Io():Io([[e,t]])}const Ro=function(e,t){e=e<0?0:e;let n=Math.floor(e%60),r=Math.floor(e/60%60),i=Math.floor(e/3600),a=Math.floor(t/60%60),o=Math.floor(t/3600);return(isNaN(e)||e===1/0)&&(i=r=n=`-`),i=i>0||o>0?i+`:`:``,r=((i||a>=10)&&r<10?`0`+r:r)+`:`,n=n<10?`0`+n:n,i+r+n};let zo=Ro;function Bo(e){zo=e}function Vo(){zo=Ro}function Ho(e,t=e){return zo(e,t)}var Uo=Object.freeze({__proto__:null,createTimeRanges:Lo,createTimeRange:Lo,setFormatTime:Bo,resetFormatTime:Vo,formatTime:Ho});function Wo(e,t){let n=0,r,i;if(!t)return 0;e&&e.length||(e=Lo(0,0));for(let a=0;a<e.length;a++)r=e.start(a),i=e.end(a),i>t&&(i=t),n+=i-r;return n/t}function Go(e){if(e instanceof Go)return e;typeof e==`number`?this.code=e:typeof e==`string`?this.message=e:Fi(e)&&(typeof e.code==`number`&&(this.code=e.code),Object.assign(this,e)),this.message||=Go.defaultMessages[this.code]||``}Go.prototype.code=0,Go.prototype.message=``,Go.prototype.status=null,Go.prototype.metadata=null,Go.errorTypes=[`MEDIA_ERR_CUSTOM`,`MEDIA_ERR_ABORTED`,`MEDIA_ERR_NETWORK`,`MEDIA_ERR_DECODE`,`MEDIA_ERR_SRC_NOT_SUPPORTED`,`MEDIA_ERR_ENCRYPTED`],Go.defaultMessages={1:`You aborted the media playback`,2:`A network error caused the media download to fail part-way.`,3:`The media playback was aborted due to a corruption problem or because the media used features your browser did not support.`,4:`The media could not be loaded, either because the server or network failed or because the format is not supported.`,5:`The media is encrypted and we do not have the keys to decrypt it.`},Go.MEDIA_ERR_CUSTOM=0,Go.prototype.MEDIA_ERR_CUSTOM=0,Go.MEDIA_ERR_ABORTED=1,Go.prototype.MEDIA_ERR_ABORTED=1,Go.MEDIA_ERR_NETWORK=2,Go.prototype.MEDIA_ERR_NETWORK=2,Go.MEDIA_ERR_DECODE=3,Go.prototype.MEDIA_ERR_DECODE=3,Go.MEDIA_ERR_SRC_NOT_SUPPORTED=4,Go.prototype.MEDIA_ERR_SRC_NOT_SUPPORTED=4,Go.MEDIA_ERR_ENCRYPTED=5,Go.prototype.MEDIA_ERR_ENCRYPTED=5;function Ko(e){return e!=null&&typeof e.then==`function`}function qo(e){Ko(e)&&e.then(null,e=>{})}const Jo=function(e){return[`kind`,`label`,`language`,`id`,`inBandMetadataTrackDispatchType`,`mode`,`src`].reduce((t,n,r)=>(e[n]&&(t[n]=e[n]),t),{cues:e.cues&&Array.prototype.map.call(e.cues,function(e){return{startTime:e.startTime,endTime:e.endTime,text:e.text,id:e.id}})})};var Yo={textTracksToJson:function(e){let t=e.$$(`track`),n=Array.prototype.map.call(t,e=>e.track);return Array.prototype.map.call(t,function(e){let t=Jo(e.track);return e.src&&(t.src=e.src),t}).concat(Array.prototype.filter.call(e.textTracks(),function(e){return n.indexOf(e)===-1}).map(Jo))},jsonToTextTracks:function(e,t){return e.forEach(function(e){let n=t.addRemoteTextTrack(e).track;!e.src&&e.cues&&e.cues.forEach(e=>n.addCue(e))}),t.textTracks()},trackToJson:Jo};const Xo=`vjs-modal-dialog`;class Zo extends q{constructor(e,t){super(e,t),this.handleKeyDown_=e=>this.handleKeyDown(e),this.close_=e=>this.close(e),this.opened_=this.hasBeenOpened_=this.hasBeenFilled_=!1,this.closeable(!this.options_.uncloseable),this.content(this.options_.content),this.contentEl_=G(`div`,{className:`${Xo}-content`},{role:`document`}),this.descEl_=G(`p`,{className:`${Xo}-description vjs-control-text`,id:this.el().getAttribute(`aria-describedby`)}),ga(this.descEl_,this.description()),this.el_.appendChild(this.descEl_),this.el_.appendChild(this.contentEl_)}createEl(){return super.createEl(`div`,{className:this.buildCSSClass(),tabIndex:-1},{"aria-describedby":`${this.id()}_description`,"aria-hidden":`true`,"aria-label":this.label(),role:`dialog`,"aria-live":`polite`})}dispose(){this.contentEl_=null,this.descEl_=null,this.previouslyActiveEl_=null,super.dispose()}buildCSSClass(){return`${Xo} vjs-hidden ${super.buildCSSClass()}`}label(){return this.localize(this.options_.label||`Modal Window`)}description(){let e=this.options_.description||this.localize(`This is a modal window.`);return this.closeable()&&(e+=` `+this.localize(`This modal can be closed by pressing the Escape key or activating the close button.`)),e}open(){if(this.opened_){this.options_.fillAlways&&this.fill();return}let e=this.player();this.trigger(`beforemodalopen`),this.opened_=!0,(this.options_.fillAlways||!this.hasBeenOpened_&&!this.hasBeenFilled_)&&this.fill(),this.wasPlaying_=!e.paused(),this.options_.pauseOnOpen&&this.wasPlaying_&&e.pause(),this.on(`keydown`,this.handleKeyDown_),this.hadControls_=e.controls(),e.controls(!1),this.show(),this.conditionalFocus_(),this.el().setAttribute(`aria-hidden`,`false`),this.trigger(`modalopen`),this.hasBeenOpened_=!0}opened(e){return typeof e==`boolean`&&this[e?`open`:`close`](),this.opened_}close(){if(!this.opened_)return;let e=this.player();this.trigger(`beforemodalclose`),this.opened_=!1,this.wasPlaying_&&this.options_.pauseOnOpen&&e.play(),this.off(`keydown`,this.handleKeyDown_),this.hadControls_&&e.controls(!0),this.hide(),this.el().setAttribute(`aria-hidden`,`true`),this.trigger({type:`modalclose`,bubbles:!0}),this.conditionalBlur_(),this.options_.temporary&&this.dispose()}closeable(e){if(typeof e==`boolean`){let t=this.closeable_=!!e,n=this.getChild(`closeButton`);if(t&&!n){let e=this.contentEl_;this.contentEl_=this.el_,n=this.addChild(`closeButton`,{controlText:`Close Modal Dialog`}),this.contentEl_=e,this.on(n,`close`,this.close_)}!t&&n&&(this.off(n,`close`,this.close_),this.removeChild(n),n.dispose())}return this.closeable_}fill(){this.fillWith(this.content())}fillWith(e){let t=this.contentEl(),n=t.parentNode,r=t.nextSibling;this.trigger(`beforemodalfill`),this.hasBeenFilled_=!0,n.removeChild(t),this.empty(),Ia(t,e),this.trigger(`modalfill`),r?n.insertBefore(t,r):n.appendChild(t);let i=this.getChild(`closeButton`);i&&n.appendChild(i.el_),this.trigger(`aftermodalfill`)}empty(){this.trigger(`beforemodalempty`),Na(this.contentEl()),this.trigger(`modalempty`)}content(e){return e!==void 0&&(this.content_=e),this.content_}conditionalFocus_(){let e=F.activeElement,t=this.player_.el_;this.previouslyActiveEl_=null,(t.contains(e)||t===e)&&(this.previouslyActiveEl_=e,this.focus())}conditionalBlur_(){this.previouslyActiveEl_&&=(this.previouslyActiveEl_.focus(),null)}handleKeyDown(e){if(this.trigger({type:`modalKeydown`,originalEvent:e,target:this,bubbles:!0}),e.stopPropagation(),e.key===`Escape`&&this.closeable()){e.preventDefault(),this.close();return}if(e.key!==`Tab`)return;let t=this.focusableEls_(),n=this.el_.querySelector(`:focus`),r;for(let e=0;e<t.length;e++)if(n===t[e]){r=e;break}F.activeElement===this.el_&&(r=0),e.shiftKey&&r===0?(t[t.length-1].focus(),e.preventDefault()):!e.shiftKey&&r===t.length-1&&(t[0].focus(),e.preventDefault())}focusableEls_(){let e=this.el_.querySelectorAll(`*`);return Array.prototype.filter.call(e,e=>(e instanceof x.HTMLAnchorElement||e instanceof x.HTMLAreaElement)&&e.hasAttribute(`href`)||(e instanceof x.HTMLInputElement||e instanceof x.HTMLSelectElement||e instanceof x.HTMLTextAreaElement||e instanceof x.HTMLButtonElement)&&!e.hasAttribute(`disabled`)||e instanceof x.HTMLIFrameElement||e instanceof x.HTMLObjectElement||e instanceof x.HTMLEmbedElement||e.hasAttribute(`tabindex`)&&e.getAttribute(`tabindex`)!==-1||e.hasAttribute(`contenteditable`))}}Zo.prototype.options_={pauseOnOpen:!0,temporary:!0},q.registerComponent(`ModalDialog`,Zo);class Qo extends go{constructor(e=[]){super(),this.tracks_=[];for(let t=0;t<e.length;t++)this.addTrack(e[t])}get length(){return this.tracks_.length}addTrack(e){let t=this.tracks_.length;``+t in this||Object.defineProperty(this,t,{get(){return this.tracks_[t]}}),this.tracks_.indexOf(e)===-1&&(this.tracks_.push(e),this.trigger({track:e,type:`addtrack`,target:this})),e.labelchange_=()=>{this.trigger({track:e,type:`labelchange`,target:this})},vo(e)&&e.addEventListener(`labelchange`,e.labelchange_)}removeTrack(e){let t;for(let n=0,r=this.length;n<r;n++)if(this[n]===e){t=this[n],t.off&&t.off(),this.tracks_.splice(n,1);break}t&&this.trigger({track:t,type:`removetrack`,target:this})}getTrackById(e){let t=null;for(let n=0,r=this.length;n<r;n++){let r=this[n];if(r.id===e){t=r;break}}return t}}Qo.prototype.allowedEvents_={change:`change`,addtrack:`addtrack`,removetrack:`removetrack`,labelchange:`labelchange`};for(let e in Qo.prototype.allowedEvents_)Qo.prototype[`on`+e]=null;const $o=function(e,t){for(let n=0;n<e.length;n++)Object.keys(e[n]).length&&t.id!==e[n].id&&(e[n].enabled=!1)};class es extends Qo{constructor(e=[]){for(let t=e.length-1;t>=0;t--)if(e[t].enabled){$o(e,e[t]);break}super(e),this.changing_=!1}addTrack(e){e.enabled&&$o(this,e),super.addTrack(e),e.addEventListener&&(e.enabledChange_=()=>{this.changing_||(this.changing_=!0,$o(this,e),this.changing_=!1,this.trigger(`change`))},e.addEventListener(`enabledchange`,e.enabledChange_))}removeTrack(e){super.removeTrack(e),e.removeEventListener&&e.enabledChange_&&(e.removeEventListener(`enabledchange`,e.enabledChange_),e.enabledChange_=null)}}const ts=function(e,t){for(let n=0;n<e.length;n++)Object.keys(e[n]).length&&t.id!==e[n].id&&(e[n].selected=!1)};class ns extends Qo{constructor(e=[]){for(let t=e.length-1;t>=0;t--)if(e[t].selected){ts(e,e[t]);break}super(e),this.changing_=!1,Object.defineProperty(this,"selectedIndex",{get(){for(let e=0;e<this.length;e++)if(this[e].selected)return e;return-1},set(){}})}addTrack(e){e.selected&&ts(this,e),super.addTrack(e),e.addEventListener&&(e.selectedChange_=()=>{this.changing_||(this.changing_=!0,ts(this,e),this.changing_=!1,this.trigger(`change`))},e.addEventListener(`selectedchange`,e.selectedChange_))}removeTrack(e){super.removeTrack(e),e.removeEventListener&&e.selectedChange_&&(e.removeEventListener(`selectedchange`,e.selectedChange_),e.selectedChange_=null)}}class rs extends Qo{addTrack(e){super.addTrack(e),this.queueChange_||=()=>this.queueTrigger(`change`),this.triggerSelectedlanguagechange||(this.triggerSelectedlanguagechange_=()=>this.trigger(`selectedlanguagechange`)),e.addEventListener(`modechange`,this.queueChange_),[`metadata`,`chapters`].indexOf(e.kind)===-1&&e.addEventListener(`modechange`,this.triggerSelectedlanguagechange_)}removeTrack(e){super.removeTrack(e),e.removeEventListener&&(this.queueChange_&&e.removeEventListener(`modechange`,this.queueChange_),this.selectedlanguagechange_&&e.removeEventListener(`modechange`,this.triggerSelectedlanguagechange_))}toJSON(){return this.tracks_.map(e=>e.toJSON())}}class is{constructor(e=[]){this.trackElements_=[],Object.defineProperty(this,"length",{get(){return this.trackElements_.length}});for(let t=0,n=e.length;t<n;t++)this.addTrackElement_(e[t])}addTrackElement_(e){let t=this.trackElements_.length;``+t in this||Object.defineProperty(this,t,{get(){return this.trackElements_[t]}}),this.trackElements_.indexOf(e)===-1&&this.trackElements_.push(e)}getTrackElementByTrack_(e){let t;for(let n=0,r=this.trackElements_.length;n<r;n++)if(e===this.trackElements_[n].track){t=this.trackElements_[n];break}return t}removeTrackElement_(e){for(let t=0,n=this.trackElements_.length;t<n;t++)if(e===this.trackElements_[t]){this.trackElements_[t].track&&typeof this.trackElements_[t].track.off==`function`&&this.trackElements_[t].track.off(),typeof this.trackElements_[t].off==`function`&&this.trackElements_[t].off(),this.trackElements_.splice(t,1);break}}}class as{constructor(e){as.prototype.setCues_.call(this,e),Object.defineProperty(this,"length",{get(){return this.length_}})}setCues_(e){let t=this.length||0,n=0,r=e.length;this.cues_=e,this.length_=e.length;let i=function(e){``+e in this||Object.defineProperty(this,``+e,{get(){return this.cues_[e]}})};if(t<r)for(n=t;n<r;n++)i.call(this,n)}getCueById(e){let t=null;for(let n=0,r=this.length;n<r;n++){let r=this[n];if(r.id===e){t=r;break}}return t}}const os={alternative:`alternative`,captions:`captions`,main:`main`,sign:`sign`,subtitles:`subtitles`,commentary:`commentary`},ss={alternative:`alternative`,descriptions:`descriptions`,main:`main`,"main-desc":`main-desc`,translation:`translation`,commentary:`commentary`},cs={subtitles:`subtitles`,captions:`captions`,descriptions:`descriptions`,chapters:`chapters`,metadata:`metadata`},ls={disabled:`disabled`,hidden:`hidden`,showing:`showing`};class us extends go{constructor(e={}){super();let t={id:e.id||`vjs_track_`+Qa(),kind:e.kind||``,language:e.language||``},n=e.label||``;for(let e in t)Object.defineProperty(this,e,{get(){return t[e]},set(){}});Object.defineProperty(this,"label",{get(){return n},set(e){e!==n&&(n=e,this.trigger(`labelchange`))}})}}const ds=function(e){return new URL(e,F.baseURI)},fs=function(e){return new URL(e,F.baseURI).href},ps=function(e){if(typeof e==`string`){let t=e.split(`?`)[0].replace(/\/+$/,``).match(/\.([^.\/]+)$/);return t?t[1].toLowerCase():``}return``},ms=function(e,t=x.location){return ds(e).origin!==t.origin};var hs=Object.freeze({__proto__:null,parseUrl:ds,getAbsoluteURL:fs,getFileExtension:ps,isCrossOrigin:ms});const gs=function(e,t){let n=new x.WebVTT.Parser(x,x.vttjs,x.WebVTT.StringDecoder()),r=[];n.oncue=function(e){t.addCue(e)},n.onparsingerror=function(e){r.push(e)},n.onflush=function(){t.trigger({type:`loadeddata`,target:t})},n.parse(e),r.length>0&&(x.console&&x.console.groupCollapsed&&x.console.groupCollapsed(`Text Track parsing errors for ${t.src}`),r.forEach(e=>U.error(e)),x.console&&x.console.groupEnd&&x.console.groupEnd()),n.flush()},_s=function(e,t){let n={uri:e},r=ms(e);r&&(n.cors=r);let i=t.tech_.crossOrigin()===`use-credentials`;i&&(n.withCredentials=i),Ge(n,K(this,function(e,n,r){if(e)return U.error(e,n);t.loaded_=!0,typeof x.WebVTT==`function`?gs(r,t):t.tech_&&t.tech_.any([`vttjsloaded`,`vttjserror`],e=>{if(e.type===`vttjserror`)U.error(`vttjs failed to load, stopping trying to process ${t.src}`);else return gs(r,t)})}))};class vs extends us{constructor(e={}){if(!e.tech)throw Error(`A tech was not provided.`);let t=W(e,{kind:cs[e.kind]||`subtitles`,language:e.language||e.srclang||``}),n=ls[t.mode]||`disabled`,r=t.default;(t.kind===`metadata`||t.kind===`chapters`)&&(n=`hidden`),super(t),this.tech_=t.tech,this.cues_=[],this.activeCues_=[],this.preload_=this.tech_.preloadTextTracks!==!1;let i=new as(this.cues_),a=new as(this.activeCues_),o=!1;this.timeupdateHandler=K(this,function(e={}){this.tech_.isDisposed()||(this.tech_.isReady_&&(this.activeCues=this.activeCues,o&&=(this.trigger(`cuechange`),!1)),e.type!==`timeupdate`&&(this.rvf_=this.tech_.requestVideoFrameCallback(this.timeupdateHandler)))}),this.tech_.one(`dispose`,()=>{this.stopTracking()}),n!==`disabled`&&this.startTracking(),Object.defineProperties(this,{default:{get(){return r},set(){}},mode:{get(){return n},set(e){ls[e]&&n!==e&&(n=e,!this.preload_&&n!==`disabled`&&this.cues.length===0&&_s(this.src,this),this.stopTracking(),n!==`disabled`&&this.startTracking(),this.trigger(`modechange`))}},cues:{get(){return this.loaded_?i:null},set(){}},activeCues:{get(){if(!this.loaded_)return null;if(this.cues.length===0)return a;let e=this.tech_.currentTime(),t=[];for(let n=0,r=this.cues.length;n<r;n++){let r=this.cues[n];r.startTime<=e&&r.endTime>=e&&t.push(r)}if(o=!1,t.length!==this.activeCues_.length)o=!0;else for(let e=0;e<t.length;e++)this.activeCues_.indexOf(t[e])===-1&&(o=!0);return this.activeCues_=t,a.setCues_(this.activeCues_),a},set(){}}}),t.src?(this.src=t.src,this.preload_||(this.loaded_=!0),(this.preload_||t.kind!==`subtitles`&&t.kind!==`captions`)&&_s(this.src,this)):this.loaded_=!0}startTracking(){this.rvf_=this.tech_.requestVideoFrameCallback(this.timeupdateHandler),this.tech_.on(`timeupdate`,this.timeupdateHandler)}stopTracking(){this.rvf_&&=(this.tech_.cancelVideoFrameCallback(this.rvf_),void 0),this.tech_.off(`timeupdate`,this.timeupdateHandler)}addCue(e){let t=e;if(!(`getCueAsHTML`in t)){t=new x.vttjs.VTTCue(e.startTime,e.endTime,e.text);for(let n in e)n in t||(t[n]=e[n]);t.id=e.id,t.originalCue_=e}let n=this.tech_.textTracks();for(let e=0;e<n.length;e++)n[e]!==this&&n[e].removeCue(t);this.cues_.push(t),this.cues.setCues_(this.cues_)}toJSON(){return Yo.trackToJson(this)}removeCue(e){let t=this.cues_.length;for(;t--;){let n=this.cues_[t];if(n===e||n.originalCue_&&n.originalCue_===e){this.cues_.splice(t,1),this.cues.setCues_(this.cues_);break}}}}vs.prototype.allowedEvents_={cuechange:`cuechange`};class ys extends us{constructor(e={}){let t=W(e,{kind:ss[e.kind]||``});super(t);let n=!1;Object.defineProperty(this,"enabled",{get(){return n},set(e){typeof e==`boolean`&&e!==n&&(n=e,this.trigger(`enabledchange`))}}),t.enabled&&(this.enabled=t.enabled),this.loaded_=!0}}class bs extends us{constructor(e={}){let t=W(e,{kind:os[e.kind]||``});super(t);let n=!1;Object.defineProperty(this,"selected",{get(){return n},set(e){typeof e==`boolean`&&e!==n&&(n=e,this.trigger(`selectedchange`))}}),t.selected&&(this.selected=t.selected)}}class xs extends go{constructor(e={}){super();let t,n=new vs(e);this.kind=n.kind,this.src=n.src,this.srclang=n.language,this.label=n.label,this.default=n.default,Object.defineProperties(this,{readyState:{get(){return t}},track:{get(){return n}}}),t=xs.NONE,n.addEventListener(`loadeddata`,()=>{t=xs.LOADED,this.trigger({type:`load`,target:this})})}}xs.prototype.allowedEvents_={load:`load`},xs.NONE=0,xs.LOADING=1,xs.LOADED=2,xs.ERROR=3;const Ss={audio:{ListClass:es,TrackClass:ys,capitalName:`Audio`},video:{ListClass:ns,TrackClass:bs,capitalName:`Video`},text:{ListClass:rs,TrackClass:vs,capitalName:`Text`}};Object.keys(Ss).forEach(function(e){Ss[e].getterName=`${e}Tracks`,Ss[e].privateName=`${e}Tracks_`});const Cs={remoteText:{ListClass:rs,TrackClass:vs,capitalName:`RemoteText`,getterName:`remoteTextTracks`,privateName:`remoteTextTracks_`},remoteTextEl:{ListClass:is,TrackClass:xs,capitalName:`RemoteTextTrackEls`,getterName:`remoteTextTrackEls`,privateName:`remoteTextTrackEls_`}},ws=Object.assign({},Ss,Cs);Cs.names=Object.keys(Cs),Ss.names=Object.keys(Ss),ws.names=[].concat(Cs.names).concat(Ss.names);function Ts(e,t,n,r,i={}){let a=e.textTracks();i.kind=t,n&&(i.label=n),r&&(i.language=r),i.tech=e;let o=new ws.text.TrackClass(i);return a.addTrack(o),o}class J extends q{constructor(e={},t=function(){}){e.reportTouchActivity=!1,super(null,e,t),this.onDurationChange_=e=>this.onDurationChange(e),this.trackProgress_=e=>this.trackProgress(e),this.trackCurrentTime_=e=>this.trackCurrentTime(e),this.stopTrackingCurrentTime_=e=>this.stopTrackingCurrentTime(e),this.disposeSourceHandler_=e=>this.disposeSourceHandler(e),this.queuedHanders_=new Set,this.hasStarted_=!1,this.on(`playing`,function(){this.hasStarted_=!0}),this.on(`loadstart`,function(){this.hasStarted_=!1}),ws.names.forEach(t=>{let n=ws[t];e&&e[n.getterName]&&(this[n.privateName]=e[n.getterName])}),this.featuresProgressEvents||this.manualProgressOn(),this.featuresTimeupdateEvents||this.manualTimeUpdatesOn(),[`Text`,`Audio`,`Video`].forEach(t=>{e[`native${t}Tracks`]===!1&&(this[`featuresNative${t}Tracks`]=!1)}),e.nativeCaptions===!1||e.nativeTextTracks===!1?this.featuresNativeTextTracks=!1:(e.nativeCaptions===!0||e.nativeTextTracks===!0)&&(this.featuresNativeTextTracks=!0),this.featuresNativeTextTracks||this.emulateTextTracks(),this.preloadTextTracks=e.preloadTextTracks!==!1,this.autoRemoteTextTracks_=new ws.text.ListClass,this.initTrackListeners(),e.nativeControlsForTouch||this.emitTapEvents(),this.constructor&&(this.name_=this.constructor.name||`Unknown Tech`)}triggerSourceset(e){this.isReady_||this.one(`ready`,()=>this.setTimeout(()=>this.triggerSourceset(e),1)),this.trigger({src:e,type:`sourceset`})}manualProgressOn(){this.on(`durationchange`,this.onDurationChange_),this.manualProgress=!0,this.one(`ready`,this.trackProgress_)}manualProgressOff(){this.manualProgress=!1,this.stopTrackingProgress(),this.off(`durationchange`,this.onDurationChange_)}trackProgress(e){this.stopTrackingProgress(),this.progressInterval=this.setInterval(K(this,function(){let e=this.bufferedPercent();this.bufferedPercent_!==e&&this.trigger(`progress`),this.bufferedPercent_=e,e===1&&this.stopTrackingProgress()}),500)}onDurationChange(e){this.duration_=this.duration()}buffered(){return Lo(0,0)}bufferedPercent(){return Wo(this.buffered(),this.duration_)}stopTrackingProgress(){this.clearInterval(this.progressInterval)}manualTimeUpdatesOn(){this.manualTimeUpdates=!0,this.on(`play`,this.trackCurrentTime_),this.on(`pause`,this.stopTrackingCurrentTime_)}manualTimeUpdatesOff(){this.manualTimeUpdates=!1,this.stopTrackingCurrentTime(),this.off(`play`,this.trackCurrentTime_),this.off(`pause`,this.stopTrackingCurrentTime_)}trackCurrentTime(){this.currentTimeInterval&&this.stopTrackingCurrentTime(),this.currentTimeInterval=this.setInterval(function(){this.trigger({type:`timeupdate`,target:this,manuallyTriggered:!0})},250)}stopTrackingCurrentTime(){this.clearInterval(this.currentTimeInterval),this.trigger({type:`timeupdate`,target:this,manuallyTriggered:!0})}dispose(){this.clearTracks(Ss.names),this.manualProgress&&this.manualProgressOff(),this.manualTimeUpdates&&this.manualTimeUpdatesOff(),super.dispose()}clearTracks(e){e=[].concat(e),e.forEach(e=>{let t=this[`${e}Tracks`]()||[],n=t.length;for(;n--;){let r=t[n];e===`text`&&this.removeRemoteTextTrack(r),t.removeTrack(r)}})}cleanupAutoTextTracks(){let e=this.autoRemoteTextTracks_||[],t=e.length;for(;t--;){let n=e[t];this.removeRemoteTextTrack(n)}}reset(){}crossOrigin(){}setCrossOrigin(){}error(e){return e!==void 0&&(this.error_=new Go(e),this.trigger(`error`)),this.error_}played(){return this.hasStarted_?Lo(0,0):Lo()}play(){}setScrubbing(e){}scrubbing(){}setCurrentTime(e){this.manualTimeUpdates&&this.trigger({type:`timeupdate`,target:this,manuallyTriggered:!0})}initTrackListeners(){Ss.names.forEach(e=>{let t=Ss[e],n=()=>{this.trigger(`${e}trackchange`)},r=this[t.getterName]();r.addEventListener(`removetrack`,n),r.addEventListener(`addtrack`,n),this.on(`dispose`,()=>{r.removeEventListener(`removetrack`,n),r.removeEventListener(`addtrack`,n)})})}addWebVttScript_(){if(!x.WebVTT){if(F.body.contains(this.el())){if(!this.options_[`vtt.js`]&&Ii(it)&&Object.keys(it).length>0){this.trigger(`vttjsloaded`);return}let e=F.createElement(`script`);e.src=this.options_[`vtt.js`]||`https://vjs.zencdn.net/vttjs/0.14.1/vtt.min.js`,e.onload=()=>{this.trigger(`vttjsloaded`)},e.onerror=()=>{this.trigger(`vttjserror`)},this.on(`dispose`,()=>{e.onload=null,e.onerror=null}),x.WebVTT=!0,this.el().parentNode.appendChild(e)}else this.ready(this.addWebVttScript_)}}emulateTextTracks(){let e=this.textTracks(),t=this.remoteTextTracks(),n=t=>e.addTrack(t.track),r=t=>e.removeTrack(t.track);t.on(`addtrack`,n),t.on(`removetrack`,r),this.addWebVttScript_();let i=()=>this.trigger(`texttrackchange`),a=()=>{i();for(let t=0;t<e.length;t++){let n=e[t];n.removeEventListener(`cuechange`,i),n.mode===`showing`&&n.addEventListener(`cuechange`,i)}};a(),e.addEventListener(`change`,a),e.addEventListener(`addtrack`,a),e.addEventListener(`removetrack`,a),this.on(`dispose`,function(){t.off(`addtrack`,n),t.off(`removetrack`,r),e.removeEventListener(`change`,a),e.removeEventListener(`addtrack`,a),e.removeEventListener(`removetrack`,a);for(let t=0;t<e.length;t++)e[t].removeEventListener(`cuechange`,i)})}addTextTrack(e,t,n){if(!e)throw Error(`TextTrack kind is required but was not provided`);return Ts(this,e,t,n)}createRemoteTextTrack(e){let t=W(e,{tech:this});return new Cs.remoteTextEl.TrackClass(t)}addRemoteTextTrack(e={},t){let n=this.createRemoteTextTrack(e);return typeof t!=`boolean`&&(t=!1),this.remoteTextTrackEls().addTrackElement_(n),this.remoteTextTracks().addTrack(n.track),t===!1&&this.ready(()=>this.autoRemoteTextTracks_.addTrack(n.track)),n}removeRemoteTextTrack(e){let t=this.remoteTextTrackEls().getTrackElementByTrack_(e);this.remoteTextTrackEls().removeTrackElement_(t),this.remoteTextTracks().removeTrack(e),this.autoRemoteTextTracks_.removeTrack(e)}getVideoPlaybackQuality(){return{}}requestPictureInPicture(){return Promise.reject()}disablePictureInPicture(){return!0}setDisablePictureInPicture(){}requestVideoFrameCallback(e){let t=Qa();return!this.isReady_||this.paused()?(this.queuedHanders_.add(t),this.one(`playing`,()=>{this.queuedHanders_.has(t)&&(this.queuedHanders_.delete(t),e())})):this.requestNamedAnimationFrame(t,e),t}cancelVideoFrameCallback(e){this.queuedHanders_.has(e)?this.queuedHanders_.delete(e):this.cancelNamedAnimationFrame(e)}setPoster(){}playsinline(){}setPlaysinline(){}overrideNativeAudioTracks(e){}overrideNativeVideoTracks(e){}canPlayType(e){return``}static canPlayType(e){return``}static canPlaySource(e,t){return J.canPlayType(e.type)}static isTech(e){return e.prototype instanceof J||e instanceof J||e===J}static registerTech(e,t){if(J.techs_||={},!J.isTech(t))throw Error(`Tech ${e} must be a Tech`);if(!J.canPlayType)throw Error(`Techs must have a static canPlayType method on them`);if(!J.canPlaySource)throw Error(`Techs must have a static canPlaySource method on them`);return e=jo(e),J.techs_[e]=t,J.techs_[Ao(e)]=t,e!==`Tech`&&J.defaultTechOrder_.push(e),t}static getTech(e){if(e){if(J.techs_&&J.techs_[e])return J.techs_[e];if(e=jo(e),x&&x.videojs&&x.videojs[e])return U.warn(`The ${e} tech was added to the videojs object when it should be registered using videojs.registerTech(name, tech)`),x.videojs[e]}}}ws.names.forEach(function(e){let t=ws[e];J.prototype[t.getterName]=function(){return this[t.privateName]=this[t.privateName]||new t.ListClass,this[t.privateName]}}),J.prototype.featuresVolumeControl=!0,J.prototype.featuresMuteControl=!0,J.prototype.featuresFullscreenResize=!1,J.prototype.featuresPlaybackRate=!1,J.prototype.featuresProgressEvents=!1,J.prototype.featuresSourceset=!1,J.prototype.featuresTimeupdateEvents=!1,J.prototype.featuresNativeTextTracks=!1,J.prototype.featuresVideoFrameCallback=!1,J.withSourceHandlers=function(e){e.registerSourceHandler=function(t,n){let r=e.sourceHandlers;r||=e.sourceHandlers=[],n===void 0&&(n=r.length),r.splice(n,0,t)},e.canPlayType=function(t){let n=e.sourceHandlers||[],r;for(let e=0;e<n.length;e++)if(r=n[e].canPlayType(t),r)return r;return``},e.selectSourceHandler=function(t,n){let r=e.sourceHandlers||[],i;for(let e=0;e<r.length;e++)if(i=r[e].canHandleSource(t,n),i)return r[e];return null},e.canPlaySource=function(t,n){let r=e.selectSourceHandler(t,n);return r?r.canHandleSource(t,n):``},[`seekable`,`seeking`,`duration`].forEach(function(e){let t=this[e];typeof t==`function`&&(this[e]=function(){return this.sourceHandler_&&this.sourceHandler_[e]?this.sourceHandler_[e].apply(this.sourceHandler_,arguments):t.apply(this,arguments)})},e.prototype),e.prototype.setSource=function(t){let n=e.selectSourceHandler(t,this.options_);n||(e.nativeSourceHandler?n=e.nativeSourceHandler:U.error(`No source handler found for the current source.`)),this.disposeSourceHandler(),this.off(`dispose`,this.disposeSourceHandler_),n!==e.nativeSourceHandler&&(this.currentSource_=t),this.sourceHandler_=n.handleSource(t,this,this.options_),this.one(`dispose`,this.disposeSourceHandler_)},e.prototype.disposeSourceHandler=function(){this.currentSource_&&=(this.clearTracks([`audio`,`video`]),null),this.cleanupAutoTextTracks(),this.sourceHandler_&&=(this.sourceHandler_.dispose&&this.sourceHandler_.dispose(),null)}},q.registerComponent(`Tech`,J),J.registerTech(`Tech`,J),J.defaultTechOrder_=[];const Es={},Ds={},Os={};function ks(e,t){Es[e]=Es[e]||[],Es[e].push(t)}function As(e,t,n){e.setTimeout(()=>Hs(t,Es[t.type],n,e),1)}function js(e,t){e.forEach(e=>e.setTech&&e.setTech(t))}function Ms(e,t,n){return e.reduceRight(Rs(n),t[n]())}function Ns(e,t,n,r){return t[n](e.reduce(Rs(n),r))}function Ps(e,t,n,r=null){let i=`call`+jo(n),a=e.reduce(Rs(i),r),o=a===Os,s=o?null:t[n](a);return zs(e,n,s,o),s}const Fs={buffered:1,currentTime:1,duration:1,muted:1,played:1,paused:1,seekable:1,volume:1,ended:1},Is={setCurrentTime:1,setMuted:1,setVolume:1},Ls={play:1,pause:1};function Rs(e){return(t,n)=>t===Os?Os:n[e]?n[e](t):t}function zs(e,t,n,r){for(let i=e.length-1;i>=0;i--){let a=e[i];a[t]&&a[t](r,n)}}function Bs(e){Ds.hasOwnProperty(e.id())&&delete Ds[e.id()]}function Vs(e,t){let n=Ds[e.id()],r=null;if(n==null)return r=t(e),Ds[e.id()]=[[t,r]],r;for(let e=0;e<n.length;e++){let[i,a]=n[e];i===t&&(r=a)}return r===null&&(r=t(e),n.push([t,r])),r}function Hs(e={},t=[],n,r,i=[],a=!1){let[o,...s]=t;if(typeof o==`string`)Hs(e,Es[o],n,r,i,a);else if(o){let t=Vs(r,o);if(!t.setSource)return i.push(t),Hs(e,s,n,r,i,a);t.setSource(Object.assign({},e),function(o,c){if(o)return Hs(e,s,n,r,i,a);i.push(t),Hs(c,e.type===c.type?s:Es[c.type],n,r,i,a)})}else s.length?Hs(e,s,n,r,i,a):a?n(e,i):Hs(e,Es[`*`],n,r,i,!0)}const Us={opus:`video/ogg`,ogv:`video/ogg`,mp4:`video/mp4`,mov:`video/mp4`,m4v:`video/mp4`,mkv:`video/x-matroska`,m4a:`audio/mp4`,mp3:`audio/mpeg`,aac:`audio/aac`,caf:`audio/x-caf`,flac:`audio/flac`,oga:`audio/ogg`,wav:`audio/wav`,m3u8:`application/x-mpegURL`,mpd:`application/dash+xml`,jpg:`image/jpeg`,jpeg:`image/jpeg`,gif:`image/gif`,png:`image/png`,svg:`image/svg+xml`,webp:`image/webp`},Ws=function(e=``){let t=ps(e);return Us[t.toLowerCase()]||``},Gs=(e,t)=>{if(!t)return``;if(e.cache_.source.src===t&&e.cache_.source.type)return e.cache_.source.type;let n=e.cache_.sources.filter(e=>e.src===t);if(n.length)return n[0].type;let r=e.$$(`source`);for(let e=0;e<r.length;e++){let n=r[e];if(n.type&&n.src&&n.src===t)return n.type}return Ws(t)},Ks=function(e){if(Array.isArray(e)){let t=[];e.forEach(function(e){e=Ks(e),Array.isArray(e)?t=t.concat(e):Fi(e)&&t.push(e)}),e=t}else e=typeof e==`string`&&e.trim()?[qs({src:e})]:Fi(e)&&typeof e.src==`string`&&e.src&&e.src.trim()?[qs(e)]:[];return e};function qs(e){if(!e.type){let t=Ws(e.src);t&&(e.type=t)}return e}var Js=`<svg xmlns="http://www.w3.org/2000/svg">
19
19
  <defs>
20
20
  <symbol viewBox="0 0 48 48" id="vjs-icon-play">
21
21
  <path d="M16 10v28l22-14z"></path>
@@ -181,7 +181,7 @@ See https://github.com/videojs/video.js/issues/2617 for more info.
181
181
  `)}}Ka(1,Z),Z.VERSION=_i,Z.options=X.prototype.options_,Z.getPlayers=()=>X.players,Z.getPlayer=e=>{let t=X.players,n;if(typeof e==`string`){let r=pu(e),i=t[r];if(i)return i;n=Ra(`#`+r)}else n=e;if(pa(n)){let{player:e,playerId:r}=n;if(e||t[r])return e||t[r]}},Z.getAllPlayers=()=>Object.keys(X.players).map(e=>X.players[e]).filter(Boolean),Z.players=X.players,Z.getComponent=q.getComponent,Z.registerComponent=(e,t)=>(J.isTech(t)&&U.warn(`The ${e} tech was registered as a component. It should instead be registered using videojs.registerTech(name, tech)`),q.registerComponent.call(q,e,t)),Z.getTech=J.getTech,Z.registerTech=J.registerTech,Z.use=ks,Object.defineProperty(Z,"middleware",{value:{},writeable:!1,enumerable:!0}),Object.defineProperty(Z.middleware,"TERMINATOR",{value:Os,writeable:!1,enumerable:!0}),Z.browser=la,Z.obj=zi,Z.mergeOptions=du(9,`videojs.mergeOptions`,`videojs.obj.merge`,W),Z.defineLazyProperty=du(9,`videojs.defineLazyProperty`,`videojs.obj.defineLazyProperty`,Ri),Z.bind=du(9,`videojs.bind`,`native Function.prototype.bind`,K),Z.registerPlugin=lu.registerPlugin,Z.deregisterPlugin=lu.deregisterPlugin,Z.plugin=(e,t)=>(U.warn(`videojs.plugin() is deprecated; use videojs.registerPlugin() instead`),lu.registerPlugin(e,t)),Z.getPlugins=lu.getPlugins,Z.getPlugin=lu.getPlugin,Z.getPluginVersion=lu.getPluginVersion,Z.addLanguage=function(e,t){return e=(``+e).toLowerCase(),Z.options.languages=W(Z.options.languages,{[e]:t}),Z.options.languages[e]},Z.log=U,Z.createLogger=Ai,Z.time=Uo,Z.createTimeRange=du(9,`videojs.createTimeRange`,`videojs.time.createTimeRanges`,Lo),Z.createTimeRanges=du(9,`videojs.createTimeRanges`,`videojs.time.createTimeRanges`,Lo),Z.formatTime=du(9,`videojs.formatTime`,`videojs.time.formatTime`,Ho),Z.setFormatTime=du(9,`videojs.setFormatTime`,`videojs.time.setFormatTime`,Bo),Z.resetFormatTime=du(9,`videojs.resetFormatTime`,`videojs.time.resetFormatTime`,Vo),Z.parseUrl=du(9,`videojs.parseUrl`,`videojs.url.parseUrl`,ds),Z.isCrossOrigin=du(9,`videojs.isCrossOrigin`,`videojs.url.isCrossOrigin`,ms),Z.EventTarget=go,Z.any=lo,Z.on=ao,Z.one=co,Z.off=oo,Z.trigger=so,Z.xhr=Ge,Z.TrackList=Qo,Z.TextTrack=vs,Z.TextTrackList=rs,Z.AudioTrack=ys,Z.AudioTrackList=es,Z.VideoTrack=bs,Z.VideoTrackList=ns,[`isEl`,`isTextNode`,`createEl`,`hasClass`,`addClass`,`removeClass`,`toggleClass`,`setAttributes`,`getAttributes`,`emptyEl`,`appendContent`,`insertContent`].forEach(e=>{Z[e]=function(){return U.warn(`videojs.${e}() is deprecated; use videojs.dom.${e}() instead`),Ha[e].apply(null,arguments)}}),Z.computedStyle=du(9,`videojs.computedStyle`,`videojs.dom.computedStyle`,Ba),Z.dom=Ha,Z.fn=mo,Z.num=xc,Z.str=No,Z.url=hs,Z.Error=fu;class mu{constructor(e){let t=this;return t.id=e.id,t.label=t.id,t.width=e.width,t.height=e.height,t.bitrate=e.bandwidth,t.frameRate=e.frameRate,t.enabled_=e.enabled,Object.defineProperty(t,"enabled",{get(){return t.enabled_()},set(e){t.enabled_(e)}}),t}}class hu extends Z.EventTarget{constructor(){super();let e=this;return e.levels_=[],e.selectedIndex_=-1,Object.defineProperty(e,"selectedIndex",{get(){return e.selectedIndex_}}),Object.defineProperty(e,"length",{get(){return e.levels_.length}}),e[Symbol.iterator]=()=>e.levels_.values(),e}addQualityLevel(e){let t=this.getQualityLevelById(e.id);if(t)return t;let n=this.levels_.length;return t=new mu(e),``+n in this||Object.defineProperty(this,n,{get(){return this.levels_[n]}}),this.levels_.push(t),this.trigger({qualityLevel:t,type:`addqualitylevel`}),t}removeQualityLevel(e){let t=null;for(let n=0,r=this.length;n<r;n++)if(this[n]===e){t=this.levels_.splice(n,1)[0],this.selectedIndex_===n?this.selectedIndex_=-1:this.selectedIndex_>n&&this.selectedIndex_--;break}return t&&this.trigger({qualityLevel:e,type:`removequalitylevel`}),t}getQualityLevelById(e){for(let t=0,n=this.length;t<n;t++){let n=this[t];if(n.id===e)return n}return null}dispose(){this.selectedIndex_=-1,this.levels_.length=0}}hu.prototype.allowedEvents_={change:`change`,addqualitylevel:`addqualitylevel`,removequalitylevel:`removequalitylevel`};for(let e in hu.prototype.allowedEvents_)hu.prototype[`on`+e]=null;var gu=`4.1.0`;const _u=function(e,t){let n=e.qualityLevels,r=new hu,i=function(){r.dispose(),e.qualityLevels=n,e.off(`dispose`,i)};return e.on(`dispose`,i),e.qualityLevels=()=>r,e.qualityLevels.VERSION=gu,r},vu=function(e){return _u(this,Z.obj.merge({},e))};Z.registerPlugin(`qualityLevels`,vu),vu.VERSION=gu;const yu=ot,bu=(e,t)=>t&&t.responseURL&&e!==t.responseURL?t.responseURL:e,xu=e=>Z.log.debug?Z.log.debug.bind(Z,`VHS:`,`${e} >`):function(){};function Q(...e){let t=Z.obj||Z;return(t.merge||t.mergeOptions).apply(t,e)}function Su(...e){let t=Z.time||Z;return(t.createTimeRanges||t.createTimeRanges).apply(t,e)}function Cu(e){if(e.length===0)return`Buffered Ranges are empty`;let t=`Buffered Ranges:
182
182
  `;for(let n=0;n<e.length;n++){let r=e.start(n),i=e.end(n);t+=`${r} --> ${i}. Duration (${i-r})\n`}return t}const wu=1/30,Tu=wu*3,Eu=function(e,t){let n=[],r;if(e&&e.length)for(r=0;r<e.length;r++)t(e.start(r),e.end(r))&&n.push([e.start(r),e.end(r)]);return Su(n)},Du=function(e,t){return Eu(e,function(e,n){return e-Tu<=t&&n+Tu>=t})},Ou=function(e,t){return Eu(e,function(e){return e-wu>=t})},ku=function(e){if(e.length<2)return Su();let t=[];for(let n=1;n<e.length;n++){let r=e.end(n-1),i=e.start(n);t.push([r,i])}return Su(t)},Au=function(e,t){let n=null,r=null,i=0,a=[],o=[];if(!e||!e.length||!t||!t.length)return Su();let s=e.length;for(;s--;)a.push({time:e.start(s),type:`start`}),a.push({time:e.end(s),type:`end`});for(s=t.length;s--;)a.push({time:t.start(s),type:`start`}),a.push({time:t.end(s),type:`end`});for(a.sort(function(e,t){return e.time-t.time}),s=0;s<a.length;s++)a[s].type===`start`?(i++,i===2&&(n=a[s].time)):a[s].type===`end`&&(i--,i===1&&(r=a[s].time)),n!==null&&r!==null&&(o.push([n,r]),n=null,r=null);return Su(o)},ju=e=>{let t=[];if(!e||!e.length)return``;for(let n=0;n<e.length;n++)t.push(e.start(n)+` => `+e.end(n));return t.join(`, `)},Mu=function(e,t,n=1){return((e.length?e.end(e.length-1):0)-t)/n},Nu=e=>{let t=[];for(let n=0;n<e.length;n++)t.push({start:e.start(n),end:e.end(n)});return t},Pu=function(e,t){if(e===t)return!1;if(!e&&t||!t&&e||e.length!==t.length)return!0;for(let n=0;n<e.length;n++)if(e.start(n)!==t.start(n)||e.end(n)!==t.end(n))return!0;return!1},Fu=function(e){if(e&&e.length&&e.end)return e.end(e.length-1)},Iu=function(e,t){let n=0;if(!e||!e.length)return n;for(let r=0;r<e.length;r++){let i=e.start(r),a=e.end(r);t>a||(n+=t>i&&t<=a?a-t:a-i)}return n},Lu=(e,t)=>{if(!t.preload)return t.duration;let n=0;return(t.parts||[]).forEach(function(e){n+=e.duration}),(t.preloadHints||[]).forEach(function(t){t.type===`PART`&&(n+=e.partTargetDuration)}),n},Ru=e=>(e.segments||[]).reduce((e,t,n)=>(t.parts?t.parts.forEach(function(r,i){e.push({duration:r.duration,segmentIndex:n,partIndex:i,part:r,segment:t})}):e.push({duration:t.duration,segmentIndex:n,partIndex:null,segment:t,part:null}),e),[]),zu=e=>{let t=e.segments&&e.segments.length&&e.segments[e.segments.length-1];return t&&t.parts||[]},Bu=({preloadSegment:e})=>{if(!e)return;let{parts:t,preloadHints:n}=e,r=(n||[]).reduce((e,t)=>e+ +(t.type===`PART`),0);return r+=t&&t.length?t.length:0,r},Vu=(e,t)=>{if(t.endList)return 0;if(e&&e.suggestedPresentationDelay)return e.suggestedPresentationDelay;let n=zu(t).length>0;return n&&t.serverControl&&t.serverControl.partHoldBack?t.serverControl.partHoldBack:n&&t.partTargetDuration?t.partTargetDuration*3:t.serverControl&&t.serverControl.holdBack?t.serverControl.holdBack:t.targetDuration?t.targetDuration*3:0},Hu=function(e,t){let n=0,r=t-e.mediaSequence,i=e.segments[r];if(i){if(i.start!==void 0)return{result:i.start,precise:!0};if(i.end!==void 0)return{result:i.end-i.duration,precise:!0}}for(;r--;){if(i=e.segments[r],i.end!==void 0)return{result:n+i.end,precise:!0};if(n+=Lu(e,i),i.start!==void 0)return{result:n+i.start,precise:!0}}return{result:n,precise:!1}},Uu=function(e,t){let n=0,r,i=t-e.mediaSequence;for(;i<e.segments.length;i++){if(r=e.segments[i],r.start!==void 0)return{result:r.start-n,precise:!0};if(n+=Lu(e,r),r.end!==void 0)return{result:r.end-n,precise:!0}}return{result:-1,precise:!1}},Wu=function(e,t,n){if(t===void 0&&(t=e.mediaSequence+e.segments.length),t<e.mediaSequence)return 0;let r=Hu(e,t);if(r.precise)return r.result;let i=Uu(e,t);return i.precise?i.result:r.result+n},Gu=function(e,t,n){if(!e)return 0;if(typeof n!=`number`&&(n=0),t===void 0){if(e.totalDuration)return e.totalDuration;if(!e.endList)return x.Infinity}return Wu(e,t,n)},Ku=function({defaultDuration:e,durationList:t,startIndex:n,endIndex:r}){let i=0;if(n>r&&([n,r]=[r,n]),n<0){for(let t=n;t<Math.min(0,r);t++)i+=e;n=0}for(let e=n;e<r;e++)i+=t[e].duration;return i},qu=function(e,t,n,r){if(!e||!e.segments)return null;if(e.endList)return Gu(e);if(t===null)return null;t||=0;let i=Wu(e,e.mediaSequence+e.segments.length,t);return n&&(r=typeof r==`number`?r:Vu(null,e),i-=r),Math.max(0,i)},Ju=function(e,t,n){let r=t||0,i=qu(e,t,!0,n);return i===null?Su():(i<r&&(i=r),Su(r,i))},Yu=function({playlist:e,currentTime:t,startingSegmentIndex:n,startingPartIndex:r,startTime:i,exactManifestTimings:a}){let o=t-i,s=Ru(e),c=0;for(let e=0;e<s.length;e++){let t=s[e];if(n===t.segmentIndex&&(typeof r!=`number`||typeof t.partIndex!=`number`||r===t.partIndex)){c=e;break}}if(o<0){if(c>0)for(let t=c-1;t>=0;t--){let n=s[t];if(o+=n.duration,a){if(o<0)continue}else if(o+wu<=0)continue;return{partIndex:n.partIndex,segmentIndex:n.segmentIndex,startTime:i-Ku({defaultDuration:e.targetDuration,durationList:s,startIndex:c,endIndex:t})}}return{partIndex:s[0]&&s[0].partIndex||null,segmentIndex:s[0]&&s[0].segmentIndex||0,startTime:t}}if(c<0){for(let n=c;n<0;n++)if(o-=e.targetDuration,o<0)return{partIndex:s[0]&&s[0].partIndex||null,segmentIndex:s[0]&&s[0].segmentIndex||0,startTime:t};c=0}for(let t=c;t<s.length;t++){let n=s[t];o-=n.duration;let r=n.duration>wu,l=o===0,u=r&&o+wu>=0;if(!l&&!u||t===s.length-1){if(a){if(o>0)continue}else if(o-wu>=0)continue;return{partIndex:n.partIndex,segmentIndex:n.segmentIndex,startTime:i+Ku({defaultDuration:e.targetDuration,durationList:s,startIndex:c,endIndex:t})}}}return{segmentIndex:s[s.length-1].segmentIndex,partIndex:s[s.length-1].partIndex,startTime:t}},Xu=function(e){return e.excludeUntil&&e.excludeUntil>Date.now()},Zu=function(e){return e.excludeUntil&&e.excludeUntil===1/0},Qu=function(e){let t=Xu(e);return!e.disabled&&!t},$u=function(e){return e.disabled},ed=function(e){for(let t=0;t<e.segments.length;t++)if(e.segments[t].key)return!0;return!1},td=function(e,t){return t.attributes&&t.attributes[e]},nd=function(e,t,n,r=0){return td(`BANDWIDTH`,n)?(e*n.attributes.BANDWIDTH-r*8)/t:NaN},rd=(e,t)=>{if(e.playlists.length===1)return!0;let n=t.attributes.BANDWIDTH||Number.MAX_VALUE;return e.playlists.filter(e=>Qu(e)?(e.attributes.BANDWIDTH||0)<n:!1).length===0},id=(e,t)=>!e&&!t||!e&&t||e&&!t?!1:!!(e===t||e.id&&t.id&&e.id===t.id||e.resolvedUri&&t.resolvedUri&&e.resolvedUri===t.resolvedUri||e.uri&&t.uri&&e.uri===t.uri),ad=function(e,t){let n=e&&e.mediaGroups&&e.mediaGroups.AUDIO||{},r=!1;for(let e in n){for(let i in n[e])if(r=t(n[e][i]),r)break;if(r)break}return!!r},od=e=>{if(!e||!e.playlists||!e.playlists.length)return ad(e,e=>e.playlists&&e.playlists.length||e.uri);for(let t=0;t<e.playlists.length;t++){let n=e.playlists[t],r=n.attributes&&n.attributes.CODECS;if(!(r&&r.split(`,`).every(e=>Et(e))||ad(e,e=>id(n,e))))return!1}return!0};var sd={liveEdgeDelay:Vu,duration:Gu,seekable:Ju,getMediaInfoForTime:Yu,isEnabled:Qu,isDisabled:$u,isExcluded:Xu,isIncompatible:Zu,playlistEnd:qu,isAes:ed,hasAttribute:td,estimateSegmentRequestTime:nd,isLowestEnabledRendition:rd,isAudioOnly:od,playlistMatch:id,segmentDurationWithParts:Lu};const{log:cd}=Z,ld=(e,t)=>`${e}-${t}`,ud=(e,t,n)=>`placeholder-uri-${e}-${t}-${n}`,dd=({onwarn:e,oninfo:t,manifestString:n,customTagParsers:r=[],customTagMappers:i=[],llhls:a})=>{let o=new yt;e&&o.on(`warn`,e),t&&o.on(`info`,t),r.forEach(e=>o.addParser(e)),i.forEach(e=>o.addTagMapper(e)),o.push(n),o.end();let s=o.manifest;if(a||([`preloadSegment`,`skip`,`serverControl`,`renditionReports`,`partInf`,`partTargetDuration`].forEach(function(e){s.hasOwnProperty(e)&&delete s[e]}),s.segments&&s.segments.forEach(function(e){[`parts`,`preloadHints`].forEach(function(t){e.hasOwnProperty(t)&&delete e[t]})})),!s.targetDuration){let t=10;s.segments&&s.segments.length&&(t=s.segments.reduce((e,t)=>Math.max(e,t.duration),0)),e&&e({message:`manifest has no targetDuration defaulting to ${t}`}),s.targetDuration=t}let c=zu(s);if(c.length&&!s.partTargetDuration){let t=c.reduce((e,t)=>Math.max(e,t.duration),0);e&&(e({message:`manifest has no partTargetDuration defaulting to ${t}`}),cd.error(`LL-HLS manifest has parts but lacks required #EXT-X-PART-INF:PART-TARGET value. See https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis-09#section-4.4.3.7. Playback is not guaranteed.`)),s.partTargetDuration=t}return s},fd=(e,t)=>{e.mediaGroups&&[`AUDIO`,`SUBTITLES`].forEach(n=>{if(e.mediaGroups[n])for(let r in e.mediaGroups[n])for(let i in e.mediaGroups[n][r]){let a=e.mediaGroups[n][r][i];t(a,n,r,i)}})},pd=({playlist:e,uri:t,id:n})=>{e.id=n,e.playlistErrors_=0,t&&(e.uri=t),e.attributes=e.attributes||{}},md=e=>{let t=e.playlists.length;for(;t--;){let n=e.playlists[t];pd({playlist:n,id:ld(t,n.uri)}),n.resolvedUri=yu(e.uri,n.uri),e.playlists[n.id]=n,e.playlists[n.uri]=n,n.attributes.BANDWIDTH||cd.warn(`Invalid playlist STREAM-INF detected. Missing BANDWIDTH attribute.`)}},hd=e=>{fd(e,t=>{t.uri&&(t.resolvedUri=yu(e.uri,t.uri))})},gd=(e,t)=>{let n=ld(0,t),r={mediaGroups:{AUDIO:{},VIDEO:{},"CLOSED-CAPTIONS":{},SUBTITLES:{}},uri:x.location.href,resolvedUri:x.location.href,playlists:[{uri:t,id:n,resolvedUri:t,attributes:{}}]};return r.playlists[n]=r.playlists[0],r.playlists[t]=r.playlists[0],r},_d=(e,t,n=ud)=>{e.uri=t;for(let t=0;t<e.playlists.length;t++)if(!e.playlists[t].uri){let n=`placeholder-uri-${t}`;e.playlists[t].uri=n}let r=od(e);fd(e,(t,i,a,o)=>{if(!t.playlists||!t.playlists.length){if(r&&i===`AUDIO`&&!t.uri)for(let t=0;t<e.playlists.length;t++){let n=e.playlists[t];if(n.attributes&&n.attributes.AUDIO&&n.attributes.AUDIO===a)return}t.playlists=[R({},t)]}t.playlists.forEach(function(t,r){let s=n(i,a,o,t),c=ld(r,s);t.uri?t.resolvedUri=t.resolvedUri||yu(e.uri,t.uri):(t.uri=r===0?s:c,t.resolvedUri=t.uri),t.id=t.id||c,t.attributes=t.attributes||{},e.playlists[t.id]=t,e.playlists[t.uri]=t})}),md(e),hd(e)};class vd{constructor(){this.offset_=null,this.pendingDateRanges_=new Map,this.processedDateRanges_=new Map}setOffset(e=[]){if(this.offset_!==null||!e.length)return;let[t]=e;t.programDateTime!==void 0&&(this.offset_=t.programDateTime/1e3)}setPendingDateRanges(e=[]){if(!e.length)return;let[t]=e,n=t.startDate.getTime();this.trimProcessedDateRanges_(n),this.pendingDateRanges_=e.reduce((e,t)=>(e.set(t.id,t),e),new Map)}processDateRange(e){this.pendingDateRanges_.delete(e.id),this.processedDateRanges_.set(e.id,e)}getDateRangesToProcess(){if(this.offset_===null)return[];let e={},t=[];this.pendingDateRanges_.forEach((n,r)=>{this.processedDateRanges_.has(r)||(n.startTime=n.startDate.getTime()/1e3-this.offset_,n.processDateRange=()=>this.processDateRange(n),t.push(n),n.class&&(e[n.class]?n.classListIndex=e[n.class].push(n)-1:(e[n.class]=[n],n.classListIndex=0)))});for(let n of t){let t=e[n.class]||[];n.endTime=n.endDate?n.endDate.getTime()/1e3-this.offset_:n.endOnNext&&t[n.classListIndex+1]?t[n.classListIndex+1].startTime:n.duration?n.startTime+n.duration:n.plannedDuration?n.startTime+n.plannedDuration:n.startTime}return t}trimProcessedDateRanges_(e){new Map(this.processedDateRanges_).forEach((t,n)=>{t.startDate.getTime()<e&&this.processedDateRanges_.delete(n)})}}const yd=({requestType:e,request:t,error:n,parseFailure:r})=>{let i=t.status<200||t.status>299,a=t.status>=400&&t.status<=499,o={uri:t.uri,requestType:e},s=i&&!a||r;return n&&a?(o.error=R({},n),o.errorType=Z.Error.NetworkRequestFailed):t.aborted?o.errorType=Z.Error.NetworkRequestAborted:t.timedout?o.errorType=Z.Error.NetworkRequestTimeout:s&&(o.errorType=r?Z.Error.NetworkBodyParserFailed:Z.Error.NetworkBadStatus,o.status=t.status,o.headers=t.headers),o},bd=xu(`CodecUtils`),xd=function(e){let t=e.attributes||{};if(t.CODECS)return wt(t.CODECS)},Sd=(e,t)=>{let n=t.attributes||{};return e&&e.mediaGroups&&e.mediaGroups.AUDIO&&n.AUDIO&&e.mediaGroups.AUDIO[n.AUDIO]},Cd=(e,t)=>{if(!Sd(e,t))return!0;let n=t.attributes||{},r=e.mediaGroups.AUDIO[n.AUDIO];for(let e in r)if(!r[e].uri&&!r[e].playlists)return!0;return!1},wd=function(e){let t={};return e.forEach(({mediaType:e,type:n,details:r})=>{t[e]=t[e]||[],t[e].push(Ct(`${n}${r}`))}),Object.keys(t).forEach(function(e){t[e].length>1?(bd(`multiple ${e} codecs found as attributes: ${t[e].join(`, `)}. Setting playlist codecs to null so that we wait for mux.js to probe segments for real codecs.`),t[e]=null):t[e]=t[e][0]}),t},Td=function(e){let t=0;return e.audio&&t++,e.video&&t++,t},Ed=function(e,t){let n=t.attributes||{},r=wd(xd(t)||[]);if(Sd(e,t)&&!r.audio&&!Cd(e,t)){let t=wd(Tt(e,n.AUDIO)||[]);t.audio&&(r.audio=t.audio)}return r},{EventTarget:Dd}=Z,Od=(e,t)=>{if(t.endList||!t.serverControl)return e;let n={};if(t.serverControl.canBlockReload){let{preloadSegment:e}=t,r=t.mediaSequence+t.segments.length;if(e){let i=e.parts||[],a=Bu(t)-1;a>-1&&a!==i.length-1&&(n._HLS_part=a),(a>-1||i.length)&&r--}n._HLS_msn=r}if(t.serverControl&&t.serverControl.canSkipUntil&&(n._HLS_skip=t.serverControl.canSkipDateranges?`v2`:`YES`),Object.keys(n).length){let t=new x.URL(e);[`_HLS_skip`,`_HLS_msn`,`_HLS_part`].forEach(function(e){n.hasOwnProperty(e)&&t.searchParams.set(e,n[e])}),e=t.toString()}return e},kd=(e,t)=>{if(!e)return t;let n=Q(e,t);if(e.preloadHints&&!t.preloadHints&&delete n.preloadHints,e.parts&&!t.parts)delete n.parts;else if(e.parts&&t.parts)for(let r=0;r<t.parts.length;r++)e.parts&&e.parts[r]&&(n.parts[r]=Q(e.parts[r],t.parts[r]));return!e.skipped&&t.skipped&&(n.skipped=!1),e.preload&&!t.preload&&(n.preload=!1),n},Ad=(e,t,n)=>{let r=e.slice(),i=t.slice();n||=0;let a=[],o;for(let e=0;e<i.length;e++){let t=r[e+n],s=i[e];t?(o=t.map||o,a.push(kd(t,s))):(o&&!s.map&&(s.map=o),a.push(s))}return a},jd=(e,t)=>{!e.resolvedUri&&e.uri&&(e.resolvedUri=yu(t,e.uri)),e.key&&!e.key.resolvedUri&&(e.key.resolvedUri=yu(t,e.key.uri)),e.map&&!e.map.resolvedUri&&(e.map.resolvedUri=yu(t,e.map.uri)),e.map&&e.map.key&&!e.map.key.resolvedUri&&(e.map.key.resolvedUri=yu(t,e.map.key.uri)),e.parts&&e.parts.length&&e.parts.forEach(e=>{e.resolvedUri||=yu(t,e.uri)}),e.preloadHints&&e.preloadHints.length&&e.preloadHints.forEach(e=>{e.resolvedUri||=yu(t,e.uri)})},Md=function(e){let t=e.segments||[],n=e.preloadSegment;if(n&&n.parts&&n.parts.length){if(n.preloadHints){for(let e=0;e<n.preloadHints.length;e++)if(n.preloadHints[e].type===`MAP`)return t}n.duration=e.targetDuration,n.preload=!0,t.push(n)}return t},Nd=(e,t)=>e===t||e.segments&&t.segments&&e.segments.length===t.segments.length&&e.endList===t.endList&&e.mediaSequence===t.mediaSequence&&e.preloadSegment===t.preloadSegment,Pd=(e,t,n=Nd)=>{let r=Q(e,{}),i=r.playlists[t.id];if(!i||n(i,t))return null;t.segments=Md(t);let a=Q(i,t);if(a.preloadSegment&&!t.preloadSegment&&delete a.preloadSegment,i.segments){if(t.skip){t.segments=t.segments||[];for(let e=0;e<t.skip.skippedSegments;e++)t.segments.unshift({skipped:!0})}a.segments=Ad(i.segments,t.segments,t.mediaSequence-i.mediaSequence)}a.segments.forEach(e=>{jd(e,a.resolvedUri)});for(let e=0;e<r.playlists.length;e++)r.playlists[e].id===t.id&&(r.playlists[e]=a);return r.playlists[t.id]=a,r.playlists[t.uri]=a,fd(e,(e,n,r,i)=>{if(e.playlists)for(let n=0;n<e.playlists.length;n++)t.id===e.playlists[n].id&&(e.playlists[n]=a)}),r},Fd=(e,t)=>{let n=e.segments||[],r=n[n.length-1],i=r&&r.parts&&r.parts[r.parts.length-1],a=i&&i.duration||r&&r.duration;return t&&a?a*1e3:(e.partTargetDuration||e.targetDuration||10)*500},Id=(e,t,n)=>{if(!e)return;let r=[];return e.forEach(e=>{if(!e.attributes)return;let{BANDWIDTH:t,RESOLUTION:n,CODECS:i}=e.attributes;r.push({id:e.id,bandwidth:t,resolution:n,codecs:i})}),{type:t,isLive:n,renditions:r}};class Ld extends Dd{constructor(e,t,n={}){if(super(),!e)throw Error(`A non-empty playlist URL or object is required`);this.logger_=xu(`PlaylistLoader`);let{withCredentials:r=!1}=n;this.src=e,this.vhs_=t,this.withCredentials=r,this.addDateRangesToTextTrack_=n.addDateRangesToTextTrack;let i=t.options_;this.customTagParsers=i&&i.customTagParsers||[],this.customTagMappers=i&&i.customTagMappers||[],this.llhls=i&&i.llhls,this.dateRangesStorage_=new vd,this.state=`HAVE_NOTHING`,this.handleMediaupdatetimeout_=this.handleMediaupdatetimeout_.bind(this),this.on(`mediaupdatetimeout`,this.handleMediaupdatetimeout_),this.on(`loadedplaylist`,this.handleLoadedPlaylist_.bind(this))}handleLoadedPlaylist_(){let e=this.media();if(!e)return;this.dateRangesStorage_.setOffset(e.segments),this.dateRangesStorage_.setPendingDateRanges(e.dateRanges);let t=this.dateRangesStorage_.getDateRangesToProcess();t.length&&this.addDateRangesToTextTrack_&&this.addDateRangesToTextTrack_(t)}handleMediaupdatetimeout_(){if(this.state!==`HAVE_METADATA`)return;let e=this.media(),t=yu(this.main.uri,e.uri);this.llhls&&(t=Od(t,e)),this.state=`HAVE_CURRENT_METADATA`,this.request=this.vhs_.xhr({uri:t,withCredentials:this.withCredentials,requestType:`hls-playlist`},(e,t)=>{if(this.request){if(e)return this.playlistRequestError(this.request,this.media(),`HAVE_METADATA`);this.haveMetadata({playlistString:this.request.responseText,url:this.media().uri,id:this.media().id})}})}playlistRequestError(e,t,n){let{uri:r,id:i}=t;this.request=null,n&&(this.state=n),this.error={playlist:this.main.playlists[i],status:e.status,message:`HLS playlist request error at URL: ${r}.`,responseText:e.responseText,code:e.status>=500?4:2,metadata:yd({requestType:e.requestType,request:e,error:e.error})},this.trigger(`error`)}parseManifest_({url:e,manifestString:t}){try{let n=dd({onwarn:({message:t})=>this.logger_(`m3u8-parser warn for ${e}: ${t}`),oninfo:({message:t})=>this.logger_(`m3u8-parser info for ${e}: ${t}`),manifestString:t,customTagParsers:this.customTagParsers,customTagMappers:this.customTagMappers,llhls:this.llhls});return!n.playlists||!n.playlists.length||this.excludeAudioOnlyVariants(n.playlists),n}catch(e){this.error=e,this.error.metadata={errorType:Z.Error.StreamingHlsPlaylistParserError,error:e}}}excludeAudioOnlyVariants(e){let t=e=>{let{width:t,height:n}=(e.attributes||{}).RESOLUTION||{};if(t&&n)return!0;let r=xd(e)||[];return!!wd(r).video};e.some(t)&&e.forEach(e=>{t(e)||(e.excludeUntil=1/0)})}haveMetadata({playlistString:e,playlistObject:t,url:n,id:r}){this.request=null,this.state=`HAVE_METADATA`;let i={playlistInfo:{type:`media`,uri:n}};this.trigger({type:`playlistparsestart`,metadata:i});let a=t||this.parseManifest_({url:n,manifestString:e});a.lastRequest=Date.now(),pd({playlist:a,uri:n,id:r});let o=Pd(this.main,a);this.targetDuration=a.partTargetDuration||a.targetDuration,this.pendingMedia_=null,o?(this.main=o,this.media_=this.main.playlists[r]):this.trigger(`playlistunchanged`),this.updateMediaUpdateTimeout_(Fd(this.media(),!!o)),i.parsedPlaylist=Id(this.main.playlists,i.playlistInfo.type,!this.media_.endList),this.trigger({type:`playlistparsecomplete`,metadata:i}),this.trigger(`loadedplaylist`)}dispose(){this.trigger(`dispose`),this.stopRequest(),x.clearTimeout(this.mediaUpdateTimeout),x.clearTimeout(this.finalRenditionTimeout),this.dateRangesStorage_=new vd,this.off()}stopRequest(){if(this.request){let e=this.request;this.request=null,e.onreadystatechange=null,e.abort()}}media(e,t){if(!e)return this.media_;if(this.state===`HAVE_NOTHING`)throw Error(`Cannot switch media playlist from `+this.state);if(typeof e==`string`){if(!this.main.playlists[e])throw Error(`Unknown playlist URI: `+e);e=this.main.playlists[e]}if(x.clearTimeout(this.finalRenditionTimeout),t){let t=(e.partTargetDuration||e.targetDuration)/2*1e3||5e3;this.finalRenditionTimeout=x.setTimeout(this.media.bind(this,e,!1),t);return}let n=this.state,r=!this.media_||e.id!==this.media_.id,i=this.main.playlists[e.id];if(i&&i.endList||e.endList&&e.segments.length){this.request&&=(this.request.onreadystatechange=null,this.request.abort(),null),this.state=`HAVE_METADATA`,this.media_=e,r&&(this.trigger(`mediachanging`),n===`HAVE_MAIN_MANIFEST`?this.trigger(`loadedmetadata`):this.trigger(`mediachange`));return}if(this.updateMediaUpdateTimeout_(Fd(e,!0)),!r)return;if(this.state=`SWITCHING_MEDIA`,this.request){if(e.resolvedUri===this.request.url)return;this.request.onreadystatechange=null,this.request.abort(),this.request=null}this.media_&&this.trigger(`mediachanging`),this.pendingMedia_=e;let a={playlistInfo:{type:`media`,uri:e.uri}};this.trigger({type:`playlistrequeststart`,metadata:a}),this.request=this.vhs_.xhr({uri:e.resolvedUri,withCredentials:this.withCredentials,requestType:`hls-playlist`},(t,r)=>{if(this.request){if(e.lastRequest=Date.now(),e.resolvedUri=bu(e.resolvedUri,r),t)return this.playlistRequestError(this.request,e,n);this.trigger({type:`playlistrequestcomplete`,metadata:a}),this.haveMetadata({playlistString:r.responseText,url:e.uri,id:e.id}),n===`HAVE_MAIN_MANIFEST`?this.trigger(`loadedmetadata`):this.trigger(`mediachange`)}})}pause(){this.mediaUpdateTimeout&&=(x.clearTimeout(this.mediaUpdateTimeout),null),this.stopRequest(),this.state===`HAVE_NOTHING`&&(this.started=!1),this.state===`SWITCHING_MEDIA`?this.state=this.media_?`HAVE_METADATA`:`HAVE_MAIN_MANIFEST`:this.state===`HAVE_CURRENT_METADATA`&&(this.state=`HAVE_METADATA`)}load(e){this.mediaUpdateTimeout&&=(x.clearTimeout(this.mediaUpdateTimeout),null);let t=this.media();if(e){let e=t?(t.partTargetDuration||t.targetDuration)/2*1e3:5e3;this.mediaUpdateTimeout=x.setTimeout(()=>{this.mediaUpdateTimeout=null,this.load()},e)}else this.started?t&&!t.endList?this.trigger(`mediaupdatetimeout`):this.trigger(`loadedplaylist`):this.start()}updateMediaUpdateTimeout_(e){this.mediaUpdateTimeout&&=(x.clearTimeout(this.mediaUpdateTimeout),null),this.media()&&!this.media().endList&&(this.mediaUpdateTimeout=x.setTimeout(()=>{this.mediaUpdateTimeout=null,this.trigger(`mediaupdatetimeout`),this.updateMediaUpdateTimeout_(e)},e))}start(){if(this.started=!0,typeof this.src==`object`){this.src.uri||(this.src.uri=x.location.href),this.src.resolvedUri=this.src.uri,setTimeout(()=>{this.setupInitialPlaylist(this.src)},0);return}let e={playlistInfo:{type:`multivariant`,uri:this.src}};this.trigger({type:`playlistrequeststart`,metadata:e}),this.request=this.vhs_.xhr({uri:this.src,withCredentials:this.withCredentials,requestType:`hls-playlist`},(t,n)=>{if(!this.request)return;if(this.request=null,t)return this.error={status:n.status,message:`HLS playlist request error at URL: ${this.src}.`,responseText:n.responseText,code:2,metadata:yd({requestType:n.requestType,request:n,error:t})},this.state===`HAVE_NOTHING`&&(this.started=!1),this.trigger(`error`);this.trigger({type:`playlistrequestcomplete`,metadata:e}),this.src=bu(this.src,n),this.trigger({type:`playlistparsestart`,metadata:e});let r=this.parseManifest_({manifestString:n.responseText,url:this.src});e.parsedPlaylist=Id(r.playlists,e.playlistInfo.type,!1),this.trigger({type:`playlistparsecomplete`,metadata:e}),this.setupInitialPlaylist(r)})}srcUri(){return typeof this.src==`string`?this.src:this.src.uri}setupInitialPlaylist(e){if(this.state=`HAVE_MAIN_MANIFEST`,e.playlists){this.main=e,_d(this.main,this.srcUri()),e.playlists.forEach(e=>{e.segments=Md(e),e.segments.forEach(t=>{jd(t,e.resolvedUri)})}),this.trigger(`loadedplaylist`),this.request||this.media(this.main.playlists[0]);return}let t=this.srcUri()||x.location.href;this.main=gd(e,t),this.haveMetadata({playlistObject:e,url:t,id:this.main.playlists[0].id}),this.trigger(`loadedmetadata`)}updateOrDeleteClone(e,t){let n=this.main,r=e.ID,i=n.playlists.length;for(;i--;){let a=n.playlists[i];if(a.attributes[`PATHWAY-ID`]===r){let o=a.resolvedUri,s=a.id;if(t){let t=this.createCloneURI_(a.resolvedUri,e),o=ld(r,t),s=this.createCloneAttributes_(r,a.attributes),c=this.createClonePlaylist_(a,o,e,s);n.playlists[i]=c,n.playlists[o]=c,n.playlists[t]=c}else n.playlists.splice(i,1);delete n.playlists[s],delete n.playlists[o]}}this.updateOrDeleteCloneMedia(e,t)}updateOrDeleteCloneMedia(e,t){let n=this.main,r=e.ID;[`AUDIO`,`SUBTITLES`,`CLOSED-CAPTIONS`].forEach(e=>{if(n.mediaGroups[e]&&n.mediaGroups[e][r]){for(let t in n.mediaGroups[e])if(t===r){for(let r in n.mediaGroups[e][t])n.mediaGroups[e][t][r].playlists.forEach((e,t)=>{let r=n.playlists[e.id],i=r.id,a=r.resolvedUri;delete n.playlists[i],delete n.playlists[a]});delete n.mediaGroups[e][t]}}}),t&&this.createClonedMediaGroups_(e)}addClonePathway(e,t={}){let n=this.main,r=n.playlists.length,i=this.createCloneURI_(t.resolvedUri,e),a=ld(e.ID,i),o=this.createCloneAttributes_(e.ID,t.attributes),s=this.createClonePlaylist_(t,a,e,o);n.playlists[r]=s,n.playlists[a]=s,n.playlists[i]=s,this.createClonedMediaGroups_(e)}createClonedMediaGroups_(e){let t=e.ID,n=e[`BASE-ID`],r=this.main;[`AUDIO`,`SUBTITLES`,`CLOSED-CAPTIONS`].forEach(i=>{if(r.mediaGroups[i]&&!r.mediaGroups[i][t])for(let a in r.mediaGroups[i]){if(a===n)r.mediaGroups[i][t]={};else continue;for(let n in r.mediaGroups[i][a]){let o=r.mediaGroups[i][a][n];r.mediaGroups[i][t][n]=R({},o);let s=r.mediaGroups[i][t][n],c=this.createCloneURI_(o.resolvedUri,e);s.resolvedUri=c,s.uri=c,s.playlists=[],o.playlists.forEach((a,o)=>{let c=r.playlists[a.id],l=ud(i,t,n),u=ld(t,l);if(c&&!r.playlists[u]){let t=this.createClonePlaylist_(c,u,e),n=t.resolvedUri;r.playlists[u]=t,r.playlists[n]=t}s.playlists[o]=this.createClonePlaylist_(a,u,e)})}}})}createClonePlaylist_(e,t,n,r){let i=this.createCloneURI_(e.resolvedUri,n),a={resolvedUri:i,uri:i,id:t};return e.segments&&(a.segments=[]),r&&(a.attributes=r),Q(e,a)}createCloneURI_(e,t){let n=new URL(e);n.hostname=t[`URI-REPLACEMENT`].HOST;let r=t[`URI-REPLACEMENT`].PARAMS;for(let e of Object.keys(r))n.searchParams.set(e,r[e]);return n.href}createCloneAttributes_(e,t){let n={"PATHWAY-ID":e};return[`AUDIO`,`SUBTITLES`,`CLOSED-CAPTIONS`].forEach(r=>{t[r]&&(n[r]=e)}),n}getKeyIdSet(e){let t=new Set;if(!e||!e.contentProtection)return t;for(let n in e.contentProtection)if(e.contentProtection[n]&&e.contentProtection[n].attributes&&e.contentProtection[n].attributes.keyId){let r=e.contentProtection[n].attributes.keyId;t.add(r.toLowerCase())}return t}}const Rd=function(e,t,n,r){let i=e.responseType===`arraybuffer`?e.response:e.responseText;!t&&i&&(e.responseTime=Date.now(),e.roundTripTime=e.responseTime-e.requestTime,e.bytesReceived=i.byteLength||i.length,e.bandwidth||=Math.floor(e.bytesReceived/e.roundTripTime*8*1e3)),n.headers&&(e.responseHeaders=n.headers),t&&t.code===`ETIMEDOUT`&&(e.timedout=!0),!t&&!e.aborted&&n.statusCode!==200&&n.statusCode!==206&&n.statusCode!==0&&(t=Error(`XHR Failed with a response of: `+(e&&(i||e.responseText)))),r(t,e)},zd=(e,t)=>{if(!e||!e.size)return;let n=t;return e.forEach(e=>{n=e(n)}),n},Bd=(e,t,n,r)=>{e&&e.size&&e.forEach(e=>{e(t,n,r)})},Vd=function(){let e=function e(t,n){t=Q({timeout:45e3},t);let r=e.beforeRequest||Z.Vhs.xhr.beforeRequest,i=e._requestCallbackSet||Z.Vhs.xhr._requestCallbackSet||new Set,a=e._responseCallbackSet||Z.Vhs.xhr._responseCallbackSet;r&&typeof r==`function`&&(Z.log.warn(`beforeRequest is deprecated, use onRequest instead.`),i.add(r));let o=Z.Vhs.xhr.original===!0?Z.xhr:Z.Vhs.xhr,s=zd(i,t);i.delete(r);let c=o(s||t,function(e,t){return Bd(a,c,e,t),Rd(c,e,t,n)}),l=c.abort;return c.abort=function(){return c.aborted=!0,l.apply(c,arguments)},c.uri=t.uri,c.requestType=t.requestType,c.requestTime=Date.now(),c};return e.original=!0,e},Hd=function(e){let t,n=e.offset;return t=typeof e.offset==`bigint`||typeof e.length==`bigint`?x.BigInt(e.offset)+x.BigInt(e.length)-x.BigInt(1):e.offset+e.length-1,`bytes=`+n+`-`+t},Ud=function(e){let t={};return e.byterange&&(t.Range=Hd(e.byterange)),t},Wd=function(e,t){return e.start(t)+`-`+e.end(t)},Gd=function(e,t){let n=e.toString(16);return`00`.substring(0,2-n.length)+n+(t%2?` `:``)},Kd=function(e){return e>=32&&e<126?String.fromCharCode(e):`.`},qd=function(e){let t={};return Object.keys(e).forEach(n=>{let r=e[n];Rt(r)?t[n]={bytes:r.buffer,byteOffset:r.byteOffset,byteLength:r.byteLength}:t[n]=r}),t},Jd=function(e){let t=e.byterange||{length:1/0,offset:0};return[t.length,t.offset,e.resolvedUri].join(`,`)},Yd=function(e){return e.resolvedUri},Xd=e=>{let t=Array.prototype.slice.call(e),n=``,r,i;for(let e=0;e<t.length/16;e++)r=t.slice(e*16,e*16+16).map(Gd).join(``),i=t.slice(e*16,e*16+16).map(Kd).join(``),n+=r+` `+i+`
183
183
  `;return n};var Zd=Object.freeze({__proto__:null,createTransferableMessage:qd,initSegmentId:Jd,segmentKeyId:Yd,hexDump:Xd,tagDump:({bytes:e})=>Xd(e),textRanges:e=>{let t=``,n=0;for(;n<e.length;n++)t+=Wd(e,n)+` `;return t}});const Qd=.25,$d=(e,t)=>{if(!t.dateTimeObject)return null;let n=t.videoTimingInfo.transmuxerPrependedSeconds,r=e-(t.videoTimingInfo.transmuxedPresentationStart+n);return new Date(t.dateTimeObject.getTime()+r*1e3)},ef=e=>e.transmuxedPresentationEnd-e.transmuxedPresentationStart-e.transmuxerPrependedSeconds,tf=(e,t)=>{let n;try{n=new Date(e)}catch{return null}if(!t||!t.segments||t.segments.length===0)return null;let r=t.segments[0];if(n<new Date(r.dateTimeObject))return null;for(let e=0;e<t.segments.length-1;e++){r=t.segments[e];let i=new Date(t.segments[e+1].dateTimeObject);if(n<i)break}let i=t.segments[t.segments.length-1],a=i.dateTimeObject,o=i.videoTimingInfo?ef(i.videoTimingInfo):i.duration+i.duration*Qd,s=new Date(a.getTime()+o*1e3);return n>s?null:(n>new Date(a)&&(r=i),{segment:r,estimatedStart:r.videoTimingInfo?r.videoTimingInfo.transmuxedPresentationStart:sd.duration(t,t.mediaSequence+t.segments.indexOf(r)),type:r.videoTimingInfo?`accurate`:`estimate`})},nf=(e,t)=>{if(!t||!t.segments||t.segments.length===0)return null;let n=0,r;for(let i=0;i<t.segments.length&&(r=t.segments[i],n=r.videoTimingInfo?r.videoTimingInfo.transmuxedPresentationEnd:n+r.duration,!(e<=n));i++);let i=t.segments[t.segments.length-1];if(i.videoTimingInfo&&i.videoTimingInfo.transmuxedPresentationEnd<e)return null;if(e>n){if(e>n+i.duration*Qd)return null;r=i}return{segment:r,estimatedStart:r.videoTimingInfo?r.videoTimingInfo.transmuxedPresentationStart:n-r.duration,type:r.videoTimingInfo?`accurate`:`estimate`}},rf=(e,t)=>{let n,r;try{n=new Date(e),r=new Date(t)}catch{}let i=n.getTime();return(r.getTime()-i)/1e3},af=e=>{if(!e.segments||e.segments.length===0)return!1;for(let t=0;t<e.segments.length;t++)if(!e.segments[t].dateTimeObject)return!1;return!0},of=({playlist:e,time:t=void 0,callback:n})=>{if(!n)throw Error(`getProgramTime: callback must be provided`);if(!e||t===void 0)return n({message:`getProgramTime: playlist and time must be provided`});let r=nf(t,e);if(!r)return n({message:`valid programTime was not found`});if(r.type===`estimate`)return n({message:`Accurate programTime could not be determined. Please seek to e.seekTime and try again`,seekTime:r.estimatedStart});let i={mediaSeconds:t},a=$d(t,r.segment);return a&&(i.programDateTime=a.toISOString()),n(null,i)},sf=({programTime:e,playlist:t,retryCount:n=2,seekTo:r,pauseAfterSeek:i=!0,tech:a,callback:o})=>{if(!o)throw Error(`seekToProgramTime: callback must be provided`);if(e===void 0||!t||!r)return o({message:`seekToProgramTime: programTime, seekTo and playlist must be provided`});if(!t.endList&&!a.hasStarted_)return o({message:`player must be playing a live stream to start buffering`});if(!af(t))return o({message:`programDateTime tags must be provided in the manifest `+t.resolvedUri});let s=tf(e,t);if(!s)return o({message:`${e} was not found in the stream`});let c=s.segment,l=rf(c.dateTimeObject,e);if(s.type===`estimate`){if(n===0)return o({message:`${e} is not buffered yet. Try again`});r(s.estimatedStart+l),a.one(`seeked`,()=>{sf({programTime:e,playlist:t,retryCount:n-1,seekTo:r,pauseAfterSeek:i,tech:a,callback:o})});return}let u=c.start+l;a.one(`seeked`,()=>o(null,a.currentTime())),i&&a.pause(),r(u)},cf=(e,t)=>{if(e.readyState===4)return t()},lf=(e,t,n,r)=>{let i=[],a,o=!1,s=function(e,t,r,i){return t.abort(),o=!0,n(e,t,r,i)},c=function(e,t){if(o)return;if(e)return e.metadata=yd({requestType:r,request:t,error:e}),s(e,t,``,i);let n=t.responseText.substring(i&&i.byteLength||0,t.responseText.length);if(i=Gt(i,Wt(n,!0)),a||=Hr(i),i.length<10||a&&i.length<a+2)return cf(t,()=>s(e,t,``,i));let c=di(i);return c===`ts`&&i.length<188||!c&&i.length<376?cf(t,()=>s(e,t,``,i)):s(null,t,c,i)},l=t({uri:e,beforeSend(e){e.overrideMimeType(`text/plain; charset=x-user-defined`),e.addEventListener(`progress`,function({total:t,loaded:n}){return Rd(e,null,{statusCode:e.status},c)})}},function(e,t){return Rd(l,e,t,c)});return l},{EventTarget:uf}=Z,df=function(e,t){if(!Nd(e,t)||e.sidx&&t.sidx&&(e.sidx.offset!==t.sidx.offset||e.sidx.length!==t.sidx.length)||!e.sidx&&t.sidx||e.sidx&&!t.sidx||e.segments&&!t.segments||!e.segments&&t.segments)return!1;if(!e.segments&&!t.segments)return!0;for(let n=0;n<e.segments.length;n++){let r=e.segments[n],i=t.segments[n];if(r.uri!==i.uri)return!1;if(!r.byterange&&!i.byterange)continue;let a=r.byterange,o=i.byterange;if(a&&!o||!a&&o||a.offset!==o.offset||a.length!==o.length)return!1}return!0},ff=(e,t,n,r)=>`placeholder-uri-${e}-${t}-${r.attributes.NAME||n}`,pf=({mainXml:e,srcUrl:t,clientOffset:n,sidxMapping:r,previousManifest:i})=>{let a=jr(e,{manifestUri:t,clientOffset:n,sidxMapping:r,previousManifest:i});return _d(a,t,ff),a},mf=(e,t)=>{fd(e,(n,r,i,a)=>{t.mediaGroups[r][i]&&a in t.mediaGroups[r][i]||delete e.mediaGroups[r][i][a]})},hf=(e,t,n)=>{let r=!0,i=Q(e,{duration:t.duration,minimumUpdatePeriod:t.minimumUpdatePeriod,timelineStarts:t.timelineStarts});for(let e=0;e<t.playlists.length;e++){let a=t.playlists[e];if(a.sidx){let e=Ln(a.sidx);n&&n[e]&&n[e].sidx&&kn(a,n[e].sidx,a.sidx.resolvedUri)}let o=Pd(i,a,df);o&&(i=o,r=!1)}return fd(t,(e,t,n,a)=>{if(e.playlists&&e.playlists.length){let o=e.playlists[0].id,s=Pd(i,e.playlists[0],df);s&&(i=s,a in i.mediaGroups[t][n]||(i.mediaGroups[t][n][a]=e),i.mediaGroups[t][n][a].playlists[0]=i.playlists[o],r=!1)}}),mf(i,t),t.minimumUpdatePeriod!==e.minimumUpdatePeriod&&(r=!1),r?null:i},gf=(e,t)=>(!e.map&&!t.map||!!(e.map&&t.map&&e.map.byterange.offset===t.map.byterange.offset&&e.map.byterange.length===t.map.byterange.length))&&e.uri===t.uri&&e.byterange.offset===t.byterange.offset&&e.byterange.length===t.byterange.length,_f=(e,t)=>{let n={};for(let r in e){let i=e[r].sidx;if(i){let e=Ln(i);if(!t[e])break;let r=t[e].sidxInfo;gf(r,i)&&(n[e]=t[e])}}return n},vf=(e,t)=>{let n=_f(e.playlists,t);return fd(e,(e,r,i,a)=>{if(e.playlists&&e.playlists.length){let r=e.playlists;n=Q(n,_f(r,t))}}),n};class yf extends uf{constructor(e,t,n={},r){super(),this.isPaused_=!0,this.mainPlaylistLoader_=r||this,r||(this.isMain_=!0);let{withCredentials:i=!1}=n;if(this.vhs_=t,this.withCredentials=i,this.addMetadataToTextTrack=n.addMetadataToTextTrack,!e)throw Error(`A non-empty playlist URL or object is required`);this.on(`minimumUpdatePeriod`,()=>{this.refreshXml_()}),this.on(`mediaupdatetimeout`,()=>{this.refreshMedia_(this.media().id)}),this.state=`HAVE_NOTHING`,this.loadedPlaylists_={},this.logger_=xu(`DashPlaylistLoader`),this.isMain_?(this.mainPlaylistLoader_.srcUrl=e,this.mainPlaylistLoader_.sidxMapping_={}):this.childPlaylist_=e}get isPaused(){return this.isPaused_}requestErrored_(e,t,n){if(!this.request)return!0;if(this.request=null,e)return this.error=typeof e==`object`&&!(e instanceof Error)?e:{status:t.status,message:`DASH request error at URL: `+t.uri,response:t.response,code:2,metadata:e.metadata},n&&(this.state=n),this.trigger(`error`),!0}addSidxSegments_(e,t,n){let r=e.sidx&&Ln(e.sidx);if(!e.sidx||!r||this.mainPlaylistLoader_.sidxMapping_[r]){x.clearTimeout(this.mediaRequest_),this.mediaRequest_=x.setTimeout(()=>n(!1),0);return}let i=bu(e.sidx.resolvedUri),a=(i,a)=>{if(this.requestErrored_(i,a,t))return;let o=this.mainPlaylistLoader_.sidxMapping_,{requestType:s}=a,c;try{c=Br(z(a.response).subarray(8))}catch(e){e.metadata=yd({requestType:s,request:a,parseFailure:!0}),this.requestErrored_(e,a,t);return}return o[r]={sidxInfo:e.sidx,sidx:c},kn(e,c,e.sidx.resolvedUri),n(!0)};this.request=lf(i,this.vhs_.xhr,(t,n,r,o)=>{if(t)return a(t,n);if(!r||r!==`mp4`){let t=r||`unknown`;return a({status:n.status,message:`Unsupported ${t} container type for sidx segment at URL: ${i}`,response:``,playlist:e,internal:!0,playlistExclusionDuration:1/0,code:2},n)}let{offset:s,length:c}=e.sidx.byterange;if(o.length>=c+s)return a(t,{response:o.subarray(s,s+c),status:n.status,uri:n.uri});this.request=this.vhs_.xhr({uri:i,responseType:`arraybuffer`,requestType:`dash-sidx`,headers:Ud({byterange:e.sidx.byterange})},a)},`dash-sidx`)}dispose(){this.isPaused_=!0,this.trigger(`dispose`),this.stopRequest(),this.loadedPlaylists_={},x.clearTimeout(this.minimumUpdatePeriodTimeout_),x.clearTimeout(this.mediaRequest_),x.clearTimeout(this.mediaUpdateTimeout),this.mediaUpdateTimeout=null,this.mediaRequest_=null,this.minimumUpdatePeriodTimeout_=null,this.mainPlaylistLoader_.createMupOnMedia_&&(this.off(`loadedmetadata`,this.mainPlaylistLoader_.createMupOnMedia_),this.mainPlaylistLoader_.createMupOnMedia_=null),this.off()}hasPendingRequest(){return this.request||this.mediaRequest_}stopRequest(){if(this.request){let e=this.request;this.request=null,e.onreadystatechange=null,e.abort()}}media(e){if(!e)return this.media_;if(this.state===`HAVE_NOTHING`)throw Error(`Cannot switch media playlist from `+this.state);let t=this.state;if(typeof e==`string`){if(!this.mainPlaylistLoader_.main.playlists[e])throw Error(`Unknown playlist URI: `+e);e=this.mainPlaylistLoader_.main.playlists[e]}let n=!this.media_||e.id!==this.media_.id;n&&this.loadedPlaylists_[e.id]&&this.loadedPlaylists_[e.id].endList?(this.state=`HAVE_METADATA`,this.media_=e,n&&(this.trigger(`mediachanging`),this.trigger(`mediachange`))):n&&(this.media_&&this.trigger(`mediachanging`),this.addSidxSegments_(e,t,n=>{this.haveMetadata({startingState:t,playlist:e})}))}haveMetadata({startingState:e,playlist:t}){this.state=`HAVE_METADATA`,this.loadedPlaylists_[t.id]=t,x.clearTimeout(this.mediaRequest_),this.mediaRequest_=null,this.refreshMedia_(t.id),e===`HAVE_MAIN_MANIFEST`?this.trigger(`loadedmetadata`):this.trigger(`mediachange`)}pause(){this.isPaused_=!0,this.mainPlaylistLoader_.createMupOnMedia_&&(this.off(`loadedmetadata`,this.mainPlaylistLoader_.createMupOnMedia_),this.mainPlaylistLoader_.createMupOnMedia_=null),this.stopRequest(),x.clearTimeout(this.mediaUpdateTimeout),this.mediaUpdateTimeout=null,this.isMain_&&(x.clearTimeout(this.mainPlaylistLoader_.minimumUpdatePeriodTimeout_),this.mainPlaylistLoader_.minimumUpdatePeriodTimeout_=null),this.state===`HAVE_NOTHING`&&(this.started=!1)}load(e){this.isPaused_=!1,x.clearTimeout(this.mediaUpdateTimeout),this.mediaUpdateTimeout=null;let t=this.media();if(e){let e=t?t.targetDuration/2*1e3:5e3;this.mediaUpdateTimeout=x.setTimeout(()=>this.load(),e)}else this.started?t&&!t.endList?(this.isMain_&&!this.minimumUpdatePeriodTimeout_&&(this.trigger(`minimumUpdatePeriod`),this.updateMinimumUpdatePeriodTimeout_()),this.trigger(`mediaupdatetimeout`)):this.trigger(`loadedplaylist`):this.start()}start(){this.started=!0,this.isMain_?this.requestMain_((e,t)=>{this.haveMain_(),!this.hasPendingRequest()&&!this.media_&&this.media(this.mainPlaylistLoader_.main.playlists[0])}):(x.clearTimeout(this.mediaRequest_),this.mediaRequest_=x.setTimeout(()=>this.haveMain_(),0))}requestMain_(e){let t={manifestInfo:{uri:this.mainPlaylistLoader_.srcUrl}};this.trigger({type:`manifestrequeststart`,metadata:t}),this.request=this.vhs_.xhr({uri:this.mainPlaylistLoader_.srcUrl,withCredentials:this.withCredentials,requestType:`dash-manifest`},(n,r)=>{if(n){let{requestType:e}=r;n.metadata=yd({requestType:e,request:r,error:n})}if(this.requestErrored_(n,r)){this.state===`HAVE_NOTHING`&&(this.started=!1);return}this.trigger({type:`manifestrequestcomplete`,metadata:t});let i=r.responseText!==this.mainPlaylistLoader_.mainXml_;if(this.mainPlaylistLoader_.mainXml_=r.responseText,this.mainLoaded_=r.responseHeaders&&r.responseHeaders.date?Date.parse(r.responseHeaders.date):Date.now(),this.mainPlaylistLoader_.srcUrl=bu(this.mainPlaylistLoader_.srcUrl,r),i)this.handleMain_(),this.syncClientServerClock_(()=>e(r,i));else return e(r,i)})}syncClientServerClock_(e){let t=Mr(this.mainPlaylistLoader_.mainXml_);if(t===null)return this.mainPlaylistLoader_.clientOffset_=this.mainLoaded_-Date.now(),e();if(t.method===`DIRECT`)return this.mainPlaylistLoader_.clientOffset_=t.value-Date.now(),e();this.request=this.vhs_.xhr({uri:yu(this.mainPlaylistLoader_.srcUrl,t.value),method:t.method,withCredentials:this.withCredentials,requestType:`dash-clock-sync`},(n,r)=>{if(!this.request)return;if(n){let{requestType:t}=r;return this.error.metadata=yd({requestType:t,request:r,error:n}),this.mainPlaylistLoader_.clientOffset_=this.mainLoaded_-Date.now(),e()}let i;i=t.method===`HEAD`?!r.responseHeaders||!r.responseHeaders.date?this.mainLoaded_:Date.parse(r.responseHeaders.date):Date.parse(r.responseText),this.mainPlaylistLoader_.clientOffset_=i-Date.now(),e()})}haveMain_(){this.state=`HAVE_MAIN_MANIFEST`,this.isMain_?this.trigger(`loadedplaylist`):this.media_||this.media(this.childPlaylist_)}handleMain_(){x.clearTimeout(this.mediaRequest_),this.mediaRequest_=null;let e=this.mainPlaylistLoader_.main,t={manifestInfo:{uri:this.mainPlaylistLoader_.srcUrl}};this.trigger({type:`manifestparsestart`,metadata:t});let n;try{n=pf({mainXml:this.mainPlaylistLoader_.mainXml_,srcUrl:this.mainPlaylistLoader_.srcUrl,clientOffset:this.mainPlaylistLoader_.clientOffset_,sidxMapping:this.mainPlaylistLoader_.sidxMapping_,previousManifest:e})}catch(e){this.error=e,this.error.metadata={errorType:Z.Error.StreamingDashManifestParserError,error:e},this.trigger(`error`)}e&&(n=hf(e,n,this.mainPlaylistLoader_.sidxMapping_)),this.mainPlaylistLoader_.main=n||e;let r=this.mainPlaylistLoader_.main.locations&&this.mainPlaylistLoader_.main.locations[0];if(r&&r!==this.mainPlaylistLoader_.srcUrl&&(this.mainPlaylistLoader_.srcUrl=r),(!e||n&&n.minimumUpdatePeriod!==e.minimumUpdatePeriod)&&this.updateMinimumUpdatePeriodTimeout_(),this.addEventStreamToMetadataTrack_(n),n){let{duration:e,endList:r}=n,i=[];n.playlists.forEach(e=>{i.push({id:e.id,bandwidth:e.attributes.BANDWIDTH,resolution:e.attributes.RESOLUTION,codecs:e.attributes.CODECS})}),t.parsedManifest={duration:e,isLive:!r,renditions:i},this.trigger({type:`manifestparsecomplete`,metadata:t})}return!!n}updateMinimumUpdatePeriodTimeout_(){let e=this.mainPlaylistLoader_;e.createMupOnMedia_&&=(e.off(`loadedmetadata`,e.createMupOnMedia_),null),e.minimumUpdatePeriodTimeout_&&=(x.clearTimeout(e.minimumUpdatePeriodTimeout_),null);let t=e.main&&e.main.minimumUpdatePeriod;t===0&&(e.media()?t=e.media().targetDuration*1e3:(e.createMupOnMedia_=e.updateMinimumUpdatePeriodTimeout_,e.one(`loadedmetadata`,e.createMupOnMedia_))),typeof t!=`number`||t<=0?t<0&&this.logger_(`found invalid minimumUpdatePeriod of ${t}, not setting a timeout`):this.createMUPTimeout_(t)}createMUPTimeout_(e){let t=this.mainPlaylistLoader_;t.minimumUpdatePeriodTimeout_=x.setTimeout(()=>{t.minimumUpdatePeriodTimeout_=null,t.trigger(`minimumUpdatePeriod`),t.createMUPTimeout_(e)},e)}refreshXml_(){this.requestMain_((e,t)=>{t&&(this.media_&&=this.mainPlaylistLoader_.main.playlists[this.media_.id],this.mainPlaylistLoader_.sidxMapping_=vf(this.mainPlaylistLoader_.main,this.mainPlaylistLoader_.sidxMapping_),this.addSidxSegments_(this.media(),this.state,e=>{this.refreshMedia_(this.media().id)}))})}refreshMedia_(e){if(!e)throw Error(`refreshMedia_ must take a media id`);this.media_&&this.isMain_&&this.handleMain_();let t=this.mainPlaylistLoader_.main.playlists,n=!this.media_||this.media_!==t[e];if(n?this.media_=t[e]:this.trigger(`playlistunchanged`),!this.mediaUpdateTimeout){let e=()=>{this.media().endList||(this.mediaUpdateTimeout=x.setTimeout(()=>{this.trigger(`mediaupdatetimeout`),e()},Fd(this.media(),!!n)))};e()}this.trigger(`loadedplaylist`)}addEventStreamToMetadataTrack_(e){if(e&&this.mainPlaylistLoader_.main.eventStream){let e=this.mainPlaylistLoader_.main.eventStream.map(e=>({cueTime:e.start,frames:[{data:e.messageData}]}));this.addMetadataToTextTrack(`EventStream`,e,this.mainPlaylistLoader_.main.duration)}}getKeyIdSet(e){if(e.contentProtection){let t=new Set;for(let n in e.contentProtection){let r=e.contentProtection[n].attributes[`cenc:default_KID`];r&&t.add(r.replace(/-/g,``).toLowerCase())}return t}}}var bf={GOAL_BUFFER_LENGTH:30,MAX_GOAL_BUFFER_LENGTH:60,BACK_BUFFER_LENGTH:30,GOAL_BUFFER_LENGTH_RATE:1,INITIAL_BANDWIDTH:4194304,BANDWIDTH_VARIANCE:1.2,BUFFER_LOW_WATER_LINE:0,MAX_BUFFER_LOW_WATER_LINE:30,EXPERIMENTAL_MAX_BUFFER_LOW_WATER_LINE:16,BUFFER_LOW_WATER_LINE_RATE:1,BUFFER_HIGH_WATER_LINE:30};const xf=e=>{let t=new Uint8Array(new ArrayBuffer(e.length));for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t.buffer},Sf=function(e){return e.on=e.addEventListener,e.off=e.removeEventListener,e},Cf=function(e){try{return URL.createObjectURL(new Blob([e],{type:`application/javascript`}))}catch{let t=new BlobBuilder;return t.append(e),URL.createObjectURL(t.getBlob())}},wf=function(e){return function(){let t=Cf(e),n=Sf(new Worker(t));n.objURL=t;let r=n.terminate;return n.on=n.addEventListener,n.off=n.removeEventListener,n.terminate=function(){return URL.revokeObjectURL(t),r.call(this)},n}},Tf=function(e){return`var browserWorkerPolyFill = ${Sf.toString()};\nbrowserWorkerPolyFill(self);
184
- `+e},Ef=function(e){return e.toString().replace(/^function.+?{/,``).slice(0,-1)};var Df=wf(Tf(Ef(function(){var e=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},t=function(){this.init=function(){var e={};this.on=function(t,n){e[t]||(e[t]=[]),e[t]=e[t].concat(n)},this.off=function(t,n){var r;return e[t]?(r=e[t].indexOf(n),e[t]=e[t].slice(),e[t].splice(r,1),r>-1):!1},this.trigger=function(t){var n=e[t],r,i,a;if(n){if(arguments.length===2)for(i=n.length,r=0;r<i;++r)n[r].call(this,arguments[1]);else{for(a=[],r=arguments.length,r=1;r<arguments.length;++r)a.push(arguments[r]);for(i=n.length,r=0;r<i;++r)n[r].apply(this,a)}}},this.dispose=function(){e={}}}};t.prototype.pipe=function(e){return this.on(`data`,function(t){e.push(t)}),this.on(`done`,function(t){e.flush(t)}),this.on(`partialdone`,function(t){e.partialFlush(t)}),this.on(`endedtimeline`,function(t){e.endTimeline(t)}),this.on(`reset`,function(t){e.reset(t)}),e},t.prototype.push=function(e){this.trigger(`data`,e)},t.prototype.flush=function(e){this.trigger(`done`,e)},t.prototype.partialFlush=function(e){this.trigger(`partialdone`,e)},t.prototype.endTimeline=function(e){this.trigger(`endedtimeline`,e)},t.prototype.reset=function(e){this.trigger(`reset`,e)};var n=t,r=2**32,i={getUint64:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),n;return t.getBigUint64?(n=t.getBigUint64(0),n<2**53-1?Number(n):n):t.getUint32(0)*r+t.getUint32(4)},MAX_UINT32:r},a=i.MAX_UINT32,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,ee,k,A,te,ne,re,ie,j,ae,oe,se,ce,le;(function(){var e;if(O={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],pasp:[],sdtp:[],smhd:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],styp:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[]},typeof Uint8Array<`u`){for(e in O)O.hasOwnProperty(e)&&(O[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);ee=new Uint8Array([105,115,111,109]),A=new Uint8Array([97,118,99,49]),k=new Uint8Array([0,0,0,1]),te=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),ne=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),re={video:te,audio:ne},ae=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),j=new Uint8Array([0,0,0,0,0,0,0,0]),oe=new Uint8Array([0,0,0,0,0,0,0,0]),se=oe,ce=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),le=oe,ie=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}})(),o=function(e){for(var t=[],n=0,r=1,i,a;r<arguments.length;r++)t.push(arguments[r]);for(r=t.length;r--;)n+=t[r].byteLength;for(i=new Uint8Array(n+8),a=new DataView(i.buffer,i.byteOffset,i.byteLength),a.setUint32(0,i.byteLength),i.set(e,4),r=0,n=8;r<t.length;r++)i.set(t[r],n),n+=t[r].byteLength;return i},s=function(){return o(O.dinf,o(O.dref,ae))},c=function(e){return o(O.esds,new Uint8Array([0,0,0,0,3,25,0,0,0,4,17,64,21,0,6,0,0,0,218,192,0,0,218,192,5,2,e.audioobjecttype<<3|e.samplingfrequencyindex>>>1,e.samplingfrequencyindex<<7|e.channelcount<<3,6,1,2]))},l=function(){return o(O.ftyp,ee,k,ee,A)},x=function(e){return o(O.hdlr,re[e])},u=function(e){return o(O.mdat,e)},b=function(e){var t=new Uint8Array([0,0,0,0,0,0,0,2,0,0,0,3,0,1,95,144,e.duration>>>24&255,e.duration>>>16&255,e.duration>>>8&255,e.duration&255,85,196,0,0]);return e.samplerate&&(t[12]=e.samplerate>>>24&255,t[13]=e.samplerate>>>16&255,t[14]=e.samplerate>>>8&255,t[15]=e.samplerate&255),o(O.mdhd,t)},y=function(e){return o(O.mdia,b(e),x(e.type),f(e))},d=function(e){return o(O.mfhd,new Uint8Array([0,0,0,0,(e&4278190080)>>24,(e&16711680)>>16,(e&65280)>>8,e&255]))},f=function(e){return o(O.minf,e.type===`video`?o(O.vmhd,ie):o(O.smhd,j),s(),C(e))},p=function(e,t){for(var n=[],r=t.length;r--;)n[r]=T(t[r]);return o.apply(null,[O.moof,d(e)].concat(n))},m=function(e){for(var t=e.length,n=[];t--;)n[t]=_(e[t]);return o.apply(null,[O.moov,g(4294967295)].concat(n,h(e)))},h=function(e){for(var t=e.length,n=[];t--;)n[t]=E(e[t]);return o.apply(null,[O.mvex].concat(n))},g=function(e){var t=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,2,0,1,95,144,(e&4278190080)>>24,(e&16711680)>>16,(e&65280)>>8,e&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return o(O.mvhd,t)},S=function(e){for(var t=e.samples||[],n=new Uint8Array(4+t.length),r,i=0;i<t.length;i++)r=t[i].flags,n[i+4]=r.dependsOn<<4|r.isDependedOn<<2|r.hasRedundancy;return o(O.sdtp,n)},C=function(e){return o(O.stbl,w(e),o(O.stts,le),o(O.stsc,se),o(O.stsz,ce),o(O.stco,oe))},(function(){var e,t;w=function(n){return o(O.stsd,new Uint8Array([0,0,0,0,0,0,0,1]),n.type===`video`?e(n):t(n))},e=function(e){for(var t=e.sps||[],n=e.pps||[],r=[],i=[],a=0,s;a<t.length;a++)r.push((t[a].byteLength&65280)>>>8),r.push(t[a].byteLength&255),r=r.concat(Array.prototype.slice.call(t[a]));for(a=0;a<n.length;a++)i.push((n[a].byteLength&65280)>>>8),i.push(n[a].byteLength&255),i=i.concat(Array.prototype.slice.call(n[a]));if(s=[O.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,(e.width&65280)>>8,e.width&255,(e.height&65280)>>8,e.height&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,19,118,105,100,101,111,106,115,45,99,111,110,116,114,105,98,45,104,108,115,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o(O.avcC,new Uint8Array([1,e.profileIdc,e.profileCompatibility,e.levelIdc,255,t.length].concat(r,[n.length],i))),o(O.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192]))],e.sarRatio){var c=e.sarRatio[0],l=e.sarRatio[1];s.push(o(O.pasp,new Uint8Array([(c&4278190080)>>24,(c&16711680)>>16,(c&65280)>>8,c&255,(l&4278190080)>>24,(l&16711680)>>16,(l&65280)>>8,l&255])))}return o.apply(null,s)},t=function(e){return o(O.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,(e.channelcount&65280)>>8,e.channelcount&255,(e.samplesize&65280)>>8,e.samplesize&255,0,0,0,0,(e.samplerate&65280)>>8,e.samplerate&255,0,0]),c(e))}})(),v=function(e){var t=new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,(e.id&4278190080)>>24,(e.id&16711680)>>16,(e.id&65280)>>8,e.id&255,0,0,0,0,(e.duration&4278190080)>>24,(e.duration&16711680)>>16,(e.duration&65280)>>8,e.duration&255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,(e.width&65280)>>8,e.width&255,0,0,(e.height&65280)>>8,e.height&255,0,0]);return o(O.tkhd,t)},T=function(e){var t=o(O.tfhd,new Uint8Array([0,0,0,58,(e.id&4278190080)>>24,(e.id&16711680)>>16,(e.id&65280)>>8,e.id&255,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0])),n,r,i,s,c=Math.floor(e.baseMediaDecodeTime/a),l=Math.floor(e.baseMediaDecodeTime%a);return n=o(O.tfdt,new Uint8Array([1,0,0,0,c>>>24&255,c>>>16&255,c>>>8&255,c&255,l>>>24&255,l>>>16&255,l>>>8&255,l&255])),s=92,e.type===`audio`?(r=D(e,s),o(O.traf,t,n,r)):(i=S(e),r=D(e,i.length+s),o(O.traf,t,n,r,i))},_=function(e){return e.duration=e.duration||4294967295,o(O.trak,v(e),y(e))},E=function(e){var t=new Uint8Array([0,0,0,0,(e.id&4278190080)>>24,(e.id&16711680)>>16,(e.id&65280)>>8,e.id&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return e.type!==`video`&&(t[t.length-1]=0),o(O.trex,t)},(function(){var e,t,n=function(e,t){var n=0,r=0,i=0,a=0;return e.length&&(e[0].duration!==void 0&&(n=1),e[0].size!==void 0&&(r=2),e[0].flags!==void 0&&(i=4),e[0].compositionTimeOffset!==void 0&&(a=8)),[0,0,n|r|i|a,1,(e.length&4278190080)>>>24,(e.length&16711680)>>>16,(e.length&65280)>>>8,e.length&255,(t&4278190080)>>>24,(t&16711680)>>>16,(t&65280)>>>8,t&255]};t=function(e,t){var r,i,a,s=e.samples||[],c,l;for(t+=20+16*s.length,a=n(s,t),i=new Uint8Array(a.length+s.length*16),i.set(a),r=a.length,l=0;l<s.length;l++)c=s[l],i[r++]=(c.duration&4278190080)>>>24,i[r++]=(c.duration&16711680)>>>16,i[r++]=(c.duration&65280)>>>8,i[r++]=c.duration&255,i[r++]=(c.size&4278190080)>>>24,i[r++]=(c.size&16711680)>>>16,i[r++]=(c.size&65280)>>>8,i[r++]=c.size&255,i[r++]=c.flags.isLeading<<2|c.flags.dependsOn,i[r++]=c.flags.isDependedOn<<6|c.flags.hasRedundancy<<4|c.flags.paddingValue<<1|c.flags.isNonSyncSample,i[r++]=c.flags.degradationPriority&61440,i[r++]=c.flags.degradationPriority&15,i[r++]=(c.compositionTimeOffset&4278190080)>>>24,i[r++]=(c.compositionTimeOffset&16711680)>>>16,i[r++]=(c.compositionTimeOffset&65280)>>>8,i[r++]=c.compositionTimeOffset&255;return o(O.trun,i)},e=function(e,t){var r,i,a,s=e.samples||[],c,l;for(t+=20+8*s.length,a=n(s,t),r=new Uint8Array(a.length+s.length*8),r.set(a),i=a.length,l=0;l<s.length;l++)c=s[l],r[i++]=(c.duration&4278190080)>>>24,r[i++]=(c.duration&16711680)>>>16,r[i++]=(c.duration&65280)>>>8,r[i++]=c.duration&255,r[i++]=(c.size&4278190080)>>>24,r[i++]=(c.size&16711680)>>>16,r[i++]=(c.size&65280)>>>8,r[i++]=c.size&255;return o(O.trun,r)},D=function(n,r){return n.type===`audio`?e(n,r):t(n,r)}})();var M={ftyp:l,mdat:u,moof:p,moov:m,initSegment:function(e){var t=l(),n=m(e),r=new Uint8Array(t.byteLength+n.byteLength);return r.set(t),r.set(n,t.byteLength),r}},ue=function(e){var t,n,r=[],i=[];for(i.byteLength=0,i.nalCount=0,i.duration=0,r.byteLength=0,t=0;t<e.length;t++)n=e[t],n.nalUnitType===`access_unit_delimiter_rbsp`?(r.length&&(r.duration=n.dts-r.dts,i.byteLength+=r.byteLength,i.nalCount+=r.length,i.duration+=r.duration,i.push(r)),r=[n],r.byteLength=n.data.byteLength,r.pts=n.pts,r.dts=n.dts):(n.nalUnitType===`slice_layer_without_partitioning_rbsp_idr`&&(r.keyFrame=!0),r.duration=n.dts-r.dts,r.byteLength+=n.data.byteLength,r.push(n));return i.length&&(!r.duration||r.duration<=0)&&(r.duration=i[i.length-1].duration),i.byteLength+=r.byteLength,i.nalCount+=r.length,i.duration+=r.duration,i.push(r),i},de=function(e){var t,n,r=[],i=[];for(r.byteLength=0,r.nalCount=0,r.duration=0,r.pts=e[0].pts,r.dts=e[0].dts,i.byteLength=0,i.nalCount=0,i.duration=0,i.pts=e[0].pts,i.dts=e[0].dts,t=0;t<e.length;t++)n=e[t],n.keyFrame?(r.length&&(i.push(r),i.byteLength+=r.byteLength,i.nalCount+=r.nalCount,i.duration+=r.duration),r=[n],r.nalCount=n.length,r.byteLength=n.byteLength,r.pts=n.pts,r.dts=n.dts,r.duration=n.duration):(r.duration+=n.duration,r.nalCount+=n.length,r.byteLength+=n.byteLength,r.push(n));return i.length&&r.duration<=0&&(r.duration=i[i.length-1].duration),i.byteLength+=r.byteLength,i.nalCount+=r.nalCount,i.duration+=r.duration,i.push(r),i},fe=function(e){var t;return!e[0][0].keyFrame&&e.length>1&&(t=e.shift(),e.byteLength-=t.byteLength,e.nalCount-=t.nalCount,e[0][0].dts=t.dts,e[0][0].pts=t.pts,e[0][0].duration+=t.duration),e},pe=function(){return{size:0,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0,degradationPriority:0,isNonSyncSample:1}}},me=function(e,t){var n=pe();return n.dataOffset=t,n.compositionTimeOffset=e.pts-e.dts,n.duration=e.duration,n.size=4*e.length,n.size+=e.byteLength,e.keyFrame&&(n.flags.dependsOn=2,n.flags.isNonSyncSample=0),n},he={groupNalsIntoFrames:ue,groupFramesIntoGops:de,extendFirstKeyFrame:fe,generateSampleTable:function(e,t){var n,r,i,a,o,s=t||0,c=[];for(n=0;n<e.length;n++)for(a=e[n],r=0;r<a.length;r++)o=a[r],i=me(o,s),s+=i.size,c.push(i);return c},concatenateNalData:function(e){var t,n,r,i,a,o,s=0,c=e.byteLength+4*e.nalCount,l=new Uint8Array(c),u=new DataView(l.buffer);for(t=0;t<e.length;t++)for(i=e[t],n=0;n<i.length;n++)for(a=i[n],r=0;r<a.length;r++)o=a[r],u.setUint32(s,o.data.byteLength),s+=4,l.set(o.data,s),s+=o.data.byteLength;return l},generateSampleTableForFrame:function(e,t){var n,r=t||0,i=[];return n=me(e,r),i.push(n),i},concatenateNalDataForFrame:function(e){var t,n,r=0,i=e.byteLength+4*e.length,a=new Uint8Array(i),o=new DataView(a.buffer);for(t=0;t<e.length;t++)n=e[t],o.setUint32(r,n.data.byteLength),r+=4,a.set(n.data,r),r+=n.data.byteLength;return a}},ge=[33,16,5,32,164,27],_e=[33,65,108,84,1,2,4,8,168,2,4,8,17,191,252],N=function(e){for(var t=[];e--;)t.push(0);return t},ve=function(e){return Object.keys(e).reduce(function(t,n){return t[n]=new Uint8Array(e[n].reduce(function(e,t){return e.concat(t)},[])),t},{})},ye,be=function(){return ye||=ve({96e3:[ge,[227,64],N(154),[56]],88200:[ge,[231],N(170),[56]],64e3:[ge,[248,192],N(240),[56]],48e3:[ge,[255,192],N(268),[55,148,128],N(54),[112]],44100:[ge,[255,192],N(268),[55,163,128],N(84),[112]],32e3:[ge,[255,192],N(268),[55,234],N(226),[112]],24e3:[ge,[255,192],N(268),[55,255,128],N(268),[111,112],N(126),[224]],16e3:[ge,[255,192],N(268),[55,255,128],N(268),[111,255],N(269),[223,108],N(195),[1,192]],12e3:[_e,N(268),[3,127,248],N(268),[6,255,240],N(268),[13,255,224],N(268),[27,253,128],N(259),[56]],11025:[_e,N(268),[3,127,248],N(268),[6,255,240],N(268),[13,255,224],N(268),[27,255,192],N(268),[55,175,128],N(108),[112]],8e3:[_e,N(268),[3,121,16],N(47),[7]]}),ye},xe=9e4,Se=function(e){return e*xe},Ce=function(e,t){return e*t},we=function(e){return e/xe},Te=function(e,t){return e/t},P={ONE_SECOND_IN_TS:xe,secondsToVideoTs:Se,secondsToAudioTs:Ce,videoTsToSeconds:we,audioTsToSeconds:Te,audioTsToVideoTs:function(e,t){return Se(Te(e,t))},videoTsToAudioTs:function(e,t){return Ce(we(e),t)},metadataTsToSeconds:function(e,t,n){return we(n?e:e-t)}},Ee=be,F=P,De=function(e){var t,n,r=0;for(t=0;t<e.length;t++)n=e[t],r+=n.data.byteLength;return r},Oe={prefixWithSilence:function(e,t,n,r){var i,a=0,o=0,s=0,c=0,l,u,d;if(t.length&&(i=F.audioTsToVideoTs(e.baseMediaDecodeTime,e.samplerate),a=Math.ceil(F.ONE_SECOND_IN_TS/(e.samplerate/1024)),n&&r&&(o=i-Math.max(n,r),s=Math.floor(o/a),c=s*a),!(s<1||c>F.ONE_SECOND_IN_TS/2))){for(l=Ee()[e.samplerate],l||=t[0].data,u=0;u<s;u++)d=t[0],t.splice(0,0,{data:l,dts:d.dts-a,pts:d.pts-a});return e.baseMediaDecodeTime-=Math.floor(F.videoTsToAudioTs(c,e.samplerate)),c}},trimAdtsFramesByEarliestDts:function(e,t,n){return t.minSegmentDts>=n?e:(t.minSegmentDts=1/0,e.filter(function(e){return e.dts>=n&&(t.minSegmentDts=Math.min(t.minSegmentDts,e.dts),t.minSegmentPts=t.minSegmentDts,!0)}))},generateSampleTable:function(e){var t,n,r=[];for(t=0;t<e.length;t++)n=e[t],r.push({size:n.data.byteLength,duration:1024});return r},concatenateFrameData:function(e){var t,n,r=0,i=new Uint8Array(De(e));for(t=0;t<e.length;t++)n=e[t],i.set(n.data,r),r+=n.data.byteLength;return i}},ke=P.ONE_SECOND_IN_TS,Ae={clearDtsInfo:function(e){delete e.minSegmentDts,delete e.maxSegmentDts,delete e.minSegmentPts,delete e.maxSegmentPts},calculateTrackBaseMediaDecodeTime:function(e,t){var n,r,i=e.minSegmentDts;return t||(i-=e.timelineStartInfo.dts),n=e.timelineStartInfo.baseMediaDecodeTime,n+=i,n=Math.max(0,n),e.type===`audio`&&(r=e.samplerate/ke,n*=r,n=Math.floor(n)),n},collectDtsInfo:function(e,t){typeof t.pts==`number`&&(e.timelineStartInfo.pts===void 0&&(e.timelineStartInfo.pts=t.pts),e.minSegmentPts=e.minSegmentPts===void 0?t.pts:Math.min(e.minSegmentPts,t.pts),e.maxSegmentPts=e.maxSegmentPts===void 0?t.pts:Math.max(e.maxSegmentPts,t.pts)),typeof t.dts==`number`&&(e.timelineStartInfo.dts===void 0&&(e.timelineStartInfo.dts=t.dts),e.minSegmentDts=e.minSegmentDts===void 0?t.dts:Math.min(e.minSegmentDts,t.dts),e.maxSegmentDts=e.maxSegmentDts===void 0?t.dts:Math.max(e.maxSegmentDts,t.dts))}},je=4,Me=128,Ne={parseSei:function(e){for(var t=0,n={payloadType:-1,payloadSize:0},r=0,i=0;t<e.byteLength&&e[t]!==Me;){for(;e[t]===255;)r+=255,t++;for(r+=e[t++];e[t]===255;)i+=255,t++;if(i+=e[t++],!n.payload&&r===je){if(String.fromCharCode(e[t+3],e[t+4],e[t+5],e[t+6])===`GA94`){n.payloadType=r,n.payloadSize=i,n.payload=e.subarray(t,t+i);break}n.payload=void 0}t+=i,r=0,i=0}return n},parseUserData:function(e){return e.payload[0]!==181||(e.payload[1]<<8|e.payload[2])!=49||String.fromCharCode(e.payload[3],e.payload[4],e.payload[5],e.payload[6])!==`GA94`||e.payload[7]!==3?null:e.payload.subarray(8,e.payload.length-1)},parseCaptionPackets:function(e,t){var n=[],r,i,a,o;if(!(t[0]&64))return n;for(i=t[0]&31,r=0;r<i;r++)a=r*3,o={type:t[a+2]&3,pts:e},t[a+2]&4&&(o.ccData=t[a+3]<<8|t[a+4],n.push(o));return n},discardEmulationPreventionBytes:function(e){for(var t=e.byteLength,n=[],r=1,i,a;r<t-2;)e[r]===0&&e[r+1]===0&&e[r+2]===3?(n.push(r+2),r+=2):r++;if(n.length===0)return e;i=t-n.length,a=new Uint8Array(i);var o=0;for(r=0;r<i;o++,r++)o===n[0]&&(o++,n.shift()),a[r]=e[o];return a},USER_DATA_REGISTERED_ITU_T_T35:je},Pe=n,Fe=Ne,Ie=function(e){e||={},Ie.prototype.init.call(this),this.parse708captions_=typeof e.parse708captions!=`boolean`||e.parse708captions,this.captionPackets_=[],this.ccStreams_=[new L(0,0),new L(0,1),new L(1,0),new L(1,1)],this.parse708captions_&&(this.cc708Stream_=new I({captionServices:e.captionServices})),this.reset(),this.ccStreams_.forEach(function(e){e.on(`data`,this.trigger.bind(this,`data`)),e.on(`partialdone`,this.trigger.bind(this,`partialdone`)),e.on(`done`,this.trigger.bind(this,`done`))},this),this.parse708captions_&&(this.cc708Stream_.on(`data`,this.trigger.bind(this,`data`)),this.cc708Stream_.on(`partialdone`,this.trigger.bind(this,`partialdone`)),this.cc708Stream_.on(`done`,this.trigger.bind(this,`done`)))};Ie.prototype=new Pe,Ie.prototype.push=function(e){var t,n,r;e.nalUnitType===`sei_rbsp`&&(t=Fe.parseSei(e.escapedRBSP),t.payload&&t.payloadType===Fe.USER_DATA_REGISTERED_ITU_T_T35&&(n=Fe.parseUserData(t),n&&(e.dts<this.latestDts_?this.ignoreNextEqualDts_=!0:e.dts===this.latestDts_&&this.ignoreNextEqualDts_?(this.numSameDts_--,this.numSameDts_||(this.ignoreNextEqualDts_=!1)):(r=Fe.parseCaptionPackets(e.pts,n),this.captionPackets_=this.captionPackets_.concat(r),this.latestDts_!==e.dts&&(this.numSameDts_=0),this.numSameDts_++,this.latestDts_=e.dts))))},Ie.prototype.flushCCStreams=function(e){this.ccStreams_.forEach(function(t){return e===`flush`?t.flush():t.partialFlush()},this)},Ie.prototype.flushStream=function(e){this.captionPackets_.length&&(this.captionPackets_.forEach(function(e,t){e.presortIndex=t}),this.captionPackets_.sort(function(e,t){return e.pts===t.pts?e.presortIndex-t.presortIndex:e.pts-t.pts}),this.captionPackets_.forEach(function(e){e.type<2?this.dispatchCea608Packet(e):this.dispatchCea708Packet(e)},this),this.captionPackets_.length=0),this.flushCCStreams(e)},Ie.prototype.flush=function(){return this.flushStream(`flush`)},Ie.prototype.partialFlush=function(){return this.flushStream(`partialFlush`)},Ie.prototype.reset=function(){this.latestDts_=null,this.ignoreNextEqualDts_=!1,this.numSameDts_=0,this.activeCea608Channel_=[null,null],this.ccStreams_.forEach(function(e){e.reset()})},Ie.prototype.dispatchCea608Packet=function(e){this.setsTextOrXDSActive(e)?this.activeCea608Channel_[e.type]=null:this.setsChannel1Active(e)?this.activeCea608Channel_[e.type]=0:this.setsChannel2Active(e)&&(this.activeCea608Channel_[e.type]=1),this.activeCea608Channel_[e.type]!==null&&this.ccStreams_[(e.type<<1)+this.activeCea608Channel_[e.type]].push(e)},Ie.prototype.setsChannel1Active=function(e){return(e.ccData&30720)==4096},Ie.prototype.setsChannel2Active=function(e){return(e.ccData&30720)==6144},Ie.prototype.setsTextOrXDSActive=function(e){return(e.ccData&28928)==256||(e.ccData&30974)==4138||(e.ccData&30974)==6186},Ie.prototype.dispatchCea708Packet=function(e){this.parse708captions_&&this.cc708Stream_.push(e)};var Le={127:9834,4128:32,4129:160,4133:8230,4138:352,4140:338,4144:9608,4145:8216,4146:8217,4147:8220,4148:8221,4149:8226,4153:8482,4154:353,4156:339,4157:8480,4159:376,4214:8539,4215:8540,4216:8541,4217:8542,4218:9168,4219:9124,4220:9123,4221:9135,4222:9126,4223:9121,4256:12600},Re=function(e){var t=Le[e]||e;return e&4096&&e===t?``:String.fromCharCode(t)},ze=function(e){return 32<=e&&e<=127||160<=e&&e<=255},Be=function(e){this.windowNum=e,this.reset()};Be.prototype.reset=function(){this.clearText(),this.pendingNewLine=!1,this.winAttr={},this.penAttr={},this.penLoc={},this.penColor={},this.visible=0,this.rowLock=0,this.columnLock=0,this.priority=0,this.relativePositioning=0,this.anchorVertical=0,this.anchorHorizontal=0,this.anchorPoint=0,this.rowCount=1,this.virtualRowCount=this.rowCount+1,this.columnCount=41,this.windowStyle=0,this.penStyle=0},Be.prototype.getText=function(){return this.rows.join(`
184
+ `+e},Ef=function(e){return e.toString().replace(/^function.+?{/,``).slice(0,-1)};var Df=wf(Tf(Ef(function(){var e=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},t=function(){this.init=function(){var e={};this.on=function(t,n){e[t]||(e[t]=[]),e[t]=e[t].concat(n)},this.off=function(t,n){var r;return e[t]?(r=e[t].indexOf(n),e[t]=e[t].slice(),e[t].splice(r,1),r>-1):!1},this.trigger=function(t){var n=e[t],r,i,a;if(n){if(arguments.length===2)for(i=n.length,r=0;r<i;++r)n[r].call(this,arguments[1]);else{for(a=[],r=arguments.length,r=1;r<arguments.length;++r)a.push(arguments[r]);for(i=n.length,r=0;r<i;++r)n[r].apply(this,a)}}},this.dispose=function(){e={}}}};t.prototype.pipe=function(e){return this.on(`data`,function(t){e.push(t)}),this.on(`done`,function(t){e.flush(t)}),this.on(`partialdone`,function(t){e.partialFlush(t)}),this.on(`endedtimeline`,function(t){e.endTimeline(t)}),this.on(`reset`,function(t){e.reset(t)}),e},t.prototype.push=function(e){this.trigger(`data`,e)},t.prototype.flush=function(e){this.trigger(`done`,e)},t.prototype.partialFlush=function(e){this.trigger(`partialdone`,e)},t.prototype.endTimeline=function(e){this.trigger(`endedtimeline`,e)},t.prototype.reset=function(e){this.trigger(`reset`,e)};var n=t,r=2**32,i={getUint64:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),n;return t.getBigUint64?(n=t.getBigUint64(0),n<2**53-1?Number(n):n):t.getUint32(0)*r+t.getUint32(4)},MAX_UINT32:r},a=i.MAX_UINT32,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,ee,k,A,te,ne,re,ie,j,ae,oe,se,ce,le;(function(){var e;if(O={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],pasp:[],sdtp:[],smhd:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],styp:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[]},typeof Uint8Array<`u`){for(e in O)O.hasOwnProperty(e)&&(O[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);ee=new Uint8Array([105,115,111,109]),A=new Uint8Array([97,118,99,49]),k=new Uint8Array([0,0,0,1]),te=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),ne=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),re={video:te,audio:ne},ae=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),j=new Uint8Array([0,0,0,0,0,0,0,0]),oe=new Uint8Array([0,0,0,0,0,0,0,0]),se=oe,ce=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),le=oe,ie=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}})(),o=function(e){for(var t=[],n=0,r=1,i,a;r<arguments.length;r++)t.push(arguments[r]);for(r=t.length;r--;)n+=t[r].byteLength;for(i=new Uint8Array(n+8),a=new DataView(i.buffer,i.byteOffset,i.byteLength),a.setUint32(0,i.byteLength),i.set(e,4),r=0,n=8;r<t.length;r++)i.set(t[r],n),n+=t[r].byteLength;return i},s=function(){return o(O.dinf,o(O.dref,ae))},c=function(e){return o(O.esds,new Uint8Array([0,0,0,0,3,25,0,0,0,4,17,64,21,0,6,0,0,0,218,192,0,0,218,192,5,2,e.audioobjecttype<<3|e.samplingfrequencyindex>>>1,e.samplingfrequencyindex<<7|e.channelcount<<3,6,1,2]))},l=function(){return o(O.ftyp,ee,k,ee,A)},x=function(e){return o(O.hdlr,re[e])},u=function(e){return o(O.mdat,e)},b=function(e){var t=new Uint8Array([0,0,0,0,0,0,0,2,0,0,0,3,0,1,95,144,e.duration>>>24&255,e.duration>>>16&255,e.duration>>>8&255,e.duration&255,85,196,0,0]);return e.samplerate&&(t[12]=e.samplerate>>>24&255,t[13]=e.samplerate>>>16&255,t[14]=e.samplerate>>>8&255,t[15]=e.samplerate&255),o(O.mdhd,t)},y=function(e){return o(O.mdia,b(e),x(e.type),f(e))},d=function(e){return o(O.mfhd,new Uint8Array([0,0,0,0,(e&4278190080)>>24,(e&16711680)>>16,(e&65280)>>8,e&255]))},f=function(e){return o(O.minf,e.type===`video`?o(O.vmhd,ie):o(O.smhd,j),s(),C(e))},p=function(e,t){for(var n=[],r=t.length;r--;)n[r]=T(t[r]);return o.apply(null,[O.moof,d(e)].concat(n))},m=function(e){for(var t=e.length,n=[];t--;)n[t]=_(e[t]);return o.apply(null,[O.moov,g(4294967295)].concat(n).concat(h(e)))},h=function(e){for(var t=e.length,n=[];t--;)n[t]=E(e[t]);return o.apply(null,[O.mvex].concat(n))},g=function(e){var t=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,2,0,1,95,144,(e&4278190080)>>24,(e&16711680)>>16,(e&65280)>>8,e&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return o(O.mvhd,t)},S=function(e){for(var t=e.samples||[],n=new Uint8Array(4+t.length),r,i=0;i<t.length;i++)r=t[i].flags,n[i+4]=r.dependsOn<<4|r.isDependedOn<<2|r.hasRedundancy;return o(O.sdtp,n)},C=function(e){return o(O.stbl,w(e),o(O.stts,le),o(O.stsc,se),o(O.stsz,ce),o(O.stco,oe))},(function(){var e,t;w=function(n){return o(O.stsd,new Uint8Array([0,0,0,0,0,0,0,1]),n.type===`video`?e(n):t(n))},e=function(e){for(var t=e.sps||[],n=e.pps||[],r=[],i=[],a=0,s;a<t.length;a++)r.push((t[a].byteLength&65280)>>>8),r.push(t[a].byteLength&255),r=r.concat(Array.prototype.slice.call(t[a]));for(a=0;a<n.length;a++)i.push((n[a].byteLength&65280)>>>8),i.push(n[a].byteLength&255),i=i.concat(Array.prototype.slice.call(n[a]));if(s=[O.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,(e.width&65280)>>8,e.width&255,(e.height&65280)>>8,e.height&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,19,118,105,100,101,111,106,115,45,99,111,110,116,114,105,98,45,104,108,115,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o(O.avcC,new Uint8Array([1,e.profileIdc,e.profileCompatibility,e.levelIdc,255,t.length].concat(r,[n.length],i))),o(O.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192]))],e.sarRatio){var c=e.sarRatio[0],l=e.sarRatio[1];s.push(o(O.pasp,new Uint8Array([(c&4278190080)>>24,(c&16711680)>>16,(c&65280)>>8,c&255,(l&4278190080)>>24,(l&16711680)>>16,(l&65280)>>8,l&255])))}return o.apply(null,s)},t=function(e){return o(O.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,(e.channelcount&65280)>>8,e.channelcount&255,(e.samplesize&65280)>>8,e.samplesize&255,0,0,0,0,(e.samplerate&65280)>>8,e.samplerate&255,0,0]),c(e))}})(),v=function(e){var t=new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,(e.id&4278190080)>>24,(e.id&16711680)>>16,(e.id&65280)>>8,e.id&255,0,0,0,0,(e.duration&4278190080)>>24,(e.duration&16711680)>>16,(e.duration&65280)>>8,e.duration&255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,(e.width&65280)>>8,e.width&255,0,0,(e.height&65280)>>8,e.height&255,0,0]);return o(O.tkhd,t)},T=function(e){var t=o(O.tfhd,new Uint8Array([0,0,0,58,(e.id&4278190080)>>24,(e.id&16711680)>>16,(e.id&65280)>>8,e.id&255,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0])),n,r,i,s,c=Math.floor(e.baseMediaDecodeTime/a),l=Math.floor(e.baseMediaDecodeTime%a);return n=o(O.tfdt,new Uint8Array([1,0,0,0,c>>>24&255,c>>>16&255,c>>>8&255,c&255,l>>>24&255,l>>>16&255,l>>>8&255,l&255])),s=92,e.type===`audio`?(r=D(e,s),o(O.traf,t,n,r)):(i=S(e),r=D(e,i.length+s),o(O.traf,t,n,r,i))},_=function(e){return e.duration=e.duration||4294967295,o(O.trak,v(e),y(e))},E=function(e){var t=new Uint8Array([0,0,0,0,(e.id&4278190080)>>24,(e.id&16711680)>>16,(e.id&65280)>>8,e.id&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return e.type!==`video`&&(t[t.length-1]=0),o(O.trex,t)},(function(){var e,t,n=function(e,t){var n=0,r=0,i=0,a=0;return e.length&&(e[0].duration!==void 0&&(n=1),e[0].size!==void 0&&(r=2),e[0].flags!==void 0&&(i=4),e[0].compositionTimeOffset!==void 0&&(a=8)),[0,0,n|r|i|a,1,(e.length&4278190080)>>>24,(e.length&16711680)>>>16,(e.length&65280)>>>8,e.length&255,(t&4278190080)>>>24,(t&16711680)>>>16,(t&65280)>>>8,t&255]};t=function(e,t){var r,i,a,s=e.samples||[],c,l;for(t+=20+16*s.length,a=n(s,t),i=new Uint8Array(a.length+s.length*16),i.set(a),r=a.length,l=0;l<s.length;l++)c=s[l],i[r++]=(c.duration&4278190080)>>>24,i[r++]=(c.duration&16711680)>>>16,i[r++]=(c.duration&65280)>>>8,i[r++]=c.duration&255,i[r++]=(c.size&4278190080)>>>24,i[r++]=(c.size&16711680)>>>16,i[r++]=(c.size&65280)>>>8,i[r++]=c.size&255,i[r++]=c.flags.isLeading<<2|c.flags.dependsOn,i[r++]=c.flags.isDependedOn<<6|c.flags.hasRedundancy<<4|c.flags.paddingValue<<1|c.flags.isNonSyncSample,i[r++]=c.flags.degradationPriority&61440,i[r++]=c.flags.degradationPriority&15,i[r++]=(c.compositionTimeOffset&4278190080)>>>24,i[r++]=(c.compositionTimeOffset&16711680)>>>16,i[r++]=(c.compositionTimeOffset&65280)>>>8,i[r++]=c.compositionTimeOffset&255;return o(O.trun,i)},e=function(e,t){var r,i,a,s=e.samples||[],c,l;for(t+=20+8*s.length,a=n(s,t),r=new Uint8Array(a.length+s.length*8),r.set(a),i=a.length,l=0;l<s.length;l++)c=s[l],r[i++]=(c.duration&4278190080)>>>24,r[i++]=(c.duration&16711680)>>>16,r[i++]=(c.duration&65280)>>>8,r[i++]=c.duration&255,r[i++]=(c.size&4278190080)>>>24,r[i++]=(c.size&16711680)>>>16,r[i++]=(c.size&65280)>>>8,r[i++]=c.size&255;return o(O.trun,r)},D=function(n,r){return n.type===`audio`?e(n,r):t(n,r)}})();var M={ftyp:l,mdat:u,moof:p,moov:m,initSegment:function(e){var t=l(),n=m(e),r=new Uint8Array(t.byteLength+n.byteLength);return r.set(t),r.set(n,t.byteLength),r}},ue=function(e){var t,n,r=[],i=[];for(i.byteLength=0,i.nalCount=0,i.duration=0,r.byteLength=0,t=0;t<e.length;t++)n=e[t],n.nalUnitType===`access_unit_delimiter_rbsp`?(r.length&&(r.duration=n.dts-r.dts,i.byteLength+=r.byteLength,i.nalCount+=r.length,i.duration+=r.duration,i.push(r)),r=[n],r.byteLength=n.data.byteLength,r.pts=n.pts,r.dts=n.dts):(n.nalUnitType===`slice_layer_without_partitioning_rbsp_idr`&&(r.keyFrame=!0),r.duration=n.dts-r.dts,r.byteLength+=n.data.byteLength,r.push(n));return i.length&&(!r.duration||r.duration<=0)&&(r.duration=i[i.length-1].duration),i.byteLength+=r.byteLength,i.nalCount+=r.length,i.duration+=r.duration,i.push(r),i},de=function(e){var t,n,r=[],i=[];for(r.byteLength=0,r.nalCount=0,r.duration=0,r.pts=e[0].pts,r.dts=e[0].dts,i.byteLength=0,i.nalCount=0,i.duration=0,i.pts=e[0].pts,i.dts=e[0].dts,t=0;t<e.length;t++)n=e[t],n.keyFrame?(r.length&&(i.push(r),i.byteLength+=r.byteLength,i.nalCount+=r.nalCount,i.duration+=r.duration),r=[n],r.nalCount=n.length,r.byteLength=n.byteLength,r.pts=n.pts,r.dts=n.dts,r.duration=n.duration):(r.duration+=n.duration,r.nalCount+=n.length,r.byteLength+=n.byteLength,r.push(n));return i.length&&r.duration<=0&&(r.duration=i[i.length-1].duration),i.byteLength+=r.byteLength,i.nalCount+=r.nalCount,i.duration+=r.duration,i.push(r),i},fe=function(e){var t;return!e[0][0].keyFrame&&e.length>1&&(t=e.shift(),e.byteLength-=t.byteLength,e.nalCount-=t.nalCount,e[0][0].dts=t.dts,e[0][0].pts=t.pts,e[0][0].duration+=t.duration),e},pe=function(){return{size:0,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0,degradationPriority:0,isNonSyncSample:1}}},me=function(e,t){var n=pe();return n.dataOffset=t,n.compositionTimeOffset=e.pts-e.dts,n.duration=e.duration,n.size=4*e.length,n.size+=e.byteLength,e.keyFrame&&(n.flags.dependsOn=2,n.flags.isNonSyncSample=0),n},he={groupNalsIntoFrames:ue,groupFramesIntoGops:de,extendFirstKeyFrame:fe,generateSampleTable:function(e,t){var n,r,i,a,o,s=t||0,c=[];for(n=0;n<e.length;n++)for(a=e[n],r=0;r<a.length;r++)o=a[r],i=me(o,s),s+=i.size,c.push(i);return c},concatenateNalData:function(e){var t,n,r,i,a,o,s=0,c=e.byteLength+4*e.nalCount,l=new Uint8Array(c),u=new DataView(l.buffer);for(t=0;t<e.length;t++)for(i=e[t],n=0;n<i.length;n++)for(a=i[n],r=0;r<a.length;r++)o=a[r],u.setUint32(s,o.data.byteLength),s+=4,l.set(o.data,s),s+=o.data.byteLength;return l},generateSampleTableForFrame:function(e,t){var n,r=t||0,i=[];return n=me(e,r),i.push(n),i},concatenateNalDataForFrame:function(e){var t,n,r=0,i=e.byteLength+4*e.length,a=new Uint8Array(i),o=new DataView(a.buffer);for(t=0;t<e.length;t++)n=e[t],o.setUint32(r,n.data.byteLength),r+=4,a.set(n.data,r),r+=n.data.byteLength;return a}},ge=[33,16,5,32,164,27],_e=[33,65,108,84,1,2,4,8,168,2,4,8,17,191,252],N=function(e){for(var t=[];e--;)t.push(0);return t},ve=function(e){return Object.keys(e).reduce(function(t,n){return t[n]=new Uint8Array(e[n].reduce(function(e,t){return e.concat(t)},[])),t},{})},ye,be=function(){return ye||=ve({96e3:[ge,[227,64],N(154),[56]],88200:[ge,[231],N(170),[56]],64e3:[ge,[248,192],N(240),[56]],48e3:[ge,[255,192],N(268),[55,148,128],N(54),[112]],44100:[ge,[255,192],N(268),[55,163,128],N(84),[112]],32e3:[ge,[255,192],N(268),[55,234],N(226),[112]],24e3:[ge,[255,192],N(268),[55,255,128],N(268),[111,112],N(126),[224]],16e3:[ge,[255,192],N(268),[55,255,128],N(268),[111,255],N(269),[223,108],N(195),[1,192]],12e3:[_e,N(268),[3,127,248],N(268),[6,255,240],N(268),[13,255,224],N(268),[27,253,128],N(259),[56]],11025:[_e,N(268),[3,127,248],N(268),[6,255,240],N(268),[13,255,224],N(268),[27,255,192],N(268),[55,175,128],N(108),[112]],8e3:[_e,N(268),[3,121,16],N(47),[7]]}),ye},xe=9e4,Se=function(e){return e*xe},Ce=function(e,t){return e*t},we=function(e){return e/xe},Te=function(e,t){return e/t},P={ONE_SECOND_IN_TS:xe,secondsToVideoTs:Se,secondsToAudioTs:Ce,videoTsToSeconds:we,audioTsToSeconds:Te,audioTsToVideoTs:function(e,t){return Se(Te(e,t))},videoTsToAudioTs:function(e,t){return Ce(we(e),t)},metadataTsToSeconds:function(e,t,n){return we(n?e:e-t)}},Ee=be,F=P,De=function(e){var t,n,r=0;for(t=0;t<e.length;t++)n=e[t],r+=n.data.byteLength;return r},Oe={prefixWithSilence:function(e,t,n,r){var i,a=0,o=0,s=0,c=0,l,u,d;if(t.length&&(i=F.audioTsToVideoTs(e.baseMediaDecodeTime,e.samplerate),a=Math.ceil(F.ONE_SECOND_IN_TS/(e.samplerate/1024)),n&&r&&(o=i-Math.max(n,r),s=Math.floor(o/a),c=s*a),!(s<1||c>F.ONE_SECOND_IN_TS/2))){for(l=Ee()[e.samplerate],l||=t[0].data,u=0;u<s;u++)d=t[0],t.splice(0,0,{data:l,dts:d.dts-a,pts:d.pts-a});return e.baseMediaDecodeTime-=Math.floor(F.videoTsToAudioTs(c,e.samplerate)),c}},trimAdtsFramesByEarliestDts:function(e,t,n){return t.minSegmentDts>=n?e:(t.minSegmentDts=1/0,e.filter(function(e){return e.dts>=n&&(t.minSegmentDts=Math.min(t.minSegmentDts,e.dts),t.minSegmentPts=t.minSegmentDts,!0)}))},generateSampleTable:function(e){var t,n,r=[];for(t=0;t<e.length;t++)n=e[t],r.push({size:n.data.byteLength,duration:1024});return r},concatenateFrameData:function(e){var t,n,r=0,i=new Uint8Array(De(e));for(t=0;t<e.length;t++)n=e[t],i.set(n.data,r),r+=n.data.byteLength;return i}},ke=P.ONE_SECOND_IN_TS,Ae={clearDtsInfo:function(e){delete e.minSegmentDts,delete e.maxSegmentDts,delete e.minSegmentPts,delete e.maxSegmentPts},calculateTrackBaseMediaDecodeTime:function(e,t){var n,r,i=e.minSegmentDts;return t||(i-=e.timelineStartInfo.dts),n=e.timelineStartInfo.baseMediaDecodeTime,n+=i,n=Math.max(0,n),e.type===`audio`&&(r=e.samplerate/ke,n*=r,n=Math.floor(n)),n},collectDtsInfo:function(e,t){typeof t.pts==`number`&&(e.timelineStartInfo.pts===void 0&&(e.timelineStartInfo.pts=t.pts),e.minSegmentPts=e.minSegmentPts===void 0?t.pts:Math.min(e.minSegmentPts,t.pts),e.maxSegmentPts=e.maxSegmentPts===void 0?t.pts:Math.max(e.maxSegmentPts,t.pts)),typeof t.dts==`number`&&(e.timelineStartInfo.dts===void 0&&(e.timelineStartInfo.dts=t.dts),e.minSegmentDts=e.minSegmentDts===void 0?t.dts:Math.min(e.minSegmentDts,t.dts),e.maxSegmentDts=e.maxSegmentDts===void 0?t.dts:Math.max(e.maxSegmentDts,t.dts))}},je=4,Me=128,Ne={parseSei:function(e){for(var t=0,n={payloadType:-1,payloadSize:0},r=0,i=0;t<e.byteLength&&e[t]!==Me;){for(;e[t]===255;)r+=255,t++;for(r+=e[t++];e[t]===255;)i+=255,t++;if(i+=e[t++],!n.payload&&r===je){if(String.fromCharCode(e[t+3],e[t+4],e[t+5],e[t+6])===`GA94`){n.payloadType=r,n.payloadSize=i,n.payload=e.subarray(t,t+i);break}n.payload=void 0}t+=i,r=0,i=0}return n},parseUserData:function(e){return e.payload[0]!==181||(e.payload[1]<<8|e.payload[2])!=49||String.fromCharCode(e.payload[3],e.payload[4],e.payload[5],e.payload[6])!==`GA94`||e.payload[7]!==3?null:e.payload.subarray(8,e.payload.length-1)},parseCaptionPackets:function(e,t){var n=[],r,i,a,o;if(!(t[0]&64))return n;for(i=t[0]&31,r=0;r<i;r++)a=r*3,o={type:t[a+2]&3,pts:e},t[a+2]&4&&(o.ccData=t[a+3]<<8|t[a+4],n.push(o));return n},discardEmulationPreventionBytes:function(e){for(var t=e.byteLength,n=[],r=1,i,a;r<t-2;)e[r]===0&&e[r+1]===0&&e[r+2]===3?(n.push(r+2),r+=2):r++;if(n.length===0)return e;i=t-n.length,a=new Uint8Array(i);var o=0;for(r=0;r<i;o++,r++)o===n[0]&&(o++,n.shift()),a[r]=e[o];return a},USER_DATA_REGISTERED_ITU_T_T35:je},Pe=n,Fe=Ne,Ie=function(e){e||={},Ie.prototype.init.call(this),this.parse708captions_=typeof e.parse708captions!=`boolean`||e.parse708captions,this.captionPackets_=[],this.ccStreams_=[new L(0,0),new L(0,1),new L(1,0),new L(1,1)],this.parse708captions_&&(this.cc708Stream_=new I({captionServices:e.captionServices})),this.reset(),this.ccStreams_.forEach(function(e){e.on(`data`,this.trigger.bind(this,`data`)),e.on(`partialdone`,this.trigger.bind(this,`partialdone`)),e.on(`done`,this.trigger.bind(this,`done`))},this),this.parse708captions_&&(this.cc708Stream_.on(`data`,this.trigger.bind(this,`data`)),this.cc708Stream_.on(`partialdone`,this.trigger.bind(this,`partialdone`)),this.cc708Stream_.on(`done`,this.trigger.bind(this,`done`)))};Ie.prototype=new Pe,Ie.prototype.push=function(e){var t,n,r;e.nalUnitType===`sei_rbsp`&&(t=Fe.parseSei(e.escapedRBSP),t.payload&&t.payloadType===Fe.USER_DATA_REGISTERED_ITU_T_T35&&(n=Fe.parseUserData(t),n&&(e.dts<this.latestDts_?this.ignoreNextEqualDts_=!0:e.dts===this.latestDts_&&this.ignoreNextEqualDts_?(this.numSameDts_--,this.numSameDts_||(this.ignoreNextEqualDts_=!1)):(r=Fe.parseCaptionPackets(e.pts,n),this.captionPackets_=this.captionPackets_.concat(r),this.latestDts_!==e.dts&&(this.numSameDts_=0),this.numSameDts_++,this.latestDts_=e.dts))))},Ie.prototype.flushCCStreams=function(e){this.ccStreams_.forEach(function(t){return e===`flush`?t.flush():t.partialFlush()},this)},Ie.prototype.flushStream=function(e){this.captionPackets_.length&&(this.captionPackets_.forEach(function(e,t){e.presortIndex=t}),this.captionPackets_.sort(function(e,t){return e.pts===t.pts?e.presortIndex-t.presortIndex:e.pts-t.pts}),this.captionPackets_.forEach(function(e){e.type<2?this.dispatchCea608Packet(e):this.dispatchCea708Packet(e)},this),this.captionPackets_.length=0),this.flushCCStreams(e)},Ie.prototype.flush=function(){return this.flushStream(`flush`)},Ie.prototype.partialFlush=function(){return this.flushStream(`partialFlush`)},Ie.prototype.reset=function(){this.latestDts_=null,this.ignoreNextEqualDts_=!1,this.numSameDts_=0,this.activeCea608Channel_=[null,null],this.ccStreams_.forEach(function(e){e.reset()})},Ie.prototype.dispatchCea608Packet=function(e){this.setsTextOrXDSActive(e)?this.activeCea608Channel_[e.type]=null:this.setsChannel1Active(e)?this.activeCea608Channel_[e.type]=0:this.setsChannel2Active(e)&&(this.activeCea608Channel_[e.type]=1),this.activeCea608Channel_[e.type]!==null&&this.ccStreams_[(e.type<<1)+this.activeCea608Channel_[e.type]].push(e)},Ie.prototype.setsChannel1Active=function(e){return(e.ccData&30720)==4096},Ie.prototype.setsChannel2Active=function(e){return(e.ccData&30720)==6144},Ie.prototype.setsTextOrXDSActive=function(e){return(e.ccData&28928)==256||(e.ccData&30974)==4138||(e.ccData&30974)==6186},Ie.prototype.dispatchCea708Packet=function(e){this.parse708captions_&&this.cc708Stream_.push(e)};var Le={127:9834,4128:32,4129:160,4133:8230,4138:352,4140:338,4144:9608,4145:8216,4146:8217,4147:8220,4148:8221,4149:8226,4153:8482,4154:353,4156:339,4157:8480,4159:376,4214:8539,4215:8540,4216:8541,4217:8542,4218:9168,4219:9124,4220:9123,4221:9135,4222:9126,4223:9121,4256:12600},Re=function(e){var t=Le[e]||e;return e&4096&&e===t?``:String.fromCharCode(t)},ze=function(e){return 32<=e&&e<=127||160<=e&&e<=255},Be=function(e){this.windowNum=e,this.reset()};Be.prototype.reset=function(){this.clearText(),this.pendingNewLine=!1,this.winAttr={},this.penAttr={},this.penLoc={},this.penColor={},this.visible=0,this.rowLock=0,this.columnLock=0,this.priority=0,this.relativePositioning=0,this.anchorVertical=0,this.anchorHorizontal=0,this.anchorPoint=0,this.rowCount=1,this.virtualRowCount=this.rowCount+1,this.columnCount=41,this.windowStyle=0,this.penStyle=0},Be.prototype.getText=function(){return this.rows.join(`
185
185
  `)},Be.prototype.clearText=function(){this.rows=[``],this.rowIdx=0},Be.prototype.newLine=function(e){for(this.rows.length>=this.virtualRowCount&&typeof this.beforeRowOverflow==`function`&&this.beforeRowOverflow(e),this.rows.length>0&&(this.rows.push(``),this.rowIdx++);this.rows.length>this.virtualRowCount;)this.rows.shift(),this.rowIdx--},Be.prototype.isEmpty=function(){return this.rows.length===0||this.rows.length===1&&this.rows[0]===``},Be.prototype.addText=function(e){this.rows[this.rowIdx]+=e},Be.prototype.backspace=function(){if(!this.isEmpty()){var e=this.rows[this.rowIdx];this.rows[this.rowIdx]=e.substr(0,e.length-1)}};var Ve=function(e,t,n){this.serviceNum=e,this.text=``,this.currentWindow=new Be(-1),this.windows=[],this.stream=n,typeof t==`string`&&this.createTextDecoder(t)};Ve.prototype.init=function(e,t){this.startPts=e;for(var n=0;n<8;n++)this.windows[n]=new Be(n),typeof t==`function`&&(this.windows[n].beforeRowOverflow=t)},Ve.prototype.setCurrentWindow=function(e){this.currentWindow=this.windows[e]},Ve.prototype.createTextDecoder=function(e){if(typeof TextDecoder>`u`)this.stream.trigger(`log`,{level:`warn`,message:"The `encoding` option is unsupported without TextDecoder support"});else try{this.textDecoder_=new TextDecoder(e)}catch(t){this.stream.trigger(`log`,{level:`warn`,message:`TextDecoder could not be created with `+e+` encoding. `+t})}};var I=function(e){e||={},I.prototype.init.call(this);var t=this,n=e.captionServices||{},r={},i;Object.keys(n).forEach(e=>{i=n[e],/^SERVICE/.test(e)&&(r[e]=i.encoding)}),this.serviceEncodings=r,this.current708Packet=null,this.services={},this.push=function(e){e.type===3?(t.new708Packet(),t.add708Bytes(e)):(t.current708Packet===null&&t.new708Packet(),t.add708Bytes(e))}};I.prototype=new Pe,I.prototype.new708Packet=function(){this.current708Packet!==null&&this.push708Packet(),this.current708Packet={data:[],ptsVals:[]}},I.prototype.add708Bytes=function(e){var t=e.ccData,n=t>>>8,r=t&255;this.current708Packet.ptsVals.push(e.pts),this.current708Packet.data.push(n),this.current708Packet.data.push(r)},I.prototype.push708Packet=function(){var e=this.current708Packet,t=e.data,n=null,r=null,i=0,a=t[i++];for(e.seq=a>>6,e.sizeCode=a&63;i<t.length;i++)a=t[i++],n=a>>5,r=a&31,n===7&&r>0&&(a=t[i++],n=a),this.pushServiceBlock(n,i,r),r>0&&(i+=r-1)},I.prototype.pushServiceBlock=function(e,t,n){var r,i=t,a=this.current708Packet.data,o=this.services[e];for(o||=this.initService(e,i);i<t+n&&i<a.length;i++)r=a[i],ze(r)?i=this.handleText(i,o):r===24?i=this.multiByteCharacter(i,o):r===16?i=this.extendedCommands(i,o):128<=r&&r<=135?i=this.setCurrentWindow(i,o):152<=r&&r<=159?i=this.defineWindow(i,o):r===136?i=this.clearWindows(i,o):r===140?i=this.deleteWindows(i,o):r===137?i=this.displayWindows(i,o):r===138?i=this.hideWindows(i,o):r===139?i=this.toggleWindows(i,o):r===151?i=this.setWindowAttributes(i,o):r===144?i=this.setPenAttributes(i,o):r===145?i=this.setPenColor(i,o):r===146?i=this.setPenLocation(i,o):r===143?o=this.reset(i,o):r===8?o.currentWindow.backspace():r===12?o.currentWindow.clearText():r===13?o.currentWindow.pendingNewLine=!0:r===14?o.currentWindow.clearText():r===141&&i++},I.prototype.extendedCommands=function(e,t){var n=this.current708Packet.data[++e];return ze(n)&&(e=this.handleText(e,t,{isExtended:!0})),e},I.prototype.getPts=function(e){return this.current708Packet.ptsVals[Math.floor(e/2)]},I.prototype.initService=function(e,t){var n=`SERVICE`+e,r=this,n,i;return n in this.serviceEncodings&&(i=this.serviceEncodings[n]),this.services[e]=new Ve(e,i,r),this.services[e].init(this.getPts(t),function(t){r.flushDisplayed(t,r.services[e])}),this.services[e]},I.prototype.handleText=function(e,t,n){var r=n&&n.isExtended,i=n&&n.isMultiByte,a=this.current708Packet.data,o=r?4096:0,s=a[e],c=a[e+1],l=t.currentWindow,u,d;function f(e){return e.map(e=>(`0`+(e&255).toString(16)).slice(-2)).join(``)}if(i?(d=[s,c],e++):d=[s],t.textDecoder_&&!r)u=t.textDecoder_.decode(new Uint8Array(d));else if(i){let e=f(d);u=String.fromCharCode(parseInt(e,16))}else u=Re(o|s);return l.pendingNewLine&&!l.isEmpty()&&l.newLine(this.getPts(e)),l.pendingNewLine=!1,l.addText(u),e},I.prototype.multiByteCharacter=function(e,t){var n=this.current708Packet.data,r=n[e+1],i=n[e+2];return ze(r)&&ze(i)&&(e=this.handleText(++e,t,{isMultiByte:!0})),e},I.prototype.setCurrentWindow=function(e,t){var n=this.current708Packet.data[e]&7;return t.setCurrentWindow(n),e},I.prototype.defineWindow=function(e,t){var n=this.current708Packet.data,r=n[e],i=r&7;t.setCurrentWindow(i);var a=t.currentWindow;return r=n[++e],a.visible=(r&32)>>5,a.rowLock=(r&16)>>4,a.columnLock=(r&8)>>3,a.priority=r&7,r=n[++e],a.relativePositioning=(r&128)>>7,a.anchorVertical=r&127,r=n[++e],a.anchorHorizontal=r,r=n[++e],a.anchorPoint=(r&240)>>4,a.rowCount=r&15,r=n[++e],a.columnCount=r&63,r=n[++e],a.windowStyle=(r&56)>>3,a.penStyle=r&7,a.virtualRowCount=a.rowCount+1,e},I.prototype.setWindowAttributes=function(e,t){var n=this.current708Packet.data,r=n[e],i=t.currentWindow.winAttr;return r=n[++e],i.fillOpacity=(r&192)>>6,i.fillRed=(r&48)>>4,i.fillGreen=(r&12)>>2,i.fillBlue=r&3,r=n[++e],i.borderType=(r&192)>>6,i.borderRed=(r&48)>>4,i.borderGreen=(r&12)>>2,i.borderBlue=r&3,r=n[++e],i.borderType+=(r&128)>>5,i.wordWrap=(r&64)>>6,i.printDirection=(r&48)>>4,i.scrollDirection=(r&12)>>2,i.justify=r&3,r=n[++e],i.effectSpeed=(r&240)>>4,i.effectDirection=(r&12)>>2,i.displayEffect=r&3,e},I.prototype.flushDisplayed=function(e,t){for(var n=[],r=0;r<8;r++)t.windows[r].visible&&!t.windows[r].isEmpty()&&n.push(t.windows[r].getText());t.endPts=e,t.text=n.join(`
186
186
 
187
187
  `),this.pushCaption(t),t.startPts=e},I.prototype.pushCaption=function(e){e.text!==``&&(this.trigger(`data`,{startPts:e.startPts,endPts:e.endPts,text:e.text,stream:`cc708_`+e.serviceNum}),e.text=``,e.startPts=e.endPts)},I.prototype.displayWindows=function(e,t){var n=this.current708Packet.data[++e],r=this.getPts(e);this.flushDisplayed(r,t);for(var i=0;i<8;i++)n&1<<i&&(t.windows[i].visible=1);return e},I.prototype.hideWindows=function(e,t){var n=this.current708Packet.data[++e],r=this.getPts(e);this.flushDisplayed(r,t);for(var i=0;i<8;i++)n&1<<i&&(t.windows[i].visible=0);return e},I.prototype.toggleWindows=function(e,t){var n=this.current708Packet.data[++e],r=this.getPts(e);this.flushDisplayed(r,t);for(var i=0;i<8;i++)n&1<<i&&(t.windows[i].visible^=1);return e},I.prototype.clearWindows=function(e,t){var n=this.current708Packet.data[++e],r=this.getPts(e);this.flushDisplayed(r,t);for(var i=0;i<8;i++)n&1<<i&&t.windows[i].clearText();return e},I.prototype.deleteWindows=function(e,t){var n=this.current708Packet.data[++e],r=this.getPts(e);this.flushDisplayed(r,t);for(var i=0;i<8;i++)n&1<<i&&t.windows[i].reset();return e},I.prototype.setPenAttributes=function(e,t){var n=this.current708Packet.data,r=n[e],i=t.currentWindow.penAttr;return r=n[++e],i.textTag=(r&240)>>4,i.offset=(r&12)>>2,i.penSize=r&3,r=n[++e],i.italics=(r&128)>>7,i.underline=(r&64)>>6,i.edgeType=(r&56)>>3,i.fontStyle=r&7,e},I.prototype.setPenColor=function(e,t){var n=this.current708Packet.data,r=n[e],i=t.currentWindow.penColor;return r=n[++e],i.fgOpacity=(r&192)>>6,i.fgRed=(r&48)>>4,i.fgGreen=(r&12)>>2,i.fgBlue=r&3,r=n[++e],i.bgOpacity=(r&192)>>6,i.bgRed=(r&48)>>4,i.bgGreen=(r&12)>>2,i.bgBlue=r&3,r=n[++e],i.edgeRed=(r&48)>>4,i.edgeGreen=(r&12)>>2,i.edgeBlue=r&3,e},I.prototype.setPenLocation=function(e,t){var n=this.current708Packet.data,r=n[e],i=t.currentWindow.penLoc;return t.currentWindow.pendingNewLine=!0,r=n[++e],i.row=r&15,r=n[++e],i.column=r&63,e},I.prototype.reset=function(e,t){var n=this.getPts(e);return this.flushDisplayed(n,t),this.initService(t.serviceNum,e)};var He={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,304:174,305:176,306:189,307:191,308:8482,309:162,310:163,311:9834,312:224,313:160,314:232,315:226,316:234,317:238,318:244,319:251,544:193,545:201,546:211,547:218,548:220,549:252,550:8216,551:161,552:42,553:39,554:8212,555:169,556:8480,557:8226,558:8220,559:8221,560:192,561:194,562:199,563:200,564:202,565:203,566:235,567:206,568:207,569:239,570:212,571:217,572:249,573:219,574:171,575:187,800:195,801:227,802:205,803:204,804:236,805:210,806:242,807:213,808:245,809:123,810:125,811:92,812:94,813:95,814:124,815:126,816:196,817:228,818:214,819:246,820:223,821:165,822:164,823:9474,824:197,825:229,826:216,827:248,828:9484,829:9488,830:9492,831:9496},Ue=function(e){return e===null?``:(e=He[e]||e,String.fromCharCode(e))},We=14,Ge=[4352,4384,4608,4640,5376,5408,5632,5664,5888,5920,4096,4864,4896,5120,5152],Ke=function(){for(var e=[],t=We+1;t--;)e.push({text:``,indent:0,offset:0});return e},L=function(e,t){L.prototype.init.call(this),this.field_=e||0,this.dataChannel_=t||0,this.name_=`CC`+((this.field_<<1|this.dataChannel_)+1),this.setConstants(),this.reset(),this.push=function(e){var t=e.ccData&32639,n,r,i,a;if(t===this.lastControlCode_)this.lastControlCode_=null;else if((t&61440)==4096?this.lastControlCode_=t:t!==this.PADDING_&&(this.lastControlCode_=null),r=t>>>8,i=t&255,t!==this.PADDING_){if(t===this.RESUME_CAPTION_LOADING_)this.mode_=`popOn`;else if(t===this.END_OF_CAPTION_)this.mode_=`popOn`,this.clearFormatting(e.pts),this.flushDisplayed(e.pts),n=this.displayed_,this.displayed_=this.nonDisplayed_,this.nonDisplayed_=n,this.startPts_=e.pts;else if(t===this.ROLL_UP_2_ROWS_)this.rollUpRows_=2,this.setRollUp(e.pts);else if(t===this.ROLL_UP_3_ROWS_)this.rollUpRows_=3,this.setRollUp(e.pts);else if(t===this.ROLL_UP_4_ROWS_)this.rollUpRows_=4,this.setRollUp(e.pts);else if(t===this.CARRIAGE_RETURN_)this.clearFormatting(e.pts),this.flushDisplayed(e.pts),this.shiftRowsUp_(),this.startPts_=e.pts;else if(t===this.BACKSPACE_)this.mode_===`popOn`?this.nonDisplayed_[this.row_].text=this.nonDisplayed_[this.row_].text.slice(0,-1):this.displayed_[this.row_].text=this.displayed_[this.row_].text.slice(0,-1);else if(t===this.ERASE_DISPLAYED_MEMORY_)this.flushDisplayed(e.pts),this.displayed_=Ke();else if(t===this.ERASE_NON_DISPLAYED_MEMORY_)this.nonDisplayed_=Ke();else if(t===this.RESUME_DIRECT_CAPTIONING_)this.mode_!==`paintOn`&&(this.flushDisplayed(e.pts),this.displayed_=Ke()),this.mode_=`paintOn`,this.startPts_=e.pts;else if(this.isSpecialCharacter(r,i))r=(r&3)<<8,a=Ue(r|i),this[this.mode_](e.pts,a),this.column_++;else if(this.isExtCharacter(r,i))this.mode_===`popOn`?this.nonDisplayed_[this.row_].text=this.nonDisplayed_[this.row_].text.slice(0,-1):this.displayed_[this.row_].text=this.displayed_[this.row_].text.slice(0,-1),r=(r&3)<<8,a=Ue(r|i),this[this.mode_](e.pts,a),this.column_++;else if(this.isMidRowCode(r,i))this.clearFormatting(e.pts),this[this.mode_](e.pts,` `),this.column_++,(i&14)==14&&this.addFormatting(e.pts,[`i`]),(i&1)==1&&this.addFormatting(e.pts,[`u`]);else if(this.isOffsetControlCode(r,i)){let e=i&3;this.nonDisplayed_[this.row_].offset=e,this.column_+=e}else if(this.isPAC(r,i)){var o=Ge.indexOf(t&7968);if(this.mode_===`rollUp`&&(o-this.rollUpRows_+1<0&&(o=this.rollUpRows_-1),this.setRollUp(e.pts,o)),o!==this.row_&&o>=0&&o<=14&&(this.clearFormatting(e.pts),this.row_=o),i&1&&this.formatting_.indexOf(`u`)===-1&&this.addFormatting(e.pts,[`u`]),(t&16)==16){let e=(t&14)>>1;this.column_=e*4,this.nonDisplayed_[this.row_].indent+=e}this.isColorPAC(i)&&(i&14)==14&&this.addFormatting(e.pts,[`i`])}else this.isNormalChar(r)&&(i===0&&(i=null),a=Ue(r),a+=Ue(i),this[this.mode_](e.pts,a),this.column_+=a.length)}}};L.prototype=new Pe,L.prototype.flushDisplayed=function(e){let t=e=>{this.trigger(`log`,{level:`warn`,message:`Skipping a malformed 608 caption at index `+e+`.`})},n=[];this.displayed_.forEach((e,r)=>{if(e&&e.text&&e.text.length){try{e.text=e.text.trim()}catch{t(r)}e.text.length&&n.push({text:e.text,line:r+1,position:10+Math.min(70,e.indent*10)+e.offset*2.5})}else e??t(r)}),n.length&&this.trigger(`data`,{startPts:this.startPts_,endPts:e,content:n,stream:this.name_})},L.prototype.reset=function(){this.mode_=`popOn`,this.topRow_=0,this.startPts_=0,this.displayed_=Ke(),this.nonDisplayed_=Ke(),this.lastControlCode_=null,this.column_=0,this.row_=We,this.rollUpRows_=2,this.formatting_=[]},L.prototype.setConstants=function(){this.dataChannel_===0?(this.BASE_=16,this.EXT_=17,this.CONTROL_=(20|this.field_)<<8,this.OFFSET_=23):this.dataChannel_===1&&(this.BASE_=24,this.EXT_=25,this.CONTROL_=(28|this.field_)<<8,this.OFFSET_=31),this.PADDING_=0,this.RESUME_CAPTION_LOADING_=this.CONTROL_|32,this.END_OF_CAPTION_=this.CONTROL_|47,this.ROLL_UP_2_ROWS_=this.CONTROL_|37,this.ROLL_UP_3_ROWS_=this.CONTROL_|38,this.ROLL_UP_4_ROWS_=this.CONTROL_|39,this.CARRIAGE_RETURN_=this.CONTROL_|45,this.RESUME_DIRECT_CAPTIONING_=this.CONTROL_|41,this.BACKSPACE_=this.CONTROL_|33,this.ERASE_DISPLAYED_MEMORY_=this.CONTROL_|44,this.ERASE_NON_DISPLAYED_MEMORY_=this.CONTROL_|46},L.prototype.isSpecialCharacter=function(e,t){return e===this.EXT_&&t>=48&&t<=63},L.prototype.isExtCharacter=function(e,t){return(e===this.EXT_+1||e===this.EXT_+2)&&t>=32&&t<=63},L.prototype.isMidRowCode=function(e,t){return e===this.EXT_&&t>=32&&t<=47},L.prototype.isOffsetControlCode=function(e,t){return e===this.OFFSET_&&t>=33&&t<=35},L.prototype.isPAC=function(e,t){return e>=this.BASE_&&e<this.BASE_+8&&t>=64&&t<=127},L.prototype.isColorPAC=function(e){return e>=64&&e<=79||e>=96&&e<=127},L.prototype.isNormalChar=function(e){return e>=32&&e<=127},L.prototype.setRollUp=function(e,t){if(this.mode_!==`rollUp`&&(this.row_=We,this.mode_=`rollUp`,this.flushDisplayed(e),this.nonDisplayed_=Ke(),this.displayed_=Ke()),t!==void 0&&t!==this.row_)for(var n=0;n<this.rollUpRows_;n++)this.displayed_[t-n]=this.displayed_[this.row_-n],this.displayed_[this.row_-n]={text:``,indent:0,offset:0};t===void 0&&(t=this.row_),this.topRow_=t-this.rollUpRows_+1},L.prototype.addFormatting=function(e,t){this.formatting_=this.formatting_.concat(t);var n=t.reduce(function(e,t){return e+`<`+t+`>`},``);this[this.mode_](e,n)},L.prototype.clearFormatting=function(e){if(this.formatting_.length){var t=this.formatting_.reverse().reduce(function(e,t){return e+`</`+t+`>`},``);this.formatting_=[],this[this.mode_](e,t)}},L.prototype.popOn=function(e,t){var n=this.nonDisplayed_[this.row_].text;n+=t,this.nonDisplayed_[this.row_].text=n},L.prototype.rollUp=function(e,t){var n=this.displayed_[this.row_].text;n+=t,this.displayed_[this.row_].text=n},L.prototype.shiftRowsUp_=function(){for(var e=0;e<this.topRow_;e++)this.displayed_[e]={text:``,indent:0,offset:0};for(e=this.row_+1;e<We+1;e++)this.displayed_[e]={text:``,indent:0,offset:0};for(e=this.topRow_;e<this.row_;e++)this.displayed_[e]=this.displayed_[e+1];this.displayed_[this.row_]={text:``,indent:0,offset:0}},L.prototype.paintOn=function(e,t){var n=this.displayed_[this.row_].text;n+=t,this.displayed_[this.row_].text=n};var qe={CaptionStream:Ie,Cea608Stream:L,Cea708Stream:I},Je={H264_STREAM_TYPE:27,ADTS_STREAM_TYPE:15,METADATA_STREAM_TYPE:21},Ye=n,Xe=8589934592,Ze=4294967296,Qe=`shared`,$e=function(e,t){var n=1;for(e>t&&(n=-1);Math.abs(t-e)>Ze;)e+=n*Xe;return e},et=function(e){var t,n;et.prototype.init.call(this),this.type_=e||Qe,this.push=function(e){e.type===`metadata`?this.trigger(`data`,e):(this.type_===Qe||e.type===this.type_)&&(n===void 0&&(n=e.dts),e.dts=$e(e.dts,n),e.pts=$e(e.pts,n),t=e.dts,this.trigger(`data`,e))},this.flush=function(){n=t,this.trigger(`done`)},this.endTimeline=function(){this.flush(),this.trigger(`endedtimeline`)},this.discontinuity=function(){n=void 0,t=void 0},this.reset=function(){this.discontinuity(),this.trigger(`reset`)}};et.prototype=new Ye;var tt={TimestampRolloverStream:et,handleRollover:$e},nt={typedArrayIndexOf:(e,t,n)=>{if(!e)return-1;for(var r=n;r<e.length;r++)if(e[r]===t)return r;return-1}}.typedArrayIndexOf,rt={Utf8:3},it=function(e,t,n){var r,i=``;for(r=t;r<n;r++)i+=`%`+(`00`+e[r].toString(16)).slice(-2);return i},R=function(e,t,n){return decodeURIComponent(it(e,t,n))},at=function(e,t,n){return unescape(it(e,t,n))},ot=function(e){return e[0]<<21|e[1]<<14|e[2]<<7|e[3]},st={APIC:function(e){var t=1,n,r;e.data[0]===rt.Utf8&&(n=nt(e.data,0,t),n<0||(e.mimeType=at(e.data,t,n),t=n+1,e.pictureType=e.data[t],t++,r=nt(e.data,0,t),r<0||(e.description=R(e.data,t,r),t=r+1,e.mimeType===`-->`?e.url=at(e.data,t,e.data.length):e.pictureData=e.data.subarray(t,e.data.length))))},"T*":function(e){e.data[0]===rt.Utf8&&(e.value=R(e.data,1,e.data.length).replace(/\0*$/,``),e.values=e.value.split(`\0`))},TXXX:function(e){var t;e.data[0]===rt.Utf8&&(t=nt(e.data,0,1),t!==-1&&(e.description=R(e.data,1,t),e.value=R(e.data,t+1,e.data.length).replace(/\0*$/,``),e.data=e.value))},"W*":function(e){e.url=at(e.data,0,e.data.length).replace(/\0.*$/,``)},WXXX:function(e){var t;e.data[0]===rt.Utf8&&(t=nt(e.data,0,1),t!==-1&&(e.description=R(e.data,1,t),e.url=at(e.data,t+1,e.data.length).replace(/\0.*$/,``)))},PRIV:function(e){for(var t=0;t<e.data.length;t++)if(e.data[t]===0){e.owner=at(e.data,0,t);break}e.privateData=e.data.subarray(t+1),e.data=e.privateData}},ct={parseId3Frames:function(e){var t,n,r=10,i=0,a=[];if(!(e.length<10||e[0]!==73||e[1]!==68||e[2]!==51)){i=ot(e.subarray(6,10)),i+=10,e[5]&64&&(r+=4,r+=ot(e.subarray(10,14)),i-=ot(e.subarray(16,20)));do{if(t=ot(e.subarray(r+4,r+8)),t<1)break;n=String.fromCharCode(e[r],e[r+1],e[r+2],e[r+3]);var o={id:n,data:e.subarray(r+10,r+t+10)};o.key=o.id,st[o.id]?st[o.id](o):o.id[0]===`T`?st[`T*`](o):o.id[0]===`W`&&st[`W*`](o),a.push(o),r+=10,r+=t}while(r<i);return a}},parseSyncSafeInteger:ot,frameParsers:st},lt=n,ut=Je,dt=ct,ft=function(e){var t={descriptor:e&&e.descriptor},n=0,r=[],i=0,a;if(ft.prototype.init.call(this),this.dispatchType=ut.METADATA_STREAM_TYPE.toString(16),t.descriptor)for(a=0;a<t.descriptor.length;a++)this.dispatchType+=(`00`+t.descriptor[a].toString(16)).slice(-2);this.push=function(e){var t,a,o,s,c,l;if(e.type===`timed-metadata`){if(e.dataAlignmentIndicator&&(i=0,r.length=0),r.length===0&&(e.data.length<10||e.data[0]!==73||e.data[1]!==68||e.data[2]!==51))this.trigger(`log`,{level:`warn`,message:`Skipping unrecognized metadata packet`});else if(r.push(e),i+=e.data.byteLength,r.length===1&&(n=dt.parseSyncSafeInteger(e.data.subarray(6,10)),n+=10),!(i<n)){for(t={data:new Uint8Array(n),frames:[],pts:r[0].pts,dts:r[0].dts},c=0;c<n;)t.data.set(r[0].data.subarray(0,n-c),c),c+=r[0].data.byteLength,i-=r[0].data.byteLength,r.shift();a=10,t.data[5]&64&&(a+=4,a+=dt.parseSyncSafeInteger(t.data.subarray(10,14)),n-=dt.parseSyncSafeInteger(t.data.subarray(16,20)));do{if(o=dt.parseSyncSafeInteger(t.data.subarray(a+4,a+8)),o<1){this.trigger(`log`,{level:`warn`,message:`Malformed ID3 frame encountered. Skipping remaining metadata parsing.`});break}if(l=String.fromCharCode(t.data[a],t.data[a+1],t.data[a+2],t.data[a+3]),s={id:l,data:t.data.subarray(a+10,a+o+10)},s.key=s.id,dt.frameParsers[s.id]?dt.frameParsers[s.id](s):s.id[0]===`T`?dt.frameParsers[`T*`](s):s.id[0]===`W`&&dt.frameParsers[`W*`](s),s.owner===`com.apple.streaming.transportStreamTimestamp`){var u=s.data,d=(u[3]&1)<<30|u[4]<<22|u[5]<<14|u[6]<<6|u[7]>>>2;d*=4,d+=u[7]&3,s.timeStamp=d,t.pts===void 0&&t.dts===void 0&&(t.pts=s.timeStamp,t.dts=s.timeStamp),this.trigger(`timestamp`,s)}t.frames.push(s),a+=10,a+=o}while(a<n);this.trigger(`data`,t)}}}};ft.prototype=new lt;var pt=ft,mt=n,ht=qe,gt=Je,_t=tt.TimestampRolloverStream,vt,yt,bt,xt=188,St=71;vt=function(){var e=new Uint8Array(xt),t=0;vt.prototype.init.call(this),this.push=function(n){var r=0,i=xt,a;for(t?(a=new Uint8Array(n.byteLength+t),a.set(e.subarray(0,t)),a.set(n,t),t=0):a=n;i<a.byteLength;)a[r]===St&&a[i]===St?(this.trigger(`data`,a.subarray(r,i)),r+=xt,i+=xt):(r++,i++);r<a.byteLength&&(e.set(a.subarray(r),0),t=a.byteLength-r)},this.flush=function(){t===xt&&e[0]===St&&(this.trigger(`data`,e),t=0),this.trigger(`done`)},this.endTimeline=function(){this.flush(),this.trigger(`endedtimeline`)},this.reset=function(){t=0,this.trigger(`reset`)}},vt.prototype=new mt,yt=function(){var e,t,n,r;yt.prototype.init.call(this),r=this,this.packetsWaitingForPmt=[],this.programMapTable=void 0,e=function(e,r){var i=0;r.payloadUnitStartIndicator&&(i+=e[i]+1),r.type===`pat`?t(e.subarray(i),r):n(e.subarray(i),r)},t=function(e,t){t.section_number=e[7],t.last_section_number=e[8],r.pmtPid=(e[10]&31)<<8|e[11],t.pmtPid=r.pmtPid},n=function(e,t){var n,i,a,o;if(e[5]&1){for(r.programMapTable={video:null,audio:null,"timed-metadata":{}},n=(e[1]&15)<<8|e[2],i=3+n-4,a=(e[10]&15)<<8|e[11],o=12+a;o<i;){var s=e[o],c=(e[o+1]&31)<<8|e[o+2];s===gt.H264_STREAM_TYPE&&r.programMapTable.video===null?r.programMapTable.video=c:s===gt.ADTS_STREAM_TYPE&&r.programMapTable.audio===null?r.programMapTable.audio=c:s===gt.METADATA_STREAM_TYPE&&(r.programMapTable[`timed-metadata`][c]=s),o+=((e[o+3]&15)<<8|e[o+4])+5}t.programMapTable=r.programMapTable}},this.push=function(t){var n={},r=4;if(n.payloadUnitStartIndicator=!!(t[1]&64),n.pid=t[1]&31,n.pid<<=8,n.pid|=t[2],(t[3]&48)>>>4>1&&(r+=t[r]+1),n.pid===0)n.type=`pat`,e(t.subarray(r),n),this.trigger(`data`,n);else if(n.pid===this.pmtPid)for(n.type=`pmt`,e(t.subarray(r),n),this.trigger(`data`,n);this.packetsWaitingForPmt.length;)this.processPes_.apply(this,this.packetsWaitingForPmt.shift());else this.programMapTable===void 0?this.packetsWaitingForPmt.push([t,r,n]):this.processPes_(t,r,n)},this.processPes_=function(e,t,n){n.streamType=n.pid===this.programMapTable.video?gt.H264_STREAM_TYPE:n.pid===this.programMapTable.audio?gt.ADTS_STREAM_TYPE:this.programMapTable[`timed-metadata`][n.pid],n.type=`pes`,n.data=e.subarray(t),this.trigger(`data`,n)}},yt.prototype=new mt,yt.STREAM_TYPES={h264:27,adts:15},bt=function(){var e=this,t=!1,n={data:[],size:0},r={data:[],size:0},i={data:[],size:0},a,o=function(e,t){var n;let r=e[0]<<16|e[1]<<8|e[2];t.data=new Uint8Array,r===1&&(t.packetLength=6+(e[4]<<8|e[5]),t.dataAlignmentIndicator=!!(e[6]&4),n=e[7],n&192&&(t.pts=(e[9]&14)<<27|(e[10]&255)<<20|(e[11]&254)<<12|(e[12]&255)<<5|(e[13]&254)>>>3,t.pts*=4,t.pts+=(e[13]&6)>>>1,t.dts=t.pts,n&64&&(t.dts=(e[14]&14)<<27|(e[15]&255)<<20|(e[16]&254)<<12|(e[17]&255)<<5|(e[18]&254)>>>3,t.dts*=4,t.dts+=(e[18]&6)>>>1)),t.data=e.subarray(9+e[8]))},s=function(t,n,r){var i=new Uint8Array(t.size),a={type:n},s=0,c=0,l=!1,u;if(!(!t.data.length||t.size<9)){for(a.trackId=t.data[0].pid,s=0;s<t.data.length;s++)u=t.data[s],i.set(u.data,c),c+=u.data.byteLength;o(i,a),l=n===`video`||a.packetLength<=t.size,(r||l)&&(t.size=0,t.data.length=0),l&&e.trigger(`data`,a)}};bt.prototype.init.call(this),this.push=function(o){({pat:function(){},pes:function(){var e,t;switch(o.streamType){case gt.H264_STREAM_TYPE:e=n,t=`video`;break;case gt.ADTS_STREAM_TYPE:e=r,t=`audio`;break;case gt.METADATA_STREAM_TYPE:e=i,t=`timed-metadata`;break;default:return}o.payloadUnitStartIndicator&&s(e,t,!0),e.data.push(o),e.size+=o.data.byteLength},pmt:function(){var n={type:`metadata`,tracks:[]};a=o.programMapTable,a.video!==null&&n.tracks.push({timelineStartInfo:{baseMediaDecodeTime:0},id:+a.video,codec:`avc`,type:`video`}),a.audio!==null&&n.tracks.push({timelineStartInfo:{baseMediaDecodeTime:0},id:+a.audio,codec:`adts`,type:`audio`}),t=!0,e.trigger(`data`,n)}})[o.type]()},this.reset=function(){n.size=0,n.data.length=0,r.size=0,r.data.length=0,this.trigger(`reset`)},this.flushStreams_=function(){s(n,`video`),s(r,`audio`),s(i,`timed-metadata`)},this.flush=function(){if(!t&&a){var n={type:`metadata`,tracks:[]};a.video!==null&&n.tracks.push({timelineStartInfo:{baseMediaDecodeTime:0},id:+a.video,codec:`avc`,type:`video`}),a.audio!==null&&n.tracks.push({timelineStartInfo:{baseMediaDecodeTime:0},id:+a.audio,codec:`adts`,type:`audio`}),e.trigger(`data`,n)}t=!1,this.flushStreams_(),this.trigger(`done`)}},bt.prototype=new mt;var Ct={PAT_PID:0,MP2T_PACKET_LENGTH:xt,TransportPacketStream:vt,TransportParseStream:yt,ElementaryStream:bt,TimestampRolloverStream:_t,CaptionStream:ht.CaptionStream,Cea608Stream:ht.Cea608Stream,Cea708Stream:ht.Cea708Stream,MetadataStream:pt};for(var wt in gt)gt.hasOwnProperty(wt)&&(Ct[wt]=gt[wt]);var Tt=Ct,Et=n,Dt=P.ONE_SECOND_IN_TS,Ot,kt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];Ot=function(e){var t,n=0;Ot.prototype.init.call(this),this.skipWarn_=function(e,t){this.trigger(`log`,{level:`warn`,message:`adts skiping bytes ${e} to ${t} in frame ${n} outside syncword`})},this.push=function(r){var i=0,a,o,s,c,l;if(e||(n=0),r.type===`audio`){t&&t.length?(s=t,t=new Uint8Array(s.byteLength+r.data.byteLength),t.set(s),t.set(r.data,s.byteLength)):t=r.data;for(var u;i+7<t.length;)if(t[i]!==255||(t[i+1]&246)!=240)typeof u!=`number`&&(u=i),i++;else{if(typeof u==`number`&&(this.skipWarn_(u,i),u=null),o=(~t[i+1]&1)*2,a=(t[i+3]&3)<<11|t[i+4]<<3|(t[i+5]&224)>>5,c=((t[i+6]&3)+1)*1024,l=c*Dt/kt[(t[i+2]&60)>>>2],t.byteLength-i<a)break;this.trigger(`data`,{pts:r.pts+n*l,dts:r.dts+n*l,sampleCount:c,audioobjecttype:(t[i+2]>>>6&3)+1,channelcount:(t[i+2]&1)<<2|(t[i+3]&192)>>>6,samplerate:kt[(t[i+2]&60)>>>2],samplingfrequencyindex:(t[i+2]&60)>>>2,samplesize:16,data:t.subarray(i+7+o,i+a)}),n++,i+=a}typeof u==`number`&&(this.skipWarn_(u,i),u=null),t=t.subarray(i)}},this.flush=function(){n=0,this.trigger(`done`)},this.reset=function(){t=void 0,this.trigger(`reset`)},this.endTimeline=function(){t=void 0,this.trigger(`endedtimeline`)}},Ot.prototype=new Et;var At=Ot,jt=function(e){var t=e.byteLength,n=0,r=0;this.length=function(){return 8*t},this.bitsAvailable=function(){return 8*t+r},this.loadWord=function(){var i=e.byteLength-t,a=new Uint8Array(4),o=Math.min(4,t);if(o===0)throw Error(`no bytes available`);a.set(e.subarray(i,i+o)),n=new DataView(a.buffer).getUint32(0),r=o*8,t-=o},this.skipBits=function(e){var i;r>e?(n<<=e,r-=e):(e-=r,i=Math.floor(e/8),e-=i*8,t-=i,this.loadWord(),n<<=e,r-=e)},this.readBits=function(e){var i=Math.min(r,e),a=n>>>32-i;return r-=i,r>0?n<<=i:t>0&&this.loadWord(),i=e-i,i>0?a<<i|this.readBits(i):a},this.skipLeadingZeros=function(){for(var e=0;e<r;++e)if(n&2147483648>>>e)return n<<=e,r-=e,e;return this.loadWord(),e+this.skipLeadingZeros()},this.skipUnsignedExpGolomb=function(){this.skipBits(1+this.skipLeadingZeros())},this.skipExpGolomb=function(){this.skipBits(1+this.skipLeadingZeros())},this.readUnsignedExpGolomb=function(){var e=this.skipLeadingZeros();return this.readBits(e+1)-1},this.readExpGolomb=function(){var e=this.readUnsignedExpGolomb();return 1&e?1+e>>>1:-1*(e>>>1)},this.readBoolean=function(){return this.readBits(1)===1},this.readUnsignedByte=function(){return this.readBits(8)},this.loadWord()},Mt=n,Nt=jt,Pt,Ft=function(){var e=0,t,n;Ft.prototype.init.call(this),this.push=function(r){var i;n?(i=new Uint8Array(n.byteLength+r.data.byteLength),i.set(n),i.set(r.data,n.byteLength),n=i):n=r.data;for(var a=n.byteLength;e<a-3;e++)if(n[e+2]===1){t=e+5;break}for(;t<a;)switch(n[t]){case 0:if(n[t-1]!==0){t+=2;break}if(n[t-2]!==0){t++;break}e+3!==t-2&&this.trigger(`data`,n.subarray(e+3,t-2));do t++;while(n[t]!==1&&t<a);e=t-2,t+=3;break;case 1:if(n[t-1]!==0||n[t-2]!==0){t+=3;break}this.trigger(`data`,n.subarray(e+3,t-2)),e=t-2,t+=3;break;default:t+=3}n=n.subarray(e),t-=e,e=0},this.reset=function(){n=null,e=0,this.trigger(`reset`)},this.flush=function(){n&&n.byteLength>3&&this.trigger(`data`,n.subarray(e+3)),n=null,e=0,this.trigger(`done`)},this.endTimeline=function(){this.flush(),this.trigger(`endedtimeline`)}},It;Ft.prototype=new Mt,It={100:!0,110:!0,122:!0,244:!0,44:!0,83:!0,86:!0,118:!0,128:!0,138:!0,139:!0,134:!0},Pt=function(){var e=new Ft,t,n,r,i,a,o,s;Pt.prototype.init.call(this),t=this,this.push=function(t){t.type===`video`&&(n=t.trackId,r=t.pts,i=t.dts,e.push(t))},e.on(`data`,function(e){var s={trackId:n,pts:r,dts:i,data:e,nalUnitTypeCode:e[0]&31};switch(s.nalUnitTypeCode){case 5:s.nalUnitType=`slice_layer_without_partitioning_rbsp_idr`;break;case 6:s.nalUnitType=`sei_rbsp`,s.escapedRBSP=a(e.subarray(1));break;case 7:s.nalUnitType=`seq_parameter_set_rbsp`,s.escapedRBSP=a(e.subarray(1)),s.config=o(s.escapedRBSP);break;case 8:s.nalUnitType=`pic_parameter_set_rbsp`;break;case 9:s.nalUnitType=`access_unit_delimiter_rbsp`}t.trigger(`data`,s)}),e.on(`done`,function(){t.trigger(`done`)}),e.on(`partialdone`,function(){t.trigger(`partialdone`)}),e.on(`reset`,function(){t.trigger(`reset`)}),e.on(`endedtimeline`,function(){t.trigger(`endedtimeline`)}),this.flush=function(){e.flush()},this.partialFlush=function(){e.partialFlush()},this.reset=function(){e.reset()},this.endTimeline=function(){e.endTimeline()},s=function(e,t){for(var n=8,r=8,i=0,a;i<e;i++)r!==0&&(a=t.readExpGolomb(),r=(n+a+256)%256),n=r===0?n:r},a=function(e){for(var t=e.byteLength,n=[],r=1,i,a;r<t-2;)e[r]===0&&e[r+1]===0&&e[r+2]===3?(n.push(r+2),r+=2):r++;if(n.length===0)return e;i=t-n.length,a=new Uint8Array(i);var o=0;for(r=0;r<i;o++,r++)o===n[0]&&(o++,n.shift()),a[r]=e[o];return a},o=function(e){var t=0,n=0,r=0,i=0,a,o,c,l,u,d,f,p,m,h,g,_=[1,1],v,y;if(a=new Nt(e),o=a.readUnsignedByte(),l=a.readUnsignedByte(),c=a.readUnsignedByte(),a.skipUnsignedExpGolomb(),It[o]&&(u=a.readUnsignedExpGolomb(),u===3&&a.skipBits(1),a.skipUnsignedExpGolomb(),a.skipUnsignedExpGolomb(),a.skipBits(1),a.readBoolean()))for(g=u===3?12:8,y=0;y<g;y++)a.readBoolean()&&s(y<6?16:64,a);if(a.skipUnsignedExpGolomb(),d=a.readUnsignedExpGolomb(),d===0)a.readUnsignedExpGolomb();else if(d===1)for(a.skipBits(1),a.skipExpGolomb(),a.skipExpGolomb(),f=a.readUnsignedExpGolomb(),y=0;y<f;y++)a.skipExpGolomb();if(a.skipUnsignedExpGolomb(),a.skipBits(1),p=a.readUnsignedExpGolomb(),m=a.readUnsignedExpGolomb(),h=a.readBits(1),h===0&&a.skipBits(1),a.skipBits(1),a.readBoolean()&&(t=a.readUnsignedExpGolomb(),n=a.readUnsignedExpGolomb(),r=a.readUnsignedExpGolomb(),i=a.readUnsignedExpGolomb()),a.readBoolean()&&a.readBoolean()){switch(v=a.readUnsignedByte(),v){case 1:_=[1,1];break;case 2:_=[12,11];break;case 3:_=[10,11];break;case 4:_=[16,11];break;case 5:_=[40,33];break;case 6:_=[24,11];break;case 7:_=[20,11];break;case 8:_=[32,11];break;case 9:_=[80,33];break;case 10:_=[18,11];break;case 11:_=[15,11];break;case 12:_=[64,33];break;case 13:_=[160,99];break;case 14:_=[4,3];break;case 15:_=[3,2];break;case 16:_=[2,1];break;case 255:_=[a.readUnsignedByte()<<8|a.readUnsignedByte(),a.readUnsignedByte()<<8|a.readUnsignedByte()]}_&&_[0]/_[1]}return{profileIdc:o,levelIdc:c,profileCompatibility:l,width:(p+1)*16-t*2-n*2,height:(2-h)*(m+1)*16-r*2-i*2,sarRatio:_}}},Pt.prototype=new Mt;var Lt={H264Stream:Pt},Rt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],zt=function(e,t){var n=e[t+6]<<21|e[t+7]<<14|e[t+8]<<7|e[t+9],r=(e[t+5]&16)>>4;return n=n>=0?n:0,r?n+20:n+10},z=function(e,t){return e.length-t<10||e[t]!==73||e[t+1]!==68||e[t+2]!==51?t:(t+=zt(e,t),z(e,t))},Bt=function(e){var t=z(e,0);return e.length>=t+2&&(e[t]&255)==255&&(e[t+1]&240)==240&&(e[t+1]&22)==16},Vt=function(e){return e[0]<<21|e[1]<<14|e[2]<<7|e[3]},Ht=function(e,t,n){var r,i=``;for(r=t;r<n;r++)i+=`%`+(`00`+e[r].toString(16)).slice(-2);return i},Ut=function(e,t,n){return unescape(Ht(e,t,n))},Wt={isLikelyAacData:Bt,parseId3TagSize:zt,parseAdtsSize:function(e,t){var n=(e[t+5]&224)>>5,r=e[t+4]<<3;return e[t+3]&6144|r|n},parseType:function(e,t){return e[t]===73&&e[t+1]===68&&e[t+2]===51?`timed-metadata`:e[t]&!0&&(e[t+1]&240)==240?`audio`:null},parseSampleRate:function(e){for(var t=0;t+5<e.length;)if(e[t]!==255||(e[t+1]&246)!=240)t++;else return Rt[(e[t+2]&60)>>>2];return null},parseAacTimestamp:function(e){var t=10,n,r,i;e[5]&64&&(t+=4,t+=Vt(e.subarray(10,14)));do{if(n=Vt(e.subarray(t+4,t+8)),n<1)return null;if(i=String.fromCharCode(e[t],e[t+1],e[t+2],e[t+3]),i===`PRIV`){r=e.subarray(t+10,t+n+10);for(var a=0;a<r.byteLength;a++)if(r[a]===0){if(Ut(r,0,a)===`com.apple.streaming.transportStreamTimestamp`){var o=r.subarray(a+1),s=(o[3]&1)<<30|o[4]<<22|o[5]<<14|o[6]<<6|o[7]>>>2;return s*=4,s+=o[7]&3,s}break}}t+=10,t+=n}while(t<e.byteLength);return null}},Gt=n,B=Wt,Kt=function(){var e=new Uint8Array,t=0;Kt.prototype.init.call(this),this.setTimestamp=function(e){t=e},this.push=function(n){var r=0,i=0,a,o,s,c;for(e.length?(c=e.length,e=new Uint8Array(n.byteLength+c),e.set(e.subarray(0,c)),e.set(n,c)):e=n;e.length-i>=3;)if(e[i]===73&&e[i+1]===68&&e[i+2]===51){if(e.length-i<10||(r=B.parseId3TagSize(e,i),i+r>e.length))break;o={type:`timed-metadata`,data:e.subarray(i,i+r)},this.trigger(`data`,o),i+=r}else if((e[i]&255)==255&&(e[i+1]&240)==240){if(e.length-i<7||(r=B.parseAdtsSize(e,i),i+r>e.length))break;s={type:`audio`,data:e.subarray(i,i+r),pts:t,dts:t},this.trigger(`data`,s),i+=r}else i++;a=e.length-i,e=a>0?e.subarray(i):new Uint8Array},this.reset=function(){e=new Uint8Array,this.trigger(`reset`)},this.endTimeline=function(){e=new Uint8Array,this.trigger(`endedtimeline`)}};Kt.prototype=new Gt;var qt=Kt,Jt=[`audioobjecttype`,`channelcount`,`samplerate`,`samplingfrequencyindex`,`samplesize`],Yt=[`width`,`height`,`profileIdc`,`levelIdc`,`profileCompatibility`,`sarRatio`],Xt=n,Zt=M,Qt=he,$t=Oe,en=Ae,tn=Tt,nn=P,rn=At,an=Lt.H264Stream,on=qt,sn=Wt.isLikelyAacData,cn=P.ONE_SECOND_IN_TS,ln=Jt,un=Yt,dn,fn,pn,mn,hn=function(e,t){t.stream=e,this.trigger(`log`,t)},gn=function(e,t){for(var n=Object.keys(t),r=0;r<n.length;r++){var i=n[r];i!==`headOfPipeline`&&t[i].on&&t[i].on(`log`,hn.bind(e,i))}},_n=function(e,t){var n;if(e.length!==t.length)return!1;for(n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0},vn=function(e,t,n,r,i,a){var o=n-t,s=r-t,c=i-n;return{start:{dts:e,pts:e+o},end:{dts:e+s,pts:e+c},prependedContentDuration:a,baseMediaDecodeTime:e}};fn=function(e,t){var n=[],r,i=0,a=0,o=1/0;t||={},r=t.firstSequenceNumber||0,fn.prototype.init.call(this),this.push=function(t){en.collectDtsInfo(e,t),e&&ln.forEach(function(n){e[n]=t[n]}),n.push(t)},this.setEarliestDts=function(e){i=e},this.setVideoBaseMediaDecodeTime=function(e){o=e},this.setAudioAppendStart=function(e){a=e},this.flush=function(){var s,c,l,u,d,f,p;n.length===0||(s=$t.trimAdtsFramesByEarliestDts(n,e,i),e.baseMediaDecodeTime=en.calculateTrackBaseMediaDecodeTime(e,t.keepOriginalTimestamps),p=$t.prefixWithSilence(e,s,a,o),e.samples=$t.generateSampleTable(s),l=Zt.mdat($t.concatenateFrameData(s)),n=[],c=Zt.moof(r,[e]),u=new Uint8Array(c.byteLength+l.byteLength),r++,u.set(c),u.set(l,c.byteLength),en.clearDtsInfo(e),d=Math.ceil(cn*1024/e.samplerate),s.length&&(f=s.length*d,this.trigger(`segmentTimingInfo`,vn(nn.audioTsToVideoTs(e.baseMediaDecodeTime,e.samplerate),s[0].dts,s[0].pts,s[0].dts+f,s[0].pts+f,p||0)),this.trigger(`timingInfo`,{start:s[0].pts,end:s[0].pts+f})),this.trigger(`data`,{track:e,boxes:u})),this.trigger(`done`,`AudioSegmentStream`)},this.reset=function(){en.clearDtsInfo(e),n=[],this.trigger(`reset`)}},fn.prototype=new Xt,dn=function(e,t){var n,r=[],i=[],a,o;t||={},n=t.firstSequenceNumber||0,dn.prototype.init.call(this),delete e.minPTS,this.gopCache_=[],this.push=function(t){en.collectDtsInfo(e,t),t.nalUnitType===`seq_parameter_set_rbsp`&&!a&&(a=t.config,e.sps=[t.data],un.forEach(function(t){e[t]=a[t]},this)),t.nalUnitType===`pic_parameter_set_rbsp`&&!o&&(o=t.data,e.pps=[t.data]),r.push(t)},this.flush=function(){for(var a,o,s,c,l,u,d=0,f,p;r.length&&r[0].nalUnitType!==`access_unit_delimiter_rbsp`;)r.shift();if(r.length===0)this.resetStream_(),this.trigger(`done`,`VideoSegmentStream`);else{if(a=Qt.groupNalsIntoFrames(r),s=Qt.groupFramesIntoGops(a),s[0][0].keyFrame||(o=this.getGopForFusion_(r[0],e),o?(d=o.duration,s.unshift(o),s.byteLength+=o.byteLength,s.nalCount+=o.nalCount,s.pts=o.pts,s.dts=o.dts,s.duration+=o.duration):s=Qt.extendFirstKeyFrame(s)),i.length){var m=t.alignGopsAtEnd?this.alignGopsAtEnd_(s):this.alignGopsAtStart_(s);if(!m){this.gopCache_.unshift({gop:s.pop(),pps:e.pps,sps:e.sps}),this.gopCache_.length=Math.min(6,this.gopCache_.length),r=[],this.resetStream_(),this.trigger(`done`,`VideoSegmentStream`);return}en.clearDtsInfo(e),s=m}en.collectDtsInfo(e,s),e.samples=Qt.generateSampleTable(s),l=Zt.mdat(Qt.concatenateNalData(s)),e.baseMediaDecodeTime=en.calculateTrackBaseMediaDecodeTime(e,t.keepOriginalTimestamps),this.trigger(`processedGopsInfo`,s.map(function(e){return{pts:e.pts,dts:e.dts,byteLength:e.byteLength}})),f=s[0],p=s[s.length-1],this.trigger(`segmentTimingInfo`,vn(e.baseMediaDecodeTime,f.dts,f.pts,p.dts+p.duration,p.pts+p.duration,d)),this.trigger(`timingInfo`,{start:s[0].pts,end:s[s.length-1].pts+s[s.length-1].duration}),this.gopCache_.unshift({gop:s.pop(),pps:e.pps,sps:e.sps}),this.gopCache_.length=Math.min(6,this.gopCache_.length),r=[],this.trigger(`baseMediaDecodeTime`,e.baseMediaDecodeTime),this.trigger(`timelineStartInfo`,e.timelineStartInfo),c=Zt.moof(n,[e]),u=new Uint8Array(c.byteLength+l.byteLength),n++,u.set(c),u.set(l,c.byteLength),this.trigger(`data`,{track:e,boxes:u}),this.resetStream_(),this.trigger(`done`,`VideoSegmentStream`)}},this.reset=function(){this.resetStream_(),r=[],this.gopCache_.length=0,i.length=0,this.trigger(`reset`)},this.resetStream_=function(){en.clearDtsInfo(e),a=void 0,o=void 0},this.getGopForFusion_=function(t){for(var n=45e3,r=1/0,i,a,o,s,c=0;c<this.gopCache_.length;c++)s=this.gopCache_[c],o=s.gop,e.pps&&_n(e.pps[0],s.pps[0])&&e.sps&&_n(e.sps[0],s.sps[0])&&(o.dts<e.timelineStartInfo.dts||(i=t.dts-o.dts-o.duration,i>=-1e4&&i<=n&&(!a||r>i)&&(a=s,r=i)));return a?a.gop:null},this.alignGopsAtStart_=function(e){var t,n,r,a,o=e.byteLength,s=e.nalCount,c=e.duration,l;for(t=n=0;t<i.length&&n<e.length&&(r=i[t],a=e[n],r.pts!==a.pts);)a.pts>r.pts?t++:(n++,o-=a.byteLength,s-=a.nalCount,c-=a.duration);return n===0?e:n===e.length?null:(l=e.slice(n),l.byteLength=o,l.duration=c,l.nalCount=s,l.pts=l[0].pts,l.dts=l[0].dts,l)},this.alignGopsAtEnd_=function(e){for(var t=i.length-1,n=e.length-1,r,a,o=null,s=!1;t>=0&&n>=0;){if(r=i[t],a=e[n],r.pts===a.pts){s=!0;break}r.pts>a.pts?t--:(t===i.length-1&&(o=n),n--)}if(!s&&o===null)return null;var c=s?n:o;if(c===0)return e;var l=e.slice(c),u=l.reduce(function(e,t){return e.byteLength+=t.byteLength,e.duration+=t.duration,e.nalCount+=t.nalCount,e},{byteLength:0,duration:0,nalCount:0});return l.byteLength=u.byteLength,l.duration=u.duration,l.nalCount=u.nalCount,l.pts=l[0].pts,l.dts=l[0].dts,l},this.alignGopsWith=function(e){i=e}},dn.prototype=new Xt,mn=function(e,t){this.numberOfTracks=0,this.metadataStream=t,e||={},this.remuxTracks=e.remux===void 0||!!e.remux,this.keepOriginalTimestamps=typeof e.keepOriginalTimestamps==`boolean`&&e.keepOriginalTimestamps,this.pendingTracks=[],this.videoTrack=null,this.pendingBoxes=[],this.pendingCaptions=[],this.pendingMetadata=[],this.pendingBytes=0,this.emittedTracks=0,mn.prototype.init.call(this),this.push=function(e){if(e.content||e.text)return this.pendingCaptions.push(e);if(e.frames)return this.pendingMetadata.push(e);this.pendingTracks.push(e.track),this.pendingBytes+=e.boxes.byteLength,e.track.type===`video`&&(this.videoTrack=e.track,this.pendingBoxes.push(e.boxes)),e.track.type===`audio`&&(this.audioTrack=e.track,this.pendingBoxes.unshift(e.boxes))}},mn.prototype=new Xt,mn.prototype.flush=function(e){var t=0,n={captions:[],captionStreams:{},metadata:[],info:{}},r,i,a,o=0,s;if(this.pendingTracks.length<this.numberOfTracks){if(e!==`VideoSegmentStream`&&e!==`AudioSegmentStream`||this.remuxTracks)return;if(this.pendingTracks.length===0){this.emittedTracks++,this.emittedTracks>=this.numberOfTracks&&(this.trigger(`done`),this.emittedTracks=0);return}}if(this.videoTrack?(o=this.videoTrack.timelineStartInfo.pts,un.forEach(function(e){n.info[e]=this.videoTrack[e]},this)):this.audioTrack&&(o=this.audioTrack.timelineStartInfo.pts,ln.forEach(function(e){n.info[e]=this.audioTrack[e]},this)),this.videoTrack||this.audioTrack){for(n.type=this.pendingTracks.length===1?this.pendingTracks[0].type:`combined`,this.emittedTracks+=this.pendingTracks.length,a=Zt.initSegment(this.pendingTracks),n.initSegment=new Uint8Array(a.byteLength),n.initSegment.set(a),n.data=new Uint8Array(this.pendingBytes),s=0;s<this.pendingBoxes.length;s++)n.data.set(this.pendingBoxes[s],t),t+=this.pendingBoxes[s].byteLength;for(s=0;s<this.pendingCaptions.length;s++)r=this.pendingCaptions[s],r.startTime=nn.metadataTsToSeconds(r.startPts,o,this.keepOriginalTimestamps),r.endTime=nn.metadataTsToSeconds(r.endPts,o,this.keepOriginalTimestamps),n.captionStreams[r.stream]=!0,n.captions.push(r);for(s=0;s<this.pendingMetadata.length;s++)i=this.pendingMetadata[s],i.cueTime=nn.metadataTsToSeconds(i.pts,o,this.keepOriginalTimestamps),n.metadata.push(i);for(n.metadata.dispatchType=this.metadataStream.dispatchType,this.pendingTracks.length=0,this.videoTrack=null,this.pendingBoxes.length=0,this.pendingCaptions.length=0,this.pendingBytes=0,this.pendingMetadata.length=0,this.trigger(`data`,n),s=0;s<n.captions.length;s++)r=n.captions[s],this.trigger(`caption`,r);for(s=0;s<n.metadata.length;s++)i=n.metadata[s],this.trigger(`id3Frame`,i)}this.emittedTracks>=this.numberOfTracks&&(this.trigger(`done`),this.emittedTracks=0)},mn.prototype.setRemux=function(e){this.remuxTracks=e},pn=function(e){var t=this,n=!0,r,i;pn.prototype.init.call(this),e||={},this.baseMediaDecodeTime=e.baseMediaDecodeTime||0,this.transmuxPipeline_={},this.setupAacPipeline=function(){var n={};this.transmuxPipeline_=n,n.type=`aac`,n.metadataStream=new tn.MetadataStream,n.aacStream=new on,n.audioTimestampRolloverStream=new tn.TimestampRolloverStream(`audio`),n.timedMetadataTimestampRolloverStream=new tn.TimestampRolloverStream(`timed-metadata`),n.adtsStream=new rn,n.coalesceStream=new mn(e,n.metadataStream),n.headOfPipeline=n.aacStream,n.aacStream.pipe(n.audioTimestampRolloverStream).pipe(n.adtsStream),n.aacStream.pipe(n.timedMetadataTimestampRolloverStream).pipe(n.metadataStream).pipe(n.coalesceStream),n.metadataStream.on(`timestamp`,function(e){n.aacStream.setTimestamp(e.timeStamp)}),n.aacStream.on(`data`,function(a){a.type!==`timed-metadata`&&a.type!==`audio`||n.audioSegmentStream||(i||={timelineStartInfo:{baseMediaDecodeTime:t.baseMediaDecodeTime},codec:`adts`,type:`audio`},n.coalesceStream.numberOfTracks++,n.audioSegmentStream=new fn(i,e),n.audioSegmentStream.on(`log`,t.getLogTrigger_(`audioSegmentStream`)),n.audioSegmentStream.on(`timingInfo`,t.trigger.bind(t,`audioTimingInfo`)),n.adtsStream.pipe(n.audioSegmentStream).pipe(n.coalesceStream),t.trigger(`trackinfo`,{hasAudio:!!i,hasVideo:!!r}))}),n.coalesceStream.on(`data`,this.trigger.bind(this,`data`)),n.coalesceStream.on(`done`,this.trigger.bind(this,`done`)),gn(this,n)},this.setupTsPipeline=function(){var n={};this.transmuxPipeline_=n,n.type=`ts`,n.metadataStream=new tn.MetadataStream,n.packetStream=new tn.TransportPacketStream,n.parseStream=new tn.TransportParseStream,n.elementaryStream=new tn.ElementaryStream,n.timestampRolloverStream=new tn.TimestampRolloverStream,n.adtsStream=new rn,n.h264Stream=new an,n.captionStream=new tn.CaptionStream(e),n.coalesceStream=new mn(e,n.metadataStream),n.headOfPipeline=n.packetStream,n.packetStream.pipe(n.parseStream).pipe(n.elementaryStream).pipe(n.timestampRolloverStream),n.timestampRolloverStream.pipe(n.h264Stream),n.timestampRolloverStream.pipe(n.adtsStream),n.timestampRolloverStream.pipe(n.metadataStream).pipe(n.coalesceStream),n.h264Stream.pipe(n.captionStream).pipe(n.coalesceStream),n.elementaryStream.on(`data`,function(a){var o;if(a.type===`metadata`){for(o=a.tracks.length;o--;)!r&&a.tracks[o].type===`video`?(r=a.tracks[o],r.timelineStartInfo.baseMediaDecodeTime=t.baseMediaDecodeTime):!i&&a.tracks[o].type===`audio`&&(i=a.tracks[o],i.timelineStartInfo.baseMediaDecodeTime=t.baseMediaDecodeTime);r&&!n.videoSegmentStream&&(n.coalesceStream.numberOfTracks++,n.videoSegmentStream=new dn(r,e),n.videoSegmentStream.on(`log`,t.getLogTrigger_(`videoSegmentStream`)),n.videoSegmentStream.on(`timelineStartInfo`,function(r){i&&!e.keepOriginalTimestamps&&(i.timelineStartInfo=r,n.audioSegmentStream.setEarliestDts(r.dts-t.baseMediaDecodeTime))}),n.videoSegmentStream.on(`processedGopsInfo`,t.trigger.bind(t,`gopInfo`)),n.videoSegmentStream.on(`segmentTimingInfo`,t.trigger.bind(t,`videoSegmentTimingInfo`)),n.videoSegmentStream.on(`baseMediaDecodeTime`,function(e){i&&n.audioSegmentStream.setVideoBaseMediaDecodeTime(e)}),n.videoSegmentStream.on(`timingInfo`,t.trigger.bind(t,`videoTimingInfo`)),n.h264Stream.pipe(n.videoSegmentStream).pipe(n.coalesceStream)),i&&!n.audioSegmentStream&&(n.coalesceStream.numberOfTracks++,n.audioSegmentStream=new fn(i,e),n.audioSegmentStream.on(`log`,t.getLogTrigger_(`audioSegmentStream`)),n.audioSegmentStream.on(`timingInfo`,t.trigger.bind(t,`audioTimingInfo`)),n.audioSegmentStream.on(`segmentTimingInfo`,t.trigger.bind(t,`audioSegmentTimingInfo`)),n.adtsStream.pipe(n.audioSegmentStream).pipe(n.coalesceStream)),t.trigger(`trackinfo`,{hasAudio:!!i,hasVideo:!!r})}}),n.coalesceStream.on(`data`,this.trigger.bind(this,`data`)),n.coalesceStream.on(`id3Frame`,function(e){e.dispatchType=n.metadataStream.dispatchType,t.trigger(`id3Frame`,e)}),n.coalesceStream.on(`caption`,this.trigger.bind(this,`caption`)),n.coalesceStream.on(`done`,this.trigger.bind(this,`done`)),gn(this,n)},this.setBaseMediaDecodeTime=function(t){var n=this.transmuxPipeline_;e.keepOriginalTimestamps||(this.baseMediaDecodeTime=t),i&&(i.timelineStartInfo.dts=void 0,i.timelineStartInfo.pts=void 0,en.clearDtsInfo(i),n.audioTimestampRolloverStream&&n.audioTimestampRolloverStream.discontinuity()),r&&(n.videoSegmentStream&&(n.videoSegmentStream.gopCache_=[]),r.timelineStartInfo.dts=void 0,r.timelineStartInfo.pts=void 0,en.clearDtsInfo(r),n.captionStream.reset()),n.timestampRolloverStream&&n.timestampRolloverStream.discontinuity()},this.setAudioAppendStart=function(e){i&&this.transmuxPipeline_.audioSegmentStream.setAudioAppendStart(e)},this.setRemux=function(t){var n=this.transmuxPipeline_;e.remux=t,n&&n.coalesceStream&&n.coalesceStream.setRemux(t)},this.alignGopsWith=function(e){r&&this.transmuxPipeline_.videoSegmentStream&&this.transmuxPipeline_.videoSegmentStream.alignGopsWith(e)},this.getLogTrigger_=function(e){var t=this;return function(n){n.stream=e,t.trigger(`log`,n)}},this.push=function(e){if(n){var t=sn(e);t&&this.transmuxPipeline_.type!==`aac`?this.setupAacPipeline():!t&&this.transmuxPipeline_.type!==`ts`&&this.setupTsPipeline(),n=!1}this.transmuxPipeline_.headOfPipeline.push(e)},this.flush=function(){n=!0,this.transmuxPipeline_.headOfPipeline.flush()},this.endTimeline=function(){this.transmuxPipeline_.headOfPipeline.endTimeline()},this.reset=function(){this.transmuxPipeline_.headOfPipeline&&this.transmuxPipeline_.headOfPipeline.reset()},this.resetCaptions=function(){this.transmuxPipeline_.captionStream&&this.transmuxPipeline_.captionStream.reset()}},pn.prototype=new Xt;var yn={Transmuxer:pn},bn={toUnsigned:function(e){return e>>>0},toHexString:function(e){return(`00`+e.toString(16)).slice(-2)}},xn=function(e){var t=``;return t+=String.fromCharCode(e[0]),t+=String.fromCharCode(e[1]),t+=String.fromCharCode(e[2]),t+=String.fromCharCode(e[3]),t},Sn=bn.toUnsigned,Cn=xn,wn=function(e,t){var n=[],r,i,a,o,s;if(!t.length)return null;for(r=0;r<e.byteLength;)i=Sn(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]),a=Cn(e.subarray(r+4,r+8)),o=i>1?r+i:e.byteLength,a===t[0]&&(t.length===1?n.push(e.subarray(r+8,o)):(s=wn(e.subarray(r+8,o),t.slice(1)),s.length&&(n=n.concat(s)))),r=o;return n},Tn=wn,En=bn.toUnsigned,Dn=i.getUint64,On=function(e){var t={version:e[0],flags:new Uint8Array(e.subarray(1,4))};return t.baseMediaDecodeTime=t.version===1?Dn(e.subarray(4)):En(e[4]<<24|e[5]<<16|e[6]<<8|e[7]),t},kn=function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),n={version:e[0],flags:new Uint8Array(e.subarray(1,4)),trackId:t.getUint32(4)},r=n.flags[2]&1,i=n.flags[2]&2,a=n.flags[2]&8,o=n.flags[2]&16,s=n.flags[2]&32,c=n.flags[0]&65536,l=n.flags[0]&131072,u=8;return r&&(u+=4,n.baseDataOffset=t.getUint32(12),u+=4),i&&(n.sampleDescriptionIndex=t.getUint32(u),u+=4),a&&(n.defaultSampleDuration=t.getUint32(u),u+=4),o&&(n.defaultSampleSize=t.getUint32(u),u+=4),s&&(n.defaultSampleFlags=t.getUint32(u)),c&&(n.durationIsEmpty=!0),!r&&l&&(n.baseDataOffsetIsMoof=!0),n},An=function(e){return{isLeading:(e[0]&12)>>>2,dependsOn:e[0]&3,isDependedOn:(e[1]&192)>>>6,hasRedundancy:(e[1]&48)>>>4,paddingValue:(e[1]&14)>>>1,isNonSyncSample:e[1]&1,degradationPriority:e[2]<<8|e[3]}},jn=function(e){var t={version:e[0],flags:new Uint8Array(e.subarray(1,4)),samples:[]},n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=t.flags[2]&1,i=t.flags[2]&4,a=t.flags[1]&1,o=t.flags[1]&2,s=t.flags[1]&4,c=t.flags[1]&8,l=n.getUint32(4),u=8,d;for(r&&(t.dataOffset=n.getInt32(u),u+=4),i&&l&&(d={flags:An(e.subarray(u,u+4))},u+=4,a&&(d.duration=n.getUint32(u),u+=4),o&&(d.size=n.getUint32(u),u+=4),c&&(t.version===1?d.compositionTimeOffset=n.getInt32(u):d.compositionTimeOffset=n.getUint32(u),u+=4),t.samples.push(d),l--);l--;)d={},a&&(d.duration=n.getUint32(u),u+=4),o&&(d.size=n.getUint32(u),u+=4),s&&(d.flags=An(e.subarray(u,u+4)),u+=4),c&&(t.version===1?d.compositionTimeOffset=n.getInt32(u):d.compositionTimeOffset=n.getUint32(u),u+=4),t.samples.push(d);return t},Mn={tfdt:On,trun:jn},Nn={parseTfdt:Mn.tfdt,parseTrun:Mn.trun},Pn={uint8ToCString:function(e){for(var t=0,n=String.fromCharCode(e[t]),r=``;n!==`\0`;)r+=n,t++,n=String.fromCharCode(e[t]);return r+=n,r}}.uint8ToCString,Fn=i.getUint64,In=function(e){var t=4,n=e[0],r,i,a,o,s,c,l,u;if(n===0){r=Pn(e.subarray(t)),t+=r.length,i=Pn(e.subarray(t)),t+=i.length;var d=new DataView(e.buffer);a=d.getUint32(t),t+=4,s=d.getUint32(t),t+=4,c=d.getUint32(t),t+=4,l=d.getUint32(t),t+=4}else if(n===1){var d=new DataView(e.buffer);a=d.getUint32(t),t+=4,o=Fn(e.subarray(t)),t+=8,c=d.getUint32(t),t+=4,l=d.getUint32(t),t+=4,r=Pn(e.subarray(t)),t+=r.length,i=Pn(e.subarray(t)),t+=i.length}u=new Uint8Array(e.subarray(t,e.byteLength));var f={scheme_id_uri:r,value:i,timescale:a||1,presentation_time:o,presentation_time_delta:s,event_duration:c,id:l,message_data:u};return Rn(n,f)?f:void 0},Ln=function(e,t,n,r){return e||e===0?e/t:r+n/t},Rn=function(e,t){var n=t.scheme_id_uri!==`\0`,r=e===0&&zn(t.presentation_time_delta)&&n,i=e===1&&zn(t.presentation_time)&&n;return!(e>1)&&r||i},zn=function(e){return e!==void 0||e!==null},Bn={parseEmsgBox:In,scaleTime:Ln},Vn=typeof window<`u`?window:e===void 0?typeof self<`u`?self:{}:e,Hn=bn.toUnsigned,Un=bn.toHexString,Wn=Tn,Gn=xn,Kn=Bn,qn=kn,Jn=jn,Yn=On,Xn=i.getUint64,Zn,Qn,$n,er,tr,nr,rr,ir=Vn,ar=ct.parseId3Frames;Zn=function(e){return Wn(e,[`moov`,`trak`]).reduce(function(e,t){var n=Wn(t,[`tkhd`])[0],r,i,a,o;return!n||(r=n[0],i=r===0?12:20,a=Hn(n[i]<<24|n[i+1]<<16|n[i+2]<<8|n[i+3]),o=Wn(t,[`mdia`,`mdhd`])[0],!o)?null:(r=o[0],i=r===0?12:20,e[a]=Hn(o[i]<<24|o[i+1]<<16|o[i+2]<<8|o[i+3]),e)},{})},Qn=function(e,t){var n=Wn(t,[`moof`,`traf`]).reduce(function(t,n){var r=Wn(n,[`tfhd`])[0],i=e[Hn(r[4]<<24|r[5]<<16|r[6]<<8|r[7])]||9e4,a=Wn(n,[`tfdt`])[0],o=new DataView(a.buffer,a.byteOffset,a.byteLength),s=a[0]===1?Xn(a.subarray(4,12)):o.getUint32(4);let c;return typeof s==`bigint`?c=s/ir.BigInt(i):typeof s==`number`&&!isNaN(s)&&(c=s/i),c<2**53-1&&(c=Number(c)),c<t&&(t=c),t},1/0);return typeof n==`bigint`||isFinite(n)?n:0},$n=function(e,t){var n=Wn(t,[`moof`,`traf`]),r=0,i=0,a;if(n&&n.length){var o=Wn(n[0],[`tfhd`])[0],s=Wn(n[0],[`trun`])[0],c=Wn(n[0],[`tfdt`])[0];if(o&&(a=qn(o).trackId),c&&(r=Yn(c).baseMediaDecodeTime),s){var l=Jn(s);l.samples&&l.samples.length&&(i=l.samples[0].compositionTimeOffset||0)}}var u=e[a]||9e4;typeof r==`bigint`&&(i=ir.BigInt(i),u=ir.BigInt(u));var d=(r+i)/u;return typeof d==`bigint`&&d<2**53-1&&(d=Number(d)),d},er=function(e){var t=Wn(e,[`moov`,`trak`]),n=[];return t.forEach(function(e){var t=Wn(e,[`mdia`,`hdlr`]),r=Wn(e,[`tkhd`]);t.forEach(function(e,t){var i=Gn(e.subarray(8,12)),a=r[t],o,s,c;i===`vide`&&(o=new DataView(a.buffer,a.byteOffset,a.byteLength),s=o.getUint8(0),c=s===0?o.getUint32(12):o.getUint32(20),n.push(c))})}),n},nr=function(e){var t=e[0]===0?12:20;return Hn(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])},tr=function(e){var t=Wn(e,[`moov`,`trak`]),n=[];return t.forEach(function(e){var t={},r=Wn(e,[`tkhd`])[0],i,a;r&&(i=new DataView(r.buffer,r.byteOffset,r.byteLength),a=i.getUint8(0),t.id=a===0?i.getUint32(12):i.getUint32(20));var o=Wn(e,[`mdia`,`hdlr`])[0];if(o){var s=Gn(o.subarray(8,12));t.type=s===`vide`?`video`:s===`soun`?`audio`:s}var c=Wn(e,[`mdia`,`minf`,`stbl`,`stsd`])[0];if(c){var l=c.subarray(8);t.codec=Gn(l.subarray(4,8));var u=Wn(l,[t.codec])[0],d,f;u&&(/^[asm]vc[1-9]$/i.test(t.codec)?(d=u.subarray(78),f=Gn(d.subarray(4,8)),f===`avcC`&&d.length>11?(t.codec+=`.`,t.codec+=Un(d[9]),t.codec+=Un(d[10]),t.codec+=Un(d[11])):t.codec=`avc1.4d400d`):/^mp4[a,v]$/i.test(t.codec)?(d=u.subarray(28),f=Gn(d.subarray(4,8)),f===`esds`&&d.length>20&&d[19]!==0?(t.codec+=`.`+Un(d[19]),t.codec+=`.`+Un(d[20]>>>2&63).replace(/^0/,``)):t.codec=`mp4a.40.2`):t.codec=t.codec.toLowerCase())}var p=Wn(e,[`mdia`,`mdhd`])[0];p&&(t.timescale=nr(p)),n.push(t)}),n},rr=function(e,t=0){return Wn(e,[`emsg`]).map(e=>{var n=Kn.parseEmsgBox(new Uint8Array(e)),r=ar(n.message_data);return{cueTime:Kn.scaleTime(n.presentation_time,n.timescale,n.presentation_time_delta,t),duration:Kn.scaleTime(n.event_duration,n.timescale),frames:r}})};var or={findBox:Wn,parseType:Gn,timescale:Zn,startTime:Qn,compositionStartTime:$n,videoTrackIds:er,tracks:tr,getTimescaleFromMediaHeader:nr,getEmsgID3:rr};let{parseTrun:sr}=Nn,{findBox:cr}=or;var lr=Vn,V={getMdatTrafPairs:function(e){var t=cr(e,[`moof`,`traf`]),n=cr(e,[`mdat`]),r=[];return n.forEach(function(e,n){var i=t[n];r.push({mdat:e,traf:i})}),r},parseSamples:function(e,t,n){var r=t,i=n.defaultSampleDuration||0,a=n.defaultSampleSize||0,o=n.trackId,s=[];return e.forEach(function(e){var t=sr(e).samples;t.forEach(function(e){e.duration===void 0&&(e.duration=i),e.size===void 0&&(e.size=a),e.trackId=o,e.dts=r,e.compositionTimeOffset===void 0&&(e.compositionTimeOffset=0),typeof r==`bigint`?(e.pts=r+lr.BigInt(e.compositionTimeOffset),r+=lr.BigInt(e.duration)):(e.pts=r+e.compositionTimeOffset,r+=e.duration)}),s=s.concat(t)}),s}},ur=Ne.discardEmulationPreventionBytes,dr=qe.CaptionStream,fr=Tn,pr=On,mr=kn,{getMdatTrafPairs:hr,parseSamples:gr}=V,_r=function(e,t){for(var n=e,r=0;r<t.length;r++){var i=t[r];if(n<i.size)return i;n-=i.size}return null},vr=function(e,t,n){for(var r=new DataView(e.buffer,e.byteOffset,e.byteLength),i={logs:[],seiNals:[]},a,o=0,s,c;o+4<e.length;o+=s)if(s=r.getUint32(o),o+=4,!(s<=0))switch(e[o]&31){case 6:var l=e.subarray(o+1,o+1+s),u=_r(o,t);if(a={nalUnitType:`sei_rbsp`,size:s,data:l,escapedRBSP:ur(l),trackId:n},u)a.pts=u.pts,a.dts=u.dts,c=u;else if(c)a.pts=c.pts,a.dts=c.dts;else{i.logs.push({level:`warn`,message:`We've encountered a nal unit without data at `+o+` for trackId `+n+`. See mux.js#223.`});break}i.seiNals.push(a)}return i},yr=function(e,t){var n={};return hr(e).forEach(function(e){var r=e.mdat,i=e.traf,a=mr(fr(i,[`tfhd`])[0]),o=a.trackId,s=fr(i,[`tfdt`]),c=s.length>0?pr(s[0]).baseMediaDecodeTime:0,l=fr(i,[`trun`]),u,d;t===o&&l.length>0&&(u=gr(l,c,a),d=vr(r,u,o),n[o]||(n[o]={seiNals:[],logs:[]}),n[o].seiNals=n[o].seiNals.concat(d.seiNals),n[o].logs=n[o].logs.concat(d.logs))}),n},br=function(e,t,n){var r;if(t===null)return null;r=yr(e,t);var i=r[t]||{};return{seiNals:i.seiNals,logs:i.logs,timescale:n}},xr=function(){var e=!1,t,n,r,i,a,o;this.isInitialized=function(){return e},this.init=function(n){t=new dr,e=!0,o=n?n.isPartial:!1,t.on(`data`,function(e){e.startTime=e.startPts/i,e.endTime=e.endPts/i,a.captions.push(e),a.captionStreams[e.stream]=!0}),t.on(`log`,function(e){a.logs.push(e)})},this.isNewInit=function(e,t){return e&&e.length===0||t&&typeof t==`object`&&Object.keys(t).length===0?!1:r!==e[0]||i!==t[r]},this.parse=function(e,t,o){var s;if(!this.isInitialized()||!t||!o)return null;if(this.isNewInit(t,o))r=t[0],i=o[r];else if(r===null||!i)return n.push(e),null;for(;n.length>0;){var c=n.shift();this.parse(c,t,o)}return s=br(e,r,i),s&&s.logs&&(a.logs=a.logs.concat(s.logs)),s===null||!s.seiNals?a.logs.length?{logs:a.logs,captions:[],captionStreams:[]}:null:(this.pushNals(s.seiNals),this.flushStream(),a)},this.pushNals=function(e){if(!this.isInitialized()||!e||e.length===0)return null;e.forEach(function(e){t.push(e)})},this.flushStream=function(){if(!this.isInitialized())return null;o?t.partialFlush():t.flush()},this.clearParsedCaptions=function(){a.captions=[],a.captionStreams={},a.logs=[]},this.resetCaptionStream=function(){if(!this.isInitialized())return null;t.reset()},this.clearAllCaptions=function(){this.clearParsedCaptions(),this.resetCaptionStream()},this.reset=function(){n=[],r=null,i=null,a?this.clearParsedCaptions():a={captions:[],captionStreams:{},logs:[]},this.resetCaptionStream()},this.reset()};let{parseTfdt:Sr}=Nn,Cr=Tn,{getTimescaleFromMediaHeader:wr}=or,{parseSamples:Tr,getMdatTrafPairs:Er}=V;var Dr=function(){let e=9e4;this.init=function(t){let n=Cr(t,[`moov`,`trak`,`mdia`,`mdhd`])[0];n&&(e=wr(n))},this.parseSegment=function(t){let n=[],r=Er(t),i=0;return r.forEach(function(t){let r=t.mdat,a=t.traf,o=Cr(a,[`tfdt`])[0],s=Cr(a,[`tfhd`])[0],c=Cr(a,[`trun`]);if(o&&(i=Sr(o).baseMediaDecodeTime),c.length&&s){let t=Tr(c,i,s),a=0;t.forEach(function(t){let i=new TextDecoder(`utf-8`),o=r.slice(a,a+t.size);Cr(o,[`vtte`])[0]||Cr(o,[`vttc`]).forEach(function(r){let a=Cr(r,[`payl`])[0],o=Cr(r,[`sttg`])[0],s=t.pts/e,c=(t.pts+t.duration)/e,l,u;if(a)try{l=i.decode(a)}catch(e){console.error(e)}if(o)try{u=i.decode(o)}catch(e){console.error(e)}t.duration&&l&&n.push({cueText:l,start:s,end:c,settings:u})}),a+=t.size})}}),n}},Or=Je,kr=function(e){var t=e[1]&31;return t<<=8,t|=e[2],t},Ar=function(e){return!!(e[1]&64)},jr=function(e){var t=0;return(e[3]&48)>>>4>1&&(t+=e[4]+1),t},Mr=function(e,t){var n=kr(e);return n===0?`pat`:n===t?`pmt`:t?`pes`:null},Nr=function(e){var t=Ar(e),n=4+jr(e);return t&&(n+=e[n]+1),(e[n+10]&31)<<8|e[n+11]},Pr=function(e){var t={},n=Ar(e),r=4+jr(e);if(n&&(r+=e[r]+1),e[r+5]&1){for(var i=3+((e[r+1]&15)<<8|e[r+2])-4,a=12+((e[r+10]&15)<<8|e[r+11]);a<i;){var o=r+a;t[(e[o+1]&31)<<8|e[o+2]]=e[o],a+=((e[o+3]&15)<<8|e[o+4])+5}return t}},Fr=function(e,t){switch(t[kr(e)]){case Or.H264_STREAM_TYPE:return`video`;case Or.ADTS_STREAM_TYPE:return`audio`;case Or.METADATA_STREAM_TYPE:return`timed-metadata`;default:return null}},Ir=function(e){if(!Ar(e))return null;var t=4+jr(e);if(t>=e.byteLength)return null;var n=null,r=e[t+7];return r&192&&(n={},n.pts=(e[t+9]&14)<<27|(e[t+10]&255)<<20|(e[t+11]&254)<<12|(e[t+12]&255)<<5|(e[t+13]&254)>>>3,n.pts*=4,n.pts+=(e[t+13]&6)>>>1,n.dts=n.pts,r&64&&(n.dts=(e[t+14]&14)<<27|(e[t+15]&255)<<20|(e[t+16]&254)<<12|(e[t+17]&255)<<5|(e[t+18]&254)>>>3,n.dts*=4,n.dts+=(e[t+18]&6)>>>1)),n},Lr=function(e){switch(e){case 5:return`slice_layer_without_partitioning_rbsp_idr`;case 6:return`sei_rbsp`;case 7:return`seq_parameter_set_rbsp`;case 8:return`pic_parameter_set_rbsp`;case 9:return`access_unit_delimiter_rbsp`;default:return null}},Rr={parseType:Mr,parsePat:Nr,parsePmt:Pr,parsePayloadUnitStartIndicator:Ar,parsePesType:Fr,parsePesTime:Ir,videoPacketContainsKeyFrame:function(e){for(var t=4+jr(e),n=e.subarray(t),r=0,i=0,a=!1,o;i<n.byteLength-3;i++)if(n[i+2]===1){r=i+5;break}for(;r<n.byteLength;)switch(n[r]){case 0:if(n[r-1]!==0){r+=2;break}if(n[r-2]!==0){r++;break}i+3!==r-2&&(o=Lr(n[i+3]&31),o===`slice_layer_without_partitioning_rbsp_idr`&&(a=!0));do r++;while(n[r]!==1&&r<n.length);i=r-2,r+=3;break;case 1:if(n[r-1]!==0||n[r-2]!==0){r+=3;break}o=Lr(n[i+3]&31),o===`slice_layer_without_partitioning_rbsp_idr`&&(a=!0),i=r-2,r+=3;break;default:r+=3}return n=n.subarray(i),r-=i,i=0,n&&n.byteLength>3&&(o=Lr(n[i+3]&31),o===`slice_layer_without_partitioning_rbsp_idr`&&(a=!0)),a}},zr=Je,Br=tt.handleRollover,H={};H.ts=Rr,H.aac=Wt;var Vr=P.ONE_SECOND_IN_TS,Hr=188,Ur=71,Wr=function(e,t){for(var n=0,r=Hr,i,a;r<e.byteLength;)if(e[n]===Ur&&e[r]===Ur){switch(i=e.subarray(n,r),a=H.ts.parseType(i,t.pid),a){case`pat`:t.pid=H.ts.parsePat(i);break;case`pmt`:var o=H.ts.parsePmt(i);t.table=t.table||{},Object.keys(o).forEach(function(e){t.table[e]=o[e]})}n+=Hr,r+=Hr}else n++,r++},Gr=function(e,t,n){for(var r=0,i=Hr,a,o,s,c,l,u=!1;i<=e.byteLength;)if(e[r]===Ur&&(e[i]===Ur||i===e.byteLength)){if(a=e.subarray(r,i),o=H.ts.parseType(a,t.pid),o===`pes`&&(s=H.ts.parsePesType(a,t.table),c=H.ts.parsePayloadUnitStartIndicator(a),s===`audio`&&c&&(l=H.ts.parsePesTime(a),l&&(l.type=`audio`,n.audio.push(l),u=!0))),u)break;r+=Hr,i+=Hr}else r++,i++;for(i=e.byteLength,r=i-Hr,u=!1;r>=0;)if(e[r]===Ur&&(e[i]===Ur||i===e.byteLength)){if(a=e.subarray(r,i),o=H.ts.parseType(a,t.pid),o===`pes`&&(s=H.ts.parsePesType(a,t.table),c=H.ts.parsePayloadUnitStartIndicator(a),s===`audio`&&c&&(l=H.ts.parsePesTime(a),l&&(l.type=`audio`,n.audio.push(l),u=!0))),u)break;r-=Hr,i-=Hr}else r--,i--},Kr=function(e,t,n){for(var r=0,i=Hr,a,o,s,c,l,u,d,f,p=!1,m={data:[],size:0};i<e.byteLength;)if(e[r]===Ur&&e[i]===Ur){if(a=e.subarray(r,i),o=H.ts.parseType(a,t.pid),o===`pes`&&(s=H.ts.parsePesType(a,t.table),c=H.ts.parsePayloadUnitStartIndicator(a),s===`video`&&(c&&!p&&(l=H.ts.parsePesTime(a),l&&(l.type=`video`,n.video.push(l),p=!0)),!n.firstKeyFrame))){if(c&&m.size!==0){for(u=new Uint8Array(m.size),d=0;m.data.length;)f=m.data.shift(),u.set(f,d),d+=f.byteLength;if(H.ts.videoPacketContainsKeyFrame(u)){var h=H.ts.parsePesTime(u);h?(n.firstKeyFrame=h,n.firstKeyFrame.type=`video`):console.warn(`Failed to extract PTS/DTS from PES at first keyframe. This could be an unusual TS segment, or else mux.js did not parse your TS segment correctly. If you know your TS segments do contain PTS/DTS on keyframes please file a bug report! You can try ffprobe to double check for yourself.`)}m.size=0}m.data.push(a),m.size+=a.byteLength}if(p&&n.firstKeyFrame)break;r+=Hr,i+=Hr}else r++,i++;for(i=e.byteLength,r=i-Hr,p=!1;r>=0;)if(e[r]===Ur&&e[i]===Ur){if(a=e.subarray(r,i),o=H.ts.parseType(a,t.pid),o===`pes`&&(s=H.ts.parsePesType(a,t.table),c=H.ts.parsePayloadUnitStartIndicator(a),s===`video`&&c&&(l=H.ts.parsePesTime(a),l&&(l.type=`video`,n.video.push(l),p=!0))),p)break;r-=Hr,i-=Hr}else r--,i--},qr=function(e,t){if(e.audio&&e.audio.length){var n=t;(n===void 0||isNaN(n))&&(n=e.audio[0].dts),e.audio.forEach(function(e){e.dts=Br(e.dts,n),e.pts=Br(e.pts,n),e.dtsTime=e.dts/Vr,e.ptsTime=e.pts/Vr})}if(e.video&&e.video.length){var r=t;if((r===void 0||isNaN(r))&&(r=e.video[0].dts),e.video.forEach(function(e){e.dts=Br(e.dts,r),e.pts=Br(e.pts,r),e.dtsTime=e.dts/Vr,e.ptsTime=e.pts/Vr}),e.firstKeyFrame){var i=e.firstKeyFrame;i.dts=Br(i.dts,r),i.pts=Br(i.pts,r),i.dtsTime=i.dts/Vr,i.ptsTime=i.pts/Vr}}},Jr=function(e){for(var t=!1,n=0,r=null,i=null,a=0,o=0,s;e.length-o>=3;){switch(H.aac.parseType(e,o)){case`timed-metadata`:if(e.length-o<10||(a=H.aac.parseId3TagSize(e,o),a>e.length)){t=!0;break}i===null&&(s=e.subarray(o,o+a),i=H.aac.parseAacTimestamp(s)),o+=a;break;case`audio`:if(e.length-o<7||(a=H.aac.parseAdtsSize(e,o),a>e.length)){t=!0;break}r===null&&(s=e.subarray(o,o+a),r=H.aac.parseSampleRate(s)),n++,o+=a;break;default:o++}if(t)return null}if(r===null||i===null)return null;var c=Vr/r;return{audio:[{type:`audio`,dts:i,pts:i},{type:`audio`,dts:i+n*1024*c,pts:i+n*1024*c}]}},Yr=function(e){var t={pid:null,table:null},n={};for(var r in Wr(e,t),t.table)if(t.table.hasOwnProperty(r))switch(t.table[r]){case zr.H264_STREAM_TYPE:n.video=[],Kr(e,t,n),n.video.length===0&&delete n.video;break;case zr.ADTS_STREAM_TYPE:n.audio=[],Gr(e,t,n),n.audio.length===0&&delete n.audio}return n},Xr={inspect:function(e,t){var n=H.aac.isLikelyAacData(e)?Jr(e):Yr(e);return!n||!n.audio&&!n.video?null:(qr(n,t),n)},parseAudioPes_:Gr};let Zr=function(e,t){t.on(`data`,function(t){let n=t.initSegment;t.initSegment={data:n.buffer,byteOffset:n.byteOffset,byteLength:n.byteLength};let r=t.data;t.data=r.buffer,e.postMessage({action:`data`,segment:t,byteOffset:r.byteOffset,byteLength:r.byteLength},[t.data])}),t.on(`done`,function(t){e.postMessage({action:`done`})}),t.on(`gopInfo`,function(t){e.postMessage({action:`gopInfo`,gopInfo:t})}),t.on(`videoSegmentTimingInfo`,function(t){let n={start:{decode:P.videoTsToSeconds(t.start.dts),presentation:P.videoTsToSeconds(t.start.pts)},end:{decode:P.videoTsToSeconds(t.end.dts),presentation:P.videoTsToSeconds(t.end.pts)},baseMediaDecodeTime:P.videoTsToSeconds(t.baseMediaDecodeTime)};t.prependedContentDuration&&(n.prependedContentDuration=P.videoTsToSeconds(t.prependedContentDuration)),e.postMessage({action:`videoSegmentTimingInfo`,videoSegmentTimingInfo:n})}),t.on(`audioSegmentTimingInfo`,function(t){let n={start:{decode:P.videoTsToSeconds(t.start.dts),presentation:P.videoTsToSeconds(t.start.pts)},end:{decode:P.videoTsToSeconds(t.end.dts),presentation:P.videoTsToSeconds(t.end.pts)},baseMediaDecodeTime:P.videoTsToSeconds(t.baseMediaDecodeTime)};t.prependedContentDuration&&(n.prependedContentDuration=P.videoTsToSeconds(t.prependedContentDuration)),e.postMessage({action:`audioSegmentTimingInfo`,audioSegmentTimingInfo:n})}),t.on(`id3Frame`,function(t){e.postMessage({action:`id3Frame`,id3Frame:t})}),t.on(`caption`,function(t){e.postMessage({action:`caption`,caption:t})}),t.on(`trackinfo`,function(t){e.postMessage({action:`trackinfo`,trackInfo:t})}),t.on(`audioTimingInfo`,function(t){e.postMessage({action:`audioTimingInfo`,audioTimingInfo:{start:P.videoTsToSeconds(t.start),end:P.videoTsToSeconds(t.end)}})}),t.on(`videoTimingInfo`,function(t){e.postMessage({action:`videoTimingInfo`,videoTimingInfo:{start:P.videoTsToSeconds(t.start),end:P.videoTsToSeconds(t.end)}})}),t.on(`log`,function(t){e.postMessage({action:`log`,log:t})})};class Qr{constructor(e,t){this.options=t||{},this.self=e,this.init()}init(){this.transmuxer&&this.transmuxer.dispose(),this.transmuxer=new yn.Transmuxer(this.options),Zr(this.self,this.transmuxer)}pushMp4Captions(e){this.captionParser||(this.captionParser=new xr,this.captionParser.init());let t=new Uint8Array(e.data,e.byteOffset,e.byteLength),n=this.captionParser.parse(t,e.trackIds,e.timescales);this.self.postMessage({action:`mp4Captions`,captions:n&&n.captions||[],logs:n&&n.logs||[],data:t.buffer},[t.buffer])}initMp4WebVttParser(e){this.webVttParser||=new Dr;let t=new Uint8Array(e.data,e.byteOffset,e.byteLength);this.webVttParser.init(t)}getMp4WebVttText(e){this.webVttParser||=new Dr;let t=new Uint8Array(e.data,e.byteOffset,e.byteLength),n=this.webVttParser.parseSegment(t);this.self.postMessage({action:`getMp4WebVttText`,mp4VttCues:n||[],data:t.buffer},[t.buffer])}probeMp4StartTime({timescales:e,data:t}){let n=or.startTime(e,t);this.self.postMessage({action:`probeMp4StartTime`,startTime:n,data:t},[t.buffer])}probeMp4Tracks({data:e}){let t=or.tracks(e);this.self.postMessage({action:`probeMp4Tracks`,tracks:t,data:e},[e.buffer])}probeEmsgID3({data:e,offset:t}){let n=or.getEmsgID3(e,t);this.self.postMessage({action:`probeEmsgID3`,id3Frames:n,emsgData:e},[e.buffer])}probeTs({data:e,baseStartTime:t}){let n=typeof t==`number`&&!isNaN(t)?t*P.ONE_SECOND_IN_TS:void 0,r=Xr.inspect(e,n),i=null;r&&(i={hasVideo:r.video&&r.video.length===2||!1,hasAudio:r.audio&&r.audio.length===2||!1},i.hasVideo&&(i.videoStart=r.video[0].ptsTime),i.hasAudio&&(i.audioStart=r.audio[0].ptsTime)),this.self.postMessage({action:`probeTs`,result:i,data:e},[e.buffer])}clearAllMp4Captions(){this.captionParser&&this.captionParser.clearAllCaptions()}clearParsedMp4Captions(){this.captionParser&&this.captionParser.clearParsedCaptions()}push(e){let t=new Uint8Array(e.data,e.byteOffset,e.byteLength);this.transmuxer.push(t)}reset(){this.transmuxer.reset()}setTimestampOffset(e){let t=e.timestampOffset||0;this.transmuxer.setBaseMediaDecodeTime(Math.round(P.secondsToVideoTs(t)))}setAudioAppendStart(e){this.transmuxer.setAudioAppendStart(Math.ceil(P.secondsToVideoTs(e.appendStart)))}setRemux(e){this.transmuxer.setRemux(e.remux)}flush(e){this.transmuxer.flush(),self.postMessage({action:`done`,type:`transmuxed`})}endTimeline(){this.transmuxer.endTimeline(),self.postMessage({action:`endedtimeline`,type:`transmuxed`})}alignGopsWith(e){this.transmuxer.alignGopsWith(e.gopsToAlignWith.slice())}}self.onmessage=function(e){e.data.action===`init`&&e.data.options?this.messageHandlers=new Qr(self,e.data.options):(this.messageHandlers||=new Qr(self),e.data&&e.data.action&&e.data.action!==`init`&&this.messageHandlers[e.data.action]&&this.messageHandlers[e.data.action](e.data))}})));const Of=(e,t,n)=>{let{type:r,initSegment:i,captions:a,captionStreams:o,metadata:s,videoFrameDtsTime:c,videoFramePtsTime:l}=e.data.segment;t.buffer.push({captions:a,captionStreams:o,metadata:s});let u=e.data.segment.boxes||{data:e.data.segment.data},d={type:r,data:new Uint8Array(u.data,u.data.byteOffset,u.data.byteLength),initSegment:new Uint8Array(i.data,i.byteOffset,i.byteLength)};c!==void 0&&(d.videoFrameDtsTime=c),l!==void 0&&(d.videoFramePtsTime=l),n(d)},kf=({transmuxedData:e,callback:t})=>{e.buffer=[],t(e)},Af=(e,t)=>{t.gopInfo=e.data.gopInfo},jf=e=>{let{transmuxer:t,bytes:n,audioAppendStart:r,gopsToAlignWith:i,remux:a,onData:o,onTrackInfo:s,onAudioTimingInfo:c,onVideoTimingInfo:l,onVideoSegmentTimingInfo:u,onAudioSegmentTimingInfo:d,onId3:f,onCaptions:p,onDone:m,onEndedTimeline:h,onTransmuxerLog:g,isEndOfTimeline:_,segment:v,triggerSegmentEventFn:y}=e,b={buffer:[]},x=_;if(t.onmessage=n=>{t.currentTransmux===e&&(n.data.action===`data`&&Of(n,b,o),n.data.action===`trackinfo`&&s(n.data.trackInfo),n.data.action===`gopInfo`&&Af(n,b),n.data.action===`audioTimingInfo`&&c(n.data.audioTimingInfo),n.data.action===`videoTimingInfo`&&l(n.data.videoTimingInfo),n.data.action===`videoSegmentTimingInfo`&&u(n.data.videoSegmentTimingInfo),n.data.action===`audioSegmentTimingInfo`&&d(n.data.audioSegmentTimingInfo),n.data.action===`id3Frame`&&f([n.data.id3Frame],n.data.id3Frame.dispatchType),n.data.action===`caption`&&p(n.data.caption),n.data.action===`endedtimeline`&&(x=!1,h()),n.data.action===`log`&&g(n.data.log),n.data.type===`transmuxed`&&(x||(t.onmessage=null,kf({transmuxedData:b,callback:m}),Mf(t))))},t.onerror=()=>{let e={message:`Received an error message from the transmuxer worker`,metadata:{errorType:Z.Error.StreamingFailedToTransmuxSegment,segmentInfo:Jp({segment:v})}};m(null,e)},r&&t.postMessage({action:`setAudioAppendStart`,appendStart:r}),Array.isArray(i)&&t.postMessage({action:`alignGopsWith`,gopsToAlignWith:i}),a!==void 0&&t.postMessage({action:`setRemux`,remux:a}),n.byteLength){let e=n instanceof ArrayBuffer?n:n.buffer,r=n instanceof ArrayBuffer?0:n.byteOffset;y({type:`segmenttransmuxingstart`,segment:v}),t.postMessage({action:`push`,data:e,byteOffset:r,byteLength:n.byteLength},[e])}_&&t.postMessage({action:`endTimeline`}),t.postMessage({action:`flush`})},Mf=e=>{e.currentTransmux=null,e.transmuxQueue.length&&(e.currentTransmux=e.transmuxQueue.shift(),typeof e.currentTransmux==`function`?e.currentTransmux():jf(e.currentTransmux))},Nf=(e,t)=>{e.postMessage({action:t}),Mf(e)},Pf=(e,t)=>{t.currentTransmux?t.transmuxQueue.push(Nf.bind(null,t,e)):(t.currentTransmux=e,Nf(t,e))},Ff=e=>{Pf(`reset`,e)},If=e=>{Pf(`endTimeline`,e)},Lf=e=>{e.transmuxer.currentTransmux?e.transmuxer.transmuxQueue.push(e):(e.transmuxer.currentTransmux=e,jf(e))};var Rf={reset:Ff,endTimeline:If,transmux:Lf,createTransmuxer:e=>{let t=new Df;t.currentTransmux=null,t.transmuxQueue=[];let n=t.terminate;return t.terminate=()=>(t.currentTransmux=null,t.transmuxQueue.length=0,n.call(t)),t.postMessage({action:`init`,options:e}),t}};const zf=function(e){let t=e.transmuxer,n=e.endAction||e.action,r=e.callback,i=R({},e,{endAction:null,transmuxer:null,callback:null}),a=i=>{i.data.action===n&&(t.removeEventListener(`message`,a),i.data.data&&(i.data.data=new Uint8Array(i.data.data,e.byteOffset||0,e.byteLength||i.data.data.byteLength),e.data&&=i.data.data),r(i.data))};if(t.addEventListener(`message`,a),e.data){let n=e.data instanceof ArrayBuffer;i.byteOffset=n?0:e.data.byteOffset,i.byteLength=e.data.byteLength;let r=[n?e.data:e.data.buffer];t.postMessage(i,r)}else t.postMessage(i)},Bf={FAILURE:2,TIMEOUT:-101,ABORTED:-102},Vf=`wvtt`,Hf=e=>{e.forEach(e=>{e.abort()})},Uf=e=>({bandwidth:e.bandwidth,bytesReceived:e.bytesReceived||0,roundTripTime:e.roundTripTime||0}),Wf=e=>{let t=e.target,n={bandwidth:1/0,bytesReceived:0,roundTripTime:Date.now()-t.requestTime||0};return n.bytesReceived=e.loaded,n.bandwidth=Math.floor(n.bytesReceived/n.roundTripTime*8*1e3),n},Gf=(e,t)=>{let{requestType:n}=t,r=yd({requestType:n,request:t,error:e});return t.timedout?{status:t.status,message:`HLS request timed-out at URL: `+t.uri,code:Bf.TIMEOUT,xhr:t,metadata:r}:t.aborted?{status:t.status,message:`HLS request aborted at URL: `+t.uri,code:Bf.ABORTED,xhr:t,metadata:r}:e?{status:t.status,message:`HLS request errored at URL: `+t.uri,code:Bf.FAILURE,xhr:t,metadata:r}:t.responseType===`arraybuffer`&&t.response.byteLength===0?{status:t.status,message:`Empty HLS response at URL: `+t.uri,code:Bf.FAILURE,xhr:t,metadata:r}:null},Kf=(e,t,n,r)=>(i,a)=>{let o=a.response,s=Gf(i,a);if(s)return n(s,e);if(o.byteLength!==16)return n({status:a.status,message:`Invalid HLS key at URL: `+a.uri,code:Bf.FAILURE,xhr:a},e);let c=new DataView(o),l=new Uint32Array([c.getUint32(0),c.getUint32(4),c.getUint32(8),c.getUint32(12)]);for(let e=0;e<t.length;e++)t[e].bytes=l;return r({type:`segmentkeyloadcomplete`,segment:e,keyInfo:{uri:a.uri}}),n(null,e)},qf=(e,t)=>{t===Vf&&e.transmuxer.postMessage({action:`initMp4WebVttParser`,data:e.map.bytes})},Jf=(e,t,n)=>{t===Vf&&zf({action:`getMp4WebVttText`,data:e.bytes,transmuxer:e.transmuxer,callback:({data:t,mp4VttCues:r})=>{e.bytes=t,n(null,e,{mp4VttCues:r})}})},Yf=(e,t)=>{let n=di(e.map.bytes);if(n!==`mp4`){let r=e.map.resolvedUri||e.map.uri,i=n||`unknown`;return t({internal:!0,message:`Found unsupported ${i} container for initialization segment at URL: ${r}`,code:Bf.FAILURE,metadata:{mediaType:i}})}zf({action:`probeMp4Tracks`,data:e.map.bytes,transmuxer:e.transmuxer,callback:({tracks:n,data:r})=>(e.map.bytes=r,n.forEach(function(t){e.map.tracks=e.map.tracks||{},e.map.tracks[t.type]||(e.map.tracks[t.type]=t,typeof t.id==`number`&&t.timescale&&(e.map.timescales=e.map.timescales||{},e.map.timescales[t.id]=t.timescale),t.type===`text`&&qf(e,t.codec))}),t(null))})},Xf=({segment:e,finishProcessingFn:t,triggerSegmentEventFn:n})=>(r,i)=>{let a=Gf(r,i);if(a)return t(a,e);let o=new Uint8Array(i.response);if(n({type:`segmentloaded`,segment:e}),e.map.key)return e.map.encryptedBytes=o,t(null,e);e.map.bytes=o,Yf(e,function(n){if(n)return n.xhr=i,n.status=i.status,t(n,e);t(null,e)})},Zf=({segment:e,finishProcessingFn:t,responseType:n,triggerSegmentEventFn:r})=>(i,a)=>{let o=Gf(i,a);if(o)return t(o,e);r({type:`segmentloaded`,segment:e});let s=n===`arraybuffer`||!a.responseText?a.response:xf(a.responseText.substring(e.lastReachedChar||0));return e.stats=Uf(a),e.key?e.encryptedBytes=new Uint8Array(s):e.bytes=new Uint8Array(s),t(null,e)},Qf=({segment:e,bytes:t,trackInfoFn:n,timingInfoFn:r,videoSegmentTimingInfoFn:i,audioSegmentTimingInfoFn:a,id3Fn:o,captionsFn:s,isEndOfTimeline:c,endedTimelineFn:l,dataFn:u,doneFn:d,onTransmuxerLog:f,triggerSegmentEventFn:p})=>{let m=e.map&&e.map.tracks||{},h=!!(m.audio&&m.video),g=r.bind(null,e,`audio`,`start`),_=r.bind(null,e,`audio`,`end`),v=r.bind(null,e,`video`,`start`),y=r.bind(null,e,`video`,`end`),b=()=>Lf({bytes:t,transmuxer:e.transmuxer,audioAppendStart:e.audioAppendStart,gopsToAlignWith:e.gopsToAlignWith,remux:h,onData:t=>{t.type=t.type===`combined`?`video`:t.type,u(e,t)},onTrackInfo:t=>{n&&(h&&(t.isMuxed=!0),n(e,t))},onAudioTimingInfo:e=>{g&&e.start!==void 0&&(g(e.start),g=null),_&&e.end!==void 0&&_(e.end)},onVideoTimingInfo:e=>{v&&e.start!==void 0&&(v(e.start),v=null),y&&e.end!==void 0&&y(e.end)},onVideoSegmentTimingInfo:t=>{p({type:`segmenttransmuxingtiminginfoavailable`,segment:e,timingInfo:{pts:{start:t.start.presentation,end:t.end.presentation},dts:{start:t.start.decode,end:t.end.decode}}}),i(t)},onAudioSegmentTimingInfo:t=>{p({type:`segmenttransmuxingtiminginfoavailable`,segment:e,timingInfo:{pts:{start:t.start.pts,end:t.end.pts},dts:{start:t.start.dts,end:t.end.dts}}}),a(t)},onId3:(t,n)=>{o(e,t,n)},onCaptions:t=>{s(e,[t])},isEndOfTimeline:c,onEndedTimeline:()=>{l()},onTransmuxerLog:f,onDone:(t,n)=>{d&&(t.type=t.type===`combined`?`video`:t.type,p({type:`segmenttransmuxingcomplete`,segment:e}),d(n,e,t))},segment:e,triggerSegmentEventFn:p});zf({action:`probeTs`,transmuxer:e.transmuxer,data:t,baseStartTime:e.baseStartTime,callback:r=>{e.bytes=t=r.data;let i=r.result;i&&(n(e,{hasAudio:i.hasAudio,hasVideo:i.hasVideo,isMuxed:h}),n=null),b()}})},$f=({segment:e,bytes:t,trackInfoFn:n,timingInfoFn:r,videoSegmentTimingInfoFn:i,audioSegmentTimingInfoFn:a,id3Fn:o,captionsFn:s,isEndOfTimeline:c,endedTimelineFn:l,dataFn:u,doneFn:d,onTransmuxerLog:f,triggerSegmentEventFn:p})=>{let m=new Uint8Array(t);if(fi(m)){e.isFmp4=!0;let{tracks:i}=e.map;if(i.text&&(!i.audio||!i.video)){u(e,{data:m,type:`text`}),Jf(e,i.text.codec,d);return}let a={isFmp4:!0,hasVideo:!!i.video,hasAudio:!!i.audio};i.audio&&i.audio.codec&&i.audio.codec!==`enca`&&(a.audioCodec=i.audio.codec),i.video&&i.video.codec&&i.video.codec!==`encv`&&(a.videoCodec=i.video.codec),i.video&&i.audio&&(a.isMuxed=!0),n(e,a);let c=(t,n)=>{u(e,{data:m,type:a.hasAudio&&!a.isMuxed?`audio`:`video`}),n&&n.length&&o(e,n),t&&t.length&&s(e,t),d(null,e,{})};zf({action:`probeMp4StartTime`,timescales:e.map.timescales,data:m,transmuxer:e.transmuxer,callback:({data:n,startTime:o})=>{t=n.buffer,e.bytes=m=n,a.hasAudio&&!a.isMuxed&&r(e,`audio`,`start`,o),a.hasVideo&&r(e,`video`,`start`,o),zf({action:`probeEmsgID3`,data:m,transmuxer:e.transmuxer,offset:o,callback:({emsgData:n,id3Frames:r})=>{t=n.buffer,e.bytes=m=n,!i.video||!n.byteLength||!e.transmuxer?c(void 0,r):zf({action:`pushMp4Captions`,endAction:`mp4Captions`,transmuxer:e.transmuxer,data:m,timescales:e.map.timescales,trackIds:[i.video.id],callback:n=>{t=n.data.buffer,e.bytes=m=n.data,n.logs.forEach(function(e){f(Q(e,{stream:`mp4CaptionParser`}))}),c(n.captions,r)}})}})}})}else e.transmuxer?(e.container===void 0&&(e.container=di(m)),e.container!==`ts`&&e.container!==`aac`?(n(e,{hasAudio:!1,hasVideo:!1}),d(null,e,{})):Qf({segment:e,bytes:t,trackInfoFn:n,timingInfoFn:r,videoSegmentTimingInfoFn:i,audioSegmentTimingInfoFn:a,id3Fn:o,captionsFn:s,isEndOfTimeline:c,endedTimelineFn:l,dataFn:u,doneFn:d,onTransmuxerLog:f,triggerSegmentEventFn:p})):d(null,e,{})},ep=function({id:e,key:t,encryptedBytes:n,decryptionWorker:r,segment:i,doneFn:a},o){let s=t=>{if(t.data.source===e){r.removeEventListener(`message`,s);let e=t.data.decrypted;o(new Uint8Array(e.bytes,e.byteOffset,e.byteLength))}};r.onerror=()=>{let e=`An error occurred in the decryption worker`,t=Jp({segment:i});a({message:e,metadata:{error:Error(e),errorType:Z.Error.StreamingFailedToDecryptSegment,segmentInfo:t,keyInfo:{uri:i.key.resolvedUri||i.map.key.resolvedUri}}},i)},r.addEventListener(`message`,s);let c;c=t.bytes.slice?t.bytes.slice():new Uint32Array(Array.prototype.slice.call(t.bytes)),r.postMessage(qd({source:e,encrypted:n,key:c,iv:t.iv}),[n.buffer,c.buffer])},tp=({decryptionWorker:e,segment:t,trackInfoFn:n,timingInfoFn:r,videoSegmentTimingInfoFn:i,audioSegmentTimingInfoFn:a,id3Fn:o,captionsFn:s,isEndOfTimeline:c,endedTimelineFn:l,dataFn:u,doneFn:d,onTransmuxerLog:f,triggerSegmentEventFn:p})=>{p({type:`segmentdecryptionstart`}),ep({id:t.requestId,key:t.key,encryptedBytes:t.encryptedBytes,decryptionWorker:e,segment:t,doneFn:d},e=>{t.bytes=e,p({type:`segmentdecryptioncomplete`,segment:t}),$f({segment:t,bytes:t.bytes,trackInfoFn:n,timingInfoFn:r,videoSegmentTimingInfoFn:i,audioSegmentTimingInfoFn:a,id3Fn:o,captionsFn:s,isEndOfTimeline:c,endedTimelineFn:l,dataFn:u,doneFn:d,onTransmuxerLog:f,triggerSegmentEventFn:p})})},np=({activeXhrs:e,decryptionWorker:t,trackInfoFn:n,timingInfoFn:r,videoSegmentTimingInfoFn:i,audioSegmentTimingInfoFn:a,id3Fn:o,captionsFn:s,isEndOfTimeline:c,endedTimelineFn:l,dataFn:u,doneFn:d,onTransmuxerLog:f,triggerSegmentEventFn:p})=>{let m=0,h=!1;return(g,_)=>{if(!h){if(g)return h=!0,Hf(e),d(g,_);if(m+=1,m===e.length){let m=function(){if(_.encryptedBytes)return tp({decryptionWorker:t,segment:_,trackInfoFn:n,timingInfoFn:r,videoSegmentTimingInfoFn:i,audioSegmentTimingInfoFn:a,id3Fn:o,captionsFn:s,isEndOfTimeline:c,endedTimelineFn:l,dataFn:u,doneFn:d,onTransmuxerLog:f,triggerSegmentEventFn:p});$f({segment:_,bytes:_.bytes,trackInfoFn:n,timingInfoFn:r,videoSegmentTimingInfoFn:i,audioSegmentTimingInfoFn:a,id3Fn:o,captionsFn:s,isEndOfTimeline:c,endedTimelineFn:l,dataFn:u,doneFn:d,onTransmuxerLog:f,triggerSegmentEventFn:p})};if(_.endOfAllRequests=Date.now(),_.map&&_.map.encryptedBytes&&!_.map.bytes)return p({type:`segmentdecryptionstart`,segment:_}),ep({decryptionWorker:t,id:_.requestId+`-init`,encryptedBytes:_.map.encryptedBytes,key:_.map.key,segment:_,doneFn:d},t=>{_.map.bytes=t,p({type:`segmentdecryptioncomplete`,segment:_}),Yf(_,t=>{if(t)return Hf(e),d(t,_);m()})});m()}}}},rp=({loadendState:e,abortFn:t})=>n=>{n.target.aborted&&t&&!e.calledAbortFn&&(t(),e.calledAbortFn=!0)},ip=({segment:e,progressFn:t,trackInfoFn:n,timingInfoFn:r,videoSegmentTimingInfoFn:i,audioSegmentTimingInfoFn:a,id3Fn:o,captionsFn:s,isEndOfTimeline:c,endedTimelineFn:l,dataFn:u})=>n=>{if(!n.target.aborted)return e.stats=Q(e.stats,Wf(n)),!e.stats.firstBytesReceivedAt&&e.stats.bytesReceived&&(e.stats.firstBytesReceivedAt=Date.now()),t(n,e)},ap=({xhr:e,xhrOptions:t,decryptionWorker:n,segment:r,abortFn:i,progressFn:a,trackInfoFn:o,timingInfoFn:s,videoSegmentTimingInfoFn:c,audioSegmentTimingInfoFn:l,id3Fn:u,captionsFn:d,isEndOfTimeline:f,endedTimelineFn:p,dataFn:m,doneFn:h,onTransmuxerLog:g,triggerSegmentEventFn:_})=>{let v=[],y=np({activeXhrs:v,decryptionWorker:n,trackInfoFn:o,timingInfoFn:s,videoSegmentTimingInfoFn:c,audioSegmentTimingInfoFn:l,id3Fn:u,captionsFn:d,isEndOfTimeline:f,endedTimelineFn:p,dataFn:m,doneFn:h,onTransmuxerLog:g,triggerSegmentEventFn:_});if(r.key&&!r.key.bytes){let n=[r.key];r.map&&!r.map.bytes&&r.map.key&&r.map.key.resolvedUri===r.key.resolvedUri&&n.push(r.map.key);let i=Q(t,{uri:r.key.resolvedUri,responseType:`arraybuffer`,requestType:`segment-key`}),a=Kf(r,n,y,_);_({type:`segmentkeyloadstart`,segment:r,keyInfo:{uri:r.key.resolvedUri}});let o=e(i,a);v.push(o)}if(r.map&&!r.map.bytes){if(r.map.key&&(!r.key||r.key.resolvedUri!==r.map.key.resolvedUri)){let n=Q(t,{uri:r.map.key.resolvedUri,responseType:`arraybuffer`,requestType:`segment-key`}),i=Kf(r,[r.map.key],y,_);_({type:`segmentkeyloadstart`,segment:r,keyInfo:{uri:r.map.key.resolvedUri}});let a=e(n,i);v.push(a)}let n=Q(t,{uri:r.map.resolvedUri,responseType:`arraybuffer`,headers:Ud(r.map),requestType:`segment-media-initialization`}),i=Xf({segment:r,finishProcessingFn:y,triggerSegmentEventFn:_});_({type:`segmentloadstart`,segment:r});let a=e(n,i);v.push(a)}let b=Q(t,{uri:r.part&&r.part.resolvedUri||r.resolvedUri,responseType:`arraybuffer`,headers:Ud(r),requestType:`segment`}),x=Zf({segment:r,finishProcessingFn:y,responseType:b.responseType,triggerSegmentEventFn:_});_({type:`segmentloadstart`,segment:r});let S=e(b,x);S.addEventListener(`progress`,ip({segment:r,progressFn:a,trackInfoFn:o,timingInfoFn:s,videoSegmentTimingInfoFn:c,audioSegmentTimingInfoFn:l,id3Fn:u,captionsFn:d,isEndOfTimeline:f,endedTimelineFn:p,dataFn:m})),v.push(S);let C={};return v.forEach(e=>{e.addEventListener(`loadend`,rp({loadendState:C,abortFn:i}))}),()=>Hf(v)},op=xu(`PlaylistSelector`),sp=function(e){if(!e||!e.playlist)return;let t=e.playlist;return JSON.stringify({id:t.id,bandwidth:e.bandwidth,width:e.width,height:e.height,codecs:t.attributes&&t.attributes.CODECS||``})},cp=function(e,t){if(!e)return``;let n=x.getComputedStyle(e);return n?n[t]:``},lp=function(e,t){let n=e.slice();e.sort(function(e,r){let i=t(e,r);return i===0?n.indexOf(e)-n.indexOf(r):i})},up=function(e,t){let n,r;return e.attributes.BANDWIDTH&&(n=e.attributes.BANDWIDTH),n||=x.Number.MAX_VALUE,t.attributes.BANDWIDTH&&(r=t.attributes.BANDWIDTH),r||=x.Number.MAX_VALUE,n-r},dp=function(e,t){let n,r;return e.attributes.RESOLUTION&&e.attributes.RESOLUTION.width&&(n=e.attributes.RESOLUTION.width),n||=x.Number.MAX_VALUE,t.attributes.RESOLUTION&&t.attributes.RESOLUTION.width&&(r=t.attributes.RESOLUTION.width),r||=x.Number.MAX_VALUE,n===r&&e.attributes.BANDWIDTH&&t.attributes.BANDWIDTH?e.attributes.BANDWIDTH-t.attributes.BANDWIDTH:n-r};let fp=function(e){let{main:t,bandwidth:n,playerWidth:r,playerHeight:i,playerObjectFit:a,limitRenditionByPlayerDimensions:o,playlistController:s}=e;if(!t)return;let c={bandwidth:n,width:r,height:i,limitRenditionByPlayerDimensions:o},l=t.playlists;sd.isAudioOnly(t)&&(l=s.getAudioTrackPlaylists_(),c.audioOnly=!0);let u=l.map(e=>{let t,n=e.attributes&&e.attributes.RESOLUTION&&e.attributes.RESOLUTION.width,r=e.attributes&&e.attributes.RESOLUTION&&e.attributes.RESOLUTION.height;return t=e.attributes&&e.attributes.BANDWIDTH,t||=x.Number.MAX_VALUE,{bandwidth:t,width:n,height:r,playlist:e}});lp(u,(e,t)=>e.bandwidth-t.bandwidth),u=u.filter(e=>!sd.isIncompatible(e.playlist));let d=u.filter(e=>sd.isEnabled(e.playlist));d.length||(d=u.filter(e=>!sd.isDisabled(e.playlist)));let f=d.filter(e=>e.bandwidth*bf.BANDWIDTH_VARIANCE<n),p=f[f.length-1],m=f.filter(e=>e.bandwidth===p.bandwidth)[0];if(o===!1){let e=m||d[0]||u[0];if(e&&e.playlist){let t=`sortedPlaylistReps`;return m&&(t=`bandwidthBestRep`),d[0]&&(t=`enabledPlaylistReps`),op(`choosing ${sp(e)} using ${t} with options`,c),e.playlist}return op(`could not choose a playlist with options`,c),null}let h=f.filter(e=>e.width&&e.height);lp(h,(e,t)=>e.width-t.width);let g=h.filter(e=>e.width===r&&e.height===i);p=g[g.length-1];let _=g.filter(e=>e.bandwidth===p.bandwidth)[0],v,y,b;_||(v=h.filter(e=>a===`cover`?e.width>r&&e.height>i:e.width>r||e.height>i),y=v.filter(e=>e.width===v[0].width&&e.height===v[0].height),p=y[y.length-1],b=y.filter(e=>e.bandwidth===p.bandwidth)[0]);let S;if(s.leastPixelDiffSelector){let e=h.map(e=>(e.pixelDiff=Math.abs(e.width-r)+Math.abs(e.height-i),e));lp(e,(e,t)=>e.pixelDiff===t.pixelDiff?t.bandwidth-e.bandwidth:e.pixelDiff-t.pixelDiff),S=e[0]}let C=S||b||_||m||d[0]||u[0];if(C&&C.playlist){let e=`sortedPlaylistReps`;return S?e=`leastPixelDiffRep`:b?e=`resolutionPlusOneRep`:_?e=`resolutionBestRep`:m?e=`bandwidthBestRep`:d[0]&&(e=`enabledPlaylistReps`),op(`choosing ${sp(C)} using ${e} with options`,c),C.playlist}return op(`could not choose a playlist with options`,c),null};const pp=function(){let e=this.useDevicePixelRatio&&x.devicePixelRatio||1;return isNaN(this.customPixelRatio)||(e=this.customPixelRatio),fp({main:this.playlists.main,bandwidth:this.systemBandwidth,playerWidth:parseInt(cp(this.tech_.el(),`width`),10)*e,playerHeight:parseInt(cp(this.tech_.el(),`height`),10)*e,playerObjectFit:this.usePlayerObjectFit?cp(this.tech_.el(),`objectFit`):``,limitRenditionByPlayerDimensions:this.limitRenditionByPlayerDimensions,playlistController:this.playlistController_})},mp=function(e){let t=-1,n=-1;if(e<0||e>1)throw Error(`Moving average bandwidth decay must be between 0 and 1.`);return function(){let r=this.useDevicePixelRatio&&x.devicePixelRatio||1;return isNaN(this.customPixelRatio)||(r=this.customPixelRatio),t<0&&(t=this.systemBandwidth,n=this.systemBandwidth),this.systemBandwidth>0&&this.systemBandwidth!==n&&(t=e*this.systemBandwidth+(1-e)*t,n=this.systemBandwidth),fp({main:this.playlists.main,bandwidth:t,playerWidth:parseInt(cp(this.tech_.el(),`width`),10)*r,playerHeight:parseInt(cp(this.tech_.el(),`height`),10)*r,playerObjectFit:this.usePlayerObjectFit?cp(this.tech_.el(),`objectFit`):``,limitRenditionByPlayerDimensions:this.limitRenditionByPlayerDimensions,playlistController:this.playlistController_})}},hp=function(e){let{main:t,currentTime:n,bandwidth:r,duration:i,segmentDuration:a,timeUntilRebuffer:o,currentTimeline:s,syncController:c}=e,l=t.playlists.filter(e=>!sd.isIncompatible(e)),u=l.filter(sd.isEnabled);u.length||(u=l.filter(e=>!sd.isDisabled(e)));let d=u.filter(sd.hasAttribute.bind(null,`BANDWIDTH`)).map(e=>{let t=c.getSyncPoint(e,i,s,n)?1:2;return{playlist:e,rebufferingImpact:sd.estimateSegmentRequestTime(a,r,e)*t-o}}),f=d.filter(e=>e.rebufferingImpact<=0);return lp(f,(e,t)=>up(t.playlist,e.playlist)),f.length?f[0]:(lp(d,(e,t)=>e.rebufferingImpact-t.rebufferingImpact),d[0]||null)},gp=function(){let e=this.playlists.main.playlists.filter(sd.isEnabled);return lp(e,(e,t)=>up(e,t)),e.filter(e=>!!Ed(this.playlists.main,e).video)[0]||null},_p=e=>{let t=0,n;return e.bytes&&(n=new Uint8Array(e.bytes),e.segments.forEach(e=>{n.set(e,t),t+=e.byteLength})),n};function vp(e){try{return new URL(e).pathname.split(`/`).slice(-2).join(`/`)}catch{return``}}const yp=function(e,t,n){if(!e[n]){t.trigger({type:`usage`,name:`vhs-608`});let r=n;/^cc708_/.test(n)&&(r=`SERVICE`+n.split(`_`)[1]);let i=t.textTracks().getTrackById(r);if(i)e[n]=i;else{let i=t.options_.vhs&&t.options_.vhs.captionServices||{},a=n,o=n,s=!1,c=i[r];c&&(a=c.label,o=c.language,s=c.default),e[n]=t.addRemoteTextTrack({kind:`captions`,id:r,default:s,label:a,language:o},!1).track}}},bp=function({inbandTextTracks:e,captionArray:t,timestampOffset:n}){if(!t)return;let r=x.WebKitDataCue||x.VTTCue;t.forEach(t=>{let i=t.stream;t.content?t.content.forEach(a=>{let o=new r(t.startTime+n,t.endTime+n,a.text);o.line=a.line,o.align=`left`,o.position=a.position,o.positionAlign=`line-left`,e[i].addCue(o)}):e[i].addCue(new r(t.startTime+n,t.endTime+n,t.text))})},xp=function(e){Object.defineProperties(e.frame,{id:{get(){return Z.log.warn(`cue.frame.id is deprecated. Use cue.value.key instead.`),e.value.key}},value:{get(){return Z.log.warn(`cue.frame.value is deprecated. Use cue.value.data instead.`),e.value.data}},privateData:{get(){return Z.log.warn(`cue.frame.privateData is deprecated. Use cue.value.data instead.`),e.value.data}}})},Sp=({inbandTextTracks:e,metadataArray:t,timestampOffset:n,videoDuration:r})=>{if(!t)return;let i=x.WebKitDataCue||x.VTTCue,a=e.metadataTrack_;if(!a||(t.forEach(e=>{let t=e.cueTime+n;typeof t!=`number`||x.isNaN(t)||t<0||!(t<1/0)||e.frames&&e.frames.length&&e.frames.forEach(e=>{let n=new i(t,t,e.value||e.url||e.data||``);n.frame=e,n.value=e,xp(n),a.addCue(n)})}),!a.cues||!a.cues.length))return;let o=a.cues,s=[];for(let e=0;e<o.length;e++)o[e]&&s.push(o[e]);let c=s.reduce((e,t)=>{let n=e[t.startTime]||[];return n.push(t),e[t.startTime]=n,e},{}),l=Object.keys(c).sort((e,t)=>Number(e)-Number(t));l.forEach((e,t)=>{let n=c[e],i=isFinite(r)?r:e,a=Number(l[t+1])||i;n.forEach(e=>{e.endTime=a})})},Cp={id:`ID`,class:`CLASS`,startDate:`START-DATE`,duration:`DURATION`,endDate:`END-DATE`,endOnNext:`END-ON-NEXT`,plannedDuration:`PLANNED-DURATION`,scte35Out:`SCTE35-OUT`,scte35In:`SCTE35-IN`},wp=new Set([`id`,`class`,`startDate`,`duration`,`endDate`,`endOnNext`,`startTime`,`endTime`,`processDateRange`]),Tp=({inbandTextTracks:e,dateRanges:t})=>{let n=e.metadataTrack_;if(!n)return;let r=x.WebKitDataCue||x.VTTCue;t.forEach(e=>{for(let t of Object.keys(e)){if(wp.has(t))continue;let i=new r(e.startTime,e.endTime,``);i.id=e.id,i.type=`com.apple.quicktime.HLS`,i.value={key:Cp[t],data:e[t]},(t===`scte35Out`||t===`scte35In`)&&(i.value.data=new Uint8Array(i.value.data.match(/[\da-f]{2}/gi)).buffer),n.addCue(i)}e.processDateRange()})},Ep=(e,t,n)=>{e.metadataTrack_||(e.metadataTrack_=n.addRemoteTextTrack({kind:`metadata`,label:`Timed Metadata`},!1).track,Z.browser.IS_ANY_SAFARI||(e.metadataTrack_.inBandMetadataTrackDispatchType=t))},Dp=function(e,t,n){let r,i;if(n&&n.cues)for(r=n.cues.length;r--;)i=n.cues[r],i.startTime>=e&&i.endTime<=t&&n.removeCue(i)},Op=function(e){let t=e.cues;if(!t)return;let n={};for(let r=t.length-1;r>=0;r--){let i=t[r],a=`${i.startTime}-${i.endTime}-${i.text}`;n[a]?e.removeCue(i):n[a]=i}},kp=(e,t,n)=>{if(t==null||!e.length)return[];let r=Math.ceil((t-n+3)*gi.ONE_SECOND_IN_TS),i=0;for(;i<e.length&&!(e[i].pts>r);i++);return e.slice(i)},Ap=(e,t,n)=>{if(!t.length)return e;if(n)return t.slice();let r=t[0].pts,i=0;for(;i<e.length&&!(e[i].pts>=r);i++);return e.slice(0,i).concat(t)},jp=(e,t,n,r)=>{let i=Math.ceil((t-r)*gi.ONE_SECOND_IN_TS),a=Math.ceil((n-r)*gi.ONE_SECOND_IN_TS),o=e.slice(),s=e.length;for(;s--&&!(e[s].pts<=a););if(s===-1)return o;let c=s+1;for(;c--&&!(e[c].pts<=i););return c=Math.max(c,0),o.splice(c,s-c+1),o},Mp=function(e,t){if(!e&&!t||!e&&t||e&&!t)return!1;if(e===t)return!0;let n=Object.keys(e).sort(),r=Object.keys(t).sort();if(n.length!==r.length)return!1;for(let i=0;i<n.length;i++){let a=n[i];if(a!==r[i]||e[a]!==t[a])return!1}return!0},Np=function(e,t,n){t||=[];let r=[],i=0;for(let a=0;a<t.length;a++){let o=t[a];if(e===o.timeline&&(r.push(a),i+=o.duration,i>n))return a}return r.length===0?0:r[r.length-1]},Pp=e=>typeof e==`number`&&isFinite(e),Fp=1/60,Ip=(e,t,n)=>e!==`main`||!t||!n?null:!n.hasAudio&&!n.hasVideo?`Neither audio nor video found in segment.`:t.hasVideo&&!n.hasVideo?`Only audio found in segment when we expected video. We can't switch to audio only from a stream that had video. To get rid of this message, please add codec information to the manifest.`:!t.hasVideo&&n.hasVideo?`Video found in segment when we expected only audio. We can't switch to a stream with video from an audio only stream. To get rid of this message, please add codec information to the manifest.`:null,Lp=(e,t,n)=>{let r=t-bf.BACK_BUFFER_LENGTH;e.length&&(r=Math.max(r,e.start(0)));let i=t-n;return Math.min(i,r)},Rp=e=>{let{startOfSegment:t,duration:n,segment:r,part:i,playlist:{mediaSequence:a,id:o,segments:s=[]},mediaIndex:c,partIndex:l,timeline:u}=e,d=s.length-1,f=`mediaIndex/partIndex increment`;e.getMediaInfoForTime?f=`getMediaInfoForTime (${e.getMediaInfoForTime})`:e.isSyncRequest&&(f=`getSyncSegmentCandidate (isSyncRequest)`),e.independent&&(f+=` with independent ${e.independent}`);let p=typeof l==`number`,m=e.segment.uri?`segment`:`pre-segment`,h=p?Bu({preloadSegment:r})-1:0;return`${m} [${a+c}/${a+d}]`+(p?` part [${l}/${h}]`:``)+` segment start/end [${r.start} => ${r.end}]`+(p?` part start/end [${i.start} => ${i.end}]`:``)+` startOfSegment [${t}] duration [${n}] timeline [${u}] selected by [${f}] playlist [${o}]`},zp=e=>`${e}TimingInfo`,Bp=({segmentTimeline:e,currentTimeline:t,startOfSegment:n,buffered:r,overrideCheck:i})=>!i&&e===t?null:e<t?n:r.length?r.end(r.length-1):n,Vp=({timelineChangeController:e,currentTimeline:t,segmentTimeline:n,loaderType:r,audioDisabled:i})=>{if(t===n)return!1;if(r===`audio`){let t=e.lastTimelineChange({type:`main`});return!t||t.to!==n}if(r===`main`&&i){let t=e.pendingTimelineChange({type:`audio`});return!(t&&t.to===n)}return!1},Hp=e=>{if(!e)return!1;let t=e.pendingTimelineChange({type:`audio`}),n=e.pendingTimelineChange({type:`main`}),r=t&&n,i=r&&t.to!==n.to;return!!(r&&t.from!==-1&&n.from!==-1&&i)},Up=e=>{let t=e.timelineChangeController_.pendingTimelineChange({type:`audio`}),n=e.timelineChangeController_.pendingTimelineChange({type:`main`});return t&&n&&t.to<n.to},Wp=e=>{let t=e.pendingSegment_;if(t&&Vp({timelineChangeController:e.timelineChangeController_,currentTimeline:e.currentTimeline_,segmentTimeline:t.timeline,loaderType:e.loaderType_,audioDisabled:e.audioDisabled_})&&Hp(e.timelineChangeController_)){if(Up(e)){e.timelineChangeController_.trigger(`audioTimelineBehind`);return}e.timelineChangeController_.trigger(`fixBadTimelineChange`)}},Gp=e=>{let t=0;return[`video`,`audio`].forEach(function(n){let r=e[`${n}TimingInfo`];if(!r)return;let{start:i,end:a}=r,o;typeof i==`bigint`||typeof a==`bigint`?o=x.BigInt(a)-x.BigInt(i):typeof i==`number`&&typeof a==`number`&&(o=a-i),o!==void 0&&o>t&&(t=o)}),typeof t==`bigint`&&t<2**53-1&&(t=Number(t)),t},Kp=({segmentDuration:e,maxDuration:t})=>e?Math.round(e)>t+wu:!1,qp=(e,t)=>{if(t!==`hls`)return null;let n=Gp({audioTimingInfo:e.audioTimingInfo,videoTimingInfo:e.videoTimingInfo});if(!n)return null;let r=e.playlist.targetDuration,i=Kp({segmentDuration:n,maxDuration:r*2}),a=Kp({segmentDuration:n,maxDuration:r}),o=`Segment with index ${e.mediaIndex} from playlist ${e.playlist.id} has a duration of ${n} when the reported duration is ${e.duration} and the target duration is ${r}. For HLS content, a duration in excess of the target duration may result in playback issues. See the HLS specification section on EXT-X-TARGETDURATION for more details: https://tools.ietf.org/html/draft-pantos-http-live-streaming-23#section-4.3.3.1`;return i||a?{severity:i?`warn`:`info`,message:o}:null},Jp=({type:e,segment:t})=>{if(!t)return;let n=!!(t.key||t.map&&t.map.ke),r=!(!t.map||t.map.bytes),i=t.startOfSegment===void 0?t.start:t.startOfSegment;return{type:e||t.type,uri:t.resolvedUri||t.uri,start:i,duration:t.duration,isEncrypted:n,isMediaInitialization:r}};class Yp extends Z.EventTarget{constructor(e,t={}){if(super(),!e)throw TypeError(`Initialization settings are required`);if(typeof e.currentTime!=`function`)throw TypeError(`No currentTime getter specified`);if(!e.mediaSource)throw TypeError(`No MediaSource specified`);this.bandwidth=e.bandwidth,this.throughput={rate:0,count:0},this.roundTrip=NaN,this.resetStats_(),this.mediaIndex=null,this.partIndex=null,this.hasPlayed_=e.hasPlayed,this.currentTime_=e.currentTime,this.seekable_=e.seekable,this.seeking_=e.seeking,this.duration_=e.duration,this.mediaSource_=e.mediaSource,this.vhs_=e.vhs,this.loaderType_=e.loaderType,this.currentMediaInfo_=void 0,this.startingMediaInfo_=void 0,this.segmentMetadataTrack_=e.segmentMetadataTrack,this.goalBufferLength_=e.goalBufferLength,this.sourceType_=e.sourceType,this.sourceUpdater_=e.sourceUpdater,this.inbandTextTracks_=e.inbandTextTracks,this.state_=`INIT`,this.timelineChangeController_=e.timelineChangeController,this.shouldSaveSegmentTimingInfo_=!0,this.parse708captions_=e.parse708captions,this.useDtsForTimestampOffset_=e.useDtsForTimestampOffset,this.captionServices_=e.captionServices,this.exactManifestTimings=e.exactManifestTimings,this.addMetadataToTextTrack=e.addMetadataToTextTrack,this.checkBufferTimeout_=null,this.error_=void 0,this.currentTimeline_=-1,this.shouldForceTimestampOffsetAfterResync_=!1,this.pendingSegment_=null,this.xhrOptions_=null,this.pendingSegments_=[],this.audioDisabled_=!1,this.isPendingTimestampOffset_=!1,this.gopBuffer_=[],this.timeMapping_=0,this.safeAppend_=!1,this.appendInitSegment_={audio:!0,video:!0},this.playlistOfLastInitSegment_={audio:null,video:null},this.callQueue_=[],this.loadQueue_=[],this.metadataQueue_={id3:[],caption:[]},this.waitingOnRemove_=!1,this.quotaExceededErrorRetryTimeout_=null,this.activeInitSegmentId_=null,this.initSegments_={},this.cacheEncryptionKeys_=e.cacheEncryptionKeys,this.keyCache_={},this.decrypter_=e.decrypter,this.syncController_=e.syncController,this.syncPoint_={segmentIndex:0,time:0},this.transmuxer_=this.createTransmuxer_(),this.triggerSyncInfoUpdate_=()=>this.trigger(`syncinfoupdate`),this.syncController_.on(`syncinfoupdate`,this.triggerSyncInfoUpdate_),this.mediaSource_.addEventListener(`sourceopen`,()=>{this.isEndOfStream_()||(this.ended_=!1)}),this.fetchAtBuffer_=!1,this.logger_=xu(`SegmentLoader[${this.loaderType_}]`),Object.defineProperty(this,"state",{get(){return this.state_},set(e){e!==this.state_&&(this.logger_(`${this.state_} -> ${e}`),this.state_=e,this.trigger(`statechange`))}}),this.sourceUpdater_.on(`ready`,()=>{this.hasEnoughInfoToAppend_()?this.processCallQueue_():Wp(this)}),this.sourceUpdater_.on(`codecschange`,e=>{this.trigger(R({type:`codecschange`},e))}),this.loaderType_===`main`&&this.timelineChangeController_.on(`pendingtimelinechange`,()=>{this.hasEnoughInfoToAppend_()?this.processCallQueue_():Wp(this)}),this.loaderType_===`audio`&&this.timelineChangeController_.on(`timelinechange`,e=>{this.trigger(R({type:`timelinechange`},e)),this.hasEnoughInfoToLoad_()?this.processLoadQueue_():Wp(this),this.hasEnoughInfoToAppend_()?this.processCallQueue_():Wp(this)})}get mediaSequenceSync_(){return this.syncController_.getMediaSequenceSync(this.loaderType_)}createTransmuxer_(){return Rf.createTransmuxer({remux:!1,alignGopsAtEnd:this.safeAppend_,keepOriginalTimestamps:!0,parse708captions:this.parse708captions_,captionServices:this.captionServices_})}resetStats_(){this.mediaBytesTransferred=0,this.mediaRequests=0,this.mediaRequestsAborted=0,this.mediaRequestsTimedout=0,this.mediaRequestsErrored=0,this.mediaTransferDuration=0,this.mediaSecondsLoaded=0,this.mediaAppends=0}dispose(){this.trigger(`dispose`),this.state=`DISPOSED`,this.pause(),this.abort_(),this.transmuxer_&&this.transmuxer_.terminate(),this.resetStats_(),this.checkBufferTimeout_&&x.clearTimeout(this.checkBufferTimeout_),this.syncController_&&this.triggerSyncInfoUpdate_&&this.syncController_.off(`syncinfoupdate`,this.triggerSyncInfoUpdate_),this.off()}setAudio(e){this.audioDisabled_=!e,e?this.appendInitSegment_.audio=!0:this.sourceUpdater_.removeAudio(0,this.duration_())}abort(){this.state===`WAITING`?(this.abort_(),this.state=`READY`,this.paused()||this.monitorBuffer_()):(this.pendingSegment_&&=null,this.timelineChangeController_.clearPendingTimelineChange(this.loaderType_))}abort_(){this.pendingSegment_&&this.pendingSegment_.abortRequests&&this.pendingSegment_.abortRequests(),this.pendingSegment_=null,this.callQueue_=[],this.loadQueue_=[],this.metadataQueue_.id3=[],this.metadataQueue_.caption=[],this.timelineChangeController_.clearPendingTimelineChange(this.loaderType_),this.waitingOnRemove_=!1,x.clearTimeout(this.quotaExceededErrorRetryTimeout_),this.quotaExceededErrorRetryTimeout_=null}checkForAbort_(e){return this.state===`APPENDING`&&!this.pendingSegment_?(this.state=`READY`,!0):!this.pendingSegment_||this.pendingSegment_.requestId!==e}error(e){return e!==void 0&&(this.logger_(`error occurred:`,e),this.error_=e),this.pendingSegment_=null,this.error_}endOfStream(){this.ended_=!0,this.transmuxer_&&Rf.reset(this.transmuxer_),this.gopBuffer_.length=0,this.pause(),this.trigger(`ended`)}buffered_(){let e=this.getMediaInfo_();if(!this.sourceUpdater_||!e)return Su();if(this.loaderType_===`main`){let{hasAudio:t,hasVideo:n,isMuxed:r}=e;if(n&&t&&!this.audioDisabled_&&!r)return this.sourceUpdater_.buffered();if(n)return this.sourceUpdater_.videoBuffered()}return this.sourceUpdater_.audioBuffered()}initSegmentForMap(e,t=!1){if(!e)return null;let n=Jd(e),r=this.initSegments_[n];return t&&!r&&e.bytes&&(this.initSegments_[n]=r={resolvedUri:e.resolvedUri,byterange:e.byterange,bytes:e.bytes,tracks:e.tracks,timescales:e.timescales}),r||e}segmentKey(e,t=!1){if(!e)return null;let n=Yd(e),r=this.keyCache_[n];this.cacheEncryptionKeys_&&t&&!r&&e.bytes&&(this.keyCache_[n]=r={resolvedUri:e.resolvedUri,bytes:e.bytes});let i={resolvedUri:(r||e).resolvedUri};return r&&(i.bytes=r.bytes),i}couldBeginLoading_(){return this.playlist_&&!this.paused()}load(){if(this.monitorBuffer_(),this.playlist_){if(this.state===`INIT`&&this.couldBeginLoading_())return this.init_();!this.couldBeginLoading_()||this.state!==`READY`&&this.state!==`INIT`||(this.state=`READY`)}}init_(){return this.state=`READY`,this.resetEverything(),this.monitorBuffer_()}playlist(e,t={}){if(!e||this.playlist_&&this.playlist_.endList&&e.endList&&this.playlist_.uri===e.uri)return;let n=this.playlist_,r=this.pendingSegment_;this.playlist_=e,this.xhrOptions_=t,this.state===`INIT`&&(e.syncInfo={mediaSequence:e.mediaSequence,time:0},this.loaderType_===`main`&&this.syncController_.setDateTimeMappingForStart(e));let i=null;if(n&&(n.id?i=n.id:n.uri&&(i=n.uri)),this.logger_(`playlist update [${i} => ${e.id||e.uri}]`),this.mediaSequenceSync_&&(this.mediaSequenceSync_.update(e,this.currentTime_()),this.logger_(`Playlist update:
@@ -197,4 +197,4 @@ ${vp(e.uri)}
197
197
  ${Rp(e)}`),t.map&&!t.map.bytes&&(this.logger_(`going to request init segment.`),this.appendInitSegment_={video:!0,audio:!0}),e.abortRequests=ap({xhr:this.vhs_.xhr,xhrOptions:this.xhrOptions_,decryptionWorker:this.decrypter_,segment:t,abortFn:this.handleAbort_.bind(this,e),progressFn:this.handleProgress_.bind(this),trackInfoFn:this.handleTrackInfo_.bind(this),timingInfoFn:this.handleTimingInfo_.bind(this),videoSegmentTimingInfoFn:this.handleSegmentTimingInfo_.bind(this,`video`,e.requestId),audioSegmentTimingInfoFn:this.handleSegmentTimingInfo_.bind(this,`audio`,e.requestId),captionsFn:this.handleCaptions_.bind(this),isEndOfTimeline:a,endedTimelineFn:()=>{this.logger_(`received endedtimeline callback`)},id3Fn:this.handleId3_.bind(this),dataFn:this.handleData_.bind(this),doneFn:this.segmentRequestFinished_.bind(this),onTransmuxerLog:({message:t,level:n,stream:r})=>{this.logger_(`${Rp(e)} logged from transmuxer stream ${r} as a ${n}: ${t}`)},triggerSegmentEventFn:({type:e,segment:t,keyInfo:n,trackInfo:r,timingInfo:i})=>{let a={segmentInfo:Jp({segment:t})};n&&(a.keyInfo=n),r&&(a.trackInfo=r),i&&(a.timingInfo=i),this.trigger({type:e,metadata:a})}})}trimBackBuffer_(e){let t=Lp(this.seekable_(),this.currentTime_(),this.playlist_.targetDuration||10);t>0&&this.remove(0,t)}createSimplifiedSegmentObj_(e){let t=e.segment,n=e.part,r=e.segment.key||e.segment.map&&e.segment.map.key,i=e.segment.map&&!e.segment.map.bytes,a={resolvedUri:n?n.resolvedUri:t.resolvedUri,byterange:n?n.byterange:t.byterange,requestId:e.requestId,transmuxer:e.transmuxer,audioAppendStart:e.audioAppendStart,gopsToAlignWith:e.gopsToAlignWith,part:e.part,type:this.loaderType_,start:e.startOfSegment,duration:e.duration,isEncrypted:r,isMediaInitialization:i},o=e.playlist.segments[e.mediaIndex-1];if(o&&o.timeline===t.timeline&&(o.videoTimingInfo?a.baseStartTime=o.videoTimingInfo.transmuxedDecodeEnd:o.audioTimingInfo&&(a.baseStartTime=o.audioTimingInfo.transmuxedDecodeEnd)),t.key){let n=t.key.iv||new Uint32Array([0,0,0,e.mediaIndex+e.playlist.mediaSequence]);a.key=this.segmentKey(t.key),a.key.iv=n}return t.map&&(a.map=this.initSegmentForMap(t.map)),a}saveTransferStats_(e){this.mediaRequests+=1,e&&(this.mediaBytesTransferred+=e.bytesReceived,this.mediaTransferDuration+=e.roundTripTime)}saveBandwidthRelatedStats_(e,t){if(this.pendingSegment_.byteLength=t.bytesReceived,e<Fp){this.logger_(`Ignoring segment's bandwidth because its duration of ${e} is less than the min to record ${Fp}`);return}let n={bandwidthInfo:{from:this.bandwidth,to:t.bandwidth}};this.trigger({type:`bandwidthupdated`,metadata:n}),this.bandwidth=t.bandwidth,this.roundTrip=t.roundTripTime}handleTimeout_(){this.mediaRequestsTimedout+=1,this.bandwidth=1,this.roundTrip=NaN,this.trigger(`bandwidthupdate`),this.trigger(`timeout`)}segmentRequestFinished_(e,t,n){if(this.callQueue_.length){this.callQueue_.push(this.segmentRequestFinished_.bind(this,e,t,n));return}if(this.saveTransferStats_(t.stats),!this.pendingSegment_||t.requestId!==this.pendingSegment_.requestId)return;if(e){if(this.pendingSegment_=null,this.state=`READY`,e.code===Bf.ABORTED)return;if(this.pause(),e.code===Bf.TIMEOUT){this.handleTimeout_();return}this.mediaRequestsErrored+=1,this.error(e),this.trigger(`error`);return}let r=this.pendingSegment_;this.saveBandwidthRelatedStats_(r.duration,t.stats),r.endOfAllRequests=t.endOfAllRequests,n.gopInfo&&(this.gopBuffer_=Ap(this.gopBuffer_,n.gopInfo,this.safeAppend_)),this.state=`APPENDING`,this.trigger(`appending`),this.waitForAppendsToComplete_(r)}setTimeMapping_(e){let t=this.syncController_.mappingForTimeline(e);t!==null&&(this.timeMapping_=t)}updateMediaSecondsLoaded_(e){typeof e.start==`number`&&typeof e.end==`number`?this.mediaSecondsLoaded+=e.end-e.start:this.mediaSecondsLoaded+=e.duration}shouldUpdateTransmuxerTimestampOffset_(e){return e===null?!1:this.loaderType_===`main`&&e!==this.sourceUpdater_.videoTimestampOffset()||!this.audioDisabled_&&e!==this.sourceUpdater_.audioTimestampOffset()}trueSegmentStart_({currentStart:e,playlist:t,mediaIndex:n,firstVideoFrameTimeForData:r,currentVideoTimestampOffset:i,useVideoTimingInfo:a,videoTimingInfo:o,audioTimingInfo:s}){if(e!==void 0)return e;if(!a)return s.start;let c=t.segments[n-1];return n===0||!c||c.start===void 0||c.end!==r+i?r:o.start}waitForAppendsToComplete_(e){let t=this.getCurrentMediaInfo_(e);if(!t){this.error({message:`No starting media returned, likely due to an unsupported media format.`,playlistExclusionDuration:1/0}),this.trigger(`error`);return}let{hasAudio:n,hasVideo:r,isMuxed:i}=t,a=this.loaderType_===`main`&&r,o=!this.audioDisabled_&&n&&!i;e.waitingOnAppends=0,e.hasAppendedData_?(a&&e.waitingOnAppends++,o&&e.waitingOnAppends++,a&&this.sourceUpdater_.videoQueueCallback(this.checkAppendsDone_.bind(this,e)),o&&this.sourceUpdater_.audioQueueCallback(this.checkAppendsDone_.bind(this,e))):(!e.timingInfo&&typeof e.timestampOffset==`number`&&(this.isPendingTimestampOffset_=!0),e.timingInfo={start:0},e.waitingOnAppends++,this.isPendingTimestampOffset_||(this.updateSourceBufferTimestampOffset_(e),this.processMetadataQueue_()),this.checkAppendsDone_(e))}checkAppendsDone_(e){this.checkForAbort_(e.requestId)||(e.waitingOnAppends--,e.waitingOnAppends===0&&this.handleAppendsDone_())}checkForIllegalMediaSwitch(e){let t=Ip(this.loaderType_,this.getCurrentMediaInfo_(),e);return t?(this.error({message:t,playlistExclusionDuration:1/0}),this.trigger(`error`),!0):!1}updateSourceBufferTimestampOffset_(e){if(e.timestampOffset===null||typeof e.timingInfo.start!=`number`||e.changedTimestampOffset||this.loaderType_!==`main`)return;let t=!1;e.timestampOffset-=this.getSegmentStartTimeForTimestampOffsetCalculation_({videoTimingInfo:e.segment.videoTimingInfo,audioTimingInfo:e.segment.audioTimingInfo,timingInfo:e.timingInfo}),e.changedTimestampOffset=!0,e.timestampOffset!==this.sourceUpdater_.videoTimestampOffset()&&(this.sourceUpdater_.videoTimestampOffset(e.timestampOffset),t=!0),e.timestampOffset!==this.sourceUpdater_.audioTimestampOffset()&&(this.sourceUpdater_.audioTimestampOffset(e.timestampOffset),t=!0),t&&this.trigger(`timestampoffset`)}getSegmentStartTimeForTimestampOffsetCalculation_({videoTimingInfo:e,audioTimingInfo:t,timingInfo:n}){return this.useDtsForTimestampOffset_?e&&typeof e.transmuxedDecodeStart==`number`?e.transmuxedDecodeStart:t&&typeof t.transmuxedDecodeStart==`number`?t.transmuxedDecodeStart:n.start:n.start}updateTimingInfoEnd_(e){e.timingInfo=e.timingInfo||{};let t=this.getMediaInfo_(),n=this.loaderType_===`main`&&t&&t.hasVideo&&e.videoTimingInfo?e.videoTimingInfo:e.audioTimingInfo;n&&(e.timingInfo.end=typeof n.end==`number`?n.end:n.start+e.duration)}handleAppendsDone_(){if(this.pendingSegment_){let e={segmentInfo:Jp({type:this.loaderType_,segment:this.pendingSegment_})};this.trigger({type:`appendsdone`,metadata:e})}if(!this.pendingSegment_){this.state=`READY`,this.paused()||this.monitorBuffer_();return}let e=this.pendingSegment_;e.part&&e.part.syncInfo?e.part.syncInfo.markAppended():e.segment.syncInfo&&e.segment.syncInfo.markAppended(),this.updateTimingInfoEnd_(e),this.shouldSaveSegmentTimingInfo_&&this.syncController_.saveSegmentTimingInfo({segmentInfo:e,shouldSaveTimelineMapping:this.loaderType_===`main`});let t=qp(e,this.sourceType_);if(t&&(t.severity===`warn`?Z.log.warn(t.message):this.logger_(t.message)),this.recordThroughput_(e),this.pendingSegment_=null,this.state=`READY`,e.isSyncRequest&&(this.trigger(`syncinfoupdate`),!e.hasAppendedData_)){this.logger_(`Throwing away un-appended sync request ${Rp(e)}`);return}this.logger_(`Appended ${Rp(e)}`),this.addSegmentMetadataCue_(e),this.fetchAtBuffer_=!0,this.currentTimeline_!==e.timeline&&(this.timelineChangeController_.lastTimelineChange({type:this.loaderType_,from:this.currentTimeline_,to:e.timeline}),this.loaderType_===`main`&&!this.audioDisabled_&&this.timelineChangeController_.lastTimelineChange({type:`audio`,from:this.currentTimeline_,to:e.timeline})),this.currentTimeline_=e.timeline,this.trigger(`syncinfoupdate`);let n=e.segment,r=e.part,i=n.end&&this.currentTime_()-n.end>e.playlist.targetDuration*3,a=r&&r.end&&this.currentTime_()-r.end>e.playlist.partTargetDuration*3;i||a?(this.logger_(`bad ${i?`segment`:`part`} ${Rp(e)}`),this.resetEverything()):(this.mediaIndex!==null&&this.trigger(`bandwidthupdate`),this.trigger(`progress`),this.mediaIndex=e.mediaIndex,this.partIndex=e.partIndex,this.isEndOfStream_(e.mediaIndex,e.playlist,e.partIndex)&&this.endOfStream(),this.trigger(`appended`),e.hasAppendedData_&&this.mediaAppends++,this.paused()||this.monitorBuffer_())}recordThroughput_(e){if(e.duration<Fp){this.logger_(`Ignoring segment's throughput because its duration of ${e.duration} is less than the min to record ${Fp}`);return}let t=this.throughput.rate,n=Date.now()-e.endOfAllRequests+1,r=Math.floor(e.byteLength/n*8*1e3);this.throughput.rate+=(r-t)/++this.throughput.count}addSegmentMetadataCue_(e){if(!this.segmentMetadataTrack_)return;let t=e.segment,n=t.start,r=t.end;if(!Pp(n)||!Pp(r))return;Dp(n,r,this.segmentMetadataTrack_);let i=x.WebKitDataCue||x.VTTCue,a={custom:t.custom,dateTimeObject:t.dateTimeObject,dateTimeString:t.dateTimeString,programDateTime:t.programDateTime,bandwidth:e.playlist.attributes.BANDWIDTH,resolution:e.playlist.attributes.RESOLUTION,codecs:e.playlist.attributes.CODECS,byteLength:e.byteLength,uri:e.uri,timeline:e.timeline,playlist:e.playlist.id,start:n,end:r},o=new i(n,r,JSON.stringify(a));o.value=a,this.segmentMetadataTrack_.addCue(o)}}function Xp(){}const Zp=function(e){return typeof e==`string`?e.replace(/./,e=>e.toUpperCase()):e},Qp=[`video`,`audio`],$p=(e,t)=>{let n=t[`${e}Buffer`];return n&&n.updating||t.queuePending[e]},em=(e,t)=>{for(let n=0;n<t.length;n++){let r=t[n];if(r.type===`mediaSource`)return null;if(r.type===e)return n}return null},tm=(e,t)=>{if(t.queue.length===0)return;let n=0,r=t.queue[n];if(r.type===`mediaSource`)!t.updating()&&t.mediaSource.readyState!==`closed`&&(t.queue.shift(),r.action(t),r.doneFn&&r.doneFn(),tm(`audio`,t),tm(`video`,t));else if(e!==`mediaSource`&&t.ready()&&t.mediaSource.readyState!==`closed`&&!$p(e,t)){if(r.type!==e){if(n=em(e,t.queue),n===null)return;r=t.queue[n]}t.queue.splice(n,1),t.queuePending[e]=r,r.action(e,t),r.doneFn||(t.queuePending[e]=null,tm(e,t))}},nm=(e,t)=>{let n=t[`${e}Buffer`],r=Zp(e);n&&(n.removeEventListener(`updateend`,t[`on${r}UpdateEnd_`]),n.removeEventListener(`error`,t[`on${r}Error_`]),t.codecs[e]=null,t[`${e}Buffer`]=null)},rm=(e,t)=>e&&t&&Array.prototype.indexOf.call(e.sourceBuffers,t)!==-1,im={appendBuffer:(e,t,n)=>(r,i)=>{let a=i[`${r}Buffer`];if(rm(i.mediaSource,a)){i.logger_(`Appending segment ${t.mediaIndex}'s ${e.length} bytes to ${r}Buffer`);try{a.appendBuffer(e)}catch(e){i.logger_(`Error with code ${e.code} `+(e.code===22?`(QUOTA_EXCEEDED_ERR) `:``)+`when appending segment ${t.mediaIndex} to ${r}Buffer`),i.queuePending[r]=null,n(e)}}},remove:(e,t)=>(n,r)=>{let i=r[`${n}Buffer`];if(rm(r.mediaSource,i)){r.logger_(`Removing ${e} to ${t} from ${n}Buffer`);try{i.remove(e,t)}catch{r.logger_(`Remove ${e} to ${t} from ${n}Buffer failed`)}}},timestampOffset:e=>(t,n)=>{let r=n[`${t}Buffer`];rm(n.mediaSource,r)&&(n.logger_(`Setting ${t}timestampOffset to ${e}`),r.timestampOffset=e)},callback:e=>(t,n)=>{e()},endOfStream:e=>t=>{if(t.mediaSource.readyState===`open`){t.logger_(`Calling mediaSource endOfStream(${e||``})`);try{t.mediaSource.endOfStream(e)}catch(e){Z.log.warn(`Failed to call media source endOfStream`,e)}}},duration:e=>t=>{t.logger_(`Setting mediaSource duration to ${e}`);try{t.mediaSource.duration=e}catch(e){Z.log.warn(`Failed to set media source duration`,e)}},abort:()=>(e,t)=>{if(t.mediaSource.readyState!==`open`)return;let n=t[`${e}Buffer`];if(rm(t.mediaSource,n)){t.logger_(`calling abort on ${e}Buffer`);try{n.abort()}catch(t){Z.log.warn(`Failed to abort on ${e}Buffer`,t)}}},addSourceBuffer:(e,t)=>n=>{let r=Zp(e),i=Ot(t);n.logger_(`Adding ${e}Buffer with codec ${t} to mediaSource`);let a=n.mediaSource.addSourceBuffer(i);a.addEventListener(`updateend`,n[`on${r}UpdateEnd_`]),a.addEventListener(`error`,n[`on${r}Error_`]),n.codecs[e]=t,n[`${e}Buffer`]=a},removeSourceBuffer:e=>t=>{let n=t[`${e}Buffer`];if(nm(e,t),rm(t.mediaSource,n)){t.logger_(`Removing ${e}Buffer with codec ${t.codecs[e]} from mediaSource`);try{t.mediaSource.removeSourceBuffer(n)}catch(t){Z.log.warn(`Failed to removeSourceBuffer ${e}Buffer`,t)}}},changeType:e=>(t,n)=>{let r=n[`${t}Buffer`],i=Ot(e);if(!rm(n.mediaSource,r))return;let a=e.substring(0,e.indexOf(`.`)),o=n.codecs[t];if(o.substring(0,o.indexOf(`.`))===a)return;let s={codecsChangeInfo:{from:o,to:e}};n.trigger({type:`codecschange`,metadata:s}),n.logger_(`changing ${t}Buffer codec from ${o} to ${e}`);try{r.changeType(i),n.codecs[t]=e}catch(e){s.errorType=Z.Error.StreamingCodecsChangeError,s.error=e,e.metadata=s,n.error_=e,n.trigger(`error`),Z.log.warn(`Failed to changeType on ${t}Buffer`,e)}}},am=({type:e,sourceUpdater:t,action:n,doneFn:r,name:i})=>{t.queue.push({type:e,action:n,doneFn:r,name:i}),tm(e,t)},om=(e,t)=>n=>{let r=Cu(t[`${e}Buffered`]());if(t.logger_(`received "updateend" event for ${e} Source Buffer: `,r),t.queuePending[e]){let n=t.queuePending[e].doneFn;t.queuePending[e]=null,n&&n(t[`${e}Error_`])}tm(e,t)};class sm extends Z.EventTarget{constructor(e){super(),this.mediaSource=e,this.sourceopenListener_=()=>tm(`mediaSource`,this),this.mediaSource.addEventListener(`sourceopen`,this.sourceopenListener_),this.logger_=xu(`SourceUpdater`),this.audioTimestampOffset_=0,this.videoTimestampOffset_=0,this.queue=[],this.queuePending={audio:null,video:null},this.delayedAudioAppendQueue_=[],this.videoAppendQueued_=!1,this.codecs={},this.onVideoUpdateEnd_=om(`video`,this),this.onAudioUpdateEnd_=om(`audio`,this),this.onVideoError_=e=>{this.videoError_=e},this.onAudioError_=e=>{this.audioError_=e},this.createdSourceBuffers_=!1,this.initializedEme_=!1,this.triggeredReady_=!1}initializedEme(){this.initializedEme_=!0,this.triggerReady()}hasCreatedSourceBuffers(){return this.createdSourceBuffers_}hasInitializedAnyEme(){return this.initializedEme_}ready(){return this.hasCreatedSourceBuffers()&&this.hasInitializedAnyEme()}createSourceBuffers(e){this.hasCreatedSourceBuffers()||(this.addOrChangeSourceBuffers(e),this.createdSourceBuffers_=!0,this.trigger(`createdsourcebuffers`),this.triggerReady())}triggerReady(){this.ready()&&!this.triggeredReady_&&(this.triggeredReady_=!0,this.trigger(`ready`))}addSourceBuffer(e,t){am({type:`mediaSource`,sourceUpdater:this,action:im.addSourceBuffer(e,t),name:`addSourceBuffer`})}abort(e){am({type:e,sourceUpdater:this,action:im.abort(),name:`abort`})}removeSourceBuffer(e){this.canRemoveSourceBuffer()?am({type:`mediaSource`,sourceUpdater:this,action:im.removeSourceBuffer(e),name:`removeSourceBuffer`}):Z.log.error(`removeSourceBuffer is not supported!`)}canRemoveSourceBuffer(){return!Z.browser.IS_FIREFOX&&x.MediaSource&&x.MediaSource.prototype&&typeof x.MediaSource.prototype.removeSourceBuffer==`function`}static canChangeType(){return x.SourceBuffer&&x.SourceBuffer.prototype&&typeof x.SourceBuffer.prototype.changeType==`function`}canChangeType(){return this.constructor.canChangeType()}changeType(e,t){this.canChangeType()?am({type:e,sourceUpdater:this,action:im.changeType(t),name:`changeType`}):Z.log.error(`changeType is not supported!`)}addOrChangeSourceBuffers(e){if(!e||typeof e!=`object`||Object.keys(e).length===0)throw Error(`Cannot addOrChangeSourceBuffers to undefined codecs`);Object.keys(e).forEach(t=>{let n=e[t];if(!this.hasCreatedSourceBuffers())return this.addSourceBuffer(t,n);this.canChangeType()&&this.changeType(t,n)})}appendBuffer(e,t){let{segmentInfo:n,type:r,bytes:i}=e;if(this.processedAppend_=!0,r===`audio`&&this.videoBuffer&&!this.videoAppendQueued_){this.delayedAudioAppendQueue_.push([e,t]),this.logger_(`delayed audio append of ${i.length} until video append`);return}let a=t;if(am({type:r,sourceUpdater:this,action:im.appendBuffer(i,n||{mediaIndex:-1},a),doneFn:t,name:`appendBuffer`}),r===`video`){if(this.videoAppendQueued_=!0,!this.delayedAudioAppendQueue_.length)return;let e=this.delayedAudioAppendQueue_.slice();this.logger_(`queuing delayed audio ${e.length} appendBuffers`),this.delayedAudioAppendQueue_.length=0,e.forEach(e=>{this.appendBuffer.apply(this,e)})}}audioBuffered(){return rm(this.mediaSource,this.audioBuffer)&&this.audioBuffer.buffered?this.audioBuffer.buffered:Su()}videoBuffered(){return rm(this.mediaSource,this.videoBuffer)&&this.videoBuffer.buffered?this.videoBuffer.buffered:Su()}buffered(){let e=rm(this.mediaSource,this.videoBuffer)?this.videoBuffer:null,t=rm(this.mediaSource,this.audioBuffer)?this.audioBuffer:null;return t&&!e?this.audioBuffered():e&&!t?this.videoBuffered():Au(this.audioBuffered(),this.videoBuffered())}setDuration(e,t=Xp){am({type:`mediaSource`,sourceUpdater:this,action:im.duration(e),name:`duration`,doneFn:t})}endOfStream(e=null,t=Xp){typeof e!=`string`&&(e=void 0),am({type:`mediaSource`,sourceUpdater:this,action:im.endOfStream(e),name:`endOfStream`,doneFn:t})}removeAudio(e,t,n=Xp){!this.audioBuffered().length||this.audioBuffered().end(0)===0?n():am({type:`audio`,sourceUpdater:this,action:im.remove(e,t),doneFn:n,name:`remove`})}removeVideo(e,t,n=Xp){!this.videoBuffered().length||this.videoBuffered().end(0)===0?n():am({type:`video`,sourceUpdater:this,action:im.remove(e,t),doneFn:n,name:`remove`})}updating(){return!!($p(`audio`,this)||$p(`video`,this))}audioTimestampOffset(e){return e!==void 0&&this.audioBuffer&&this.audioTimestampOffset_!==e&&(am({type:`audio`,sourceUpdater:this,action:im.timestampOffset(e),name:`timestampOffset`}),this.audioTimestampOffset_=e),this.audioTimestampOffset_}videoTimestampOffset(e){return e!==void 0&&this.videoBuffer&&this.videoTimestampOffset_!==e&&(am({type:`video`,sourceUpdater:this,action:im.timestampOffset(e),name:`timestampOffset`}),this.videoTimestampOffset_=e),this.videoTimestampOffset_}audioQueueCallback(e){this.audioBuffer&&am({type:`audio`,sourceUpdater:this,action:im.callback(e),name:`callback`})}videoQueueCallback(e){this.videoBuffer&&am({type:`video`,sourceUpdater:this,action:im.callback(e),name:`callback`})}dispose(){this.trigger(`dispose`),Qp.forEach(e=>{this.abort(e),this.canRemoveSourceBuffer()?this.removeSourceBuffer(e):this[`${e}QueueCallback`](()=>nm(e,this))}),this.videoAppendQueued_=!1,this.delayedAudioAppendQueue_.length=0,this.sourceopenListener_&&this.mediaSource.removeEventListener(`sourceopen`,this.sourceopenListener_),this.off()}}const cm=e=>decodeURIComponent(escape(String.fromCharCode.apply(null,e))),lm=e=>{let t=new Uint8Array(e);return Array.from(t).map(e=>e.toString(16).padStart(2,`0`)).join(``)},um=new Uint8Array(`
198
198
 
199
199
  `.split(``).map(e=>e.charCodeAt(0)));class dm extends Error{constructor(){super(`Trying to parse received VTT cues, but there is no WebVTT. Make sure vtt.js is loaded.`)}}class fm extends Yp{constructor(e,t={}){super(e,t),this.mediaSource_=null,this.subtitlesTrack_=null,this.featuresNativeTextTracks_=e.featuresNativeTextTracks,this.loadVttJs=e.loadVttJs,this.shouldSaveSegmentTimingInfo_=!1}buffered_(){if(!this.subtitlesTrack_||!this.subtitlesTrack_.cues||!this.subtitlesTrack_.cues.length)return Su();let e=this.subtitlesTrack_.cues,t=e[0].startTime,n=e[e.length-1].startTime;return Su([[t,n]])}initSegmentForMap(e,t=!1){if(!e)return null;let n=Jd(e),r=this.initSegments_[n];if(t&&!r&&e.bytes){let t=um.byteLength+e.bytes.byteLength,i=new Uint8Array(t);i.set(e.bytes),i.set(um,e.bytes.byteLength),this.initSegments_[n]=r={resolvedUri:e.resolvedUri,byterange:e.byterange,bytes:i}}return r||e}couldBeginLoading_(){return this.playlist_&&this.subtitlesTrack_&&!this.paused()}init_(){return this.state=`READY`,this.resetEverything(),this.monitorBuffer_()}track(e){return e===void 0||(this.subtitlesTrack_=e,this.state===`INIT`&&this.couldBeginLoading_()&&this.init_()),this.subtitlesTrack_}remove(e,t){Dp(e,t,this.subtitlesTrack_)}fillBuffer_(){let e=this.chooseNextRequest_();e&&(this.syncController_.timestampOffsetForTimeline(e.timeline)===null?(this.syncController_.one(`timestampoffset`,()=>{this.state=`READY`,this.paused()||this.monitorBuffer_()}),this.state=`WAITING_ON_TIMELINE`):this.loadSegment_(e))}timestampOffsetForSegment_(){return null}chooseNextRequest_(){return this.skipEmptySegments_(super.chooseNextRequest_())}skipEmptySegments_(e){for(;e&&e.segment.empty;){if(e.mediaIndex+1>=e.playlist.segments.length){e=null;break}e=this.generateSegmentInfo_({playlist:e.playlist,mediaIndex:e.mediaIndex+1,startOfSegment:e.startOfSegment+e.duration,isSyncRequest:e.isSyncRequest})}return e}stopForError(e){this.error(e),this.state=`READY`,this.pause(),this.trigger(`error`)}segmentRequestFinished_(e,t,n){if(!this.subtitlesTrack_){this.state=`READY`;return}if(this.saveTransferStats_(t.stats),!this.pendingSegment_){this.state=`READY`,this.mediaRequestsAborted+=1;return}if(e){e.code===Bf.TIMEOUT&&this.handleTimeout_(),e.code===Bf.ABORTED?this.mediaRequestsAborted+=1:this.mediaRequestsErrored+=1,this.stopForError(e);return}let r=this.pendingSegment_,i=n.mp4VttCues&&n.mp4VttCues.length;i&&(r.mp4VttCues=n.mp4VttCues),this.saveBandwidthRelatedStats_(r.duration,t.stats),t.key&&this.segmentKey(t.key,!0),this.state=`APPENDING`,this.trigger(`appending`);let a=r.segment;if(a.map&&(a.map.bytes=t.map.bytes),r.bytes=t.bytes,typeof x.WebVTT!=`function`&&typeof this.loadVttJs==`function`)this.state=`WAITING_ON_VTTJS`,this.loadVttJs().then(()=>this.segmentRequestFinished_(e,t,n),()=>this.stopForError({message:`Error loading vtt.js`}));else{a.requested=!0;try{this.parseVTTCues_(r)}catch(e){this.stopForError({message:e.message,metadata:{errorType:Z.Error.StreamingVttParserError,error:e}});return}i||this.updateTimeMapping_(r,this.syncController_.timelines[r.timeline],this.playlist_),r.timingInfo=r.cues.length?{start:r.cues[0].startTime,end:r.cues[r.cues.length-1].endTime}:{start:r.startOfSegment,end:r.startOfSegment+r.duration},r.isSyncRequest?(this.trigger(`syncinfoupdate`),this.pendingSegment_=null,this.state=`READY`):(r.byteLength=r.bytes.byteLength,this.mediaSecondsLoaded+=a.duration,r.cues.forEach(e=>{this.subtitlesTrack_.addCue(this.featuresNativeTextTracks_?new x.VTTCue(e.startTime,e.endTime,e.text):e)}),Op(this.subtitlesTrack_),this.handleAppendsDone_())}}handleData_(e,t){let n=e&&e.type===`vtt`,r=t&&t.type===`text`;n&&r&&super.handleData_(e,t)}updateTimingInfoEnd_(){}parseMp4VttCues_(e){let t=this.sourceUpdater_.videoTimestampOffset()===null?this.sourceUpdater_.audioTimestampOffset():this.sourceUpdater_.videoTimestampOffset();e.mp4VttCues.forEach(n=>{let r=n.start+t,i=n.end+t,a=new x.VTTCue(r,i,n.cueText);n.settings&&n.settings.split(` `).forEach(e=>{let t=e.split(`:`),n=t[0],r=t[1];a[n]=isNaN(r)?r:Number(r)}),e.cues.push(a)})}parseVTTCues_(e){let t,n=!1;if(typeof x.WebVTT!=`function`)throw new dm;if(e.cues=[],e.timestampmap={MPEGTS:0,LOCAL:0},e.mp4VttCues){this.parseMp4VttCues_(e);return}typeof x.TextDecoder==`function`?t=new x.TextDecoder(`utf8`):(t=x.WebVTT.StringDecoder(),n=!0);let r=new x.WebVTT.Parser(x,x.vttjs,t);if(r.oncue=e.cues.push.bind(e.cues),r.ontimestampmap=t=>{e.timestampmap=t},r.onparsingerror=e=>{Z.log.warn(`Error encountered when parsing cues: `+e.message)},e.segment.map){let t=e.segment.map.bytes;n&&(t=cm(t)),r.parse(t)}let i=e.bytes;n&&(i=cm(i)),r.parse(i),r.flush()}updateTimeMapping_(e,t,n){let r=e.segment;if(!t)return;if(!e.cues.length){r.empty=!0;return}let{MPEGTS:i,LOCAL:a}=e.timestampmap,o=i/gi.ONE_SECOND_IN_TS-a+t.mapping;if(e.cues.forEach(e=>{let n=e.endTime-e.startTime,r=this.handleRollover_(e.startTime+o,t.time);e.startTime=Math.max(r,0),e.endTime=Math.max(r+n,0)}),!n.syncInfo){let t=e.cues[0].startTime,i=e.cues[e.cues.length-1].startTime;n.syncInfo={mediaSequence:n.mediaSequence+e.mediaIndex,time:Math.min(t,i-r.duration)}}}handleRollover_(e,t){if(t===null)return e;let n=e*gi.ONE_SECOND_IN_TS,r=t*gi.ONE_SECOND_IN_TS,i;for(i=r<n?-8589934592:8589934592;Math.abs(n-r)>4294967296;)n+=i;return n/gi.ONE_SECOND_IN_TS}}const pm=function(e,t){let n=e.cues;for(let e=0;e<n.length;e++){let r=n[e];if(t>=r.adStartTime&&t<=r.adEndTime)return r}return null},mm=function(e,t,n=0){if(!e.segments)return;let r=n,i;for(let n=0;n<e.segments.length;n++){let a=e.segments[n];if(i||=pm(t,r+a.duration/2),i){if(`cueIn`in a){i.endTime=r,i.adEndTime=r,r+=a.duration,i=null;continue}if(r<i.endTime){r+=a.duration;continue}i.endTime+=a.duration}else if(`cueOut`in a&&(i=new x.VTTCue(r,r+a.duration,a.cueOut),i.adStartTime=r,i.adEndTime=r+parseFloat(a.cueOut),t.addCue(i)),`cueOutCont`in a){let[e,n]=a.cueOutCont.split(`/`).map(parseFloat);i=new x.VTTCue(r,r+a.duration,``),i.adStartTime=r-e,i.adEndTime=i.adStartTime+n,t.addCue(i)}r+=a.duration}};class hm{constructor({start:e,end:t,segmentIndex:n,partIndex:r=null,appended:i=!1}){this.start_=e,this.end_=t,this.segmentIndex_=n,this.partIndex_=r,this.appended_=i}isInRange(e){return e>=this.start&&e<this.end}markAppended(){this.appended_=!0}resetAppendedStatus(){this.appended_=!1}get isAppended(){return this.appended_}get start(){return this.start_}get end(){return this.end_}get segmentIndex(){return this.segmentIndex_}get partIndex(){return this.partIndex_}}class gm{constructor(e,t=[]){this.segmentSyncInfo_=e,this.partsSyncInfo_=t}get segmentSyncInfo(){return this.segmentSyncInfo_}get partsSyncInfo(){return this.partsSyncInfo_}get hasPartsSyncInfo(){return this.partsSyncInfo_.length>0}resetAppendStatus(){this.segmentSyncInfo_.resetAppendedStatus(),this.partsSyncInfo_.forEach(e=>e.resetAppendedStatus())}}class _m{constructor(){this.storage_=new Map,this.diagnostics_=``,this.isReliable_=!1,this.start_=-1/0,this.end_=1/0}get start(){return this.start_}get end(){return this.end_}get diagnostics(){return this.diagnostics_}get isReliable(){return this.isReliable_}resetAppendedStatus(){this.storage_.forEach(e=>e.resetAppendStatus())}update(e,t){let{mediaSequence:n,segments:r}=e;if(this.isReliable_=this.isReliablePlaylist_(n,r),this.isReliable_)return this.updateStorage_(r,n,this.calculateBaseTime_(n,r,t))}getSyncInfoForTime(e){for(let{segmentSyncInfo:t,partsSyncInfo:n}of this.storage_.values())if(n.length){for(let t of n)if(t.isInRange(e))return t}else if(t.isInRange(e))return t;return null}getSyncInfoForMediaSequence(e){return this.storage_.get(e)}updateStorage_(e,t,n){let r=new Map,i=`
200
- `,a=n,o=t;this.start_=a,e.forEach((e,t)=>{let n=this.storage_.get(o),s=a,c=s+e.duration,l=!!(n&&n.segmentSyncInfo&&n.segmentSyncInfo.isAppended),u=new hm({start:s,end:c,appended:l,segmentIndex:t});e.syncInfo=u;let d=a,f=(e.parts||[]).map((e,r)=>{let a=d,s=d+e.duration,c=!!(n&&n.partsSyncInfo&&n.partsSyncInfo[r]&&n.partsSyncInfo[r].isAppended),l=new hm({start:a,end:s,appended:c,segmentIndex:t,partIndex:r});return d=s,i+=`Media Sequence: ${o}.${r} | Range: ${a} --> ${s} | Appended: ${c}\n`,e.syncInfo=l,l});r.set(o,new gm(u,f)),i+=`${vp(e.resolvedUri)} | Media Sequence: ${o} | Range: ${s} --> ${c} | Appended: ${l}\n`,o++,a=c}),this.end_=a,this.storage_=r,this.diagnostics_=i}calculateBaseTime_(e,t,n){if(!this.storage_.size)return 0;if(this.storage_.has(e))return this.storage_.get(e).segmentSyncInfo.start;let r=Math.min(...this.storage_.keys());if(e<r){let n=r-e,i=this.storage_.get(r).segmentSyncInfo.start;for(let e=0;e<n;e++){let n=t[e];i-=n.duration}return i}return n}isReliablePlaylist_(e,t){return e!=null&&Array.isArray(t)&&t.length}}class vm extends _m{constructor(e){super(),this.parent_=e}calculateBaseTime_(e,t,n){if(!this.storage_.size){let t=this.parent_.getSyncInfoForMediaSequence(e);return t?t.segmentSyncInfo.start:0}return super.calculateBaseTime_(e,t,n)}}const ym=[{name:`VOD`,run:(e,t,n,r,i)=>n===1/0?null:{time:0,segmentIndex:0,partIndex:null}},{name:`MediaSequence`,run:(e,t,n,r,i,a)=>{let o=e.getMediaSequenceSync(a);if(!o||!o.isReliable)return null;let s=o.getSyncInfoForTime(i);return s?{time:s.start,partIndex:s.partIndex,segmentIndex:s.segmentIndex}:null}},{name:`ProgramDateTime`,run:(e,t,n,r,i)=>{if(!Object.keys(e.timelineToDatetimeMappings).length)return null;let a=null,o=null,s=Ru(t);i||=0;for(let n=0;n<s.length;n++){let r=s[t.endList||i===0?n:s.length-(n+1)],c=r.segment,l=e.timelineToDatetimeMappings[c.timeline];if(!l||!c.dateTimeObject)continue;let u=c.dateTimeObject.getTime()/1e3+l;if(c.parts&&typeof r.partIndex==`number`)for(let e=0;e<r.partIndex;e++)u+=c.parts[e].duration;let d=Math.abs(i-u);if(o!==null&&(d===0||o<d))break;o=d,a={time:u,segmentIndex:r.segmentIndex,partIndex:r.partIndex}}return a}},{name:`Segment`,run:(e,t,n,r,i)=>{let a=null,o=null;i||=0;let s=Ru(t);for(let e=0;e<s.length;e++){let n=s[t.endList||i===0?e:s.length-(e+1)],c=n.segment,l=n.part&&n.part.start||c&&c.start;if(c.timeline===r&&l!==void 0){let e=Math.abs(i-l);if(o!==null&&o<e)break;(!a||o===null||o>=e)&&(o=e,a={time:l,segmentIndex:n.segmentIndex,partIndex:n.partIndex})}}return a}},{name:`Discontinuity`,run:(e,t,n,r,i)=>{let a=null;if(i||=0,t.discontinuityStarts&&t.discontinuityStarts.length){let n=null;for(let r=0;r<t.discontinuityStarts.length;r++){let o=t.discontinuityStarts[r],s=t.discontinuitySequence+r+1,c=e.discontinuities[s];if(c){let e=Math.abs(i-c.time);if(n!==null&&n<e)break;(!a||n===null||n>=e)&&(n=e,a={time:c.time,segmentIndex:o,partIndex:null})}}}return a}},{name:`Playlist`,run:(e,t,n,r,i)=>t.syncInfo?{time:t.syncInfo.time,segmentIndex:t.syncInfo.mediaSequence-t.mediaSequence,partIndex:null}:null}];class bm extends Z.EventTarget{constructor(e={}){super(),this.timelines=[],this.discontinuities=[],this.timelineToDatetimeMappings={};let t=new _m,n=new vm(t),r=new vm(t);this.mediaSequenceStorage_={main:t,audio:n,vtt:r},this.logger_=xu(`SyncController`)}getMediaSequenceSync(e){return this.mediaSequenceStorage_[e]||null}getSyncPoint(e,t,n,r,i){if(t!==1/0)return ym.find(({name:e})=>e===`VOD`).run(this,e,t);let a=this.runStrategies_(e,t,n,r,i);if(!a.length)return null;for(let t of a){let{syncPoint:n,strategy:i}=t,{segmentIndex:a,time:o}=n;if(a<0)continue;let s=e.segments[a],c=o,l=c+s.duration;if(this.logger_(`Strategy: ${i}. Current time: ${r}. selected segment: ${a}. Time: [${c} -> ${l}]}`),r>=c&&r<l)return this.logger_(`Found sync point with exact match: `,n),n}return this.selectSyncPoint_(a,{key:`time`,value:r})}getExpiredTime(e,t){if(!e||!e.segments)return null;let n=this.runStrategies_(e,t,e.discontinuitySequence,0);if(!n.length)return null;let r=this.selectSyncPoint_(n,{key:`segmentIndex`,value:0});return r.segmentIndex>0&&(r.time*=-1),Math.abs(r.time+Ku({defaultDuration:e.targetDuration,durationList:e.segments,startIndex:r.segmentIndex,endIndex:0}))}runStrategies_(e,t,n,r,i){let a=[];for(let o=0;o<ym.length;o++){let s=ym[o],c=s.run(this,e,t,n,r,i);c&&(c.strategy=s.name,a.push({strategy:s.name,syncPoint:c}))}return a}selectSyncPoint_(e,t){let n=e[0].syncPoint,r=Math.abs(e[0].syncPoint[t.key]-t.value),i=e[0].strategy;for(let a=1;a<e.length;a++){let o=Math.abs(e[a].syncPoint[t.key]-t.value);o<r&&(r=o,n=e[a].syncPoint,i=e[a].strategy)}return this.logger_(`syncPoint for [${t.key}: ${t.value}] chosen with strategy [${i}]: [time:${n.time}, segmentIndex:${n.segmentIndex}`+(typeof n.partIndex==`number`?`,partIndex:${n.partIndex}`:``)+`]`),n}saveExpiredSegmentInfo(e,t){let n=t.mediaSequence-e.mediaSequence;if(n>86400)Z.log.warn(`Not saving expired segment info. Media sequence gap ${n} is too large.`);else for(let r=n-1;r>=0;r--){let n=e.segments[r];if(n&&n.start!==void 0){t.syncInfo={mediaSequence:e.mediaSequence+r,time:n.start},this.logger_(`playlist refresh sync: [time:${t.syncInfo.time}, mediaSequence: ${t.syncInfo.mediaSequence}]`),this.trigger(`syncinfoupdate`);break}}}setDateTimeMappingForStart(e){if(this.timelineToDatetimeMappings={},e.segments&&e.segments.length&&e.segments[0].dateTimeObject){let t=e.segments[0],n=t.dateTimeObject.getTime()/1e3;this.timelineToDatetimeMappings[t.timeline]=-n}}saveSegmentTimingInfo({segmentInfo:e,shouldSaveTimelineMapping:t}){let n=this.calculateSegmentTimeMapping_(e,e.timingInfo,t),r=e.segment;n&&(this.saveDiscontinuitySyncInfo_(e),e.playlist.syncInfo||(e.playlist.syncInfo={mediaSequence:e.playlist.mediaSequence+e.mediaIndex,time:r.start}));let i=r.dateTimeObject;r.discontinuity&&t&&i&&(this.timelineToDatetimeMappings[r.timeline]=-(i.getTime()/1e3))}timestampOffsetForTimeline(e){return this.timelines[e]===void 0?null:this.timelines[e].time}mappingForTimeline(e){return this.timelines[e]===void 0?null:this.timelines[e].mapping}calculateSegmentTimeMapping_(e,t,n){let r=e.segment,i=e.part,a=this.timelines[e.timeline],o,s;if(typeof e.timestampOffset==`number`)a={time:e.startOfSegment,mapping:e.startOfSegment-t.start},n&&(this.timelines[e.timeline]=a,this.trigger(`timestampoffset`),this.logger_(`time mapping for timeline ${e.timeline}: [time: ${a.time}] [mapping: ${a.mapping}]`)),o=e.startOfSegment,s=t.end+a.mapping;else if(a)o=t.start+a.mapping,s=t.end+a.mapping;else return!1;return i&&(i.start=o,i.end=s),(!r.start||o<r.start)&&(r.start=o),r.end=s,!0}saveDiscontinuitySyncInfo_(e){let t=e.playlist,n=e.segment;if(n.discontinuity)this.discontinuities[n.timeline]={time:n.start,accuracy:0};else if(t.discontinuityStarts&&t.discontinuityStarts.length)for(let r=0;r<t.discontinuityStarts.length;r++){let i=t.discontinuityStarts[r],a=t.discontinuitySequence+r+1,o=i-e.mediaIndex,s=Math.abs(o);if(!this.discontinuities[a]||this.discontinuities[a].accuracy>s){let r;r=o<0?n.start-Ku({defaultDuration:t.targetDuration,durationList:t.segments,startIndex:e.mediaIndex,endIndex:i}):n.end+Ku({defaultDuration:t.targetDuration,durationList:t.segments,startIndex:e.mediaIndex+1,endIndex:i}),this.discontinuities[a]={time:r,accuracy:s}}}}dispose(){this.trigger(`dispose`),this.off()}}class xm extends Z.EventTarget{constructor(){super(),this.pendingTimelineChanges_={},this.lastTimelineChanges_={}}clearPendingTimelineChange(e){this.pendingTimelineChanges_[e]=null,this.trigger(`pendingtimelinechange`)}pendingTimelineChange({type:e,from:t,to:n}){return typeof t==`number`&&typeof n==`number`&&(this.pendingTimelineChanges_[e]={type:e,from:t,to:n},this.trigger(`pendingtimelinechange`)),this.pendingTimelineChanges_[e]}lastTimelineChange({type:e,from:t,to:n}){if(typeof t==`number`&&typeof n==`number`){this.lastTimelineChanges_[e]={type:e,from:t,to:n},delete this.pendingTimelineChanges_[e];let r={timelineChangeInfo:{from:t,to:n}};this.trigger({type:`timelinechange`,metadata:r})}return this.lastTimelineChanges_[e]}dispose(){this.trigger(`dispose`),this.pendingTimelineChanges_={},this.lastTimelineChanges_={},this.off()}}var Sm=wf(Tf(Ef(function(){var e=function(){function e(){this.listeners={}}var t=e.prototype;return t.on=function(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)},t.off=function(e,t){if(!this.listeners[e])return!1;var n=this.listeners[e].indexOf(t);return this.listeners[e]=this.listeners[e].slice(0),this.listeners[e].splice(n,1),n>-1},t.trigger=function(e){var t=this.listeners[e];if(t){if(arguments.length===2)for(var n=t.length,r=0;r<n;++r)t[r].call(this,arguments[1]);else for(var i=Array.prototype.slice.call(arguments,1),a=t.length,o=0;o<a;++o)t[o].apply(this,i)}},t.dispose=function(){this.listeners={}},t.pipe=function(e){this.on(`data`,function(t){e.push(t)})},e}();function t(e){return e.subarray(0,e.byteLength-e[e.byteLength-1])}let n=function(){let e=[[[],[],[],[],[]],[[],[],[],[],[]]],t=e[0],n=e[1],r=t[4],i=n[4],a,o,s,c=[],l=[],u,d,f,p,m,h;for(a=0;a<256;a++)l[(c[a]=a<<1^(a>>7)*283)^a]=a;for(o=s=0;!r[o];o^=u||1,s=l[s]||1)for(p=s^s<<1^s<<2^s<<3^s<<4,p=p>>8^p&255^99,r[o]=p,i[p]=o,f=c[d=c[u=c[o]]],h=f*16843009^d*65537^u*257^o*16843008,m=c[p]*257^p*16843008,a=0;a<4;a++)t[a][o]=m=m<<24^m>>>8,n[a][p]=h=h<<24^h>>>8;for(a=0;a<5;a++)t[a]=t[a].slice(0),n[a]=n[a].slice(0);return e},r=null;class i{constructor(e){r||=n(),this._tables=[[r[0][0].slice(),r[0][1].slice(),r[0][2].slice(),r[0][3].slice(),r[0][4].slice()],[r[1][0].slice(),r[1][1].slice(),r[1][2].slice(),r[1][3].slice(),r[1][4].slice()]];let t,i,a,o=this._tables[0][4],s=this._tables[1],c=e.length,l=1;if(c!==4&&c!==6&&c!==8)throw Error(`Invalid aes key size`);let u=e.slice(0),d=[];for(this._key=[u,d],t=c;t<4*c+28;t++)a=u[t-1],(t%c===0||c===8&&t%c===4)&&(a=o[a>>>24]<<24^o[a>>16&255]<<16^o[a>>8&255]<<8^o[a&255],t%c===0&&(a=a<<8^a>>>24^l<<24,l=l<<1^(l>>7)*283)),u[t]=u[t-c]^a;for(i=0;t;i++,t--)a=u[i&3?t:t-4],t<=4||i<4?d[i]=a:d[i]=s[0][o[a>>>24]]^s[1][o[a>>16&255]]^s[2][o[a>>8&255]]^s[3][o[a&255]]}decrypt(e,t,n,r,i,a){let o=this._key[1],s=e^o[0],c=r^o[1],l=n^o[2],u=t^o[3],d,f,p,m=o.length/4-2,h,g=4,_=this._tables[1],v=_[0],y=_[1],b=_[2],x=_[3],S=_[4];for(h=0;h<m;h++)d=v[s>>>24]^y[c>>16&255]^b[l>>8&255]^x[u&255]^o[g],f=v[c>>>24]^y[l>>16&255]^b[u>>8&255]^x[s&255]^o[g+1],p=v[l>>>24]^y[u>>16&255]^b[s>>8&255]^x[c&255]^o[g+2],u=v[u>>>24]^y[s>>16&255]^b[c>>8&255]^x[l&255]^o[g+3],g+=4,s=d,c=f,l=p;for(h=0;h<4;h++)i[(3&-h)+a]=S[s>>>24]<<24^S[c>>16&255]<<16^S[l>>8&255]<<8^S[u&255]^o[g++],d=s,s=c,c=l,l=u,u=d}}class a extends e{constructor(){super(e),this.jobs=[],this.delay=1,this.timeout_=null}processJob_(){this.jobs.shift()(),this.timeout_=this.jobs.length?setTimeout(this.processJob_.bind(this),this.delay):null}push(e){this.jobs.push(e),this.timeout_||=setTimeout(this.processJob_.bind(this),this.delay)}}let o=function(e){return e<<24|(e&65280)<<8|(e&16711680)>>8|e>>>24},s=function(e,t,n){let r=new Int32Array(e.buffer,e.byteOffset,e.byteLength>>2),a=new i(Array.prototype.slice.call(t)),s=new Uint8Array(e.byteLength),c=new Int32Array(s.buffer),l,u,d,f,p,m,h,g,_;for(l=n[0],u=n[1],d=n[2],f=n[3],_=0;_<r.length;_+=4)p=o(r[_]),m=o(r[_+1]),h=o(r[_+2]),g=o(r[_+3]),a.decrypt(p,m,h,g,c,_),c[_]=o(c[_]^l),c[_+1]=o(c[_+1]^u),c[_+2]=o(c[_+2]^d),c[_+3]=o(c[_+3]^f),l=p,u=m,d=h,f=g;return s};class c{constructor(e,n,r,i){let s=c.STEP,l=new Int32Array(e.buffer),u=new Uint8Array(e.byteLength),d=0;for(this.asyncStream_=new a,this.asyncStream_.push(this.decryptChunk_(l.subarray(d,d+s),n,r,u)),d=s;d<l.length;d+=s)r=new Uint32Array([o(l[d-4]),o(l[d-3]),o(l[d-2]),o(l[d-1])]),this.asyncStream_.push(this.decryptChunk_(l.subarray(d,d+s),n,r,u));this.asyncStream_.push(function(){i(null,t(u))})}static get STEP(){return 32e3}decryptChunk_(e,t,n,r){return function(){let i=s(e,t,n);r.set(i,e.byteOffset)}}}var l=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},u=typeof window<`u`?window:l===void 0?typeof self<`u`?self:{}:l,d=function(e){return ArrayBuffer.isView===`function`?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer},f=u.BigInt||Number;f(`0x1`),f(`0x100`),f(`0x10000`),f(`0x1000000`),f(`0x100000000`),f(`0x10000000000`),f(`0x1000000000000`),f(`0x100000000000000`),f(`0x10000000000000000`),(function(){var e=new Uint16Array([65484]),t=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return t[0]===255?`big`:t[0]===204?`little`:`unknown`})();let p=function(e){let t={};return Object.keys(e).forEach(n=>{let r=e[n];d(r)?t[n]={bytes:r.buffer,byteOffset:r.byteOffset,byteLength:r.byteLength}:t[n]=r}),t};self.onmessage=function(e){let t=e.data,n=new Uint8Array(t.encrypted.bytes,t.encrypted.byteOffset,t.encrypted.byteLength),r=new Uint32Array(t.key.bytes,t.key.byteOffset,t.key.byteLength/4),i=new Uint32Array(t.iv.bytes,t.iv.byteOffset,t.iv.byteLength/4);new c(n,r,i,function(e,n){self.postMessage(p({source:t.source,decrypted:n}),[n.buffer])})}})));const Cm=e=>{let t=e.default?`main`:`alternative`;return e.characteristics&&e.characteristics.indexOf(`public.accessibility.describes-video`)>=0&&(t=`main-desc`),t},wm=(e,t)=>{e.abort(),e.pause(),t&&t.activePlaylistLoader&&(t.activePlaylistLoader.pause(),t.activePlaylistLoader=null)},Tm=(e,t)=>{t.activePlaylistLoader=e,e.load()},Em=(e,t)=>()=>{let{segmentLoaders:{[e]:n,main:r},mediaTypes:{[e]:i}}=t,a=i.activeTrack(),o=i.getActiveGroup(),s=i.activePlaylistLoader,c=i.lastGroup_;o&&c&&o.id===c.id||(i.lastGroup_=o,i.lastTrack_=a,wm(n,i),o&&!o.isMainPlaylist&&(o.playlistLoader?(n.resyncLoader(),Tm(o.playlistLoader,i)):s&&r.resetEverything()))},Dm=(e,t)=>()=>{let{segmentLoaders:{[e]:n},mediaTypes:{[e]:r}}=t;r.lastGroup_=null,n.abort(),n.pause()},Om=(e,t)=>()=>{let{mainPlaylistLoader:n,segmentLoaders:{[e]:r,main:i},mediaTypes:{[e]:a}}=t,o=a.activeTrack(),s=a.getActiveGroup(),c=a.activePlaylistLoader,l=a.lastTrack_;if(!(l&&o&&l.id===o.id)&&(a.lastGroup_=s,a.lastTrack_=o,wm(r,a),s)){if(s.isMainPlaylist){if(!o||!l||o.id===l.id)return;let e=t.vhs.playlistController_,r=e.selectPlaylist();if(e.media()===r)return;a.logger_(`track change. Switching main audio from ${l.id} to ${o.id}`),n.pause(),i.resetEverything(),e.fastQualityChange_(r)}else{if(e===`AUDIO`){if(!s.playlistLoader){i.setAudio(!0),i.resetEverything();return}r.setAudio(!0),i.setAudio(!1)}c===s.playlistLoader||(r.track&&r.track(o),r.resetEverything()),Tm(s.playlistLoader,a)}}},km={AUDIO:(e,t)=>()=>{let{mediaTypes:{[e]:n},excludePlaylist:r}=t,i=n.activeTrack(),a=n.activeGroup(),o=(a.filter(e=>e.default)[0]||a[0]).id,s=n.tracks[o];if(i===s)r({error:{message:`Problem encountered loading the default audio track.`}});else{Z.log.warn(`Problem encountered loading the alternate audio track.Switching back to default.`);for(let e in n.tracks)n.tracks[e].enabled=n.tracks[e]===s;n.onTrackChanged()}},SUBTITLES:(e,t)=>()=>{let{mediaTypes:{[e]:n}}=t;Z.log.warn(`Problem encountered loading the subtitle track.Disabling subtitle track.`);let r=n.activeTrack();r&&(r.mode=`disabled`),n.onTrackChanged()}},Am={AUDIO:(e,t,n)=>{if(!t)return;let{tech:r,requestOptions:i,segmentLoaders:{[e]:a}}=n;t.on(`loadedmetadata`,()=>{let e=t.media();a.playlist(e,i),(!r.paused()||e.endList&&r.preload()!==`none`)&&a.load()}),t.on(`loadedplaylist`,()=>{a.playlist(t.media(),i),r.paused()||a.load()}),t.on(`error`,km[e](e,n))},SUBTITLES:(e,t,n)=>{let{tech:r,requestOptions:i,segmentLoaders:{[e]:a},mediaTypes:{[e]:o}}=n;t.on(`loadedmetadata`,()=>{let e=t.media();a.playlist(e,i),a.track(o.activeTrack()),(!r.paused()||e.endList&&r.preload()!==`none`)&&a.load()}),t.on(`loadedplaylist`,()=>{a.playlist(t.media(),i),r.paused()||a.load()}),t.on(`error`,km[e](e,n))}},jm={AUDIO:(e,t)=>{let{vhs:n,sourceType:r,segmentLoaders:{[e]:i},requestOptions:a,main:{mediaGroups:o},mediaTypes:{[e]:{groups:s,tracks:c,logger_:l}},mainPlaylistLoader:u}=t,d=od(u.main);o[e]&&Object.keys(o[e]).length!==0||(o[e]={main:{default:{default:!0}}},d&&(o[e].main.default.playlists=u.main.playlists));for(let i in o[e]){s[i]||(s[i]=[]);for(let f in o[e][i]){let p=o[e][i][f],m;d?(l(`AUDIO group '${i}' label '${f}' is a main playlist`),p.isMainPlaylist=!0,m=null):m=r===`vhs-json`&&p.playlists?new Ld(p.playlists[0],n,a):p.resolvedUri?new Ld(p.resolvedUri,n,a):p.playlists&&r===`dash`?new yf(p.playlists[0],n,a,u):null,p=Q({id:f,playlistLoader:m},p),Am[e](e,p.playlistLoader,t),s[i].push(p),c[f]===void 0&&(c[f]=new Z.AudioTrack({id:f,kind:Cm(p),enabled:!1,language:p.language,default:p.default,label:f}))}}i.on(`error`,km[e](e,t))},SUBTITLES:(e,t)=>{let{tech:n,vhs:r,sourceType:i,segmentLoaders:{[e]:a},requestOptions:o,main:{mediaGroups:s},mediaTypes:{[e]:{groups:c,tracks:l}},mainPlaylistLoader:u}=t;for(let a in s[e]){c[a]||(c[a]=[]);for(let d in s[e][a]){if(!r.options_.useForcedSubtitles&&s[e][a][d].forced)continue;let f=s[e][a][d],p;if(i===`hls`)p=new Ld(f.resolvedUri,r,o);else if(i===`dash`){if(!f.playlists.filter(e=>e.excludeUntil!==1/0).length)return;p=new yf(f.playlists[0],r,o,u)}else i===`vhs-json`&&(p=new Ld(f.playlists?f.playlists[0]:f.resolvedUri,r,o));f=Q({id:d,playlistLoader:p},f),Am[e](e,f.playlistLoader,t),c[a].push(f),l[d]===void 0&&(l[d]=n.addRemoteTextTrack({id:d,kind:`subtitles`,default:f.default&&f.autoselect,language:f.language,label:d},!1).track)}}a.on(`error`,km[e](e,t))},"CLOSED-CAPTIONS":(e,t)=>{let{tech:n,main:{mediaGroups:r},mediaTypes:{[e]:{groups:i,tracks:a}}}=t;for(let t in r[e]){i[t]||(i[t]=[]);for(let o in r[e][t]){let s=r[e][t][o];if(!/^(?:CC|SERVICE)/.test(s.instreamId))continue;let c=n.options_.vhs&&n.options_.vhs.captionServices||{},l={label:o,language:s.language,instreamId:s.instreamId,default:s.default&&s.autoselect};c[l.instreamId]&&(l=Q(l,c[l.instreamId])),l.default===void 0&&delete l.default,i[t].push(Q({id:o},s)),a[o]===void 0&&(a[o]=n.addRemoteTextTrack({id:l.instreamId,kind:`captions`,default:l.default,language:l.language,label:l.label},!1).track)}}}},Mm=(e,t)=>{for(let n=0;n<e.length;n++)if(id(t,e[n])||e[n].playlists&&Mm(e[n].playlists,t))return!0;return!1},Nm=(e,t)=>n=>{let{mainPlaylistLoader:r,mediaTypes:{[e]:{groups:i}}}=t,a=r.media();if(!a)return null;let o=null;a.attributes[e]&&(o=i[a.attributes[e]]);let s=Object.keys(i);if(!o){if(e===`AUDIO`&&s.length>1&&od(t.main))for(let e=0;e<s.length;e++){let t=i[s[e]];if(Mm(t,a)){o=t;break}}else i.main?o=i.main:s.length===1&&(o=i[s[0]])}return n===void 0?o:n===null||!o?null:o.filter(e=>e.id===n.id)[0]||null},Pm={AUDIO:(e,t)=>()=>{let{mediaTypes:{[e]:{tracks:n}}}=t;for(let e in n)if(n[e].enabled)return n[e];return null},SUBTITLES:(e,t)=>()=>{let{mediaTypes:{[e]:{tracks:n}}}=t;for(let e in n)if(n[e].mode===`showing`||n[e].mode===`hidden`)return n[e];return null}},Fm=(e,{mediaTypes:t})=>()=>{let n=t[e].activeTrack();return n?t[e].activeGroup(n):null},Im=e=>{[`AUDIO`,`SUBTITLES`,`CLOSED-CAPTIONS`].forEach(t=>{jm[t](t,e)});let{mediaTypes:t,mainPlaylistLoader:n,tech:r,vhs:i,segmentLoaders:{AUDIO:a,main:o}}=e;[`AUDIO`,`SUBTITLES`].forEach(n=>{t[n].activeGroup=Nm(n,e),t[n].activeTrack=Pm[n](n,e),t[n].onGroupChanged=Em(n,e),t[n].onGroupChanging=Dm(n,e),t[n].onTrackChanged=Om(n,e),t[n].getActiveGroup=Fm(n,e)});let s=t.AUDIO.activeGroup();if(s){let e=(s.filter(e=>e.default)[0]||s[0]).id;t.AUDIO.tracks[e].enabled=!0,t.AUDIO.onGroupChanged(),t.AUDIO.onTrackChanged(),t.AUDIO.getActiveGroup().playlistLoader?(o.setAudio(!1),a.setAudio(!0)):o.setAudio(!0)}n.on(`mediachange`,()=>{[`AUDIO`,`SUBTITLES`].forEach(e=>t[e].onGroupChanged())}),n.on(`mediachanging`,()=>{[`AUDIO`,`SUBTITLES`].forEach(e=>t[e].onGroupChanging())});let c=()=>{t.AUDIO.onTrackChanged(),r.trigger({type:`usage`,name:`vhs-audio-change`})};r.audioTracks().addEventListener(`change`,c),r.remoteTextTracks().addEventListener(`change`,t.SUBTITLES.onTrackChanged),i.on(`dispose`,()=>{r.audioTracks().removeEventListener(`change`,c),r.remoteTextTracks().removeEventListener(`change`,t.SUBTITLES.onTrackChanged)}),r.clearTracks(`audio`);for(let e in t.AUDIO.tracks)r.audioTracks().addTrack(t.AUDIO.tracks[e])},Lm=()=>{let e={};return[`AUDIO`,`SUBTITLES`,`CLOSED-CAPTIONS`].forEach(t=>{e[t]={groups:{},tracks:{},activePlaylistLoader:null,activeGroup:Xp,activeTrack:Xp,getActiveGroup:Xp,onGroupChanged:Xp,onTrackChanged:Xp,lastTrack_:null,logger_:xu(`MediaGroups[${t}]`)}}),e};class Rm{constructor(){this.priority_=[],this.pathwayClones_=new Map}set version(e){e===1&&(this.version_=e)}set ttl(e){this.ttl_=e||300}set reloadUri(e){e&&(this.reloadUri_=yu(this.reloadUri_,e))}set priority(e){e&&e.length&&(this.priority_=e)}set pathwayClones(e){e&&e.length&&(this.pathwayClones_=new Map(e.map(e=>[e.ID,e])))}get version(){return this.version_}get ttl(){return this.ttl_}get reloadUri(){return this.reloadUri_}get priority(){return this.priority_}get pathwayClones(){return this.pathwayClones_}}class zm extends Z.EventTarget{constructor(e,t){super(),this.currentPathway=null,this.defaultPathway=null,this.queryBeforeStart=!1,this.availablePathways_=new Set,this.steeringManifest=new Rm,this.proxyServerUrl_=null,this.manifestType_=null,this.ttlTimeout_=null,this.request_=null,this.currentPathwayClones=new Map,this.nextPathwayClones=new Map,this.excludedSteeringManifestURLs=new Set,this.logger_=xu(`Content Steering`),this.xhr_=e,this.getBandwidth_=t}assignTagProperties(e,t){this.manifestType_=t.serverUri?`HLS`:`DASH`;let n=t.serverUri||t.serverURL;n?n.startsWith(`data:`)?this.decodeDataUriManifest_(n.substring(n.indexOf(`,`)+1)):(this.steeringManifest.reloadUri=yu(e,n),this.defaultPathway=t.pathwayId||t.defaultServiceLocation,this.queryBeforeStart=t.queryBeforeStart,this.proxyServerUrl_=t.proxyServerURL,this.defaultPathway&&!this.queryBeforeStart&&this.trigger(`content-steering`)):(this.logger_(`steering manifest URL is ${n}, cannot request steering manifest.`),this.trigger(`error`))}requestSteeringManifest(e){let t=this.steeringManifest.reloadUri;if(!t)return;let n=e?t:this.getRequestURI(t);if(!n){this.logger_(`No valid content steering manifest URIs. Stopping content steering.`),this.trigger(`error`),this.dispose();return}let r={contentSteeringInfo:{uri:n}};this.trigger({type:`contentsteeringloadstart`,metadata:r}),this.request_=this.xhr_({uri:n,requestType:`content-steering-manifest`},(e,t)=>{if(e){if(t.status===410){this.logger_(`manifest request 410 ${e}.`),this.logger_(`There will be no more content steering requests to ${n} this session.`),this.excludedSteeringManifestURLs.add(n);return}if(t.status===429){let n=t.responseHeaders[`retry-after`];this.logger_(`manifest request 429 ${e}.`),this.logger_(`content steering will retry in ${n} seconds.`),this.startTTLTimeout_(parseInt(n,10));return}this.logger_(`manifest failed to load ${e}.`),this.startTTLTimeout_();return}this.trigger({type:`contentsteeringloadcomplete`,metadata:r});let i;try{i=JSON.parse(this.request_.responseText)}catch(e){let t={errorType:Z.Error.StreamingContentSteeringParserError,error:e};this.trigger({type:`error`,metadata:t})}this.assignSteeringProperties_(i);let a={contentSteeringInfo:r.contentSteeringInfo,contentSteeringManifest:{version:this.steeringManifest.version,reloadUri:this.steeringManifest.reloadUri,priority:this.steeringManifest.priority}};this.trigger({type:`contentsteeringparsed`,metadata:a}),this.startTTLTimeout_()})}setProxyServerUrl_(e){let t=new x.URL(e),n=new x.URL(this.proxyServerUrl_);return n.searchParams.set(`url`,encodeURI(t.toString())),this.setSteeringParams_(n.toString())}decodeDataUriManifest_(e){let t=JSON.parse(x.atob(e));this.assignSteeringProperties_(t)}setSteeringParams_(e){let t=new x.URL(e),n=this.getPathway(),r=this.getBandwidth_();if(n){let e=`_${this.manifestType_}_pathway`;t.searchParams.set(e,n)}if(r){let e=`_${this.manifestType_}_throughput`;t.searchParams.set(e,r)}return t.toString()}assignSteeringProperties_(e){if(this.steeringManifest.version=e.VERSION,!this.steeringManifest.version){this.logger_(`manifest version is ${e.VERSION}, which is not supported.`),this.trigger(`error`);return}this.steeringManifest.ttl=e.TTL,this.steeringManifest.reloadUri=e[`RELOAD-URI`],this.steeringManifest.priority=e[`PATHWAY-PRIORITY`]||e[`SERVICE-LOCATION-PRIORITY`],this.steeringManifest.pathwayClones=e[`PATHWAY-CLONES`],this.nextPathwayClones=this.steeringManifest.pathwayClones,this.availablePathways_.size||(this.logger_(`There are no available pathways for content steering. Ending content steering.`),this.trigger(`error`),this.dispose());let t=(e=>{for(let t of e)if(this.availablePathways_.has(t))return t;return[...this.availablePathways_][0]})(this.steeringManifest.priority);this.currentPathway!==t&&(this.currentPathway=t,this.trigger(`content-steering`))}getPathway(){return this.currentPathway||this.defaultPathway}getRequestURI(e){if(!e)return null;let t=e=>this.excludedSteeringManifestURLs.has(e);if(this.proxyServerUrl_){let n=this.setProxyServerUrl_(e);if(!t(n))return n}let n=this.setSteeringParams_(e);return t(n)?null:n}startTTLTimeout_(e=this.steeringManifest.ttl){let t=e*1e3;this.ttlTimeout_=x.setTimeout(()=>{this.requestSteeringManifest()},t)}clearTTLTimeout_(){x.clearTimeout(this.ttlTimeout_),this.ttlTimeout_=null}abort(){this.request_&&this.request_.abort(),this.request_=null}dispose(){this.off(`content-steering`),this.off(`error`),this.abort(),this.clearTTLTimeout_(),this.currentPathway=null,this.defaultPathway=null,this.queryBeforeStart=null,this.proxyServerUrl_=null,this.manifestType_=null,this.ttlTimeout_=null,this.request_=null,this.excludedSteeringManifestURLs=new Set,this.availablePathways_=new Set,this.steeringManifest=new Rm}addAvailablePathway(e){e&&this.availablePathways_.add(e)}clearAvailablePathways(){this.availablePathways_.clear()}excludePathway(e){return this.availablePathways_.delete(e)}didDASHTagChange(e,t){return!t&&this.steeringManifest.reloadUri||t&&(yu(e,t.serverURL)!==this.steeringManifest.reloadUri||t.defaultServiceLocation!==this.defaultPathway||t.queryBeforeStart!==this.queryBeforeStart||t.proxyServerURL!==this.proxyServerUrl_)}getAvailablePathways(){return this.availablePathways_}}const Bm=(e,t)=>{let n=null;return(...r)=>{clearTimeout(n),n=setTimeout(()=>{e.apply(null,r)},t)}};let Vm;const Hm=[`mediaRequests`,`mediaRequestsAborted`,`mediaRequestsTimedout`,`mediaRequestsErrored`,`mediaTransferDuration`,`mediaBytesTransferred`,`mediaAppends`],Um=function(e){return this.audioSegmentLoader_[e]+this.mainSegmentLoader_[e]},Wm=function({currentPlaylist:e,buffered:t,currentTime:n,nextPlaylist:r,bufferLowWaterLine:i,bufferHighWaterLine:a,duration:o,bufferBasedABR:s,log:c}){if(!r)return Z.log.warn(`We received no playlist to switch to. Please check your stream.`),!1;let l=`allowing switch ${e&&e.id||`null`} -> ${r.id}`;if(!e)return c(`${l} as current playlist is not set`),!0;if(r.id===e.id)return!1;let u=!!Du(t,n).length;if(!e.endList)return!u&&typeof e.partTargetDuration==`number`?(c(`not ${l} as current playlist is live llhls, but currentTime isn't in buffered.`),!1):(c(`${l} as current playlist is live`),!0);let d=Iu(t,n),f=s?bf.EXPERIMENTAL_MAX_BUFFER_LOW_WATER_LINE:bf.MAX_BUFFER_LOW_WATER_LINE;if(o<f)return c(`${l} as duration < max low water line (${o} < ${f})`),!0;let p=r.attributes.BANDWIDTH,m=e.attributes.BANDWIDTH;if(p<m&&(!s||d<a)){let e=`${l} as next bandwidth < current bandwidth (${p} < ${m})`;return s&&(e+=` and forwardBuffer < bufferHighWaterLine (${d} < ${a})`),c(e),!0}if((!s||p>m)&&d>=i){let e=`${l} as forwardBuffer >= bufferLowWaterLine (${d} >= ${i})`;return s&&(e+=` and next bandwidth > current bandwidth (${p} > ${m})`),c(e),!0}return c(`not ${l} as no switching criteria met`),!1};class Gm extends Z.EventTarget{constructor(e){super(),this.fastQualityChange_=Bm(this.fastQualityChange_.bind(this),100);let{src:t,withCredentials:n,tech:r,bandwidth:i,externVhs:a,useCueTags:o,playlistExclusionDuration:s,enableLowInitialPlaylist:c,sourceType:l,cacheEncryptionKeys:u,bufferBasedABR:d,leastPixelDiffSelector:f,captionServices:p,experimentalUseMMS:m}=e;if(!t)throw Error(`A non-empty playlist URL or JSON manifest string is required`);let{maxPlaylistRetries:h}=e;h??=1/0,Vm=a,this.bufferBasedABR=!!d,this.leastPixelDiffSelector=!!f,this.withCredentials=n,this.tech_=r,this.vhs_=r.vhs,this.player_=e.player_,this.sourceType_=l,this.useCueTags_=o,this.playlistExclusionDuration=s,this.maxPlaylistRetries=h,this.enableLowInitialPlaylist=c,this.usingManagedMediaSource_=!1,this.useCueTags_&&(this.cueTagsTrack_=this.tech_.addTextTrack(`metadata`,`ad-cues`),this.cueTagsTrack_.inBandMetadataTrackDispatchType=``),this.requestOptions_={withCredentials:n,maxPlaylistRetries:h,timeout:null},this.on(`error`,this.pauseLoading),this.mediaTypes_=Lm(),m&&x.ManagedMediaSource?(this.tech_.el_.disableRemotePlayback=!0,this.mediaSource=new x.ManagedMediaSource,this.usingManagedMediaSource_=!0,Z.log(`Using ManagedMediaSource`)):x.MediaSource&&(this.mediaSource=new x.MediaSource),this.handleDurationChange_=this.handleDurationChange_.bind(this),this.handleSourceOpen_=this.handleSourceOpen_.bind(this),this.handleSourceEnded_=this.handleSourceEnded_.bind(this),this.load=this.load.bind(this),this.pause=this.pause.bind(this),this.mediaSource.addEventListener(`durationchange`,this.handleDurationChange_),this.mediaSource.addEventListener(`sourceopen`,this.handleSourceOpen_),this.mediaSource.addEventListener(`sourceended`,this.handleSourceEnded_),this.mediaSource.addEventListener(`startstreaming`,this.load),this.mediaSource.addEventListener(`endstreaming`,this.pause),this.seekable_=Su(),this.hasPlayed_=!1,this.syncController_=new bm(e),this.segmentMetadataTrack_=r.addRemoteTextTrack({kind:`metadata`,label:`segment-metadata`},!1).track,this.segmentMetadataTrack_.mode=`hidden`,this.decrypter_=new Sm,this.sourceUpdater_=new sm(this.mediaSource),this.inbandTextTracks_={},this.timelineChangeController_=new xm,this.keyStatusMap_=new Map;let g={vhs:this.vhs_,parse708captions:e.parse708captions,useDtsForTimestampOffset:e.useDtsForTimestampOffset,captionServices:p,mediaSource:this.mediaSource,currentTime:this.tech_.currentTime.bind(this.tech_),seekable:()=>this.seekable(),seeking:()=>this.tech_.seeking(),duration:()=>this.duration(),hasPlayed:()=>this.hasPlayed_,goalBufferLength:()=>this.goalBufferLength(),bandwidth:i,syncController:this.syncController_,decrypter:this.decrypter_,sourceType:this.sourceType_,inbandTextTracks:this.inbandTextTracks_,cacheEncryptionKeys:u,sourceUpdater:this.sourceUpdater_,timelineChangeController:this.timelineChangeController_,exactManifestTimings:e.exactManifestTimings,addMetadataToTextTrack:this.addMetadataToTextTrack.bind(this)};this.mainPlaylistLoader_=this.sourceType_===`dash`?new yf(t,this.vhs_,Q(this.requestOptions_,{addMetadataToTextTrack:this.addMetadataToTextTrack.bind(this)})):new Ld(t,this.vhs_,Q(this.requestOptions_,{addDateRangesToTextTrack:this.addDateRangesToTextTrack_.bind(this)})),this.setupMainPlaylistLoaderListeners_(),this.mainSegmentLoader_=new Yp(Q(g,{segmentMetadataTrack:this.segmentMetadataTrack_,loaderType:`main`}),e),this.audioSegmentLoader_=new Yp(Q(g,{loaderType:`audio`}),e),this.subtitleSegmentLoader_=new fm(Q(g,{loaderType:`vtt`,featuresNativeTextTracks:this.tech_.featuresNativeTextTracks,loadVttJs:()=>new Promise((e,t)=>{function n(){r.off(`vttjserror`,i),e()}function i(){r.off(`vttjsloaded`,n),t()}r.one(`vttjsloaded`,n),r.one(`vttjserror`,i),r.addWebVttScript_()})}),e);let _=()=>this.mainSegmentLoader_.bandwidth;this.contentSteeringController_=new zm(this.vhs_.xhr,_),this.setupSegmentLoaderListeners_(),this.bufferBasedABR&&(this.mainPlaylistLoader_.one(`loadedplaylist`,()=>this.startABRTimer_()),this.tech_.on(`pause`,()=>this.stopABRTimer_()),this.tech_.on(`play`,()=>this.startABRTimer_())),Hm.forEach(e=>{this[e+`_`]=Um.bind(this,e)}),this.logger_=xu(`pc`),this.triggeredFmp4Usage=!1,this.tech_.preload()===`none`?(this.loadOnPlay_=()=>{this.loadOnPlay_=null,this.mainPlaylistLoader_.load()},this.tech_.one(`play`,this.loadOnPlay_)):this.mainPlaylistLoader_.load(),this.timeToLoadedData__=-1,this.mainAppendsToLoadedData__=-1,this.audioAppendsToLoadedData__=-1;let v=this.tech_.preload()===`none`?`play`:`loadstart`;this.tech_.one(v,()=>{let e=Date.now();this.tech_.one(`loadeddata`,()=>{this.timeToLoadedData__=Date.now()-e,this.mainAppendsToLoadedData__=this.mainSegmentLoader_.mediaAppends,this.audioAppendsToLoadedData__=this.audioSegmentLoader_.mediaAppends})})}mainAppendsToLoadedData_(){return this.mainAppendsToLoadedData__}audioAppendsToLoadedData_(){return this.audioAppendsToLoadedData__}appendsToLoadedData_(){let e=this.mainAppendsToLoadedData_(),t=this.audioAppendsToLoadedData_();return e===-1||t===-1?-1:e+t}timeToLoadedData_(){return this.timeToLoadedData__}checkABR_(e=`abr`){let t=this.selectPlaylist();t&&this.shouldSwitchToMedia_(t)&&this.switchMedia_(t,e)}switchMedia_(e,t,n){let r=this.media(),i=r&&(r.id||r.uri),a=e&&(e.id||e.uri);if(i&&i!==a){this.logger_(`switch media ${i} -> ${a} from ${t}`);let n={renditionInfo:{id:a,bandwidth:e.attributes.BANDWIDTH,resolution:e.attributes.RESOLUTION,codecs:e.attributes.CODECS},cause:t};this.trigger({type:`renditionselected`,metadata:n}),this.tech_.trigger({type:`usage`,name:`vhs-rendition-change-${t}`})}this.mainPlaylistLoader_.media(e,n)}switchMediaForDASHContentSteering_(){[`AUDIO`,`SUBTITLES`,`CLOSED-CAPTIONS`].forEach(e=>{let t=this.mediaTypes_[e],n=t?t.activeGroup():null,r=this.contentSteeringController_.getPathway();if(n&&r){let t=(n.length?n[0].playlists:n.playlists).filter(e=>e.attributes.serviceLocation===r);t.length&&this.mediaTypes_[e].activePlaylistLoader.media(t[0])}})}startABRTimer_(){this.stopABRTimer_(),this.abrTimer_=x.setInterval(()=>this.checkABR_(),250)}stopABRTimer_(){this.tech_.scrubbing&&this.tech_.scrubbing()||(x.clearInterval(this.abrTimer_),this.abrTimer_=null)}getAudioTrackPlaylists_(){let e=this.main(),t=e&&e.playlists||[];if(!e||!e.mediaGroups||!e.mediaGroups.AUDIO)return t;let n=e.mediaGroups.AUDIO,r=Object.keys(n),i;if(Object.keys(this.mediaTypes_.AUDIO.groups).length)i=this.mediaTypes_.AUDIO.activeTrack();else{let e=n.main||r.length&&n[r[0]];for(let t in e)if(e[t].default){i={label:t};break}}if(!i)return t;let a=[];for(let t in n)if(n[t][i.label]){let r=n[t][i.label];if(r.playlists&&r.playlists.length)a.push.apply(a,r.playlists);else if(r.uri)a.push(r);else if(e.playlists.length)for(let n=0;n<e.playlists.length;n++){let r=e.playlists[n];r.attributes&&r.attributes.AUDIO&&r.attributes.AUDIO===t&&a.push(r)}}return a.length?a:t}setupMainPlaylistLoaderListeners_(){this.mainPlaylistLoader_.on(`loadedmetadata`,()=>{let e=this.mainPlaylistLoader_.media(),t=e.targetDuration*1.5*1e3;rd(this.mainPlaylistLoader_.main,this.mainPlaylistLoader_.media())?this.requestOptions_.timeout=0:this.requestOptions_.timeout=t,e.endList&&this.tech_.preload()!==`none`&&(this.mainSegmentLoader_.playlist(e,this.requestOptions_),this.mainSegmentLoader_.load()),Im({sourceType:this.sourceType_,segmentLoaders:{AUDIO:this.audioSegmentLoader_,SUBTITLES:this.subtitleSegmentLoader_,main:this.mainSegmentLoader_},tech:this.tech_,requestOptions:this.requestOptions_,mainPlaylistLoader:this.mainPlaylistLoader_,vhs:this.vhs_,main:this.main(),mediaTypes:this.mediaTypes_,excludePlaylist:this.excludePlaylist.bind(this)}),this.triggerPresenceUsage_(this.main(),e),this.setupFirstPlay(),!this.mediaTypes_.AUDIO.activePlaylistLoader||this.mediaTypes_.AUDIO.activePlaylistLoader.media()?this.trigger(`selectedinitialmedia`):this.mediaTypes_.AUDIO.activePlaylistLoader.one(`loadedmetadata`,()=>{this.trigger(`selectedinitialmedia`)})}),this.mainPlaylistLoader_.on(`loadedplaylist`,()=>{this.loadOnPlay_&&this.tech_.off(`play`,this.loadOnPlay_);let e=this.mainPlaylistLoader_.media();if(!e){this.attachContentSteeringListeners_(),this.initContentSteeringController_(),this.excludeUnsupportedVariants_();let t;if(this.enableLowInitialPlaylist&&(t=this.selectInitialPlaylist()),t||=this.selectPlaylist(),!t||!this.shouldSwitchToMedia_(t)||(this.initialMedia_=t,this.switchMedia_(this.initialMedia_,`initial`),!(this.sourceType_===`vhs-json`&&this.initialMedia_.segments)))return;e=this.initialMedia_}this.handleUpdatedMediaPlaylist(e)}),this.mainPlaylistLoader_.on(`error`,()=>{let e=this.mainPlaylistLoader_.error;this.excludePlaylist({playlistToExclude:e.playlist,error:e})}),this.mainPlaylistLoader_.on(`mediachanging`,()=>{this.mainSegmentLoader_.abort(),this.mainSegmentLoader_.pause()}),this.mainPlaylistLoader_.on(`mediachange`,()=>{let e=this.mainPlaylistLoader_.media(),t=e.targetDuration*1.5*1e3;rd(this.mainPlaylistLoader_.main,this.mainPlaylistLoader_.media())?this.requestOptions_.timeout=0:this.requestOptions_.timeout=t,this.sourceType_===`dash`&&this.mainPlaylistLoader_.isPaused&&this.mainPlaylistLoader_.load(),this.mainSegmentLoader_.pause(),this.mainSegmentLoader_.playlist(e,this.requestOptions_),this.waitingForFastQualityPlaylistReceived_?this.runFastQualitySwitch_():this.mainSegmentLoader_.load(),this.tech_.trigger({type:`mediachange`,bubbles:!0})}),this.mainPlaylistLoader_.on(`playlistunchanged`,()=>{let e=this.mainPlaylistLoader_.media();e.lastExcludeReason_!==`playlist-unchanged`&&this.stuckAtPlaylistEnd_(e)&&(this.excludePlaylist({error:{message:`Playlist no longer updating.`,reason:`playlist-unchanged`}}),this.tech_.trigger(`playliststuck`))}),this.mainPlaylistLoader_.on(`renditiondisabled`,()=>{this.tech_.trigger({type:`usage`,name:`vhs-rendition-disabled`})}),this.mainPlaylistLoader_.on(`renditionenabled`,()=>{this.tech_.trigger({type:`usage`,name:`vhs-rendition-enabled`})}),[`manifestrequeststart`,`manifestrequestcomplete`,`manifestparsestart`,`manifestparsecomplete`,`playlistrequeststart`,`playlistrequestcomplete`,`playlistparsestart`,`playlistparsecomplete`,`renditiondisabled`,`renditionenabled`].forEach(e=>{this.mainPlaylistLoader_.on(e,e=>{this.player_.trigger(R({},e))})})}handleUpdatedMediaPlaylist(e){this.useCueTags_&&this.updateAdCues_(e),this.mainSegmentLoader_.pause(),this.mainSegmentLoader_.playlist(e,this.requestOptions_),this.waitingForFastQualityPlaylistReceived_&&this.runFastQualitySwitch_(),this.updateDuration(!e.endList),this.tech_.paused()||(this.mainSegmentLoader_.load(),this.audioSegmentLoader_&&this.audioSegmentLoader_.load())}triggerPresenceUsage_(e,t){let n=e.mediaGroups||{},r=!0,i=Object.keys(n.AUDIO);for(let e in n.AUDIO)for(let t in n.AUDIO[e])n.AUDIO[e][t].uri||(r=!1);r&&this.tech_.trigger({type:`usage`,name:`vhs-demuxed`}),Object.keys(n.SUBTITLES).length&&this.tech_.trigger({type:`usage`,name:`vhs-webvtt`}),Vm.Playlist.isAes(t)&&this.tech_.trigger({type:`usage`,name:`vhs-aes`}),i.length&&Object.keys(n.AUDIO[i[0]]).length>1&&this.tech_.trigger({type:`usage`,name:`vhs-alternate-audio`}),this.useCueTags_&&this.tech_.trigger({type:`usage`,name:`vhs-playlist-cue-tags`})}shouldSwitchToMedia_(e){let t=this.mainPlaylistLoader_.media()||this.mainPlaylistLoader_.pendingMedia_,n=this.tech_.currentTime(),r=this.bufferLowWaterLine(),i=this.bufferHighWaterLine(),a=this.tech_.buffered();return Wm({buffered:a,currentTime:n,currentPlaylist:t,nextPlaylist:e,bufferLowWaterLine:r,bufferHighWaterLine:i,duration:this.duration(),bufferBasedABR:this.bufferBasedABR,log:this.logger_})}setupSegmentLoaderListeners_(){this.mainSegmentLoader_.on(`bandwidthupdate`,()=>{this.checkABR_(`bandwidthupdate`),this.tech_.trigger(`bandwidthupdate`)}),this.mainSegmentLoader_.on(`timeout`,()=>{this.bufferBasedABR&&this.mainSegmentLoader_.load()}),this.bufferBasedABR||this.mainSegmentLoader_.on(`progress`,()=>{this.trigger(`progress`)}),this.mainSegmentLoader_.on(`error`,()=>{let e=this.mainSegmentLoader_.error();this.excludePlaylist({playlistToExclude:e.playlist,error:e})}),this.mainSegmentLoader_.on(`appenderror`,()=>{this.error=this.mainSegmentLoader_.error_,this.trigger(`error`)}),this.mainSegmentLoader_.on(`syncinfoupdate`,()=>{this.onSyncInfoUpdate_()}),this.mainSegmentLoader_.on(`timestampoffset`,()=>{this.tech_.trigger({type:`usage`,name:`vhs-timestamp-offset`})}),this.audioSegmentLoader_.on(`syncinfoupdate`,()=>{this.onSyncInfoUpdate_()}),this.audioSegmentLoader_.on(`appenderror`,()=>{this.error=this.audioSegmentLoader_.error_,this.trigger(`error`)}),this.mainSegmentLoader_.on(`ended`,()=>{this.logger_(`main segment loader ended`),this.onEndOfStream()}),this.timelineChangeController_.on(`audioTimelineBehind`,()=>{let e=this.audioSegmentLoader_.pendingSegment_;if(!e||!e.segment||!e.segment.syncInfo)return;let t=e.segment.syncInfo.end+.01;this.tech_.setCurrentTime(t)}),this.timelineChangeController_.on(`fixBadTimelineChange`,()=>{this.logger_(`Fix bad timeline change. Restarting al segment loaders...`),this.mainSegmentLoader_.pause(),this.mainSegmentLoader_.resetEverything(),this.mediaTypes_.AUDIO.activePlaylistLoader&&(this.audioSegmentLoader_.pause(),this.audioSegmentLoader_.resetEverything()),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&(this.subtitleSegmentLoader_.pause(),this.subtitleSegmentLoader_.resetEverything()),this.load()}),this.mainSegmentLoader_.on(`earlyabort`,e=>{this.bufferBasedABR||(this.delegateLoaders_(`all`,[`abort`]),this.excludePlaylist({error:{message:`Aborted early because there isn't enough bandwidth to complete the request without rebuffering.`},playlistExclusionDuration:10}))});let e=()=>{if(!this.sourceUpdater_.hasCreatedSourceBuffers())return this.tryToCreateSourceBuffers_();let e=this.getCodecsOrExclude_();e&&this.sourceUpdater_.addOrChangeSourceBuffers(e)};this.mainSegmentLoader_.on(`trackinfo`,e),this.audioSegmentLoader_.on(`trackinfo`,e),this.mainSegmentLoader_.on(`fmp4`,()=>{this.triggeredFmp4Usage||=(this.tech_.trigger({type:`usage`,name:`vhs-fmp4`}),!0)}),this.audioSegmentLoader_.on(`fmp4`,()=>{this.triggeredFmp4Usage||=(this.tech_.trigger({type:`usage`,name:`vhs-fmp4`}),!0)}),this.audioSegmentLoader_.on(`ended`,()=>{this.logger_(`audioSegmentLoader ended`),this.onEndOfStream()}),[`segmentselected`,`segmentloadstart`,`segmentloaded`,`segmentkeyloadstart`,`segmentkeyloadcomplete`,`segmentdecryptionstart`,`segmentdecryptioncomplete`,`segmenttransmuxingstart`,`segmenttransmuxingcomplete`,`segmenttransmuxingtrackinfoavailable`,`segmenttransmuxingtiminginfoavailable`,`segmentappendstart`,`appendsdone`,`bandwidthupdated`,`timelinechange`,`codecschange`].forEach(e=>{this.mainSegmentLoader_.on(e,e=>{this.player_.trigger(R({},e))}),this.audioSegmentLoader_.on(e,e=>{this.player_.trigger(R({},e))}),this.subtitleSegmentLoader_.on(e,e=>{this.player_.trigger(R({},e))})})}mediaSecondsLoaded_(){return Math.max(this.audioSegmentLoader_.mediaSecondsLoaded+this.mainSegmentLoader_.mediaSecondsLoaded)}load(){this.mainSegmentLoader_.load(),this.mediaTypes_.AUDIO.activePlaylistLoader&&this.audioSegmentLoader_.load(),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&this.subtitleSegmentLoader_.load()}pause(){this.mainSegmentLoader_.pause(),this.mediaTypes_.AUDIO.activePlaylistLoader&&this.audioSegmentLoader_.pause(),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&this.subtitleSegmentLoader_.pause()}fastQualityChange_(e=this.selectPlaylist()){e&&e===this.mainPlaylistLoader_.media()?this.logger_(`skipping fastQualityChange because new media is same as old`):(this.switchMedia_(e,`fast-quality`),this.waitingForFastQualityPlaylistReceived_=!0)}runFastQualitySwitch_(){this.waitingForFastQualityPlaylistReceived_=!1,this.mainSegmentLoader_.pause(),this.mainSegmentLoader_.resetEverything(),this.mediaTypes_.AUDIO.activePlaylistLoader&&(this.audioSegmentLoader_.pause(),this.audioSegmentLoader_.resetEverything()),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&(this.subtitleSegmentLoader_.pause(),this.subtitleSegmentLoader_.resetEverything()),this.load()}play(){if(this.setupFirstPlay())return;this.tech_.ended()&&this.tech_.setCurrentTime(0),this.hasPlayed_&&this.load();let e=this.tech_.seekable();if(this.tech_.duration()===1/0&&this.tech_.currentTime()<e.start(0))return this.tech_.setCurrentTime(e.end(e.length-1))}setupFirstPlay(){let e=this.mainPlaylistLoader_.media();if(!e||this.tech_.paused()||this.hasPlayed_)return!1;if(!e.endList||e.start){let t=this.seekable();if(!t.length)return!1;let n=t.end(0),r=n;if(e.start){let i=e.start.timeOffset;if(i<0){let a=this.mainPlaylistLoader_.main,o=n+Vm.Playlist.liveEdgeDelay(a,e);r=Math.max(Math.min(o+i,n),t.start(0))}else r=Math.min(n,i)}this.trigger(`firstplay`),this.tech_.setCurrentTime(r)}return this.hasPlayed_=!0,this.load(),!0}handleSourceOpen_(){if(this.tryToCreateSourceBuffers_(),this.tech_.autoplay()){let e=this.tech_.play();e!==void 0&&typeof e.then==`function`&&e.then(null,e=>{})}this.trigger(`sourceopen`)}handleSourceEnded_(){if(!this.inbandTextTracks_.metadataTrack_)return;let e=this.inbandTextTracks_.metadataTrack_.cues;if(!e||!e.length)return;let t=this.duration();e[e.length-1].endTime=isNaN(t)||Math.abs(t)===1/0?Number.MAX_VALUE:t}handleDurationChange_(){this.tech_.trigger(`durationchange`)}onEndOfStream(){let e=this.mainSegmentLoader_.ended_;if(this.mediaTypes_.AUDIO.activePlaylistLoader){let t=this.mainSegmentLoader_.getCurrentMediaInfo_();!t||t.hasVideo?e&&=this.audioSegmentLoader_.ended_:e=this.audioSegmentLoader_.ended_}e&&(this.stopABRTimer_(),this.sourceUpdater_.endOfStream())}stuckAtPlaylistEnd_(e){if(!this.seekable().length)return!1;let t=this.syncController_.getExpiredTime(e,this.duration());if(t===null)return!1;let n=Vm.Playlist.playlistEnd(e,t),r=this.tech_.currentTime(),i=this.tech_.buffered();if(!i.length)return n-r<=Tu;let a=i.end(i.length-1);return a-r<=Tu&&n-a<=Tu}excludePlaylist({playlistToExclude:e=this.mainPlaylistLoader_.media(),error:t={},playlistExclusionDuration:n}){if(e||=this.mainPlaylistLoader_.media(),n=n||t.playlistExclusionDuration||this.playlistExclusionDuration,!e){this.error=t,this.mediaSource.readyState===`open`?this.sourceUpdater_.endOfStream(`network`):this.trigger(`error`);return}e.playlistErrors_++;let r=this.mainPlaylistLoader_.main.playlists,i=r.filter(Qu),a=i.length===1&&i[0]===e;if(r.length===1&&n!==1/0)return Z.log.warn(`Problem encountered with playlist ${e.id}. Trying again since it is the only playlist.`),this.tech_.trigger(`retryplaylist`),this.mainPlaylistLoader_.load(a);if(a){if(this.main().contentSteering){let t=this.pathwayAttribute_(e),n=this.contentSteeringController_.steeringManifest.ttl*1e3;this.contentSteeringController_.excludePathway(t),this.excludeThenChangePathway_(),setTimeout(()=>{this.contentSteeringController_.addAvailablePathway(t)},n);return}let t=!1;r.forEach(n=>{if(n===e)return;let r=n.excludeUntil;r!==void 0&&r!==1/0&&(t=!0,delete n.excludeUntil)}),t&&(Z.log.warn(`Removing other playlists from the exclusion list because the last rendition is about to be excluded.`),this.tech_.trigger(`retryplaylist`))}let o;o=e.playlistErrors_>this.maxPlaylistRetries?1/0:Date.now()+n*1e3,e.excludeUntil=o,t.reason&&(e.lastExcludeReason_=t.reason),this.tech_.trigger(`excludeplaylist`),this.tech_.trigger({type:`usage`,name:`vhs-rendition-excluded`});let s=this.selectPlaylist();if(!s){this.error=`Playback cannot continue. No available working or supported playlists.`,this.trigger(`error`);return}let c=t.internal?this.logger_:Z.log.warn,l=t.message?` `+t.message:``;c(`${t.internal?`Internal problem`:`Problem`} encountered with playlist ${e.id}.${l} Switching to playlist ${s.id}.`),s.attributes.AUDIO!==e.attributes.AUDIO&&this.delegateLoaders_(`audio`,[`abort`,`pause`]),s.attributes.SUBTITLES!==e.attributes.SUBTITLES&&this.delegateLoaders_(`subtitle`,[`abort`,`pause`]),this.delegateLoaders_(`main`,[`abort`,`pause`]);let u=s.targetDuration/2*1e3||5e3,d=typeof s.lastRequest==`number`&&Date.now()-s.lastRequest<=u;return this.switchMedia_(s,`exclude`,a||d)}pauseLoading(){this.delegateLoaders_(`all`,[`abort`,`pause`]),this.stopABRTimer_()}delegateLoaders_(e,t){let n=[],r=e===`all`;(r||e===`main`)&&n.push(this.mainPlaylistLoader_);let i=[];(r||e===`audio`)&&i.push(`AUDIO`),(r||e===`subtitle`)&&(i.push(`CLOSED-CAPTIONS`),i.push(`SUBTITLES`)),i.forEach(e=>{let t=this.mediaTypes_[e]&&this.mediaTypes_[e].activePlaylistLoader;t&&n.push(t)}),[`main`,`audio`,`subtitle`].forEach(t=>{let r=this[`${t}SegmentLoader_`];r&&(e===t||e===`all`)&&n.push(r)}),n.forEach(e=>t.forEach(t=>{typeof e[t]==`function`&&e[t]()}))}setCurrentTime(e){let t=Du(this.tech_.buffered(),e);if(!(this.mainPlaylistLoader_&&this.mainPlaylistLoader_.media())||!this.mainPlaylistLoader_.media().segments)return 0;if(t&&t.length)return e;this.mainSegmentLoader_.pause(),this.mainSegmentLoader_.resetEverything(),this.mediaTypes_.AUDIO.activePlaylistLoader&&(this.audioSegmentLoader_.pause(),this.audioSegmentLoader_.resetEverything()),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&(this.subtitleSegmentLoader_.pause(),this.subtitleSegmentLoader_.resetEverything()),this.load()}duration(){if(!this.mainPlaylistLoader_)return 0;let e=this.mainPlaylistLoader_.media();return e?e.endList?this.mediaSource?this.mediaSource.duration:Vm.Playlist.duration(e):1/0:0}seekable(){return this.seekable_}getSeekableRange_(e,t){let n=e.media();if(!n)return null;let r=this.syncController_.getMediaSequenceSync(t);if(r&&r.isReliable){let e=r.start,t=r.end;if(!isFinite(e)||!isFinite(t))return null;let i=Vm.Playlist.liveEdgeDelay(this.mainPlaylistLoader_.main,n);return Su([[e,Math.max(e,t-i)]])}let i=this.syncController_.getExpiredTime(n,this.duration());if(i===null)return null;let a=Vm.Playlist.seekable(n,i,Vm.Playlist.liveEdgeDelay(this.mainPlaylistLoader_.main,n));return a.length?a:null}computeFinalSeekable_(e,t){if(!t)return e;let n=e.start(0),r=e.end(0),i=t.start(0),a=t.end(0);return i>r||n>a?e:Su([[Math.max(n,i),Math.min(r,a)]])}onSyncInfoUpdate_(){if(!this.mainPlaylistLoader_)return;let e=this.getSeekableRange_(this.mainPlaylistLoader_,`main`);if(!e)return;let t;if(this.mediaTypes_.AUDIO.activePlaylistLoader&&(t=this.getSeekableRange_(this.mediaTypes_.AUDIO.activePlaylistLoader,`audio`),!t))return;let n=this.seekable_;if(this.seekable_=this.computeFinalSeekable_(e,t),!this.seekable_||n&&n.length&&this.seekable_.length&&n.start(0)===this.seekable_.start(0)&&n.end(0)===this.seekable_.end(0))return;this.logger_(`seekable updated [${ju(this.seekable_)}]`);let r={seekableRanges:this.seekable_};this.trigger({type:`seekablerangeschanged`,metadata:r}),this.tech_.trigger(`seekablechanged`)}updateDuration(e){if(this.updateDuration_&&=(this.mediaSource.removeEventListener(`sourceopen`,this.updateDuration_),null),this.mediaSource.readyState!==`open`){this.updateDuration_=this.updateDuration.bind(this,e),this.mediaSource.addEventListener(`sourceopen`,this.updateDuration_);return}if(e){let e=this.seekable();if(!e.length)return;(isNaN(this.mediaSource.duration)||this.mediaSource.duration<e.end(e.length-1))&&this.sourceUpdater_.setDuration(e.end(e.length-1));return}let t=this.tech_.buffered(),n=Vm.Playlist.duration(this.mainPlaylistLoader_.media());t.length>0&&(n=Math.max(n,t.end(t.length-1))),this.mediaSource.duration!==n&&this.sourceUpdater_.setDuration(n)}dispose(){this.trigger(`dispose`),this.decrypter_.terminate(),this.mainPlaylistLoader_.dispose(),this.mainSegmentLoader_.dispose(),this.contentSteeringController_.dispose(),this.keyStatusMap_.clear(),this.loadOnPlay_&&this.tech_.off(`play`,this.loadOnPlay_),[`AUDIO`,`SUBTITLES`].forEach(e=>{let t=this.mediaTypes_[e].groups;for(let e in t)t[e].forEach(e=>{e.playlistLoader&&e.playlistLoader.dispose()})}),this.audioSegmentLoader_.dispose(),this.subtitleSegmentLoader_.dispose(),this.sourceUpdater_.dispose(),this.timelineChangeController_.dispose(),this.stopABRTimer_(),this.updateDuration_&&this.mediaSource.removeEventListener(`sourceopen`,this.updateDuration_),this.mediaSource.removeEventListener(`durationchange`,this.handleDurationChange_),this.mediaSource.removeEventListener(`sourceopen`,this.handleSourceOpen_),this.mediaSource.removeEventListener(`sourceended`,this.handleSourceEnded_),this.off()}main(){return this.mainPlaylistLoader_.main}media(){return this.mainPlaylistLoader_.media()||this.initialMedia_}areMediaTypesKnown_(){let e=!!this.mediaTypes_.AUDIO.activePlaylistLoader,t=!!this.mainSegmentLoader_.getCurrentMediaInfo_(),n=!e||!!this.audioSegmentLoader_.getCurrentMediaInfo_();return!(!t||!n)}getCodecsOrExclude_(){let e={main:this.mainSegmentLoader_.getCurrentMediaInfo_()||{},audio:this.audioSegmentLoader_.getCurrentMediaInfo_()||{}},t=this.mainSegmentLoader_.getPendingSegmentPlaylist()||this.media();e.video=e.main;let n=Ed(this.main(),t),r={},i=!!this.mediaTypes_.AUDIO.activePlaylistLoader;if(e.main.hasVideo&&(r.video=n.video||e.main.videoCodec||Mt),e.main.isMuxed&&(r.video+=`,${n.audio||e.main.audioCodec||jt}`),(e.main.hasAudio&&!e.main.isMuxed||e.audio.hasAudio||i)&&(r.audio=n.audio||e.main.audioCodec||e.audio.audioCodec||jt,e.audio.isFmp4=e.main.hasAudio&&!e.main.isMuxed?e.main.isFmp4:e.audio.isFmp4),!r.audio&&!r.video){this.excludePlaylist({playlistToExclude:t,error:{message:`Could not determine codecs for playlist.`},playlistExclusionDuration:1/0});return}let a=(e,t)=>e?kt(t,this.usingManagedMediaSource_):At(t),o={},s;if([`video`,`audio`].forEach(function(t){if(r.hasOwnProperty(t)&&!a(e[t].isFmp4,r[t])){let n=e[t].isFmp4?`browser`:`muxer`;o[n]=o[n]||[],o[n].push(r[t]),t===`audio`&&(s=n)}}),i&&s&&t.attributes.AUDIO){let e=t.attributes.AUDIO;this.main().playlists.forEach(n=>{(n.attributes&&n.attributes.AUDIO)===e&&n!==t&&(n.excludeUntil=1/0)}),this.logger_(`excluding audio group ${e} as ${s} does not support codec(s): "${r.audio}"`)}if(Object.keys(o).length){let e=Object.keys(o).reduce((e,t)=>(e&&(e+=`, `),e+=`${t} does not support codec(s): "${o[t].join(`,`)}"`,e),``)+`.`;this.excludePlaylist({playlistToExclude:t,error:{internal:!0,message:e},playlistExclusionDuration:1/0})}else{if(this.sourceUpdater_.hasCreatedSourceBuffers()&&!this.sourceUpdater_.canChangeType()){let e=[];if([`video`,`audio`].forEach(t=>{let n=(wt(this.sourceUpdater_.codecs[t]||``)[0]||{}).type,i=(wt(r[t]||``)[0]||{}).type;n&&i&&n.toLowerCase()!==i.toLowerCase()&&e.push(`"${this.sourceUpdater_.codecs[t]}" -> "${r[t]}"`)}),e.length){this.excludePlaylist({playlistToExclude:t,error:{message:`Codec switching not supported: ${e.join(`, `)}.`,internal:!0},playlistExclusionDuration:1/0});return}}return r}}tryToCreateSourceBuffers_(){if(this.mediaSource.readyState!==`open`||this.sourceUpdater_.hasCreatedSourceBuffers()||!this.areMediaTypesKnown_())return;let e=this.getCodecsOrExclude_();if(!e)return;this.sourceUpdater_.createSourceBuffers(e);let t=[e.video,e.audio].filter(Boolean).join(`,`);this.excludeIncompatibleVariants_(t)}excludeUnsupportedVariants_(){let e=this.main().playlists,t=[];Object.keys(e).forEach(n=>{let r=e[n];if(t.indexOf(r.id)!==-1)return;t.push(r.id);let i=Ed(this.main,r),a=[];i.audio&&!At(i.audio)&&!kt(i.audio,this.usingManagedMediaSource_)&&a.push(`audio codec ${i.audio}`),i.video&&!At(i.video)&&!kt(i.video,this.usingManagedMediaSource_)&&a.push(`video codec ${i.video}`),i.text&&i.text===`stpp.ttml.im1t`&&a.push(`text codec ${i.text}`),a.length&&(r.excludeUntil=1/0,this.logger_(`excluding ${r.id} for unsupported: ${a.join(`, `)}`))})}excludeIncompatibleVariants_(e){let t=[],n=this.main().playlists,r=wd(wt(e)),i=Td(r),a=r.video&&wt(r.video)[0]||null,o=r.audio&&wt(r.audio)[0]||null;Object.keys(n).forEach(e=>{let r=n[e];if(t.indexOf(r.id)!==-1||r.excludeUntil===1/0)return;t.push(r.id);let s=[],c=Ed(this.mainPlaylistLoader_.main,r),l=Td(c);if(c.audio||c.video){if(l!==i&&s.push(`codec count "${l}" !== "${i}"`),!this.sourceUpdater_.canChangeType()){let e=c.video&&wt(c.video)[0]||null,t=c.audio&&wt(c.audio)[0]||null;e&&a&&e.type.toLowerCase()!==a.type.toLowerCase()&&s.push(`video codec "${e.type}" !== "${a.type}"`),t&&o&&t.type.toLowerCase()!==o.type.toLowerCase()&&s.push(`audio codec "${t.type}" !== "${o.type}"`)}s.length&&(r.excludeUntil=1/0,this.logger_(`excluding ${r.id}: ${s.join(` && `)}`))}})}updateAdCues_(e){let t=0,n=this.seekable();n.length&&(t=n.start(0)),mm(e,this.cueTagsTrack_,t)}goalBufferLength(){let e=this.tech_.currentTime(),t=bf.GOAL_BUFFER_LENGTH,n=bf.GOAL_BUFFER_LENGTH_RATE,r=Math.max(t,bf.MAX_GOAL_BUFFER_LENGTH);return Math.min(t+e*n,r)}bufferLowWaterLine(){let e=this.tech_.currentTime(),t=bf.BUFFER_LOW_WATER_LINE,n=bf.BUFFER_LOW_WATER_LINE_RATE,r=Math.max(t,bf.MAX_BUFFER_LOW_WATER_LINE),i=Math.max(t,bf.EXPERIMENTAL_MAX_BUFFER_LOW_WATER_LINE);return Math.min(t+e*n,this.bufferBasedABR?i:r)}bufferHighWaterLine(){return bf.BUFFER_HIGH_WATER_LINE}addDateRangesToTextTrack_(e){Ep(this.inbandTextTracks_,`com.apple.streaming`,this.tech_),Tp({inbandTextTracks:this.inbandTextTracks_,dateRanges:e})}addMetadataToTextTrack(e,t,n){let r=this.sourceUpdater_.videoBuffer?this.sourceUpdater_.videoTimestampOffset():this.sourceUpdater_.audioTimestampOffset();Ep(this.inbandTextTracks_,e,this.tech_),Sp({inbandTextTracks:this.inbandTextTracks_,metadataArray:t,timestampOffset:r,videoDuration:n})}pathwayAttribute_(e){return e.attributes[`PATHWAY-ID`]||e.attributes.serviceLocation}initContentSteeringController_(){let e=this.main();if(e.contentSteering){for(let t of e.playlists)this.contentSteeringController_.addAvailablePathway(this.pathwayAttribute_(t));this.contentSteeringController_.assignTagProperties(e.uri,e.contentSteering),this.contentSteeringController_.queryBeforeStart?this.contentSteeringController_.requestSteeringManifest(!0):this.tech_.one(`canplay`,()=>{this.contentSteeringController_.requestSteeringManifest()})}}resetContentSteeringController_(){this.contentSteeringController_.clearAvailablePathways(),this.contentSteeringController_.dispose(),this.initContentSteeringController_()}attachContentSteeringListeners_(){this.contentSteeringController_.on(`content-steering`,this.excludeThenChangePathway_.bind(this)),[`contentsteeringloadstart`,`contentsteeringloadcomplete`,`contentsteeringparsed`].forEach(e=>{this.contentSteeringController_.on(e,e=>{this.trigger(R({},e))})}),this.sourceType_===`dash`&&this.mainPlaylistLoader_.on(`loadedplaylist`,()=>{let e=this.main();(this.contentSteeringController_.didDASHTagChange(e.uri,e.contentSteering)||(()=>{let t=this.contentSteeringController_.getAvailablePathways(),n=[];for(let r of e.playlists){let e=r.attributes.serviceLocation;if(e&&(n.push(e),!t.has(e)))return!0}return!(n.length||!t.size)})())&&this.resetContentSteeringController_()})}excludeThenChangePathway_(){let e=this.contentSteeringController_.getPathway();if(!e)return;this.handlePathwayClones_();let t=this.main().playlists,n=new Set,r=!1;Object.keys(t).forEach(i=>{let a=t[i],o=this.pathwayAttribute_(a),s=o&&e!==o;a.excludeUntil===1/0&&a.lastExcludeReason_===`content-steering`&&!s&&(delete a.excludeUntil,delete a.lastExcludeReason_,r=!0);let c=!a.excludeUntil&&a.excludeUntil!==1/0;!n.has(a.id)&&s&&c&&(n.add(a.id),a.excludeUntil=1/0,a.lastExcludeReason_=`content-steering`,this.logger_(`excluding ${a.id} for ${a.lastExcludeReason_}`))}),this.contentSteeringController_.manifestType_===`DASH`&&Object.keys(this.mediaTypes_).forEach(t=>{let n=this.mediaTypes_[t];if(n.activePlaylistLoader){let t=n.activePlaylistLoader.media_;t&&t.attributes.serviceLocation!==e&&(r=!0)}}),r&&this.changeSegmentPathway_()}handlePathwayClones_(){let e=this.main().playlists,t=this.contentSteeringController_.currentPathwayClones,n=this.contentSteeringController_.nextPathwayClones;if(t&&t.size||n&&n.size){for(let[e,r]of t.entries())n.get(e)||(this.mainPlaylistLoader_.updateOrDeleteClone(r),this.contentSteeringController_.excludePathway(e));for(let[r,i]of n.entries()){let n=t.get(r);n?this.equalPathwayClones_(n,i)||(this.mainPlaylistLoader_.updateOrDeleteClone(i,!0),this.contentSteeringController_.addAvailablePathway(r)):(e.filter(e=>e.attributes[`PATHWAY-ID`]===i[`BASE-ID`]).forEach(e=>{this.mainPlaylistLoader_.addClonePathway(i,e)}),this.contentSteeringController_.addAvailablePathway(r))}this.contentSteeringController_.currentPathwayClones=new Map(JSON.parse(JSON.stringify([...n])))}}equalPathwayClones_(e,t){if(e[`BASE-ID`]!==t[`BASE-ID`]||e.ID!==t.ID||e[`URI-REPLACEMENT`].HOST!==t[`URI-REPLACEMENT`].HOST)return!1;let n=e[`URI-REPLACEMENT`].PARAMS,r=t[`URI-REPLACEMENT`].PARAMS;for(let e in n)if(n[e]!==r[e])return!1;for(let e in r)if(n[e]!==r[e])return!1;return!0}changeSegmentPathway_(){let e=this.selectPlaylist();this.pauseLoading(),this.contentSteeringController_.manifestType_===`DASH`&&this.switchMediaForDASHContentSteering_(),this.switchMedia_(e,`content-steering`)}excludeNonUsablePlaylistsByKeyId_(){if(!this.mainPlaylistLoader_||!this.mainPlaylistLoader_.main)return;let e=0,t=`non-usable`;this.mainPlaylistLoader_.main.playlists.forEach(n=>{let r=this.mainPlaylistLoader_.getKeyIdSet(n);r&&r.size&&r.forEach(r=>{let i=`usable`,a=this.keyStatusMap_.has(r)&&this.keyStatusMap_.get(r)===i,o=n.lastExcludeReason_===t&&n.excludeUntil===1/0;a?a&&o&&(delete n.excludeUntil,delete n.lastExcludeReason_,this.logger_(`enabling playlist ${n.id} because key ID ${r} is ${i}`)):(n.excludeUntil!==1/0&&n.lastExcludeReason_!==t&&(n.excludeUntil=1/0,n.lastExcludeReason_=t,this.logger_(`excluding playlist ${n.id} because the key ID ${r} doesn't exist in the keyStatusMap or is not ${i}`)),e++)})}),e>=this.mainPlaylistLoader_.main.playlists.length&&this.mainPlaylistLoader_.main.playlists.forEach(e=>{let n=e&&e.attributes&&e.attributes.RESOLUTION&&e.attributes.RESOLUTION.height<720,r=e.excludeUntil===1/0&&e.lastExcludeReason_===t;n&&r&&(delete e.excludeUntil,Z.log.warn(`enabling non-HD playlist ${e.id} because all playlists were excluded due to ${t} key IDs`))})}addKeyStatus_(e,t){let n=(typeof e==`string`?e:lm(e)).slice(0,32).toLowerCase();this.logger_(`KeyStatus '${t}' with key ID ${n} added to the keyStatusMap`),this.keyStatusMap_.set(n,t)}updatePlaylistByKeyStatus(e,t){this.addKeyStatus_(e,t),this.waitingForFastQualityPlaylistReceived_||this.excludeNonUsableThenChangePlaylist_(),this.mainPlaylistLoader_.off(`loadedplaylist`,this.excludeNonUsableThenChangePlaylist_.bind(this)),this.mainPlaylistLoader_.on(`loadedplaylist`,this.excludeNonUsableThenChangePlaylist_.bind(this))}excludeNonUsableThenChangePlaylist_(){this.excludeNonUsablePlaylistsByKeyId_(),this.fastQualityChange_()}}const Km=(e,t,n)=>r=>{let i=e.main.playlists[t],a=Zu(i),o=Qu(i);if(r===void 0)return o;r?delete i.disabled:i.disabled=!0;let s={renditionInfo:{id:t,bandwidth:i.attributes.BANDWIDTH,resolution:i.attributes.RESOLUTION,codecs:i.attributes.CODECS},cause:`fast-quality`};return r!==o&&!a&&(r?(n(i),e.trigger({type:`renditionenabled`,metadata:s})):e.trigger({type:`renditiondisabled`,metadata:s})),r};class qm{constructor(e,t,n){let{playlistController_:r}=e,i=r.fastQualityChange_.bind(r);if(t.attributes){let e=t.attributes.RESOLUTION;this.width=e&&e.width,this.height=e&&e.height,this.bandwidth=t.attributes.BANDWIDTH,this.frameRate=t.attributes[`FRAME-RATE`]}this.codecs=Ed(r.main(),t),this.playlist=t,this.id=n,this.enabled=Km(e.playlists,t.id,i)}}const Jm=function(e){e.representations=()=>{let t=e.playlistController_.main(),n=od(t)?e.playlistController_.getAudioTrackPlaylists_():t.playlists;return n?n.filter(e=>!Zu(e)).map((t,n)=>new qm(e,t,t.id)):[]}},Ym=[`seeking`,`seeked`,`pause`,`playing`,`error`];class Xm extends Z.EventTarget{constructor(e){super(),this.playlistController_=e.playlistController,this.tech_=e.tech,this.seekable=e.seekable,this.allowSeeksWithinUnsafeLiveWindow=e.allowSeeksWithinUnsafeLiveWindow,this.liveRangeSafeTimeDelta=e.liveRangeSafeTimeDelta,this.media=e.media,this.playedRanges_=[],this.consecutiveUpdates=0,this.lastRecordedTime=null,this.checkCurrentTimeTimeout_=null,this.logger_=xu(`PlaybackWatcher`),this.logger_(`initialize`);let t=()=>this.monitorCurrentTime_(),n=()=>this.monitorCurrentTime_(),r=()=>this.techWaiting_(),i=()=>this.resetTimeUpdate_(),a=this.playlistController_,o=[`main`,`subtitle`,`audio`],s={};o.forEach(e=>{s[e]={reset:()=>this.resetSegmentDownloads_(e),updateend:()=>this.checkSegmentDownloads_(e)},a[`${e}SegmentLoader_`].on(`appendsdone`,s[e].updateend),a[`${e}SegmentLoader_`].on(`playlistupdate`,s[e].reset),this.tech_.on([`seeked`,`seeking`],s[e].reset)});let c=e=>{[`main`,`audio`].forEach(t=>{a[`${t}SegmentLoader_`][e](`appended`,this.seekingAppendCheck_)})};this.seekingAppendCheck_=()=>{this.fixesBadSeeks_()&&(this.consecutiveUpdates=0,this.lastRecordedTime=this.tech_.currentTime(),c(`off`))},this.clearSeekingAppendCheck_=()=>c(`off`),this.watchForBadSeeking_=()=>{this.clearSeekingAppendCheck_(),c(`on`)},this.tech_.on(`seeked`,this.clearSeekingAppendCheck_),this.tech_.on(`seeking`,this.watchForBadSeeking_),this.tech_.on(`waiting`,r),this.tech_.on(Ym,i),this.tech_.on(`canplay`,n),this.tech_.one(`play`,t),this.dispose=()=>{this.clearSeekingAppendCheck_(),this.logger_(`dispose`),this.tech_.off(`waiting`,r),this.tech_.off(Ym,i),this.tech_.off(`canplay`,n),this.tech_.off(`play`,t),this.tech_.off(`seeking`,this.watchForBadSeeking_),this.tech_.off(`seeked`,this.clearSeekingAppendCheck_),o.forEach(e=>{a[`${e}SegmentLoader_`].off(`appendsdone`,s[e].updateend),a[`${e}SegmentLoader_`].off(`playlistupdate`,s[e].reset),this.tech_.off([`seeked`,`seeking`],s[e].reset)}),this.checkCurrentTimeTimeout_&&x.clearTimeout(this.checkCurrentTimeTimeout_),this.resetTimeUpdate_()}}monitorCurrentTime_(){this.checkCurrentTime_(),this.checkCurrentTimeTimeout_&&x.clearTimeout(this.checkCurrentTimeTimeout_),this.checkCurrentTimeTimeout_=x.setTimeout(this.monitorCurrentTime_.bind(this),250)}resetSegmentDownloads_(e){let t=this.playlistController_[`${e}SegmentLoader_`];this[`${e}StalledDownloads_`]>0&&this.logger_(`resetting possible stalled download count for ${e} loader`),this[`${e}StalledDownloads_`]=0,this[`${e}Buffered_`]=t.buffered_()}checkSegmentDownloads_(e){let t=this.playlistController_,n=t[`${e}SegmentLoader_`],r=n.buffered_(),i=Pu(this[`${e}Buffered_`],r);if(this[`${e}Buffered_`]=r,i){let n={bufferedRanges:r};t.trigger({type:`bufferedrangeschanged`,metadata:n}),this.resetSegmentDownloads_(e)}else this[`${e}StalledDownloads_`]++,this.logger_(`found #${this[`${e}StalledDownloads_`]} ${e} appends that did not increase buffer (possible stalled download)`,{playlistId:n.playlist_&&n.playlist_.id,buffered:Nu(r)}),this[`${e}StalledDownloads_`]<10||(this.logger_(`${e} loader stalled download exclusion`),this.resetSegmentDownloads_(e),this.tech_.trigger({type:`usage`,name:`vhs-${e}-download-exclusion`}),e!==`subtitle`&&t.excludePlaylist({error:{message:`Excessive ${e} segment downloading detected.`},playlistExclusionDuration:1/0}))}checkCurrentTime_(){if(this.tech_.paused()||this.tech_.seeking())return;let e=this.tech_.currentTime(),t=this.tech_.buffered();if(this.lastRecordedTime===e&&(!t.length||e+Tu>=t.end(t.length-1)))return this.techWaiting_();if(this.consecutiveUpdates>=5&&e===this.lastRecordedTime)this.consecutiveUpdates++,this.waiting_();else if(e===this.lastRecordedTime)this.consecutiveUpdates++;else{this.playedRanges_.push(Su([this.lastRecordedTime,e]));let t={playedRanges:this.playedRanges_};this.playlistController_.trigger({type:`playedrangeschanged`,metadata:t}),this.consecutiveUpdates=0,this.lastRecordedTime=e}}resetTimeUpdate_(){this.consecutiveUpdates=0}fixesBadSeeks_(){if(!this.tech_.seeking())return!1;let e=this.seekable(),t=this.tech_.currentTime(),n=this.afterSeekableWindow_(e,t,this.media(),this.allowSeeksWithinUnsafeLiveWindow),r;if(n&&(r=e.end(e.length-1)),this.beforeSeekableWindow_(e,t)){let t=e.start(0);r=t+(t===e.end(0)?0:Tu)}if(r!==void 0)return this.logger_(`Trying to seek outside of seekable at time ${t} with seekable range ${ju(e)}. Seeking to ${r}.`),this.tech_.setCurrentTime(r),!0;let i=this.playlistController_.sourceUpdater_,a=this.tech_.buffered(),o=i.audioBuffer?i.audioBuffered():null,s=i.videoBuffer?i.videoBuffered():null,c=this.media(),l=c.partTargetDuration?c.partTargetDuration:(c.targetDuration-wu)*2,u=[o,s];for(let e=0;e<u.length;e++)if(u[e]&&Iu(u[e],t)<l)return!1;let d=Ou(a,t);return d.length!==0&&(r=d.start(0)+Tu,this.logger_(`Buffered region starts (${d.start(0)}) just beyond seek point (${t}). Seeking to ${r}.`),this.tech_.setCurrentTime(r),!0)}waiting_(){if(this.techWaiting_())return;let e=this.tech_.currentTime(),t=this.tech_.buffered(),n=Du(t,e);n.length&&e+3<=n.end(0)&&(this.resetTimeUpdate_(),this.tech_.setCurrentTime(e),this.logger_(`Stopped at ${e} while inside a buffered region [${n.start(0)} -> ${n.end(0)}]. Attempting to resume playback by seeking to the current time.`),this.tech_.trigger({type:`usage`,name:`vhs-unknown-waiting`}))}techWaiting_(){let e=this.seekable(),t=this.tech_.currentTime();if(this.tech_.seeking())return!0;if(this.beforeSeekableWindow_(e,t)){let n=e.end(e.length-1);return this.logger_(`Fell out of live window at time ${t}. Seeking to live point (seekable end) ${n}`),this.resetTimeUpdate_(),this.tech_.setCurrentTime(n),this.tech_.trigger({type:`usage`,name:`vhs-live-resync`}),!0}let n=this.tech_.vhs.playlistController_.sourceUpdater_,r=this.tech_.buffered();if(this.videoUnderflow_({audioBuffered:n.audioBuffered(),videoBuffered:n.videoBuffered(),currentTime:t}))return this.resetTimeUpdate_(),this.tech_.setCurrentTime(t),this.tech_.trigger({type:`usage`,name:`vhs-video-underflow`}),!0;let i=Ou(r,t);return i.length>0&&(this.logger_(`Stopped at ${t} and seeking to ${i.start(0)}`),this.resetTimeUpdate_(),this.skipTheGap_(t),!0)}afterSeekableWindow_(e,t,n,r=!1){if(!e.length)return!1;let i=e.end(e.length-1)+Tu,a=!n.endList,o=typeof n.partTargetDuration==`number`;return a&&(o||r)&&(i=e.end(e.length-1)+n.targetDuration*3),t>i}beforeSeekableWindow_(e,t){return!!(e.length&&e.start(0)>0&&t<e.start(0)-this.liveRangeSafeTimeDelta)}videoUnderflow_({videoBuffered:e,audioBuffered:t,currentTime:n}){if(!e)return;let r;if(e.length&&t.length){let i=Du(e,n-3),a=Du(e,n),o=Du(t,n);o.length&&!a.length&&i.length&&(r={start:i.end(0),end:o.end(0)})}else Ou(e,n).length||(r=this.gapFromVideoUnderflow_(e,n));return r?(this.logger_(`Encountered a gap in video from ${r.start} to ${r.end}. Seeking to current time ${n}`),!0):!1}skipTheGap_(e){let t=this.tech_.buffered(),n=this.tech_.currentTime(),r=Ou(t,n);if(this.resetTimeUpdate_(),r.length===0||n!==e)return;this.logger_(`skipTheGap_:`,`currentTime:`,n,`scheduled currentTime:`,e,`nextRange start:`,r.start(0)),this.tech_.setCurrentTime(r.start(0)+wu);let i={gapInfo:{from:n,to:r.start(0)}};this.playlistController_.trigger({type:`gapjumped`,metadata:i}),this.tech_.trigger({type:`usage`,name:`vhs-gap-skip`})}gapFromVideoUnderflow_(e,t){let n=ku(e);for(let e=0;e<n.length;e++){let r=n.start(e),i=n.end(e);if(t-r<4&&t-r>2)return{start:r,end:i}}return null}}const Zm={errorInterval:30,getSource(e){return e(this.tech({IWillNotUseThisInPlugins:!0}).currentSource_||this.currentSource())}},Qm=function(e,t){let n=0,r=0,i=Q(Zm,t);e.ready(()=>{e.trigger({type:`usage`,name:`vhs-error-reload-initialized`})});let a=function(){r&&e.currentTime(r)},o=function(t){t!=null&&(r=e.duration()!==1/0&&e.currentTime()||0,e.one(`loadedmetadata`,a),e.src(t),e.trigger({type:`usage`,name:`vhs-error-reload`}),e.play())},s=function(){if(Date.now()-n<i.errorInterval*1e3)e.trigger({type:`usage`,name:`vhs-error-reload-canceled`});else if(!i.getSource||typeof i.getSource!=`function`)Z.log.error(`ERROR: reloadSourceOnError - The option getSource must be a function!`);else return n=Date.now(),i.getSource.call(e,o)},c=function(){e.off(`loadedmetadata`,a),e.off(`error`,s),e.off(`dispose`,c)};e.on(`error`,s),e.on(`dispose`,c),e.reloadSourceOnError=function(t){c(),Qm(e,t)}},$m=function(e){Qm(this,e)};var eh=`3.17.5`,th=`7.1.0`,nh=`1.4.0`,rh=`7.2.0`,ih=`4.0.2`;const ah={PlaylistLoader:Ld,Playlist:sd,utils:Zd,STANDARD_PLAYLIST_SELECTOR:pp,INITIAL_PLAYLIST_SELECTOR:gp,lastBandwidthSelector:pp,movingAverageBandwidthSelector:mp,comparePlaylistBandwidth:up,comparePlaylistResolution:dp,xhr:Vd()};Object.keys(bf).forEach(e=>{Object.defineProperty(ah,e,{get(){return Z.log.warn(`using Vhs.${e} is UNSAFE be sure you know what you are doing`),bf[e]},set(t){Z.log.warn(`using Vhs.${e} is UNSAFE be sure you know what you are doing`),typeof t!=`number`||t<0?Z.log.warn(`value of Vhs.${e} must be greater than or equal to 0`):bf[e]=t}})});const oh=`videojs-vhs`,sh=function(e,t){let n=t.media(),r=-1;for(let t=0;t<e.length;t++)if(e[t].id===n.id){r=t;break}e.selectedIndex_=r,e.trigger({selectedIndex:r,type:`change`})},ch=function(e,t){t.representations().forEach(t=>{e.addQualityLevel(t)}),sh(e,t.playlists)};ah.canPlaySource=function(){return Z.log.warn(`VHS is no longer a tech. Please remove it from your player's techOrder.`)};const lh=(e,t,n)=>{if(!e)return e;let r={};t&&t.attributes&&t.attributes.CODECS&&(r=wd(wt(t.attributes.CODECS))),n&&n.attributes&&n.attributes.CODECS&&(r.audio=n.attributes.CODECS);let i=Ot(r.video),a=Ot(r.audio),o={};for(let n in e)o[n]={},a&&(o[n].audioContentType=a),i&&(o[n].videoContentType=i),t.contentProtection&&t.contentProtection[n]&&t.contentProtection[n].pssh&&(o[n].pssh=t.contentProtection[n].pssh),typeof e[n]==`string`&&(o[n].url=e[n]);return Q(e,o)},uh=(e,t)=>e.reduce((e,n)=>{if(!n.contentProtection)return e;let r=t.reduce((e,t)=>{let r=n.contentProtection[t];return r&&r.pssh&&(e[t]={pssh:r.pssh}),e},{});return Object.keys(r).length&&e.push(r),e},[]),dh=({player:e,sourceKeySystems:t,audioMedia:n,mainPlaylists:r})=>{if(!e.eme.initializeMediaKeys)return Promise.resolve();let i=n?r.concat([n]):r,a=uh(i,Object.keys(t)),o=[],s=[];return a.forEach(t=>{s.push(new Promise((t,n)=>{e.tech_.one(`keysessioncreated`,t)})),o.push(new Promise((n,r)=>{e.eme.initializeMediaKeys({keySystems:t},e=>{e?r(e):n()})}))}),Promise.race([Promise.all(o),Promise.race(s)])},fh=({player:e,sourceKeySystems:t,media:n,audioMedia:r})=>{let i=lh(t,n,r);return i?(e.currentSource().keySystems=i,i&&!e.eme?(Z.log.warn(`DRM encrypted source cannot be decrypted without a DRM plugin`),!1):!0):!1},ph=()=>{if(!x.localStorage)return null;let e=x.localStorage.getItem(oh);if(!e)return null;try{return JSON.parse(e)}catch{return null}},mh=e=>{if(!x.localStorage)return!1;let t=ph();t=t?Q(t,e):e;try{x.localStorage.setItem(oh,JSON.stringify(t))}catch{return!1}return t},hh=e=>e.toLowerCase().indexOf(`data:application/vnd.videojs.vhs+json,`)===0?JSON.parse(e.substring(e.indexOf(`,`)+1)):e,gh=(e,t)=>{e._requestCallbackSet||=new Set,e._requestCallbackSet.add(t)},_h=(e,t)=>{e._responseCallbackSet||=new Set,e._responseCallbackSet.add(t)},vh=(e,t)=>{e._requestCallbackSet&&(e._requestCallbackSet.delete(t),e._requestCallbackSet.size||delete e._requestCallbackSet)},yh=(e,t)=>{e._responseCallbackSet&&(e._responseCallbackSet.delete(t),e._responseCallbackSet.size||delete e._responseCallbackSet)};ah.supportsNativeHls=function(){if(!F||!F.createElement)return!1;let e=F.createElement(`video`);return Z.getTech(`Html5`).isSupported()?[`application/vnd.apple.mpegurl`,`audio/mpegurl`,`audio/x-mpegurl`,`application/x-mpegurl`,`video/x-mpegurl`,`video/mpegurl`,`application/mpegurl`].some(function(t){return/maybe|probably/i.test(e.canPlayType(t))}):!1}(),ah.supportsNativeDash=function(){return!F||!F.createElement||!Z.getTech(`Html5`).isSupported()?!1:/maybe|probably/i.test(F.createElement(`video`).canPlayType(`application/dash+xml`))}(),ah.supportsTypeNatively=e=>e===`hls`?ah.supportsNativeHls:e===`dash`&&ah.supportsNativeDash,ah.isSupported=function(){return Z.log.warn(`VHS is no longer a tech. Please remove it from your player's techOrder.`)},ah.xhr.onRequest=function(e){gh(ah.xhr,e)},ah.xhr.onResponse=function(e){_h(ah.xhr,e)},ah.xhr.offRequest=function(e){vh(ah.xhr,e)},ah.xhr.offResponse=function(e){yh(ah.xhr,e)};const bh=Z.getComponent(`Component`);class xh extends bh{constructor(e,t,n){if(super(t,n.vhs),typeof n.initialBandwidth==`number`&&(this.options_.bandwidth=n.initialBandwidth),this.logger_=xu(`VhsHandler`),t.options_&&t.options_.playerId){let e=Z.getPlayer(t.options_.playerId);this.player_=e}if(this.tech_=t,this.source_=e,this.stats={},this.ignoreNextSeekingEvent_=!1,this.setOptions_(),this.options_.overrideNative&&t.overrideNativeAudioTracks&&t.overrideNativeVideoTracks)t.overrideNativeAudioTracks(!0),t.overrideNativeVideoTracks(!0);else if(this.options_.overrideNative&&(t.featuresNativeVideoTracks||t.featuresNativeAudioTracks))throw Error(`Overriding native VHS requires emulated tracks. See https://git.io/vMpjB`);this.on(F,[`fullscreenchange`,`webkitfullscreenchange`,`mozfullscreenchange`,`MSFullscreenChange`],e=>{let t=F.fullscreenElement||F.webkitFullscreenElement||F.mozFullScreenElement||F.msFullscreenElement;t&&t.contains(this.tech_.el())?this.playlistController_.fastQualityChange_():this.playlistController_.checkABR_()}),this.on(this.tech_,`seeking`,function(){this.ignoreNextSeekingEvent_?this.ignoreNextSeekingEvent_=!1:this.setCurrentTime(this.tech_.currentTime())}),this.on(this.tech_,`error`,function(){this.tech_.error()&&this.playlistController_&&this.playlistController_.pauseLoading()}),this.on(this.tech_,`play`,this.play)}setOptions_(e={}){if(this.options_=Q(this.options_,e),this.options_.withCredentials=this.options_.withCredentials||!1,this.options_.limitRenditionByPlayerDimensions=this.options_.limitRenditionByPlayerDimensions!==!1,this.options_.useDevicePixelRatio=this.options_.useDevicePixelRatio||!1,this.options_.usePlayerObjectFit=this.options_.usePlayerObjectFit||!1,this.options_.useBandwidthFromLocalStorage=this.source_.useBandwidthFromLocalStorage===void 0?this.options_.useBandwidthFromLocalStorage||!1:this.source_.useBandwidthFromLocalStorage,this.options_.useForcedSubtitles=this.options_.useForcedSubtitles||!1,this.options_.useNetworkInformationApi=this.options_.useNetworkInformationApi===void 0||this.options_.useNetworkInformationApi,this.options_.useDtsForTimestampOffset=this.options_.useDtsForTimestampOffset||!1,this.options_.customTagParsers=this.options_.customTagParsers||[],this.options_.customTagMappers=this.options_.customTagMappers||[],this.options_.cacheEncryptionKeys=this.options_.cacheEncryptionKeys||!1,this.options_.llhls=this.options_.llhls!==!1,this.options_.bufferBasedABR=this.options_.bufferBasedABR||!1,typeof this.options_.playlistExclusionDuration!=`number`&&(this.options_.playlistExclusionDuration=60),typeof this.options_.bandwidth!=`number`&&this.options_.useBandwidthFromLocalStorage){let e=ph();e&&e.bandwidth&&(this.options_.bandwidth=e.bandwidth,this.tech_.trigger({type:`usage`,name:`vhs-bandwidth-from-local-storage`})),e&&e.throughput&&(this.options_.throughput=e.throughput,this.tech_.trigger({type:`usage`,name:`vhs-throughput-from-local-storage`}))}typeof this.options_.bandwidth!=`number`&&(this.options_.bandwidth=bf.INITIAL_BANDWIDTH),this.options_.enableLowInitialPlaylist=this.options_.enableLowInitialPlaylist&&this.options_.bandwidth===bf.INITIAL_BANDWIDTH,[`withCredentials`,`useDevicePixelRatio`,`usePlayerObjectFit`,`customPixelRatio`,`limitRenditionByPlayerDimensions`,`bandwidth`,`customTagParsers`,`customTagMappers`,`cacheEncryptionKeys`,`playlistSelector`,`initialPlaylistSelector`,`bufferBasedABR`,`liveRangeSafeTimeDelta`,`llhls`,`useForcedSubtitles`,`useNetworkInformationApi`,`useDtsForTimestampOffset`,`exactManifestTimings`,`leastPixelDiffSelector`].forEach(e=>{this.source_[e]!==void 0&&(this.options_[e]=this.source_[e])}),this.limitRenditionByPlayerDimensions=this.options_.limitRenditionByPlayerDimensions,this.useDevicePixelRatio=this.options_.useDevicePixelRatio,this.usePlayerObjectFit=this.options_.usePlayerObjectFit;let t=this.options_.customPixelRatio;typeof t==`number`&&t>=0&&(this.customPixelRatio=t)}setOptions(e={}){this.setOptions_(e)}src(e,t){if(!e)return;this.setOptions_(),this.options_.src=hh(this.source_.src),this.options_.tech=this.tech_,this.options_.externVhs=ah,this.options_.sourceType=Ft(t),this.options_.seekTo=e=>{this.tech_.setCurrentTime(e)},this.options_.player_=this.player_,this.playlistController_=new Gm(this.options_);let n=Q({liveRangeSafeTimeDelta:Tu},this.options_,{seekable:()=>this.seekable(),media:()=>this.playlistController_.media(),playlistController:this.playlistController_});this.playbackWatcher_=new Xm(n),this.attachStreamingEventListeners_(),this.playlistController_.on(`error`,()=>{let e=Z.players[this.tech_.options_.playerId],t=this.playlistController_.error;typeof t==`object`&&!t.code?t.code=3:typeof t==`string`&&(t={message:t,code:3}),e.error(t)});let r=this.options_.bufferBasedABR?ah.movingAverageBandwidthSelector(.55):ah.STANDARD_PLAYLIST_SELECTOR;this.playlistController_.selectPlaylist=this.selectPlaylist?this.selectPlaylist.bind(this):r.bind(this),this.playlistController_.selectInitialPlaylist=ah.INITIAL_PLAYLIST_SELECTOR.bind(this),this.playlists=this.playlistController_.mainPlaylistLoader_,this.mediaSource=this.playlistController_.mediaSource,Object.defineProperties(this,{selectPlaylist:{get(){return this.playlistController_.selectPlaylist},set(e){this.playlistController_.selectPlaylist=e.bind(this)}},throughput:{get(){return this.playlistController_.mainSegmentLoader_.throughput.rate},set(e){this.playlistController_.mainSegmentLoader_.throughput.rate=e,this.playlistController_.mainSegmentLoader_.throughput.count=1}},bandwidth:{get(){let e=this.playlistController_.mainSegmentLoader_.bandwidth,t=x.navigator.connection||x.navigator.mozConnection||x.navigator.webkitConnection,n=1e7;if(this.options_.useNetworkInformationApi&&t){let r=t.downlink*1e3*1e3;e=r>=n&&e>=n?Math.max(e,r):r}return e},set(e){this.playlistController_.mainSegmentLoader_.bandwidth=e,this.playlistController_.mainSegmentLoader_.throughput={rate:0,count:0}}},systemBandwidth:{get(){let e=1/(this.bandwidth||1),t;return t=this.throughput>0?1/this.throughput:0,Math.floor(1/(e+t))},set(){Z.log.error(`The "systemBandwidth" property is read-only`)}}}),this.options_.bandwidth&&(this.bandwidth=this.options_.bandwidth),this.options_.throughput&&(this.throughput=this.options_.throughput),Object.defineProperties(this.stats,{bandwidth:{get:()=>this.bandwidth||0,enumerable:!0},mediaRequests:{get:()=>this.playlistController_.mediaRequests_()||0,enumerable:!0},mediaRequestsAborted:{get:()=>this.playlistController_.mediaRequestsAborted_()||0,enumerable:!0},mediaRequestsTimedout:{get:()=>this.playlistController_.mediaRequestsTimedout_()||0,enumerable:!0},mediaRequestsErrored:{get:()=>this.playlistController_.mediaRequestsErrored_()||0,enumerable:!0},mediaTransferDuration:{get:()=>this.playlistController_.mediaTransferDuration_()||0,enumerable:!0},mediaBytesTransferred:{get:()=>this.playlistController_.mediaBytesTransferred_()||0,enumerable:!0},mediaSecondsLoaded:{get:()=>this.playlistController_.mediaSecondsLoaded_()||0,enumerable:!0},mediaAppends:{get:()=>this.playlistController_.mediaAppends_()||0,enumerable:!0},mainAppendsToLoadedData:{get:()=>this.playlistController_.mainAppendsToLoadedData_()||0,enumerable:!0},audioAppendsToLoadedData:{get:()=>this.playlistController_.audioAppendsToLoadedData_()||0,enumerable:!0},appendsToLoadedData:{get:()=>this.playlistController_.appendsToLoadedData_()||0,enumerable:!0},timeToLoadedData:{get:()=>this.playlistController_.timeToLoadedData_()||0,enumerable:!0},buffered:{get:()=>Nu(this.tech_.buffered()),enumerable:!0},currentTime:{get:()=>this.tech_.currentTime(),enumerable:!0},currentSource:{get:()=>this.tech_.currentSource_,enumerable:!0},currentTech:{get:()=>this.tech_.name_,enumerable:!0},duration:{get:()=>this.tech_.duration(),enumerable:!0},main:{get:()=>this.playlists.main,enumerable:!0},playerDimensions:{get:()=>this.tech_.currentDimensions(),enumerable:!0},seekable:{get:()=>Nu(this.tech_.seekable()),enumerable:!0},timestamp:{get:()=>Date.now(),enumerable:!0},videoPlaybackQuality:{get:()=>this.tech_.getVideoPlaybackQuality(),enumerable:!0}}),this.tech_.one(`canplay`,this.playlistController_.setupFirstPlay.bind(this.playlistController_)),this.tech_.on(`bandwidthupdate`,()=>{this.options_.useBandwidthFromLocalStorage&&mh({bandwidth:this.bandwidth,throughput:Math.round(this.throughput)})}),this.playlistController_.on(`selectedinitialmedia`,()=>{Jm(this)}),this.playlistController_.sourceUpdater_.on(`createdsourcebuffers`,()=>{this.setupEme_()}),this.on(this.playlistController_,`progress`,function(){this.tech_.trigger(`progress`)}),this.on(this.playlistController_,`firstplay`,function(){this.ignoreNextSeekingEvent_=!0}),this.setupQualityLevels_(),this.tech_.el()&&(this.mediaSourceUrl_=x.URL.createObjectURL(this.playlistController_.mediaSource),(Z.browser.IS_ANY_SAFARI||Z.browser.IS_IOS)&&this.options_.overrideNative&&this.options_.sourceType===`hls`&&typeof this.tech_.addSourceElement==`function`?(this.tech_.addSourceElement(this.mediaSourceUrl_),this.tech_.addSourceElement(this.source_.src)):this.tech_.src(this.mediaSourceUrl_))}createKeySessions_(){let e=this.playlistController_.mediaTypes_.AUDIO.activePlaylistLoader;this.logger_(`waiting for EME key session creation`),dh({player:this.player_,sourceKeySystems:this.source_.keySystems,audioMedia:e&&e.media(),mainPlaylists:this.playlists.main.playlists}).then(()=>{this.logger_(`created EME key session`),this.playlistController_.sourceUpdater_.initializedEme()}).catch(e=>{this.logger_(`error while creating EME key session`,e),this.player_.error({message:`Failed to initialize media keys for EME`,code:3})})}handleWaitingForKey_(){this.logger_(`waitingforkey fired, attempting to create any new key sessions`),this.createKeySessions_()}setupEme_(){let e=this.playlistController_.mediaTypes_.AUDIO.activePlaylistLoader,t=fh({player:this.player_,sourceKeySystems:this.source_.keySystems,media:this.playlists.media(),audioMedia:e&&e.media()});this.player_.tech_.on(`keystatuschange`,e=>{this.playlistController_.updatePlaylistByKeyStatus(e.keyId,e.status)}),this.handleWaitingForKey_=this.handleWaitingForKey_.bind(this),this.player_.tech_.on(`waitingforkey`,this.handleWaitingForKey_),t?this.createKeySessions_():this.playlistController_.sourceUpdater_.initializedEme()}setupQualityLevels_(){let e=Z.players[this.tech_.options_.playerId];e&&e.qualityLevels&&!this.qualityLevels_&&(this.qualityLevels_=e.qualityLevels(),this.playlistController_.on(`selectedinitialmedia`,()=>{ch(this.qualityLevels_,this)}),this.playlists.on(`mediachange`,()=>{sh(this.qualityLevels_,this.playlists)}))}static version(){return{"@videojs/http-streaming":eh,"mux.js":th,"mpd-parser":nh,"m3u8-parser":rh,"aes-decrypter":ih}}version(){return this.constructor.version()}canChangeType(){return sm.canChangeType()}play(){this.playlistController_.play()}setCurrentTime(e){this.playlistController_.setCurrentTime(e)}duration(){return this.playlistController_.duration()}seekable(){return this.playlistController_.seekable()}dispose(){this.playbackWatcher_&&this.playbackWatcher_.dispose(),this.playlistController_&&this.playlistController_.dispose(),this.qualityLevels_&&this.qualityLevels_.dispose(),this.tech_&&this.tech_.vhs&&delete this.tech_.vhs,this.mediaSourceUrl_&&x.URL.revokeObjectURL&&(x.URL.revokeObjectURL(this.mediaSourceUrl_),this.mediaSourceUrl_=null),this.tech_&&this.tech_.off(`waitingforkey`,this.handleWaitingForKey_),super.dispose()}convertToProgramTime(e,t){return of({playlist:this.playlistController_.media(),time:e,callback:t})}seekToProgramTime(e,t,n=!0,r=2){return sf({programTime:e,playlist:this.playlistController_.media(),retryCount:r,pauseAfterSeek:n,seekTo:this.options_.seekTo,tech:this.options_.tech,callback:t})}setupXhrHooks_(){this.xhr.onRequest=e=>{gh(this.xhr,e)},this.xhr.onResponse=e=>{_h(this.xhr,e)},this.xhr.offRequest=e=>{vh(this.xhr,e)},this.xhr.offResponse=e=>{yh(this.xhr,e)},this.player_.trigger(`xhr-hooks-ready`)}attachStreamingEventListeners_(){[`seekablerangeschanged`,`bufferedrangeschanged`,`contentsteeringloadstart`,`contentsteeringloadcomplete`,`contentsteeringparsed`].forEach(e=>{this.playlistController_.on(e,e=>{this.player_.trigger(R({},e))})}),[`gapjumped`,`playedrangeschanged`].forEach(e=>{this.playbackWatcher_.on(e,e=>{this.player_.trigger(R({},e))})})}}const Sh={name:`videojs-http-streaming`,VERSION:eh,canHandleSource(e,t={}){let n=Q(Z.options,t);return!n.vhs.experimentalUseMMS&&!kt(`avc1.4d400d,mp4a.40.2`,!1)?!1:Sh.canPlayType(e.type,n)},handleSource(e,t,n={}){let r=Q(Z.options,n);return t.vhs=new xh(e,t,r),t.vhs.xhr=Vd(),t.vhs.setupXhrHooks_(),t.vhs.src(e.src,e.type),t.vhs},canPlayType(e,t){let n=Ft(e);if(!n)return``;let r=Sh.getOverrideNative(t);return!ah.supportsTypeNatively(n)||r?`maybe`:``},getOverrideNative(e={}){let{vhs:t={}}=e,n=!(Z.browser.IS_ANY_SAFARI||Z.browser.IS_IOS),{overrideNative:r=n}=t;return r}};kt(`avc1.4d400d,mp4a.40.2`,!0)&&Z.getTech(`Html5`).registerSourceHandler(Sh,0),Z.VhsHandler=xh,Z.VhsSourceHandler=Sh,Z.Vhs=ah,Z.use||Z.registerComponent(`Vhs`,ah),Z.options.vhs=Z.options.vhs||{},Z.getPlugin&&Z.getPlugin(`reloadSourceOnError`)||Z.registerPlugin(`reloadSourceOnError`,$m);let $=class extends t{constructor(){super(...arguments),this._controllerConfigs={autoplay:!1,autoSetup:!1,controls:!1,defaultVolume:.3,disablePictureInPicture:!0,enableDocumentPictureInPicture:!1,enableSmoothSeeking:!0,html5:{nativeAudioTracks:!1,nativeVideoTracks:!1,vhs:{llhls:!0,overrideNative:!0}},inactivityTimeout:0,liveTracker:{liveTolerance:10,trackingThreshold:15},loop:!1,muted:!1,nativeControlsForTouch:!1,normalizeAutoplay:!0,preload:`auto`},this._prevPlayingState=!1,this._retryCount=0,this._qualityLevels=[],this.autoplay=!1,this.currentMetadata=null,this.element=null,this.isLive=!1,this.mimeType=null,this.sensorModel=null,this.started=!1,this.state=`not-ready`,this.waitingTimestamp=null,this._initController=async()=>{if(!this._controller&&this.playerUrl)try{let e={...this._controllerConfigs};this.element=document.createElement(`video`),Z.log.level(`off`),this._controller=Z(this.element,e),this._controller.muted(this.muted),this._controller.loop(this.loop),this._controller.playbackRate(this.rate),this._controller.qualityLevels().on(`addqualitylevel`,e=>this._handleQualityLevel(e)),this._controller.ready(this._handleReady),this._controller.one(`play`,this._handleFirstPlay),this._controller.on(`canplay`,this._handleCanPlay),this._controller.on(`durationchange`,this._handleDurationChange),this._controller.on(`ended`,this._handleEnded),this._controller.on(`error`,this._handleError),this._controller.on(`loadeddata`,this._handleDataLoaded),this._controller.on(`loadedmetadata`,this._handleLoadedMetadata),this._controller.on(`loadstart`,this._handleLoadStart),this._controller.on(`play`,this._handlePlay),this._controller.on(`playing`,this._handlePlaying),this._controller.on(`stalled`,this._handleStalled),this._controller.on(`timeupdate`,this._handleTimeUpdate),this._controller.on(`waiting`,this._handleWaiting),this._controller.on(`xhr-hooks-ready`,this._handleXHRhooksReady),this._controller?.liveTracker.on(`seekableendchange`,()=>this.notifyChange(`livestreamStatus`)),this._controller?.liveTracker.on(`liveedgechange`,()=>this.notifyChange(`livestreamStatus`))}catch{r.getLogger(this).error(`Unable to initialize the player.`),this._controller&&this._controller.dispose()}},this._handleQualityLevel=e=>{if(!e?.qualityLevel)return;let t=e.qualityLevel;this._qualityLevels.push(t),t?.enabled&&(this._set(`videoWidth`,t?.width??0),this._set(`videoHeight`,t?.height??0))},this._handleReady=()=>{this.state=`ready`},this._handleFirstPlay=()=>{this._set(`started`,!0)},this._handleCanPlay=async()=>{if(this._prevPlayingState=this.state===`playing`,this.state=`can-play`,this.autoplay&&!this.started)try{this.muted=!0,await this.play()}catch{r.getLogger(this).info(`Unable to auto start playback. Blocked by the browser.`)}},this._handleCueChange=()=>{if(!this.subtitleTrack?.activeCues?.length)return;let e=this.subtitleTrack?.activeCues,t=f(e);if(!t?.length)return;let n=new Map;for(let e of t)Array.isArray(e.value)?e.tagId===90064?n.set(e.tagId,e):e.value.forEach(e=>{n.set(e.tagId,e)}):n.set(e.tagId,e);n.set(p.EsriVideoWidth,{name:`Video Width`,tagId:p.EsriVideoWidth,value:this._controller?.videoWidth()}),n.set(p.EsriVideoHeight,{name:`Video Height`,tagId:p.EsriVideoHeight,value:this._controller?.videoHeight()}),this.currentMetadata=new Map(n)},this._handleDataLoaded=()=>{this._set(`videoWidth`,this._controller?.videoWidth()),this._set(`videoHeight`,this._controller?.videoHeight())},this._handleDurationChange=()=>{this._controller?.duration()!==0&&(this.notifyChange(`duration`),this.isLive=this._controller?.duration()===1/0||!1,this._setLivestreamStatus(),this.started&&this._controller?.duration()===this._controller?.currentTime()&&this._controller?.trigger(`ended`))},this._handleEnded=()=>{this._controller?.ended()&&this.notifyChange(`ended`)},this._handleError=()=>{let e=this._controller?.error()??null;if(typeof e?.code==`number`&&e?.code<3&&this._retryCount===0)this._retryCount++,setTimeout(()=>{this._controller?.src({type:this.mimeType,src:this.playerUrl}),this._controller?.load()},2e3);else{let t=new n(`Media Error`,e?.message??``);r.getLogger(this).error(t),this.reset()}},this._handleLoadStart=()=>{this.state=`can-play`},this._handleLoadedMetadata=()=>{this.state=`can-play`,this.notifyChange(`buffered`),this.notifyChange(`subtitleTrack`)},this._handlePlay=()=>{this.notifyChange(`ended`)},this._handlePlaying=()=>{this.state=`playing`,this._retryCount=0,this.notifyChange(`ended`)},this._handleStalled=()=>{r.getLogger(this).warn(`Playback is stalled and awaiting data`)},this._handleTimeUpdate=()=>{this._setLivestreamStatus(),this.notifyChange(`currentTime`),this.notifyChange(`buffered`),this.notifyChange(`bufferedPercent`),this._set(`videoWidth`,this._controller?.videoWidth()),this._set(`videoHeight`,this._controller?.videoHeight())},this._handleWaiting=()=>{this.waitingTimestamp=this._controller?.currentTime(),this.state=`waiting`},this._handleXHRhooksReady=()=>{this._controller?.tech(!0)?.vhs.xhr.onRequest(e=>(e.xhr=new c,e))},this._updateSensorModel=()=>{this.currentMetadata?.size&&(this.sensorModel?this.sensorModel.updateSensorModel(this.currentMetadata):this.sensorModel=new d({videoMetadata:this.currentMetadata}))},this._setLivestreamStatus=()=>{if(!this.isLive){this.livestreamStatus=null;return}this._controller?.liveTracker.isTracking()||this._controller?.liveTracker.startTracking();let e={atLiveEdge:this._controller?.liveTracker.atLiveEdge()??null,behindLiveEdge:this._controller?.liveTracker.behindLiveEdge()??null,liveCurrentTime:this._controller?.liveTracker?.liveCurrentTime()??null,liveWindow:this._controller?.liveTracker?.liveWindow()??null,pastSeekEnd:this._controller?.liveTracker?.pastSeekEnd()??null,seekableEnd:this._controller?.liveTracker?.seekableEnd()??null,seekableStart:this._controller?.liveTracker?.seekableStart()??null};this.livestreamStatus={...e},this.notifyChange(`livestreamStatus`),this._controller?.liveTracker.handlePlay(),this._controller?.liveTracker.handleFirstTimeupdate()}}initialize(){this.addHandles([a(()=>this.playerUrl,e=>{e&&this._initController().then(()=>{this.mimeType=m(e),this._controller?.src({src:this.playerUrl,type:this.mimeType})})},o),a(()=>this.subtitleTrack,()=>{this.subtitleTrack&&(this.subtitleTrack.mode=`showing`)},o),a(()=>this.isLive,async e=>{e&&(this._controller?.liveTracker.startTracking(),this.autoplay&&(this.muted=!0,await this.play()))}),a(()=>this.currentMetadata,()=>this._updateSensorModel())]),this.addHandles(s(()=>this.subtitleTrack,`cuechange`,this._handleCueChange),o)}destroy(){this.removeAllHandles(),this._controller?.dispose()}get buffered(){return this._controller?.bufferedEnd()??0}get bufferedPercent(){return this._controller?.bufferedPercent()??0}get crossOrigin(){return this._controller?.crossOrigin()??this._get(`crossOrigin`)}set crossOrigin(e){this._controller?.crossOrigin(e),this._set(`crossOrigin`,e)}get currentTime(){return this._controller?.currentTime()??0}get duration(){return this._controller?.duration()??0}get ended(){return this._controller?.ended()??this._get(`ended`)??!0}set ended(e){this._controller?.trigger(`ended`),this._set(`ended`,e)}get loop(){return this._controller?.loop()??this._get(`loop`)??!1}set loop(e){this._controller?.loop(e),this._set(`loop`,e)}get muted(){return this._controller?.muted()??this._get(`muted`)??!1}set muted(e){this._controller?.muted(e),this._set(`muted`,e)}get playerUrl(){return this._controller?.src()||``}set playerUrl(e){this._set(`playerUrl`,e)}get playing(){return this.ended?!1:this.state===`can-play`?this._prevPlayingState:this.state===`playing`}get playsInline(){return this._controller?.playsinline()??this._get(`playsInline`)??!1}set playsInline(e){this._controller?.playsinline(e),this._set(`playsInline`,e)}get rate(){return this._controller?.playbackRate()??this._get(`rate`)??1}set rate(e){this._controller?.playbackRate(e),this._set(`rate`,e)}get startMode(){return this._controller?.preload()??this._get(`startMode`)??`auto`}set startMode(e){this._controller?.preload(e),this._set(`startMode`,e)}get subtitleTrack(){let e=this._controller?.textTracks();return e?.length?Array.from(e).find(e=>e.kind===`subtitles`):null}get volume(){return this._controller?.volume()??0}set volume(e){let t=i(e,0,1);isNaN(t)||this._controller?.volume(t)}get waiting(){return this.waitingTimestamp?!1:this.waitingTimestamp===this.currentTime||(this.waitingTimestamp=null,!1)}pause(){this._controller?.pause(),this.state=`paused`}async play(){try{!this.started&&this.isLive&&this._controller?.muted(!0),await this._controller?.play(),this.state=`playing`}catch{}}reset(){this._controller&&(this._prevPlayingState=!1,this._retryCount=0,this._set(`started`,!1),this.setCurrentTime(0),this.notifyChange(`buffered`),this.notifyChange(`currentTime`),this.notifyChange(`duration`),this.notifyChange(`waiting`),this._controller?.trigger(`can-play`),this.autoplay||this._controller?.pause())}seekToLiveEdge(){this.isLive?this.state===`playing`&&this._controller?.liveTracker.isTracking()&&this._controller?.liveTracker.seekToLiveEdge():r.getLogger(this).info(`seekToLiveEdge method is only available for livestream playback.`)}setCurrentTime(e){let t=i(e,0,this.duration);this._controller?.currentTime(t),this.notifyChange(`currentTime`)}};e([l()],$.prototype,`autoplay`,void 0),e([l()],$.prototype,`buffered`,null),e([l()],$.prototype,`bufferedPercent`,null),e([l()],$.prototype,`crossOrigin`,null),e([l({readOnly:!0})],$.prototype,`currentTime`,null),e([l()],$.prototype,`currentMetadata`,void 0),e([l({readOnly:!0})],$.prototype,`duration`,null),e([l()],$.prototype,`element`,void 0),e([l({readOnly:!0})],$.prototype,`ended`,null),e([l()],$.prototype,`isLive`,void 0),e([l()],$.prototype,`livestreamStatus`,void 0),e([l()],$.prototype,`loop`,null),e([l()],$.prototype,`mimeType`,void 0),e([l()],$.prototype,`muted`,null),e([l()],$.prototype,`playerUrl`,null),e([l({readOnly:!0})],$.prototype,`playing`,null),e([l()],$.prototype,`playsInline`,null),e([l()],$.prototype,`rate`,null),e([l()],$.prototype,`sensorModel`,void 0),e([l({readOnly:!0})],$.prototype,`started`,void 0),e([l()],$.prototype,`startMode`,null),e([l()],$.prototype,`state`,void 0),e([l()],$.prototype,`subtitleTrack`,null),e([l({readOnly:!0})],$.prototype,`videoHeight`,void 0),e([l({readOnly:!0})],$.prototype,`videoWidth`,void 0),e([l()],$.prototype,`volume`,null),e([l({readOnly:!0})],$.prototype,`waiting`,null),e([l()],$.prototype,`waitingTimestamp`,void 0),$=e([u(`esri.layers.video.VideoController`)],$);export{$ as default};
200
+ `,a=n,o=t;this.start_=a,e.forEach((e,t)=>{let n=this.storage_.get(o),s=a,c=s+e.duration,l=!!(n&&n.segmentSyncInfo&&n.segmentSyncInfo.isAppended),u=new hm({start:s,end:c,appended:l,segmentIndex:t});e.syncInfo=u;let d=a,f=(e.parts||[]).map((e,r)=>{let a=d,s=d+e.duration,c=!!(n&&n.partsSyncInfo&&n.partsSyncInfo[r]&&n.partsSyncInfo[r].isAppended),l=new hm({start:a,end:s,appended:c,segmentIndex:t,partIndex:r});return d=s,i+=`Media Sequence: ${o}.${r} | Range: ${a} --> ${s} | Appended: ${c}\n`,e.syncInfo=l,l});r.set(o,new gm(u,f)),i+=`${vp(e.resolvedUri)} | Media Sequence: ${o} | Range: ${s} --> ${c} | Appended: ${l}\n`,o++,a=c}),this.end_=a,this.storage_=r,this.diagnostics_=i}calculateBaseTime_(e,t,n){if(!this.storage_.size)return 0;if(this.storage_.has(e))return this.storage_.get(e).segmentSyncInfo.start;let r=Math.min(...this.storage_.keys());if(e<r){let n=r-e,i=this.storage_.get(r).segmentSyncInfo.start;for(let e=0;e<n;e++){let n=t[e];i-=n.duration}return i}return n}isReliablePlaylist_(e,t){return e!=null&&Array.isArray(t)&&t.length}}class vm extends _m{constructor(e){super(),this.parent_=e}calculateBaseTime_(e,t,n){if(!this.storage_.size){let t=this.parent_.getSyncInfoForMediaSequence(e);return t?t.segmentSyncInfo.start:0}return super.calculateBaseTime_(e,t,n)}}const ym=[{name:`VOD`,run:(e,t,n,r,i)=>n===1/0?null:{time:0,segmentIndex:0,partIndex:null}},{name:`MediaSequence`,run:(e,t,n,r,i,a)=>{let o=e.getMediaSequenceSync(a);if(!o||!o.isReliable)return null;let s=o.getSyncInfoForTime(i);return s?{time:s.start,partIndex:s.partIndex,segmentIndex:s.segmentIndex}:null}},{name:`ProgramDateTime`,run:(e,t,n,r,i)=>{if(!Object.keys(e.timelineToDatetimeMappings).length)return null;let a=null,o=null,s=Ru(t);i||=0;for(let n=0;n<s.length;n++){let r=s[t.endList||i===0?n:s.length-(n+1)],c=r.segment,l=e.timelineToDatetimeMappings[c.timeline];if(!l||!c.dateTimeObject)continue;let u=c.dateTimeObject.getTime()/1e3+l;if(c.parts&&typeof r.partIndex==`number`)for(let e=0;e<r.partIndex;e++)u+=c.parts[e].duration;let d=Math.abs(i-u);if(o!==null&&(d===0||o<d))break;o=d,a={time:u,segmentIndex:r.segmentIndex,partIndex:r.partIndex}}return a}},{name:`Segment`,run:(e,t,n,r,i)=>{let a=null,o=null;i||=0;let s=Ru(t);for(let e=0;e<s.length;e++){let n=s[t.endList||i===0?e:s.length-(e+1)],c=n.segment,l=n.part&&n.part.start||c&&c.start;if(c.timeline===r&&l!==void 0){let e=Math.abs(i-l);if(o!==null&&o<e)break;(!a||o===null||o>=e)&&(o=e,a={time:l,segmentIndex:n.segmentIndex,partIndex:n.partIndex})}}return a}},{name:`Discontinuity`,run:(e,t,n,r,i)=>{let a=null;if(i||=0,t.discontinuityStarts&&t.discontinuityStarts.length){let n=null;for(let r=0;r<t.discontinuityStarts.length;r++){let o=t.discontinuityStarts[r],s=t.discontinuitySequence+r+1,c=e.discontinuities[s];if(c){let e=Math.abs(i-c.time);if(n!==null&&n<e)break;(!a||n===null||n>=e)&&(n=e,a={time:c.time,segmentIndex:o,partIndex:null})}}}return a}},{name:`Playlist`,run:(e,t,n,r,i)=>t.syncInfo?{time:t.syncInfo.time,segmentIndex:t.syncInfo.mediaSequence-t.mediaSequence,partIndex:null}:null}];class bm extends Z.EventTarget{constructor(e={}){super(),this.timelines=[],this.discontinuities=[],this.timelineToDatetimeMappings={};let t=new _m,n=new vm(t),r=new vm(t);this.mediaSequenceStorage_={main:t,audio:n,vtt:r},this.logger_=xu(`SyncController`)}getMediaSequenceSync(e){return this.mediaSequenceStorage_[e]||null}getSyncPoint(e,t,n,r,i){if(t!==1/0)return ym.find(({name:e})=>e===`VOD`).run(this,e,t);let a=this.runStrategies_(e,t,n,r,i);if(!a.length)return null;for(let t of a){let{syncPoint:n,strategy:i}=t,{segmentIndex:a,time:o}=n;if(a<0)continue;let s=e.segments[a],c=o,l=c+s.duration;if(this.logger_(`Strategy: ${i}. Current time: ${r}. selected segment: ${a}. Time: [${c} -> ${l}]}`),r>=c&&r<l)return this.logger_(`Found sync point with exact match: `,n),n}return this.selectSyncPoint_(a,{key:`time`,value:r})}getExpiredTime(e,t){if(!e||!e.segments)return null;let n=this.runStrategies_(e,t,e.discontinuitySequence,0);if(!n.length)return null;let r=this.selectSyncPoint_(n,{key:`segmentIndex`,value:0});return r.segmentIndex>0&&(r.time*=-1),Math.abs(r.time+Ku({defaultDuration:e.targetDuration,durationList:e.segments,startIndex:r.segmentIndex,endIndex:0}))}runStrategies_(e,t,n,r,i){let a=[];for(let o=0;o<ym.length;o++){let s=ym[o],c=s.run(this,e,t,n,r,i);c&&(c.strategy=s.name,a.push({strategy:s.name,syncPoint:c}))}return a}selectSyncPoint_(e,t){let n=e[0].syncPoint,r=Math.abs(e[0].syncPoint[t.key]-t.value),i=e[0].strategy;for(let a=1;a<e.length;a++){let o=Math.abs(e[a].syncPoint[t.key]-t.value);o<r&&(r=o,n=e[a].syncPoint,i=e[a].strategy)}return this.logger_(`syncPoint for [${t.key}: ${t.value}] chosen with strategy [${i}]: [time:${n.time}, segmentIndex:${n.segmentIndex}`+(typeof n.partIndex==`number`?`,partIndex:${n.partIndex}`:``)+`]`),n}saveExpiredSegmentInfo(e,t){let n=t.mediaSequence-e.mediaSequence;if(n>86400)Z.log.warn(`Not saving expired segment info. Media sequence gap ${n} is too large.`);else for(let r=n-1;r>=0;r--){let n=e.segments[r];if(n&&n.start!==void 0){t.syncInfo={mediaSequence:e.mediaSequence+r,time:n.start},this.logger_(`playlist refresh sync: [time:${t.syncInfo.time}, mediaSequence: ${t.syncInfo.mediaSequence}]`),this.trigger(`syncinfoupdate`);break}}}setDateTimeMappingForStart(e){if(this.timelineToDatetimeMappings={},e.segments&&e.segments.length&&e.segments[0].dateTimeObject){let t=e.segments[0],n=t.dateTimeObject.getTime()/1e3;this.timelineToDatetimeMappings[t.timeline]=-n}}saveSegmentTimingInfo({segmentInfo:e,shouldSaveTimelineMapping:t}){let n=this.calculateSegmentTimeMapping_(e,e.timingInfo,t),r=e.segment;n&&(this.saveDiscontinuitySyncInfo_(e),e.playlist.syncInfo||(e.playlist.syncInfo={mediaSequence:e.playlist.mediaSequence+e.mediaIndex,time:r.start}));let i=r.dateTimeObject;r.discontinuity&&t&&i&&(this.timelineToDatetimeMappings[r.timeline]=-(i.getTime()/1e3))}timestampOffsetForTimeline(e){return this.timelines[e]===void 0?null:this.timelines[e].time}mappingForTimeline(e){return this.timelines[e]===void 0?null:this.timelines[e].mapping}calculateSegmentTimeMapping_(e,t,n){let r=e.segment,i=e.part,a=this.timelines[e.timeline],o,s;if(typeof e.timestampOffset==`number`)a={time:e.startOfSegment,mapping:e.startOfSegment-t.start},n&&(this.timelines[e.timeline]=a,this.trigger(`timestampoffset`),this.logger_(`time mapping for timeline ${e.timeline}: [time: ${a.time}] [mapping: ${a.mapping}]`)),o=e.startOfSegment,s=t.end+a.mapping;else if(a)o=t.start+a.mapping,s=t.end+a.mapping;else return!1;return i&&(i.start=o,i.end=s),(!r.start||o<r.start)&&(r.start=o),r.end=s,!0}saveDiscontinuitySyncInfo_(e){let t=e.playlist,n=e.segment;if(n.discontinuity)this.discontinuities[n.timeline]={time:n.start,accuracy:0};else if(t.discontinuityStarts&&t.discontinuityStarts.length)for(let r=0;r<t.discontinuityStarts.length;r++){let i=t.discontinuityStarts[r],a=t.discontinuitySequence+r+1,o=i-e.mediaIndex,s=Math.abs(o);if(!this.discontinuities[a]||this.discontinuities[a].accuracy>s){let r;r=o<0?n.start-Ku({defaultDuration:t.targetDuration,durationList:t.segments,startIndex:e.mediaIndex,endIndex:i}):n.end+Ku({defaultDuration:t.targetDuration,durationList:t.segments,startIndex:e.mediaIndex+1,endIndex:i}),this.discontinuities[a]={time:r,accuracy:s}}}}dispose(){this.trigger(`dispose`),this.off()}}class xm extends Z.EventTarget{constructor(){super(),this.pendingTimelineChanges_={},this.lastTimelineChanges_={}}clearPendingTimelineChange(e){this.pendingTimelineChanges_[e]=null,this.trigger(`pendingtimelinechange`)}pendingTimelineChange({type:e,from:t,to:n}){return typeof t==`number`&&typeof n==`number`&&(this.pendingTimelineChanges_[e]={type:e,from:t,to:n},this.trigger(`pendingtimelinechange`)),this.pendingTimelineChanges_[e]}lastTimelineChange({type:e,from:t,to:n}){if(typeof t==`number`&&typeof n==`number`){this.lastTimelineChanges_[e]={type:e,from:t,to:n},delete this.pendingTimelineChanges_[e];let r={timelineChangeInfo:{from:t,to:n}};this.trigger({type:`timelinechange`,metadata:r})}return this.lastTimelineChanges_[e]}dispose(){this.trigger(`dispose`),this.pendingTimelineChanges_={},this.lastTimelineChanges_={},this.off()}}var Sm=wf(Tf(Ef(function(){var e=function(){function e(){this.listeners={}}var t=e.prototype;return t.on=function(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)},t.off=function(e,t){if(!this.listeners[e])return!1;var n=this.listeners[e].indexOf(t);return this.listeners[e]=this.listeners[e].slice(0),this.listeners[e].splice(n,1),n>-1},t.trigger=function(e){var t=this.listeners[e];if(t){if(arguments.length===2)for(var n=t.length,r=0;r<n;++r)t[r].call(this,arguments[1]);else for(var i=Array.prototype.slice.call(arguments,1),a=t.length,o=0;o<a;++o)t[o].apply(this,i)}},t.dispose=function(){this.listeners={}},t.pipe=function(e){this.on(`data`,function(t){e.push(t)})},e}();function t(e){return e.subarray(0,e.byteLength-e[e.byteLength-1])}let n=function(){let e=[[[],[],[],[],[]],[[],[],[],[],[]]],t=e[0],n=e[1],r=t[4],i=n[4],a,o,s,c=[],l=[],u,d,f,p,m,h;for(a=0;a<256;a++)l[(c[a]=a<<1^(a>>7)*283)^a]=a;for(o=s=0;!r[o];o^=u||1,s=l[s]||1)for(p=s^s<<1^s<<2^s<<3^s<<4,p=p>>8^p&255^99,r[o]=p,i[p]=o,f=c[d=c[u=c[o]]],h=f*16843009^d*65537^u*257^o*16843008,m=c[p]*257^p*16843008,a=0;a<4;a++)t[a][o]=m=m<<24^m>>>8,n[a][p]=h=h<<24^h>>>8;for(a=0;a<5;a++)t[a]=t[a].slice(0),n[a]=n[a].slice(0);return e},r=null;class i{constructor(e){r||=n(),this._tables=[[r[0][0].slice(),r[0][1].slice(),r[0][2].slice(),r[0][3].slice(),r[0][4].slice()],[r[1][0].slice(),r[1][1].slice(),r[1][2].slice(),r[1][3].slice(),r[1][4].slice()]];let t,i,a,o=this._tables[0][4],s=this._tables[1],c=e.length,l=1;if(c!==4&&c!==6&&c!==8)throw Error(`Invalid aes key size`);let u=e.slice(0),d=[];for(this._key=[u,d],t=c;t<4*c+28;t++)a=u[t-1],(t%c===0||c===8&&t%c===4)&&(a=o[a>>>24]<<24^o[a>>16&255]<<16^o[a>>8&255]<<8^o[a&255],t%c===0&&(a=a<<8^a>>>24^l<<24,l=l<<1^(l>>7)*283)),u[t]=u[t-c]^a;for(i=0;t;i++,t--)a=u[i&3?t:t-4],t<=4||i<4?d[i]=a:d[i]=s[0][o[a>>>24]]^s[1][o[a>>16&255]]^s[2][o[a>>8&255]]^s[3][o[a&255]]}decrypt(e,t,n,r,i,a){let o=this._key[1],s=e^o[0],c=r^o[1],l=n^o[2],u=t^o[3],d,f,p,m=o.length/4-2,h,g=4,_=this._tables[1],v=_[0],y=_[1],b=_[2],x=_[3],S=_[4];for(h=0;h<m;h++)d=v[s>>>24]^y[c>>16&255]^b[l>>8&255]^x[u&255]^o[g],f=v[c>>>24]^y[l>>16&255]^b[u>>8&255]^x[s&255]^o[g+1],p=v[l>>>24]^y[u>>16&255]^b[s>>8&255]^x[c&255]^o[g+2],u=v[u>>>24]^y[s>>16&255]^b[c>>8&255]^x[l&255]^o[g+3],g+=4,s=d,c=f,l=p;for(h=0;h<4;h++)i[(3&-h)+a]=S[s>>>24]<<24^S[c>>16&255]<<16^S[l>>8&255]<<8^S[u&255]^o[g++],d=s,s=c,c=l,l=u,u=d}}class a extends e{constructor(){super(e),this.jobs=[],this.delay=1,this.timeout_=null}processJob_(){this.jobs.shift()(),this.timeout_=this.jobs.length?setTimeout(this.processJob_.bind(this),this.delay):null}push(e){this.jobs.push(e),this.timeout_||=setTimeout(this.processJob_.bind(this),this.delay)}}let o=function(e){return e<<24|(e&65280)<<8|(e&16711680)>>8|e>>>24},s=function(e,t,n){let r=new Int32Array(e.buffer,e.byteOffset,e.byteLength>>2),a=new i(Array.prototype.slice.call(t)),s=new Uint8Array(e.byteLength),c=new Int32Array(s.buffer),l,u,d,f,p,m,h,g,_;for(l=n[0],u=n[1],d=n[2],f=n[3],_=0;_<r.length;_+=4)p=o(r[_]),m=o(r[_+1]),h=o(r[_+2]),g=o(r[_+3]),a.decrypt(p,m,h,g,c,_),c[_]=o(c[_]^l),c[_+1]=o(c[_+1]^u),c[_+2]=o(c[_+2]^d),c[_+3]=o(c[_+3]^f),l=p,u=m,d=h,f=g;return s};class c{constructor(e,n,r,i){let s=c.STEP,l=new Int32Array(e.buffer),u=new Uint8Array(e.byteLength),d=0;for(this.asyncStream_=new a,this.asyncStream_.push(this.decryptChunk_(l.subarray(d,d+s),n,r,u)),d=s;d<l.length;d+=s)r=new Uint32Array([o(l[d-4]),o(l[d-3]),o(l[d-2]),o(l[d-1])]),this.asyncStream_.push(this.decryptChunk_(l.subarray(d,d+s),n,r,u));this.asyncStream_.push(function(){i(null,t(u))})}static get STEP(){return 32e3}decryptChunk_(e,t,n,r){return function(){let i=s(e,t,n);r.set(i,e.byteOffset)}}}var l=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},u=typeof window<`u`?window:l===void 0?typeof self<`u`?self:{}:l,d=function(e){return ArrayBuffer.isView===`function`?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer},f=u.BigInt||Number;f(`0x1`),f(`0x100`),f(`0x10000`),f(`0x1000000`),f(`0x100000000`),f(`0x10000000000`),f(`0x1000000000000`),f(`0x100000000000000`),f(`0x10000000000000000`),(function(){var e=new Uint16Array([65484]),t=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return t[0]===255?`big`:t[0]===204?`little`:`unknown`})();let p=function(e){let t={};return Object.keys(e).forEach(n=>{let r=e[n];d(r)?t[n]={bytes:r.buffer,byteOffset:r.byteOffset,byteLength:r.byteLength}:t[n]=r}),t};self.onmessage=function(e){let t=e.data,n=new Uint8Array(t.encrypted.bytes,t.encrypted.byteOffset,t.encrypted.byteLength),r=new Uint32Array(t.key.bytes,t.key.byteOffset,t.key.byteLength/4),i=new Uint32Array(t.iv.bytes,t.iv.byteOffset,t.iv.byteLength/4);new c(n,r,i,function(e,n){self.postMessage(p({source:t.source,decrypted:n}),[n.buffer])})}})));const Cm=e=>{let t=e.default?`main`:`alternative`;return e.characteristics&&e.characteristics.indexOf(`public.accessibility.describes-video`)>=0&&(t=`main-desc`),t},wm=(e,t)=>{e.abort(),e.pause(),t&&t.activePlaylistLoader&&(t.activePlaylistLoader.pause(),t.activePlaylistLoader=null)},Tm=(e,t)=>{t.activePlaylistLoader=e,e.load()},Em=(e,t)=>()=>{let{segmentLoaders:{[e]:n,main:r},mediaTypes:{[e]:i}}=t,a=i.activeTrack(),o=i.getActiveGroup(),s=i.activePlaylistLoader,c=i.lastGroup_;o&&c&&o.id===c.id||(i.lastGroup_=o,i.lastTrack_=a,wm(n,i),o&&!o.isMainPlaylist&&(o.playlistLoader?(n.resyncLoader(),Tm(o.playlistLoader,i)):s&&r.resetEverything()))},Dm=(e,t)=>()=>{let{segmentLoaders:{[e]:n},mediaTypes:{[e]:r}}=t;r.lastGroup_=null,n.abort(),n.pause()},Om=(e,t)=>()=>{let{mainPlaylistLoader:n,segmentLoaders:{[e]:r,main:i},mediaTypes:{[e]:a}}=t,o=a.activeTrack(),s=a.getActiveGroup(),c=a.activePlaylistLoader,l=a.lastTrack_;if(!(l&&o&&l.id===o.id)&&(a.lastGroup_=s,a.lastTrack_=o,wm(r,a),s)){if(s.isMainPlaylist){if(!o||!l||o.id===l.id)return;let e=t.vhs.playlistController_,r=e.selectPlaylist();if(e.media()===r)return;a.logger_(`track change. Switching main audio from ${l.id} to ${o.id}`),n.pause(),i.resetEverything(),e.fastQualityChange_(r)}else{if(e===`AUDIO`){if(!s.playlistLoader){i.setAudio(!0),i.resetEverything();return}r.setAudio(!0),i.setAudio(!1)}c===s.playlistLoader||(r.track&&r.track(o),r.resetEverything()),Tm(s.playlistLoader,a)}}},km={AUDIO:(e,t)=>()=>{let{mediaTypes:{[e]:n},excludePlaylist:r}=t,i=n.activeTrack(),a=n.activeGroup(),o=(a.filter(e=>e.default)[0]||a[0]).id,s=n.tracks[o];if(i===s)r({error:{message:`Problem encountered loading the default audio track.`}});else{Z.log.warn(`Problem encountered loading the alternate audio track.Switching back to default.`);for(let e in n.tracks)n.tracks[e].enabled=n.tracks[e]===s;n.onTrackChanged()}},SUBTITLES:(e,t)=>()=>{let{mediaTypes:{[e]:n}}=t;Z.log.warn(`Problem encountered loading the subtitle track.Disabling subtitle track.`);let r=n.activeTrack();r&&(r.mode=`disabled`),n.onTrackChanged()}},Am={AUDIO:(e,t,n)=>{if(!t)return;let{tech:r,requestOptions:i,segmentLoaders:{[e]:a}}=n;t.on(`loadedmetadata`,()=>{let e=t.media();a.playlist(e,i),(!r.paused()||e.endList&&r.preload()!==`none`)&&a.load()}),t.on(`loadedplaylist`,()=>{a.playlist(t.media(),i),r.paused()||a.load()}),t.on(`error`,km[e](e,n))},SUBTITLES:(e,t,n)=>{let{tech:r,requestOptions:i,segmentLoaders:{[e]:a},mediaTypes:{[e]:o}}=n;t.on(`loadedmetadata`,()=>{let e=t.media();a.playlist(e,i),a.track(o.activeTrack()),(!r.paused()||e.endList&&r.preload()!==`none`)&&a.load()}),t.on(`loadedplaylist`,()=>{a.playlist(t.media(),i),r.paused()||a.load()}),t.on(`error`,km[e](e,n))}},jm={AUDIO:(e,t)=>{let{vhs:n,sourceType:r,segmentLoaders:{[e]:i},requestOptions:a,main:{mediaGroups:o},mediaTypes:{[e]:{groups:s,tracks:c,logger_:l}},mainPlaylistLoader:u}=t,d=od(u.main);o[e]&&Object.keys(o[e]).length!==0||(o[e]={main:{default:{default:!0}}},d&&(o[e].main.default.playlists=u.main.playlists));for(let i in o[e]){s[i]||(s[i]=[]);for(let f in o[e][i]){let p=o[e][i][f],m;d?(l(`AUDIO group '${i}' label '${f}' is a main playlist`),p.isMainPlaylist=!0,m=null):m=r===`vhs-json`&&p.playlists?new Ld(p.playlists[0],n,a):p.resolvedUri?new Ld(p.resolvedUri,n,a):p.playlists&&r===`dash`?new yf(p.playlists[0],n,a,u):null,p=Q({id:f,playlistLoader:m},p),Am[e](e,p.playlistLoader,t),s[i].push(p),c[f]===void 0&&(c[f]=new Z.AudioTrack({id:f,kind:Cm(p),enabled:!1,language:p.language,default:p.default,label:f}))}}i.on(`error`,km[e](e,t))},SUBTITLES:(e,t)=>{let{tech:n,vhs:r,sourceType:i,segmentLoaders:{[e]:a},requestOptions:o,main:{mediaGroups:s},mediaTypes:{[e]:{groups:c,tracks:l}},mainPlaylistLoader:u}=t;for(let a in s[e]){c[a]||(c[a]=[]);for(let d in s[e][a]){if(!r.options_.useForcedSubtitles&&s[e][a][d].forced)continue;let f=s[e][a][d],p;if(i===`hls`)p=new Ld(f.resolvedUri,r,o);else if(i===`dash`){if(!f.playlists.filter(e=>e.excludeUntil!==1/0).length)return;p=new yf(f.playlists[0],r,o,u)}else i===`vhs-json`&&(p=new Ld(f.playlists?f.playlists[0]:f.resolvedUri,r,o));f=Q({id:d,playlistLoader:p},f),Am[e](e,f.playlistLoader,t),c[a].push(f),l[d]===void 0&&(l[d]=n.addRemoteTextTrack({id:d,kind:`subtitles`,default:f.default&&f.autoselect,language:f.language,label:d},!1).track)}}a.on(`error`,km[e](e,t))},"CLOSED-CAPTIONS":(e,t)=>{let{tech:n,main:{mediaGroups:r},mediaTypes:{[e]:{groups:i,tracks:a}}}=t;for(let t in r[e]){i[t]||(i[t]=[]);for(let o in r[e][t]){let s=r[e][t][o];if(!/^(?:CC|SERVICE)/.test(s.instreamId))continue;let c=n.options_.vhs&&n.options_.vhs.captionServices||{},l={label:o,language:s.language,instreamId:s.instreamId,default:s.default&&s.autoselect};c[l.instreamId]&&(l=Q(l,c[l.instreamId])),l.default===void 0&&delete l.default,i[t].push(Q({id:o},s)),a[o]===void 0&&(a[o]=n.addRemoteTextTrack({id:l.instreamId,kind:`captions`,default:l.default,language:l.language,label:l.label},!1).track)}}}},Mm=(e,t)=>{for(let n=0;n<e.length;n++)if(id(t,e[n])||e[n].playlists&&Mm(e[n].playlists,t))return!0;return!1},Nm=(e,t)=>n=>{let{mainPlaylistLoader:r,mediaTypes:{[e]:{groups:i}}}=t,a=r.media();if(!a)return null;let o=null;a.attributes[e]&&(o=i[a.attributes[e]]);let s=Object.keys(i);if(!o){if(e===`AUDIO`&&s.length>1&&od(t.main))for(let e=0;e<s.length;e++){let t=i[s[e]];if(Mm(t,a)){o=t;break}}else i.main?o=i.main:s.length===1&&(o=i[s[0]])}return n===void 0?o:n===null||!o?null:o.filter(e=>e.id===n.id)[0]||null},Pm={AUDIO:(e,t)=>()=>{let{mediaTypes:{[e]:{tracks:n}}}=t;for(let e in n)if(n[e].enabled)return n[e];return null},SUBTITLES:(e,t)=>()=>{let{mediaTypes:{[e]:{tracks:n}}}=t;for(let e in n)if(n[e].mode===`showing`||n[e].mode===`hidden`)return n[e];return null}},Fm=(e,{mediaTypes:t})=>()=>{let n=t[e].activeTrack();return n?t[e].activeGroup(n):null},Im=e=>{[`AUDIO`,`SUBTITLES`,`CLOSED-CAPTIONS`].forEach(t=>{jm[t](t,e)});let{mediaTypes:t,mainPlaylistLoader:n,tech:r,vhs:i,segmentLoaders:{AUDIO:a,main:o}}=e;[`AUDIO`,`SUBTITLES`].forEach(n=>{t[n].activeGroup=Nm(n,e),t[n].activeTrack=Pm[n](n,e),t[n].onGroupChanged=Em(n,e),t[n].onGroupChanging=Dm(n,e),t[n].onTrackChanged=Om(n,e),t[n].getActiveGroup=Fm(n,e)});let s=t.AUDIO.activeGroup();if(s){let e=(s.filter(e=>e.default)[0]||s[0]).id;t.AUDIO.tracks[e].enabled=!0,t.AUDIO.onGroupChanged(),t.AUDIO.onTrackChanged(),t.AUDIO.getActiveGroup().playlistLoader?(o.setAudio(!1),a.setAudio(!0)):o.setAudio(!0)}n.on(`mediachange`,()=>{[`AUDIO`,`SUBTITLES`].forEach(e=>t[e].onGroupChanged())}),n.on(`mediachanging`,()=>{[`AUDIO`,`SUBTITLES`].forEach(e=>t[e].onGroupChanging())});let c=()=>{t.AUDIO.onTrackChanged(),r.trigger({type:`usage`,name:`vhs-audio-change`})};r.audioTracks().addEventListener(`change`,c),r.remoteTextTracks().addEventListener(`change`,t.SUBTITLES.onTrackChanged),i.on(`dispose`,()=>{r.audioTracks().removeEventListener(`change`,c),r.remoteTextTracks().removeEventListener(`change`,t.SUBTITLES.onTrackChanged)}),r.clearTracks(`audio`);for(let e in t.AUDIO.tracks)r.audioTracks().addTrack(t.AUDIO.tracks[e])},Lm=()=>{let e={};return[`AUDIO`,`SUBTITLES`,`CLOSED-CAPTIONS`].forEach(t=>{e[t]={groups:{},tracks:{},activePlaylistLoader:null,activeGroup:Xp,activeTrack:Xp,getActiveGroup:Xp,onGroupChanged:Xp,onTrackChanged:Xp,lastTrack_:null,logger_:xu(`MediaGroups[${t}]`)}}),e};class Rm{constructor(){this.priority_=[],this.pathwayClones_=new Map}set version(e){e===1&&(this.version_=e)}set ttl(e){this.ttl_=e||300}set reloadUri(e){e&&(this.reloadUri_=yu(this.reloadUri_,e))}set priority(e){e&&e.length&&(this.priority_=e)}set pathwayClones(e){e&&e.length&&(this.pathwayClones_=new Map(e.map(e=>[e.ID,e])))}get version(){return this.version_}get ttl(){return this.ttl_}get reloadUri(){return this.reloadUri_}get priority(){return this.priority_}get pathwayClones(){return this.pathwayClones_}}class zm extends Z.EventTarget{constructor(e,t){super(),this.currentPathway=null,this.defaultPathway=null,this.queryBeforeStart=!1,this.availablePathways_=new Set,this.steeringManifest=new Rm,this.proxyServerUrl_=null,this.manifestType_=null,this.ttlTimeout_=null,this.request_=null,this.currentPathwayClones=new Map,this.nextPathwayClones=new Map,this.excludedSteeringManifestURLs=new Set,this.logger_=xu(`Content Steering`),this.xhr_=e,this.getBandwidth_=t}assignTagProperties(e,t){this.manifestType_=t.serverUri?`HLS`:`DASH`;let n=t.serverUri||t.serverURL;n?n.startsWith(`data:`)?this.decodeDataUriManifest_(n.substring(n.indexOf(`,`)+1)):(this.steeringManifest.reloadUri=yu(e,n),this.defaultPathway=t.pathwayId||t.defaultServiceLocation,this.queryBeforeStart=t.queryBeforeStart,this.proxyServerUrl_=t.proxyServerURL,this.defaultPathway&&!this.queryBeforeStart&&this.trigger(`content-steering`)):(this.logger_(`steering manifest URL is ${n}, cannot request steering manifest.`),this.trigger(`error`))}requestSteeringManifest(e){let t=this.steeringManifest.reloadUri;if(!t)return;let n=e?t:this.getRequestURI(t);if(!n){this.logger_(`No valid content steering manifest URIs. Stopping content steering.`),this.trigger(`error`),this.dispose();return}let r={contentSteeringInfo:{uri:n}};this.trigger({type:`contentsteeringloadstart`,metadata:r}),this.request_=this.xhr_({uri:n,requestType:`content-steering-manifest`},(e,t)=>{if(e){if(t.status===410){this.logger_(`manifest request 410 ${e}.`),this.logger_(`There will be no more content steering requests to ${n} this session.`),this.excludedSteeringManifestURLs.add(n);return}if(t.status===429){let n=t.responseHeaders[`retry-after`];this.logger_(`manifest request 429 ${e}.`),this.logger_(`content steering will retry in ${n} seconds.`),this.startTTLTimeout_(parseInt(n,10));return}this.logger_(`manifest failed to load ${e}.`),this.startTTLTimeout_();return}this.trigger({type:`contentsteeringloadcomplete`,metadata:r});let i;try{i=JSON.parse(this.request_.responseText)}catch(e){let t={errorType:Z.Error.StreamingContentSteeringParserError,error:e};this.trigger({type:`error`,metadata:t})}this.assignSteeringProperties_(i);let a={contentSteeringInfo:r.contentSteeringInfo,contentSteeringManifest:{version:this.steeringManifest.version,reloadUri:this.steeringManifest.reloadUri,priority:this.steeringManifest.priority}};this.trigger({type:`contentsteeringparsed`,metadata:a}),this.startTTLTimeout_()})}setProxyServerUrl_(e){let t=new x.URL(e),n=new x.URL(this.proxyServerUrl_);return n.searchParams.set(`url`,encodeURI(t.toString())),this.setSteeringParams_(n.toString())}decodeDataUriManifest_(e){let t=JSON.parse(x.atob(e));this.assignSteeringProperties_(t)}setSteeringParams_(e){let t=new x.URL(e),n=this.getPathway(),r=this.getBandwidth_();if(n){let e=`_${this.manifestType_}_pathway`;t.searchParams.set(e,n)}if(r){let e=`_${this.manifestType_}_throughput`;t.searchParams.set(e,r)}return t.toString()}assignSteeringProperties_(e){if(this.steeringManifest.version=e.VERSION,!this.steeringManifest.version){this.logger_(`manifest version is ${e.VERSION}, which is not supported.`),this.trigger(`error`);return}this.steeringManifest.ttl=e.TTL,this.steeringManifest.reloadUri=e[`RELOAD-URI`],this.steeringManifest.priority=e[`PATHWAY-PRIORITY`]||e[`SERVICE-LOCATION-PRIORITY`],this.steeringManifest.pathwayClones=e[`PATHWAY-CLONES`],this.nextPathwayClones=this.steeringManifest.pathwayClones,this.availablePathways_.size||(this.logger_(`There are no available pathways for content steering. Ending content steering.`),this.trigger(`error`),this.dispose());let t=(e=>{for(let t of e)if(this.availablePathways_.has(t))return t;return[...this.availablePathways_][0]})(this.steeringManifest.priority);this.currentPathway!==t&&(this.currentPathway=t,this.trigger(`content-steering`))}getPathway(){return this.currentPathway||this.defaultPathway}getRequestURI(e){if(!e)return null;let t=e=>this.excludedSteeringManifestURLs.has(e);if(this.proxyServerUrl_){let n=this.setProxyServerUrl_(e);if(!t(n))return n}let n=this.setSteeringParams_(e);return t(n)?null:n}startTTLTimeout_(e=this.steeringManifest.ttl){let t=e*1e3;this.ttlTimeout_=x.setTimeout(()=>{this.requestSteeringManifest()},t)}clearTTLTimeout_(){x.clearTimeout(this.ttlTimeout_),this.ttlTimeout_=null}abort(){this.request_&&this.request_.abort(),this.request_=null}dispose(){this.off(`content-steering`),this.off(`error`),this.abort(),this.clearTTLTimeout_(),this.currentPathway=null,this.defaultPathway=null,this.queryBeforeStart=null,this.proxyServerUrl_=null,this.manifestType_=null,this.ttlTimeout_=null,this.request_=null,this.excludedSteeringManifestURLs=new Set,this.availablePathways_=new Set,this.steeringManifest=new Rm}addAvailablePathway(e){e&&this.availablePathways_.add(e)}clearAvailablePathways(){this.availablePathways_.clear()}excludePathway(e){return this.availablePathways_.delete(e)}didDASHTagChange(e,t){return!t&&this.steeringManifest.reloadUri||t&&(yu(e,t.serverURL)!==this.steeringManifest.reloadUri||t.defaultServiceLocation!==this.defaultPathway||t.queryBeforeStart!==this.queryBeforeStart||t.proxyServerURL!==this.proxyServerUrl_)}getAvailablePathways(){return this.availablePathways_}}const Bm=(e,t)=>{let n=null;return(...r)=>{clearTimeout(n),n=setTimeout(()=>{e.apply(null,r)},t)}};let Vm;const Hm=[`mediaRequests`,`mediaRequestsAborted`,`mediaRequestsTimedout`,`mediaRequestsErrored`,`mediaTransferDuration`,`mediaBytesTransferred`,`mediaAppends`],Um=function(e){return this.audioSegmentLoader_[e]+this.mainSegmentLoader_[e]},Wm=function({currentPlaylist:e,buffered:t,currentTime:n,nextPlaylist:r,bufferLowWaterLine:i,bufferHighWaterLine:a,duration:o,bufferBasedABR:s,log:c}){if(!r)return Z.log.warn(`We received no playlist to switch to. Please check your stream.`),!1;let l=`allowing switch ${e&&e.id||`null`} -> ${r.id}`;if(!e)return c(`${l} as current playlist is not set`),!0;if(r.id===e.id)return!1;let u=!!Du(t,n).length;if(!e.endList)return!u&&typeof e.partTargetDuration==`number`?(c(`not ${l} as current playlist is live llhls, but currentTime isn't in buffered.`),!1):(c(`${l} as current playlist is live`),!0);let d=Iu(t,n),f=s?bf.EXPERIMENTAL_MAX_BUFFER_LOW_WATER_LINE:bf.MAX_BUFFER_LOW_WATER_LINE;if(o<f)return c(`${l} as duration < max low water line (${o} < ${f})`),!0;let p=r.attributes.BANDWIDTH,m=e.attributes.BANDWIDTH;if(p<m&&(!s||d<a)){let e=`${l} as next bandwidth < current bandwidth (${p} < ${m})`;return s&&(e+=` and forwardBuffer < bufferHighWaterLine (${d} < ${a})`),c(e),!0}if((!s||p>m)&&d>=i){let e=`${l} as forwardBuffer >= bufferLowWaterLine (${d} >= ${i})`;return s&&(e+=` and next bandwidth > current bandwidth (${p} > ${m})`),c(e),!0}return c(`not ${l} as no switching criteria met`),!1};class Gm extends Z.EventTarget{constructor(e){super(),this.fastQualityChange_=Bm(this.fastQualityChange_.bind(this),100);let{src:t,withCredentials:n,tech:r,bandwidth:i,externVhs:a,useCueTags:o,playlistExclusionDuration:s,enableLowInitialPlaylist:c,sourceType:l,cacheEncryptionKeys:u,bufferBasedABR:d,leastPixelDiffSelector:f,captionServices:p,experimentalUseMMS:m}=e;if(!t)throw Error(`A non-empty playlist URL or JSON manifest string is required`);let{maxPlaylistRetries:h}=e;h??=1/0,Vm=a,this.bufferBasedABR=!!d,this.leastPixelDiffSelector=!!f,this.withCredentials=n,this.tech_=r,this.vhs_=r.vhs,this.player_=e.player_,this.sourceType_=l,this.useCueTags_=o,this.playlistExclusionDuration=s,this.maxPlaylistRetries=h,this.enableLowInitialPlaylist=c,this.usingManagedMediaSource_=!1,this.useCueTags_&&(this.cueTagsTrack_=this.tech_.addTextTrack(`metadata`,`ad-cues`),this.cueTagsTrack_.inBandMetadataTrackDispatchType=``),this.requestOptions_={withCredentials:n,maxPlaylistRetries:h,timeout:null},this.on(`error`,this.pauseLoading),this.mediaTypes_=Lm(),m&&x.ManagedMediaSource?(this.tech_.el_.disableRemotePlayback=!0,this.mediaSource=new x.ManagedMediaSource,this.usingManagedMediaSource_=!0,Z.log(`Using ManagedMediaSource`)):x.MediaSource&&(this.mediaSource=new x.MediaSource),this.handleDurationChange_=this.handleDurationChange_.bind(this),this.handleSourceOpen_=this.handleSourceOpen_.bind(this),this.handleSourceEnded_=this.handleSourceEnded_.bind(this),this.load=this.load.bind(this),this.pause=this.pause.bind(this),this.mediaSource.addEventListener(`durationchange`,this.handleDurationChange_),this.mediaSource.addEventListener(`sourceopen`,this.handleSourceOpen_),this.mediaSource.addEventListener(`sourceended`,this.handleSourceEnded_),this.mediaSource.addEventListener(`startstreaming`,this.load),this.mediaSource.addEventListener(`endstreaming`,this.pause),this.seekable_=Su(),this.hasPlayed_=!1,this.syncController_=new bm(e),this.segmentMetadataTrack_=r.addRemoteTextTrack({kind:`metadata`,label:`segment-metadata`},!1).track,this.segmentMetadataTrack_.mode=`hidden`,this.decrypter_=new Sm,this.sourceUpdater_=new sm(this.mediaSource),this.inbandTextTracks_={},this.timelineChangeController_=new xm,this.keyStatusMap_=new Map;let g={vhs:this.vhs_,parse708captions:e.parse708captions,useDtsForTimestampOffset:e.useDtsForTimestampOffset,captionServices:p,mediaSource:this.mediaSource,currentTime:this.tech_.currentTime.bind(this.tech_),seekable:()=>this.seekable(),seeking:()=>this.tech_.seeking(),duration:()=>this.duration(),hasPlayed:()=>this.hasPlayed_,goalBufferLength:()=>this.goalBufferLength(),bandwidth:i,syncController:this.syncController_,decrypter:this.decrypter_,sourceType:this.sourceType_,inbandTextTracks:this.inbandTextTracks_,cacheEncryptionKeys:u,sourceUpdater:this.sourceUpdater_,timelineChangeController:this.timelineChangeController_,exactManifestTimings:e.exactManifestTimings,addMetadataToTextTrack:this.addMetadataToTextTrack.bind(this)};this.mainPlaylistLoader_=this.sourceType_===`dash`?new yf(t,this.vhs_,Q(this.requestOptions_,{addMetadataToTextTrack:this.addMetadataToTextTrack.bind(this)})):new Ld(t,this.vhs_,Q(this.requestOptions_,{addDateRangesToTextTrack:this.addDateRangesToTextTrack_.bind(this)})),this.setupMainPlaylistLoaderListeners_(),this.mainSegmentLoader_=new Yp(Q(g,{segmentMetadataTrack:this.segmentMetadataTrack_,loaderType:`main`}),e),this.audioSegmentLoader_=new Yp(Q(g,{loaderType:`audio`}),e),this.subtitleSegmentLoader_=new fm(Q(g,{loaderType:`vtt`,featuresNativeTextTracks:this.tech_.featuresNativeTextTracks,loadVttJs:()=>new Promise((e,t)=>{function n(){r.off(`vttjserror`,i),e()}function i(){r.off(`vttjsloaded`,n),t()}r.one(`vttjsloaded`,n),r.one(`vttjserror`,i),r.addWebVttScript_()})}),e);let _=()=>this.mainSegmentLoader_.bandwidth;this.contentSteeringController_=new zm(this.vhs_.xhr,_),this.setupSegmentLoaderListeners_(),this.bufferBasedABR&&(this.mainPlaylistLoader_.one(`loadedplaylist`,()=>this.startABRTimer_()),this.tech_.on(`pause`,()=>this.stopABRTimer_()),this.tech_.on(`play`,()=>this.startABRTimer_())),Hm.forEach(e=>{this[e+`_`]=Um.bind(this,e)}),this.logger_=xu(`pc`),this.triggeredFmp4Usage=!1,this.tech_.preload()===`none`?(this.loadOnPlay_=()=>{this.loadOnPlay_=null,this.mainPlaylistLoader_.load()},this.tech_.one(`play`,this.loadOnPlay_)):this.mainPlaylistLoader_.load(),this.timeToLoadedData__=-1,this.mainAppendsToLoadedData__=-1,this.audioAppendsToLoadedData__=-1;let v=this.tech_.preload()===`none`?`play`:`loadstart`;this.tech_.one(v,()=>{let e=Date.now();this.tech_.one(`loadeddata`,()=>{this.timeToLoadedData__=Date.now()-e,this.mainAppendsToLoadedData__=this.mainSegmentLoader_.mediaAppends,this.audioAppendsToLoadedData__=this.audioSegmentLoader_.mediaAppends})})}mainAppendsToLoadedData_(){return this.mainAppendsToLoadedData__}audioAppendsToLoadedData_(){return this.audioAppendsToLoadedData__}appendsToLoadedData_(){let e=this.mainAppendsToLoadedData_(),t=this.audioAppendsToLoadedData_();return e===-1||t===-1?-1:e+t}timeToLoadedData_(){return this.timeToLoadedData__}checkABR_(e=`abr`){let t=this.selectPlaylist();t&&this.shouldSwitchToMedia_(t)&&this.switchMedia_(t,e)}switchMedia_(e,t,n){let r=this.media(),i=r&&(r.id||r.uri),a=e&&(e.id||e.uri);if(i&&i!==a){this.logger_(`switch media ${i} -> ${a} from ${t}`);let n={renditionInfo:{id:a,bandwidth:e.attributes.BANDWIDTH,resolution:e.attributes.RESOLUTION,codecs:e.attributes.CODECS},cause:t};this.trigger({type:`renditionselected`,metadata:n}),this.tech_.trigger({type:`usage`,name:`vhs-rendition-change-${t}`})}this.mainPlaylistLoader_.media(e,n)}switchMediaForDASHContentSteering_(){[`AUDIO`,`SUBTITLES`,`CLOSED-CAPTIONS`].forEach(e=>{let t=this.mediaTypes_[e],n=t?t.activeGroup():null,r=this.contentSteeringController_.getPathway();if(n&&r){let t=(n.length?n[0].playlists:n.playlists).filter(e=>e.attributes.serviceLocation===r);t.length&&this.mediaTypes_[e].activePlaylistLoader.media(t[0])}})}startABRTimer_(){this.stopABRTimer_(),this.abrTimer_=x.setInterval(()=>this.checkABR_(),250)}stopABRTimer_(){this.tech_.scrubbing&&this.tech_.scrubbing()||(x.clearInterval(this.abrTimer_),this.abrTimer_=null)}getAudioTrackPlaylists_(){let e=this.main(),t=e&&e.playlists||[];if(!e||!e.mediaGroups||!e.mediaGroups.AUDIO)return t;let n=e.mediaGroups.AUDIO,r=Object.keys(n),i;if(Object.keys(this.mediaTypes_.AUDIO.groups).length)i=this.mediaTypes_.AUDIO.activeTrack();else{let e=n.main||r.length&&n[r[0]];for(let t in e)if(e[t].default){i={label:t};break}}if(!i)return t;let a=[];for(let t in n)if(n[t][i.label]){let r=n[t][i.label];if(r.playlists&&r.playlists.length)a.push.apply(a,r.playlists);else if(r.uri)a.push(r);else if(e.playlists.length)for(let n=0;n<e.playlists.length;n++){let r=e.playlists[n];r.attributes&&r.attributes.AUDIO&&r.attributes.AUDIO===t&&a.push(r)}}return a.length?a:t}setupMainPlaylistLoaderListeners_(){this.mainPlaylistLoader_.on(`loadedmetadata`,()=>{let e=this.mainPlaylistLoader_.media(),t=e.targetDuration*1.5*1e3;rd(this.mainPlaylistLoader_.main,this.mainPlaylistLoader_.media())?this.requestOptions_.timeout=0:this.requestOptions_.timeout=t,e.endList&&this.tech_.preload()!==`none`&&(this.mainSegmentLoader_.playlist(e,this.requestOptions_),this.mainSegmentLoader_.load()),Im({sourceType:this.sourceType_,segmentLoaders:{AUDIO:this.audioSegmentLoader_,SUBTITLES:this.subtitleSegmentLoader_,main:this.mainSegmentLoader_},tech:this.tech_,requestOptions:this.requestOptions_,mainPlaylistLoader:this.mainPlaylistLoader_,vhs:this.vhs_,main:this.main(),mediaTypes:this.mediaTypes_,excludePlaylist:this.excludePlaylist.bind(this)}),this.triggerPresenceUsage_(this.main(),e),this.setupFirstPlay(),!this.mediaTypes_.AUDIO.activePlaylistLoader||this.mediaTypes_.AUDIO.activePlaylistLoader.media()?this.trigger(`selectedinitialmedia`):this.mediaTypes_.AUDIO.activePlaylistLoader.one(`loadedmetadata`,()=>{this.trigger(`selectedinitialmedia`)})}),this.mainPlaylistLoader_.on(`loadedplaylist`,()=>{this.loadOnPlay_&&this.tech_.off(`play`,this.loadOnPlay_);let e=this.mainPlaylistLoader_.media();if(!e){this.attachContentSteeringListeners_(),this.initContentSteeringController_(),this.excludeUnsupportedVariants_();let t;if(this.enableLowInitialPlaylist&&(t=this.selectInitialPlaylist()),t||=this.selectPlaylist(),!t||!this.shouldSwitchToMedia_(t)||(this.initialMedia_=t,this.switchMedia_(this.initialMedia_,`initial`),!(this.sourceType_===`vhs-json`&&this.initialMedia_.segments)))return;e=this.initialMedia_}this.handleUpdatedMediaPlaylist(e)}),this.mainPlaylistLoader_.on(`error`,()=>{let e=this.mainPlaylistLoader_.error;this.excludePlaylist({playlistToExclude:e.playlist,error:e})}),this.mainPlaylistLoader_.on(`mediachanging`,()=>{this.mainSegmentLoader_.abort(),this.mainSegmentLoader_.pause()}),this.mainPlaylistLoader_.on(`mediachange`,()=>{let e=this.mainPlaylistLoader_.media(),t=e.targetDuration*1.5*1e3;rd(this.mainPlaylistLoader_.main,this.mainPlaylistLoader_.media())?this.requestOptions_.timeout=0:this.requestOptions_.timeout=t,this.sourceType_===`dash`&&this.mainPlaylistLoader_.isPaused&&this.mainPlaylistLoader_.load(),this.mainSegmentLoader_.pause(),this.mainSegmentLoader_.playlist(e,this.requestOptions_),this.waitingForFastQualityPlaylistReceived_?this.runFastQualitySwitch_():this.mainSegmentLoader_.load(),this.tech_.trigger({type:`mediachange`,bubbles:!0})}),this.mainPlaylistLoader_.on(`playlistunchanged`,()=>{let e=this.mainPlaylistLoader_.media();e.lastExcludeReason_!==`playlist-unchanged`&&this.stuckAtPlaylistEnd_(e)&&(this.excludePlaylist({error:{message:`Playlist no longer updating.`,reason:`playlist-unchanged`}}),this.tech_.trigger(`playliststuck`))}),this.mainPlaylistLoader_.on(`renditiondisabled`,()=>{this.tech_.trigger({type:`usage`,name:`vhs-rendition-disabled`})}),this.mainPlaylistLoader_.on(`renditionenabled`,()=>{this.tech_.trigger({type:`usage`,name:`vhs-rendition-enabled`})}),[`manifestrequeststart`,`manifestrequestcomplete`,`manifestparsestart`,`manifestparsecomplete`,`playlistrequeststart`,`playlistrequestcomplete`,`playlistparsestart`,`playlistparsecomplete`,`renditiondisabled`,`renditionenabled`].forEach(e=>{this.mainPlaylistLoader_.on(e,e=>{this.player_.trigger(R({},e))})})}handleUpdatedMediaPlaylist(e){this.useCueTags_&&this.updateAdCues_(e),this.mainSegmentLoader_.pause(),this.mainSegmentLoader_.playlist(e,this.requestOptions_),this.waitingForFastQualityPlaylistReceived_&&this.runFastQualitySwitch_(),this.updateDuration(!e.endList),this.tech_.paused()||(this.mainSegmentLoader_.load(),this.audioSegmentLoader_&&this.audioSegmentLoader_.load())}triggerPresenceUsage_(e,t){let n=e.mediaGroups||{},r=!0,i=Object.keys(n.AUDIO);for(let e in n.AUDIO)for(let t in n.AUDIO[e])n.AUDIO[e][t].uri||(r=!1);r&&this.tech_.trigger({type:`usage`,name:`vhs-demuxed`}),Object.keys(n.SUBTITLES).length&&this.tech_.trigger({type:`usage`,name:`vhs-webvtt`}),Vm.Playlist.isAes(t)&&this.tech_.trigger({type:`usage`,name:`vhs-aes`}),i.length&&Object.keys(n.AUDIO[i[0]]).length>1&&this.tech_.trigger({type:`usage`,name:`vhs-alternate-audio`}),this.useCueTags_&&this.tech_.trigger({type:`usage`,name:`vhs-playlist-cue-tags`})}shouldSwitchToMedia_(e){let t=this.mainPlaylistLoader_.media()||this.mainPlaylistLoader_.pendingMedia_,n=this.tech_.currentTime(),r=this.bufferLowWaterLine(),i=this.bufferHighWaterLine(),a=this.tech_.buffered();return Wm({buffered:a,currentTime:n,currentPlaylist:t,nextPlaylist:e,bufferLowWaterLine:r,bufferHighWaterLine:i,duration:this.duration(),bufferBasedABR:this.bufferBasedABR,log:this.logger_})}setupSegmentLoaderListeners_(){this.mainSegmentLoader_.on(`bandwidthupdate`,()=>{this.checkABR_(`bandwidthupdate`),this.tech_.trigger(`bandwidthupdate`)}),this.mainSegmentLoader_.on(`timeout`,()=>{this.bufferBasedABR&&this.mainSegmentLoader_.load()}),this.bufferBasedABR||this.mainSegmentLoader_.on(`progress`,()=>{this.trigger(`progress`)}),this.mainSegmentLoader_.on(`error`,()=>{let e=this.mainSegmentLoader_.error();this.excludePlaylist({playlistToExclude:e.playlist,error:e})}),this.mainSegmentLoader_.on(`appenderror`,()=>{this.error=this.mainSegmentLoader_.error_,this.trigger(`error`)}),this.mainSegmentLoader_.on(`syncinfoupdate`,()=>{this.onSyncInfoUpdate_()}),this.mainSegmentLoader_.on(`timestampoffset`,()=>{this.tech_.trigger({type:`usage`,name:`vhs-timestamp-offset`})}),this.audioSegmentLoader_.on(`syncinfoupdate`,()=>{this.onSyncInfoUpdate_()}),this.audioSegmentLoader_.on(`appenderror`,()=>{this.error=this.audioSegmentLoader_.error_,this.trigger(`error`)}),this.mainSegmentLoader_.on(`ended`,()=>{this.logger_(`main segment loader ended`),this.onEndOfStream()}),this.timelineChangeController_.on(`audioTimelineBehind`,()=>{let e=this.audioSegmentLoader_.pendingSegment_;if(!e||!e.segment||!e.segment.syncInfo)return;let t=e.segment.syncInfo.end+.01;this.tech_.setCurrentTime(t)}),this.timelineChangeController_.on(`fixBadTimelineChange`,()=>{this.logger_(`Fix bad timeline change. Restarting al segment loaders...`),this.mainSegmentLoader_.pause(),this.mainSegmentLoader_.resetEverything(),this.mediaTypes_.AUDIO.activePlaylistLoader&&(this.audioSegmentLoader_.pause(),this.audioSegmentLoader_.resetEverything()),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&(this.subtitleSegmentLoader_.pause(),this.subtitleSegmentLoader_.resetEverything()),this.load()}),this.mainSegmentLoader_.on(`earlyabort`,e=>{this.bufferBasedABR||(this.delegateLoaders_(`all`,[`abort`]),this.excludePlaylist({error:{message:`Aborted early because there isn't enough bandwidth to complete the request without rebuffering.`},playlistExclusionDuration:10}))});let e=()=>{if(!this.sourceUpdater_.hasCreatedSourceBuffers())return this.tryToCreateSourceBuffers_();let e=this.getCodecsOrExclude_();e&&this.sourceUpdater_.addOrChangeSourceBuffers(e)};this.mainSegmentLoader_.on(`trackinfo`,e),this.audioSegmentLoader_.on(`trackinfo`,e),this.mainSegmentLoader_.on(`fmp4`,()=>{this.triggeredFmp4Usage||=(this.tech_.trigger({type:`usage`,name:`vhs-fmp4`}),!0)}),this.audioSegmentLoader_.on(`fmp4`,()=>{this.triggeredFmp4Usage||=(this.tech_.trigger({type:`usage`,name:`vhs-fmp4`}),!0)}),this.audioSegmentLoader_.on(`ended`,()=>{this.logger_(`audioSegmentLoader ended`),this.onEndOfStream()}),[`segmentselected`,`segmentloadstart`,`segmentloaded`,`segmentkeyloadstart`,`segmentkeyloadcomplete`,`segmentdecryptionstart`,`segmentdecryptioncomplete`,`segmenttransmuxingstart`,`segmenttransmuxingcomplete`,`segmenttransmuxingtrackinfoavailable`,`segmenttransmuxingtiminginfoavailable`,`segmentappendstart`,`appendsdone`,`bandwidthupdated`,`timelinechange`,`codecschange`].forEach(e=>{this.mainSegmentLoader_.on(e,e=>{this.player_.trigger(R({},e))}),this.audioSegmentLoader_.on(e,e=>{this.player_.trigger(R({},e))}),this.subtitleSegmentLoader_.on(e,e=>{this.player_.trigger(R({},e))})})}mediaSecondsLoaded_(){return Math.max(this.audioSegmentLoader_.mediaSecondsLoaded+this.mainSegmentLoader_.mediaSecondsLoaded)}load(){this.mainSegmentLoader_.load(),this.mediaTypes_.AUDIO.activePlaylistLoader&&this.audioSegmentLoader_.load(),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&this.subtitleSegmentLoader_.load()}pause(){this.mainSegmentLoader_.pause(),this.mediaTypes_.AUDIO.activePlaylistLoader&&this.audioSegmentLoader_.pause(),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&this.subtitleSegmentLoader_.pause()}fastQualityChange_(e=this.selectPlaylist()){e&&e===this.mainPlaylistLoader_.media()?this.logger_(`skipping fastQualityChange because new media is same as old`):(this.switchMedia_(e,`fast-quality`),this.waitingForFastQualityPlaylistReceived_=!0)}runFastQualitySwitch_(){this.waitingForFastQualityPlaylistReceived_=!1,this.mainSegmentLoader_.pause(),this.mainSegmentLoader_.resetEverything(),this.mediaTypes_.AUDIO.activePlaylistLoader&&(this.audioSegmentLoader_.pause(),this.audioSegmentLoader_.resetEverything()),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&(this.subtitleSegmentLoader_.pause(),this.subtitleSegmentLoader_.resetEverything()),this.load()}play(){if(this.setupFirstPlay())return;this.tech_.ended()&&this.tech_.setCurrentTime(0),this.hasPlayed_&&this.load();let e=this.tech_.seekable();if(this.tech_.duration()===1/0&&this.tech_.currentTime()<e.start(0))return this.tech_.setCurrentTime(e.end(e.length-1))}setupFirstPlay(){let e=this.mainPlaylistLoader_.media();if(!e||this.tech_.paused()||this.hasPlayed_)return!1;if(!e.endList||e.start){let t=this.seekable();if(!t.length)return!1;let n=t.end(0),r=n;if(e.start){let i=e.start.timeOffset;if(i<0){let a=this.mainPlaylistLoader_.main,o=n+Vm.Playlist.liveEdgeDelay(a,e);r=Math.max(Math.min(o+i,n),t.start(0))}else r=Math.min(n,i)}this.trigger(`firstplay`),this.tech_.setCurrentTime(r)}return this.hasPlayed_=!0,this.load(),!0}handleSourceOpen_(){if(this.tryToCreateSourceBuffers_(),this.tech_.autoplay()){let e=this.tech_.play();e!==void 0&&typeof e.then==`function`&&e.then(null,e=>{})}this.trigger(`sourceopen`)}handleSourceEnded_(){if(!this.inbandTextTracks_.metadataTrack_)return;let e=this.inbandTextTracks_.metadataTrack_.cues;if(!e||!e.length)return;let t=this.duration();e[e.length-1].endTime=isNaN(t)||Math.abs(t)===1/0?Number.MAX_VALUE:t}handleDurationChange_(){this.tech_.trigger(`durationchange`)}onEndOfStream(){let e=this.mainSegmentLoader_.ended_;if(this.mediaTypes_.AUDIO.activePlaylistLoader){let t=this.mainSegmentLoader_.getCurrentMediaInfo_();!t||t.hasVideo?e&&=this.audioSegmentLoader_.ended_:e=this.audioSegmentLoader_.ended_}e&&(this.stopABRTimer_(),this.sourceUpdater_.endOfStream())}stuckAtPlaylistEnd_(e){if(!this.seekable().length)return!1;let t=this.syncController_.getExpiredTime(e,this.duration());if(t===null)return!1;let n=Vm.Playlist.playlistEnd(e,t),r=this.tech_.currentTime(),i=this.tech_.buffered();if(!i.length)return n-r<=Tu;let a=i.end(i.length-1);return a-r<=Tu&&n-a<=Tu}excludePlaylist({playlistToExclude:e=this.mainPlaylistLoader_.media(),error:t={},playlistExclusionDuration:n}){if(e||=this.mainPlaylistLoader_.media(),n=n||t.playlistExclusionDuration||this.playlistExclusionDuration,!e){this.error=t,this.mediaSource.readyState===`open`?this.sourceUpdater_.endOfStream(`network`):this.trigger(`error`);return}e.playlistErrors_++;let r=this.mainPlaylistLoader_.main.playlists,i=r.filter(Qu),a=i.length===1&&i[0]===e;if(r.length===1&&n!==1/0)return Z.log.warn(`Problem encountered with playlist ${e.id}. Trying again since it is the only playlist.`),this.tech_.trigger(`retryplaylist`),this.mainPlaylistLoader_.load(a);if(a){if(this.main().contentSteering){let t=this.pathwayAttribute_(e),n=this.contentSteeringController_.steeringManifest.ttl*1e3;this.contentSteeringController_.excludePathway(t),this.excludeThenChangePathway_(),setTimeout(()=>{this.contentSteeringController_.addAvailablePathway(t)},n);return}let t=!1;r.forEach(n=>{if(n===e)return;let r=n.excludeUntil;r!==void 0&&r!==1/0&&(t=!0,delete n.excludeUntil)}),t&&(Z.log.warn(`Removing other playlists from the exclusion list because the last rendition is about to be excluded.`),this.tech_.trigger(`retryplaylist`))}let o;o=e.playlistErrors_>this.maxPlaylistRetries?1/0:Date.now()+n*1e3,e.excludeUntil=o,t.reason&&(e.lastExcludeReason_=t.reason),this.tech_.trigger(`excludeplaylist`),this.tech_.trigger({type:`usage`,name:`vhs-rendition-excluded`});let s=this.selectPlaylist();if(!s){this.error=`Playback cannot continue. No available working or supported playlists.`,this.trigger(`error`);return}let c=t.internal?this.logger_:Z.log.warn,l=t.message?` `+t.message:``;c(`${t.internal?`Internal problem`:`Problem`} encountered with playlist ${e.id}.${l} Switching to playlist ${s.id}.`),s.attributes.AUDIO!==e.attributes.AUDIO&&this.delegateLoaders_(`audio`,[`abort`,`pause`]),s.attributes.SUBTITLES!==e.attributes.SUBTITLES&&this.delegateLoaders_(`subtitle`,[`abort`,`pause`]),this.delegateLoaders_(`main`,[`abort`,`pause`]);let u=s.targetDuration/2*1e3||5e3,d=typeof s.lastRequest==`number`&&Date.now()-s.lastRequest<=u;return this.switchMedia_(s,`exclude`,a||d)}pauseLoading(){this.delegateLoaders_(`all`,[`abort`,`pause`]),this.stopABRTimer_()}delegateLoaders_(e,t){let n=[],r=e===`all`;(r||e===`main`)&&n.push(this.mainPlaylistLoader_);let i=[];(r||e===`audio`)&&i.push(`AUDIO`),(r||e===`subtitle`)&&(i.push(`CLOSED-CAPTIONS`),i.push(`SUBTITLES`)),i.forEach(e=>{let t=this.mediaTypes_[e]&&this.mediaTypes_[e].activePlaylistLoader;t&&n.push(t)}),[`main`,`audio`,`subtitle`].forEach(t=>{let r=this[`${t}SegmentLoader_`];r&&(e===t||e===`all`)&&n.push(r)}),n.forEach(e=>t.forEach(t=>{typeof e[t]==`function`&&e[t]()}))}setCurrentTime(e){let t=Du(this.tech_.buffered(),e);if(!(this.mainPlaylistLoader_&&this.mainPlaylistLoader_.media())||!this.mainPlaylistLoader_.media().segments)return 0;if(t&&t.length)return e;this.mainSegmentLoader_.pause(),this.mainSegmentLoader_.resetEverything(),this.mediaTypes_.AUDIO.activePlaylistLoader&&(this.audioSegmentLoader_.pause(),this.audioSegmentLoader_.resetEverything()),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&(this.subtitleSegmentLoader_.pause(),this.subtitleSegmentLoader_.resetEverything()),this.load()}duration(){if(!this.mainPlaylistLoader_)return 0;let e=this.mainPlaylistLoader_.media();return e?e.endList?this.mediaSource?this.mediaSource.duration:Vm.Playlist.duration(e):1/0:0}seekable(){return this.seekable_}getSeekableRange_(e,t){let n=e.media();if(!n)return null;let r=this.syncController_.getMediaSequenceSync(t);if(r&&r.isReliable){let e=r.start,t=r.end;if(!isFinite(e)||!isFinite(t))return null;let i=Vm.Playlist.liveEdgeDelay(this.mainPlaylistLoader_.main,n);return Su([[e,Math.max(e,t-i)]])}let i=this.syncController_.getExpiredTime(n,this.duration());if(i===null)return null;let a=Vm.Playlist.seekable(n,i,Vm.Playlist.liveEdgeDelay(this.mainPlaylistLoader_.main,n));return a.length?a:null}computeFinalSeekable_(e,t){if(!t)return e;let n=e.start(0),r=e.end(0),i=t.start(0),a=t.end(0);return i>r||n>a?e:Su([[Math.max(n,i),Math.min(r,a)]])}onSyncInfoUpdate_(){if(!this.mainPlaylistLoader_)return;let e=this.getSeekableRange_(this.mainPlaylistLoader_,`main`);if(!e)return;let t;if(this.mediaTypes_.AUDIO.activePlaylistLoader&&(t=this.getSeekableRange_(this.mediaTypes_.AUDIO.activePlaylistLoader,`audio`),!t))return;let n=this.seekable_;if(this.seekable_=this.computeFinalSeekable_(e,t),!this.seekable_||n&&n.length&&this.seekable_.length&&n.start(0)===this.seekable_.start(0)&&n.end(0)===this.seekable_.end(0))return;this.logger_(`seekable updated [${ju(this.seekable_)}]`);let r={seekableRanges:this.seekable_};this.trigger({type:`seekablerangeschanged`,metadata:r}),this.tech_.trigger(`seekablechanged`)}updateDuration(e){if(this.updateDuration_&&=(this.mediaSource.removeEventListener(`sourceopen`,this.updateDuration_),null),this.mediaSource.readyState!==`open`){this.updateDuration_=this.updateDuration.bind(this,e),this.mediaSource.addEventListener(`sourceopen`,this.updateDuration_);return}if(e){let e=this.seekable();if(!e.length)return;(isNaN(this.mediaSource.duration)||this.mediaSource.duration<e.end(e.length-1))&&this.sourceUpdater_.setDuration(e.end(e.length-1));return}let t=this.tech_.buffered(),n=Vm.Playlist.duration(this.mainPlaylistLoader_.media());t.length>0&&(n=Math.max(n,t.end(t.length-1))),this.mediaSource.duration!==n&&this.sourceUpdater_.setDuration(n)}dispose(){this.trigger(`dispose`),this.decrypter_.terminate(),this.mainPlaylistLoader_.dispose(),this.mainSegmentLoader_.dispose(),this.contentSteeringController_.dispose(),this.keyStatusMap_.clear(),this.loadOnPlay_&&this.tech_.off(`play`,this.loadOnPlay_),[`AUDIO`,`SUBTITLES`].forEach(e=>{let t=this.mediaTypes_[e].groups;for(let e in t)t[e].forEach(e=>{e.playlistLoader&&e.playlistLoader.dispose()})}),this.audioSegmentLoader_.dispose(),this.subtitleSegmentLoader_.dispose(),this.sourceUpdater_.dispose(),this.timelineChangeController_.dispose(),this.stopABRTimer_(),this.updateDuration_&&this.mediaSource.removeEventListener(`sourceopen`,this.updateDuration_),this.mediaSource.removeEventListener(`durationchange`,this.handleDurationChange_),this.mediaSource.removeEventListener(`sourceopen`,this.handleSourceOpen_),this.mediaSource.removeEventListener(`sourceended`,this.handleSourceEnded_),this.off()}main(){return this.mainPlaylistLoader_.main}media(){return this.mainPlaylistLoader_.media()||this.initialMedia_}areMediaTypesKnown_(){let e=!!this.mediaTypes_.AUDIO.activePlaylistLoader,t=!!this.mainSegmentLoader_.getCurrentMediaInfo_(),n=!e||!!this.audioSegmentLoader_.getCurrentMediaInfo_();return!(!t||!n)}getCodecsOrExclude_(){let e={main:this.mainSegmentLoader_.getCurrentMediaInfo_()||{},audio:this.audioSegmentLoader_.getCurrentMediaInfo_()||{}},t=this.mainSegmentLoader_.getPendingSegmentPlaylist()||this.media();e.video=e.main;let n=Ed(this.main(),t),r={},i=!!this.mediaTypes_.AUDIO.activePlaylistLoader;if(e.main.hasVideo&&(r.video=n.video||e.main.videoCodec||Mt),e.main.isMuxed&&(r.video+=`,${n.audio||e.main.audioCodec||jt}`),(e.main.hasAudio&&!e.main.isMuxed||e.audio.hasAudio||i)&&(r.audio=n.audio||e.main.audioCodec||e.audio.audioCodec||jt,e.audio.isFmp4=e.main.hasAudio&&!e.main.isMuxed?e.main.isFmp4:e.audio.isFmp4),!r.audio&&!r.video){this.excludePlaylist({playlistToExclude:t,error:{message:`Could not determine codecs for playlist.`},playlistExclusionDuration:1/0});return}let a=(e,t)=>e?kt(t,this.usingManagedMediaSource_):At(t),o={},s;if([`video`,`audio`].forEach(function(t){if(r.hasOwnProperty(t)&&!a(e[t].isFmp4,r[t])){let n=e[t].isFmp4?`browser`:`muxer`;o[n]=o[n]||[],o[n].push(r[t]),t===`audio`&&(s=n)}}),i&&s&&t.attributes.AUDIO){let e=t.attributes.AUDIO;this.main().playlists.forEach(n=>{(n.attributes&&n.attributes.AUDIO)===e&&n!==t&&(n.excludeUntil=1/0)}),this.logger_(`excluding audio group ${e} as ${s} does not support codec(s): "${r.audio}"`)}if(Object.keys(o).length){let e=Object.keys(o).reduce((e,t)=>(e&&(e+=`, `),e+=`${t} does not support codec(s): "${o[t].join(`,`)}"`,e),``)+`.`;this.excludePlaylist({playlistToExclude:t,error:{internal:!0,message:e},playlistExclusionDuration:1/0})}else{if(this.sourceUpdater_.hasCreatedSourceBuffers()&&!this.sourceUpdater_.canChangeType()){let e=[];if([`video`,`audio`].forEach(t=>{let n=(wt(this.sourceUpdater_.codecs[t]||``)[0]||{}).type,i=(wt(r[t]||``)[0]||{}).type;n&&i&&n.toLowerCase()!==i.toLowerCase()&&e.push(`"${this.sourceUpdater_.codecs[t]}" -> "${r[t]}"`)}),e.length){this.excludePlaylist({playlistToExclude:t,error:{message:`Codec switching not supported: ${e.join(`, `)}.`,internal:!0},playlistExclusionDuration:1/0});return}}return r}}tryToCreateSourceBuffers_(){if(this.mediaSource.readyState!==`open`||this.sourceUpdater_.hasCreatedSourceBuffers()||!this.areMediaTypesKnown_())return;let e=this.getCodecsOrExclude_();if(!e)return;this.sourceUpdater_.createSourceBuffers(e);let t=[e.video,e.audio].filter(Boolean).join(`,`);this.excludeIncompatibleVariants_(t)}excludeUnsupportedVariants_(){let e=this.main().playlists,t=[];Object.keys(e).forEach(n=>{let r=e[n];if(t.indexOf(r.id)!==-1)return;t.push(r.id);let i=Ed(this.main,r),a=[];i.audio&&!At(i.audio)&&!kt(i.audio,this.usingManagedMediaSource_)&&a.push(`audio codec ${i.audio}`),i.video&&!At(i.video)&&!kt(i.video,this.usingManagedMediaSource_)&&a.push(`video codec ${i.video}`),i.text&&i.text===`stpp.ttml.im1t`&&a.push(`text codec ${i.text}`),a.length&&(r.excludeUntil=1/0,this.logger_(`excluding ${r.id} for unsupported: ${a.join(`, `)}`))})}excludeIncompatibleVariants_(e){let t=[],n=this.main().playlists,r=wd(wt(e)),i=Td(r),a=r.video&&wt(r.video)[0]||null,o=r.audio&&wt(r.audio)[0]||null;Object.keys(n).forEach(e=>{let r=n[e];if(t.indexOf(r.id)!==-1||r.excludeUntil===1/0)return;t.push(r.id);let s=[],c=Ed(this.mainPlaylistLoader_.main,r),l=Td(c);if(c.audio||c.video){if(l!==i&&s.push(`codec count "${l}" !== "${i}"`),!this.sourceUpdater_.canChangeType()){let e=c.video&&wt(c.video)[0]||null,t=c.audio&&wt(c.audio)[0]||null;e&&a&&e.type.toLowerCase()!==a.type.toLowerCase()&&s.push(`video codec "${e.type}" !== "${a.type}"`),t&&o&&t.type.toLowerCase()!==o.type.toLowerCase()&&s.push(`audio codec "${t.type}" !== "${o.type}"`)}s.length&&(r.excludeUntil=1/0,this.logger_(`excluding ${r.id}: ${s.join(` && `)}`))}})}updateAdCues_(e){let t=0,n=this.seekable();n.length&&(t=n.start(0)),mm(e,this.cueTagsTrack_,t)}goalBufferLength(){let e=this.tech_.currentTime(),t=bf.GOAL_BUFFER_LENGTH,n=bf.GOAL_BUFFER_LENGTH_RATE,r=Math.max(t,bf.MAX_GOAL_BUFFER_LENGTH);return Math.min(t+e*n,r)}bufferLowWaterLine(){let e=this.tech_.currentTime(),t=bf.BUFFER_LOW_WATER_LINE,n=bf.BUFFER_LOW_WATER_LINE_RATE,r=Math.max(t,bf.MAX_BUFFER_LOW_WATER_LINE),i=Math.max(t,bf.EXPERIMENTAL_MAX_BUFFER_LOW_WATER_LINE);return Math.min(t+e*n,this.bufferBasedABR?i:r)}bufferHighWaterLine(){return bf.BUFFER_HIGH_WATER_LINE}addDateRangesToTextTrack_(e){Ep(this.inbandTextTracks_,`com.apple.streaming`,this.tech_),Tp({inbandTextTracks:this.inbandTextTracks_,dateRanges:e})}addMetadataToTextTrack(e,t,n){let r=this.sourceUpdater_.videoBuffer?this.sourceUpdater_.videoTimestampOffset():this.sourceUpdater_.audioTimestampOffset();Ep(this.inbandTextTracks_,e,this.tech_),Sp({inbandTextTracks:this.inbandTextTracks_,metadataArray:t,timestampOffset:r,videoDuration:n})}pathwayAttribute_(e){return e.attributes[`PATHWAY-ID`]||e.attributes.serviceLocation}initContentSteeringController_(){let e=this.main();if(e.contentSteering){for(let t of e.playlists)this.contentSteeringController_.addAvailablePathway(this.pathwayAttribute_(t));this.contentSteeringController_.assignTagProperties(e.uri,e.contentSteering),this.contentSteeringController_.queryBeforeStart?this.contentSteeringController_.requestSteeringManifest(!0):this.tech_.one(`canplay`,()=>{this.contentSteeringController_.requestSteeringManifest()})}}resetContentSteeringController_(){this.contentSteeringController_.clearAvailablePathways(),this.contentSteeringController_.dispose(),this.initContentSteeringController_()}attachContentSteeringListeners_(){this.contentSteeringController_.on(`content-steering`,this.excludeThenChangePathway_.bind(this)),[`contentsteeringloadstart`,`contentsteeringloadcomplete`,`contentsteeringparsed`].forEach(e=>{this.contentSteeringController_.on(e,e=>{this.trigger(R({},e))})}),this.sourceType_===`dash`&&this.mainPlaylistLoader_.on(`loadedplaylist`,()=>{let e=this.main();(this.contentSteeringController_.didDASHTagChange(e.uri,e.contentSteering)||(()=>{let t=this.contentSteeringController_.getAvailablePathways(),n=[];for(let r of e.playlists){let e=r.attributes.serviceLocation;if(e&&(n.push(e),!t.has(e)))return!0}return!(n.length||!t.size)})())&&this.resetContentSteeringController_()})}excludeThenChangePathway_(){let e=this.contentSteeringController_.getPathway();if(!e)return;this.handlePathwayClones_();let t=this.main().playlists,n=new Set,r=!1;Object.keys(t).forEach(i=>{let a=t[i],o=this.pathwayAttribute_(a),s=o&&e!==o;a.excludeUntil===1/0&&a.lastExcludeReason_===`content-steering`&&!s&&(delete a.excludeUntil,delete a.lastExcludeReason_,r=!0);let c=!a.excludeUntil&&a.excludeUntil!==1/0;!n.has(a.id)&&s&&c&&(n.add(a.id),a.excludeUntil=1/0,a.lastExcludeReason_=`content-steering`,this.logger_(`excluding ${a.id} for ${a.lastExcludeReason_}`))}),this.contentSteeringController_.manifestType_===`DASH`&&Object.keys(this.mediaTypes_).forEach(t=>{let n=this.mediaTypes_[t];if(n.activePlaylistLoader){let t=n.activePlaylistLoader.media_;t&&t.attributes.serviceLocation!==e&&(r=!0)}}),r&&this.changeSegmentPathway_()}handlePathwayClones_(){let e=this.main().playlists,t=this.contentSteeringController_.currentPathwayClones,n=this.contentSteeringController_.nextPathwayClones;if(t&&t.size||n&&n.size){for(let[e,r]of t.entries())n.get(e)||(this.mainPlaylistLoader_.updateOrDeleteClone(r),this.contentSteeringController_.excludePathway(e));for(let[r,i]of n.entries()){let n=t.get(r);n?this.equalPathwayClones_(n,i)||(this.mainPlaylistLoader_.updateOrDeleteClone(i,!0),this.contentSteeringController_.addAvailablePathway(r)):(e.filter(e=>e.attributes[`PATHWAY-ID`]===i[`BASE-ID`]).forEach(e=>{this.mainPlaylistLoader_.addClonePathway(i,e)}),this.contentSteeringController_.addAvailablePathway(r))}this.contentSteeringController_.currentPathwayClones=new Map(JSON.parse(JSON.stringify([...n])))}}equalPathwayClones_(e,t){if(e[`BASE-ID`]!==t[`BASE-ID`]||e.ID!==t.ID||e[`URI-REPLACEMENT`].HOST!==t[`URI-REPLACEMENT`].HOST)return!1;let n=e[`URI-REPLACEMENT`].PARAMS,r=t[`URI-REPLACEMENT`].PARAMS;for(let e in n)if(n[e]!==r[e])return!1;for(let e in r)if(n[e]!==r[e])return!1;return!0}changeSegmentPathway_(){let e=this.selectPlaylist();this.pauseLoading(),this.contentSteeringController_.manifestType_===`DASH`&&this.switchMediaForDASHContentSteering_(),this.switchMedia_(e,`content-steering`)}excludeNonUsablePlaylistsByKeyId_(){if(!this.mainPlaylistLoader_||!this.mainPlaylistLoader_.main)return;let e=0,t=`non-usable`;this.mainPlaylistLoader_.main.playlists.forEach(n=>{let r=this.mainPlaylistLoader_.getKeyIdSet(n);r&&r.size&&r.forEach(r=>{let i=`usable`,a=this.keyStatusMap_.has(r)&&this.keyStatusMap_.get(r)===i,o=n.lastExcludeReason_===t&&n.excludeUntil===1/0;a?a&&o&&(delete n.excludeUntil,delete n.lastExcludeReason_,this.logger_(`enabling playlist ${n.id} because key ID ${r} is ${i}`)):(n.excludeUntil!==1/0&&n.lastExcludeReason_!==t&&(n.excludeUntil=1/0,n.lastExcludeReason_=t,this.logger_(`excluding playlist ${n.id} because the key ID ${r} doesn't exist in the keyStatusMap or is not ${i}`)),e++)})}),e>=this.mainPlaylistLoader_.main.playlists.length&&this.mainPlaylistLoader_.main.playlists.forEach(e=>{let n=e&&e.attributes&&e.attributes.RESOLUTION&&e.attributes.RESOLUTION.height<720,r=e.excludeUntil===1/0&&e.lastExcludeReason_===t;n&&r&&(delete e.excludeUntil,Z.log.warn(`enabling non-HD playlist ${e.id} because all playlists were excluded due to ${t} key IDs`))})}addKeyStatus_(e,t){let n=(typeof e==`string`?e:lm(e)).slice(0,32).toLowerCase();this.logger_(`KeyStatus '${t}' with key ID ${n} added to the keyStatusMap`),this.keyStatusMap_.set(n,t)}updatePlaylistByKeyStatus(e,t){this.addKeyStatus_(e,t),this.waitingForFastQualityPlaylistReceived_||this.excludeNonUsableThenChangePlaylist_(),this.mainPlaylistLoader_.off(`loadedplaylist`,this.excludeNonUsableThenChangePlaylist_.bind(this)),this.mainPlaylistLoader_.on(`loadedplaylist`,this.excludeNonUsableThenChangePlaylist_.bind(this))}excludeNonUsableThenChangePlaylist_(){this.excludeNonUsablePlaylistsByKeyId_(),this.fastQualityChange_()}}const Km=(e,t,n)=>r=>{let i=e.main.playlists[t],a=Zu(i),o=Qu(i);if(r===void 0)return o;r?delete i.disabled:i.disabled=!0;let s={renditionInfo:{id:t,bandwidth:i.attributes.BANDWIDTH,resolution:i.attributes.RESOLUTION,codecs:i.attributes.CODECS},cause:`fast-quality`};return r!==o&&!a&&(r?(n(i),e.trigger({type:`renditionenabled`,metadata:s})):e.trigger({type:`renditiondisabled`,metadata:s})),r};class qm{constructor(e,t,n){let{playlistController_:r}=e,i=r.fastQualityChange_.bind(r);if(t.attributes){let e=t.attributes.RESOLUTION;this.width=e&&e.width,this.height=e&&e.height,this.bandwidth=t.attributes.BANDWIDTH,this.frameRate=t.attributes[`FRAME-RATE`]}this.codecs=Ed(r.main(),t),this.playlist=t,this.id=n,this.enabled=Km(e.playlists,t.id,i)}}const Jm=function(e){e.representations=()=>{let t=e.playlistController_.main(),n=od(t)?e.playlistController_.getAudioTrackPlaylists_():t.playlists;return n?n.filter(e=>!Zu(e)).map((t,n)=>new qm(e,t,t.id)):[]}},Ym=[`seeking`,`seeked`,`pause`,`playing`,`error`];class Xm extends Z.EventTarget{constructor(e){super(),this.playlistController_=e.playlistController,this.tech_=e.tech,this.seekable=e.seekable,this.allowSeeksWithinUnsafeLiveWindow=e.allowSeeksWithinUnsafeLiveWindow,this.liveRangeSafeTimeDelta=e.liveRangeSafeTimeDelta,this.media=e.media,this.playedRanges_=[],this.consecutiveUpdates=0,this.lastRecordedTime=null,this.checkCurrentTimeTimeout_=null,this.logger_=xu(`PlaybackWatcher`),this.logger_(`initialize`);let t=()=>this.monitorCurrentTime_(),n=()=>this.monitorCurrentTime_(),r=()=>this.techWaiting_(),i=()=>this.resetTimeUpdate_(),a=this.playlistController_,o=[`main`,`subtitle`,`audio`],s={};o.forEach(e=>{s[e]={reset:()=>this.resetSegmentDownloads_(e),updateend:()=>this.checkSegmentDownloads_(e)},a[`${e}SegmentLoader_`].on(`appendsdone`,s[e].updateend),a[`${e}SegmentLoader_`].on(`playlistupdate`,s[e].reset),this.tech_.on([`seeked`,`seeking`],s[e].reset)});let c=e=>{[`main`,`audio`].forEach(t=>{a[`${t}SegmentLoader_`][e](`appended`,this.seekingAppendCheck_)})};this.seekingAppendCheck_=()=>{this.fixesBadSeeks_()&&(this.consecutiveUpdates=0,this.lastRecordedTime=this.tech_.currentTime(),c(`off`))},this.clearSeekingAppendCheck_=()=>c(`off`),this.watchForBadSeeking_=()=>{this.clearSeekingAppendCheck_(),c(`on`)},this.tech_.on(`seeked`,this.clearSeekingAppendCheck_),this.tech_.on(`seeking`,this.watchForBadSeeking_),this.tech_.on(`waiting`,r),this.tech_.on(Ym,i),this.tech_.on(`canplay`,n),this.tech_.one(`play`,t),this.dispose=()=>{this.clearSeekingAppendCheck_(),this.logger_(`dispose`),this.tech_.off(`waiting`,r),this.tech_.off(Ym,i),this.tech_.off(`canplay`,n),this.tech_.off(`play`,t),this.tech_.off(`seeking`,this.watchForBadSeeking_),this.tech_.off(`seeked`,this.clearSeekingAppendCheck_),o.forEach(e=>{a[`${e}SegmentLoader_`].off(`appendsdone`,s[e].updateend),a[`${e}SegmentLoader_`].off(`playlistupdate`,s[e].reset),this.tech_.off([`seeked`,`seeking`],s[e].reset)}),this.checkCurrentTimeTimeout_&&x.clearTimeout(this.checkCurrentTimeTimeout_),this.resetTimeUpdate_()}}monitorCurrentTime_(){this.checkCurrentTime_(),this.checkCurrentTimeTimeout_&&x.clearTimeout(this.checkCurrentTimeTimeout_),this.checkCurrentTimeTimeout_=x.setTimeout(this.monitorCurrentTime_.bind(this),250)}resetSegmentDownloads_(e){let t=this.playlistController_[`${e}SegmentLoader_`];this[`${e}StalledDownloads_`]>0&&this.logger_(`resetting possible stalled download count for ${e} loader`),this[`${e}StalledDownloads_`]=0,this[`${e}Buffered_`]=t.buffered_()}checkSegmentDownloads_(e){let t=this.playlistController_,n=t[`${e}SegmentLoader_`],r=n.buffered_(),i=Pu(this[`${e}Buffered_`],r);if(this[`${e}Buffered_`]=r,i){let n={bufferedRanges:r};t.trigger({type:`bufferedrangeschanged`,metadata:n}),this.resetSegmentDownloads_(e)}else this[`${e}StalledDownloads_`]++,this.logger_(`found #${this[`${e}StalledDownloads_`]} ${e} appends that did not increase buffer (possible stalled download)`,{playlistId:n.playlist_&&n.playlist_.id,buffered:Nu(r)}),this[`${e}StalledDownloads_`]<10||(this.logger_(`${e} loader stalled download exclusion`),this.resetSegmentDownloads_(e),this.tech_.trigger({type:`usage`,name:`vhs-${e}-download-exclusion`}),e!==`subtitle`&&t.excludePlaylist({error:{message:`Excessive ${e} segment downloading detected.`},playlistExclusionDuration:1/0}))}checkCurrentTime_(){if(this.tech_.paused()||this.tech_.seeking())return;let e=this.tech_.currentTime(),t=this.tech_.buffered();if(this.lastRecordedTime===e&&(!t.length||e+Tu>=t.end(t.length-1)))return this.techWaiting_();if(this.consecutiveUpdates>=5&&e===this.lastRecordedTime)this.consecutiveUpdates++,this.waiting_();else if(e===this.lastRecordedTime)this.consecutiveUpdates++;else{this.playedRanges_.push(Su([this.lastRecordedTime,e]));let t={playedRanges:this.playedRanges_};this.playlistController_.trigger({type:`playedrangeschanged`,metadata:t}),this.consecutiveUpdates=0,this.lastRecordedTime=e}}resetTimeUpdate_(){this.consecutiveUpdates=0}fixesBadSeeks_(){if(!this.tech_.seeking())return!1;let e=this.seekable(),t=this.tech_.currentTime(),n=this.afterSeekableWindow_(e,t,this.media(),this.allowSeeksWithinUnsafeLiveWindow),r;if(n&&(r=e.end(e.length-1)),this.beforeSeekableWindow_(e,t)){let t=e.start(0);r=t+(t===e.end(0)?0:Tu)}if(r!==void 0)return this.logger_(`Trying to seek outside of seekable at time ${t} with seekable range ${ju(e)}. Seeking to ${r}.`),this.tech_.setCurrentTime(r),!0;let i=this.playlistController_.sourceUpdater_,a=this.tech_.buffered(),o=i.audioBuffer?i.audioBuffered():null,s=i.videoBuffer?i.videoBuffered():null,c=this.media(),l=c.partTargetDuration?c.partTargetDuration:(c.targetDuration-wu)*2,u=[o,s];for(let e=0;e<u.length;e++)if(u[e]&&Iu(u[e],t)<l)return!1;let d=Ou(a,t);return d.length!==0&&(r=d.start(0)+Tu,this.logger_(`Buffered region starts (${d.start(0)}) just beyond seek point (${t}). Seeking to ${r}.`),this.tech_.setCurrentTime(r),!0)}waiting_(){if(this.techWaiting_())return;let e=this.tech_.currentTime(),t=this.tech_.buffered(),n=Du(t,e);n.length&&e+3<=n.end(0)&&(this.resetTimeUpdate_(),this.tech_.setCurrentTime(e),this.logger_(`Stopped at ${e} while inside a buffered region [${n.start(0)} -> ${n.end(0)}]. Attempting to resume playback by seeking to the current time.`),this.tech_.trigger({type:`usage`,name:`vhs-unknown-waiting`}))}techWaiting_(){let e=this.seekable(),t=this.tech_.currentTime();if(this.tech_.seeking())return!0;if(this.beforeSeekableWindow_(e,t)){let n=e.end(e.length-1);return this.logger_(`Fell out of live window at time ${t}. Seeking to live point (seekable end) ${n}`),this.resetTimeUpdate_(),this.tech_.setCurrentTime(n),this.tech_.trigger({type:`usage`,name:`vhs-live-resync`}),!0}let n=this.tech_.vhs.playlistController_.sourceUpdater_,r=this.tech_.buffered();if(this.videoUnderflow_({audioBuffered:n.audioBuffered(),videoBuffered:n.videoBuffered(),currentTime:t}))return this.resetTimeUpdate_(),this.tech_.setCurrentTime(t),this.tech_.trigger({type:`usage`,name:`vhs-video-underflow`}),!0;let i=Ou(r,t);return i.length>0&&(this.logger_(`Stopped at ${t} and seeking to ${i.start(0)}`),this.resetTimeUpdate_(),this.skipTheGap_(t),!0)}afterSeekableWindow_(e,t,n,r=!1){if(!e.length)return!1;let i=e.end(e.length-1)+Tu,a=!n.endList,o=typeof n.partTargetDuration==`number`;return a&&(o||r)&&(i=e.end(e.length-1)+n.targetDuration*3),t>i}beforeSeekableWindow_(e,t){return!!(e.length&&e.start(0)>0&&t<e.start(0)-this.liveRangeSafeTimeDelta)}videoUnderflow_({videoBuffered:e,audioBuffered:t,currentTime:n}){if(!e)return;let r;if(e.length&&t.length){let i=Du(e,n-3),a=Du(e,n),o=Du(t,n);o.length&&!a.length&&i.length&&(r={start:i.end(0),end:o.end(0)})}else Ou(e,n).length||(r=this.gapFromVideoUnderflow_(e,n));return r?(this.logger_(`Encountered a gap in video from ${r.start} to ${r.end}. Seeking to current time ${n}`),!0):!1}skipTheGap_(e){let t=this.tech_.buffered(),n=this.tech_.currentTime(),r=Ou(t,n);if(this.resetTimeUpdate_(),r.length===0||n!==e)return;this.logger_(`skipTheGap_:`,`currentTime:`,n,`scheduled currentTime:`,e,`nextRange start:`,r.start(0)),this.tech_.setCurrentTime(r.start(0)+wu);let i={gapInfo:{from:n,to:r.start(0)}};this.playlistController_.trigger({type:`gapjumped`,metadata:i}),this.tech_.trigger({type:`usage`,name:`vhs-gap-skip`})}gapFromVideoUnderflow_(e,t){let n=ku(e);for(let e=0;e<n.length;e++){let r=n.start(e),i=n.end(e);if(t-r<4&&t-r>2)return{start:r,end:i}}return null}}const Zm={errorInterval:30,getSource(e){return e(this.tech({IWillNotUseThisInPlugins:!0}).currentSource_||this.currentSource())}},Qm=function(e,t){let n=0,r=0,i=Q(Zm,t);e.ready(()=>{e.trigger({type:`usage`,name:`vhs-error-reload-initialized`})});let a=function(){r&&e.currentTime(r)},o=function(t){t!=null&&(r=e.duration()!==1/0&&e.currentTime()||0,e.one(`loadedmetadata`,a),e.src(t),e.trigger({type:`usage`,name:`vhs-error-reload`}),e.play())},s=function(){if(Date.now()-n<i.errorInterval*1e3)e.trigger({type:`usage`,name:`vhs-error-reload-canceled`});else if(!i.getSource||typeof i.getSource!=`function`)Z.log.error(`ERROR: reloadSourceOnError - The option getSource must be a function!`);else return n=Date.now(),i.getSource.call(e,o)},c=function(){e.off(`loadedmetadata`,a),e.off(`error`,s),e.off(`dispose`,c)};e.on(`error`,s),e.on(`dispose`,c),e.reloadSourceOnError=function(t){c(),Qm(e,t)}},$m=function(e){Qm(this,e)};var eh=`3.17.5`,th=`7.1.0`,nh=`1.4.0`,rh=`7.2.0`,ih=`4.0.2`;const ah={PlaylistLoader:Ld,Playlist:sd,utils:Zd,STANDARD_PLAYLIST_SELECTOR:pp,INITIAL_PLAYLIST_SELECTOR:gp,lastBandwidthSelector:pp,movingAverageBandwidthSelector:mp,comparePlaylistBandwidth:up,comparePlaylistResolution:dp,xhr:Vd()};Object.keys(bf).forEach(e=>{Object.defineProperty(ah,e,{get(){return Z.log.warn(`using Vhs.${e} is UNSAFE be sure you know what you are doing`),bf[e]},set(t){Z.log.warn(`using Vhs.${e} is UNSAFE be sure you know what you are doing`),typeof t!=`number`||t<0?Z.log.warn(`value of Vhs.${e} must be greater than or equal to 0`):bf[e]=t}})});const oh=`videojs-vhs`,sh=function(e,t){let n=t.media(),r=-1;for(let t=0;t<e.length;t++)if(e[t].id===n.id){r=t;break}e.selectedIndex_=r,e.trigger({selectedIndex:r,type:`change`})},ch=function(e,t){t.representations().forEach(t=>{e.addQualityLevel(t)}),sh(e,t.playlists)};ah.canPlaySource=function(){return Z.log.warn(`VHS is no longer a tech. Please remove it from your player's techOrder.`)};const lh=(e,t,n)=>{if(!e)return e;let r={};t&&t.attributes&&t.attributes.CODECS&&(r=wd(wt(t.attributes.CODECS))),n&&n.attributes&&n.attributes.CODECS&&(r.audio=n.attributes.CODECS);let i=Ot(r.video),a=Ot(r.audio),o={};for(let n in e)o[n]={},a&&(o[n].audioContentType=a),i&&(o[n].videoContentType=i),t.contentProtection&&t.contentProtection[n]&&t.contentProtection[n].pssh&&(o[n].pssh=t.contentProtection[n].pssh),typeof e[n]==`string`&&(o[n].url=e[n]);return Q(e,o)},uh=(e,t)=>e.reduce((e,n)=>{if(!n.contentProtection)return e;let r=t.reduce((e,t)=>{let r=n.contentProtection[t];return r&&r.pssh&&(e[t]={pssh:r.pssh}),e},{});return Object.keys(r).length&&e.push(r),e},[]),dh=({player:e,sourceKeySystems:t,audioMedia:n,mainPlaylists:r})=>{if(!e.eme.initializeMediaKeys)return Promise.resolve();let i=n?r.concat([n]):r,a=uh(i,Object.keys(t)),o=[],s=[];return a.forEach(t=>{s.push(new Promise((t,n)=>{e.tech_.one(`keysessioncreated`,t)})),o.push(new Promise((n,r)=>{e.eme.initializeMediaKeys({keySystems:t},e=>{e?r(e):n()})}))}),Promise.race([Promise.all(o),Promise.race(s)])},fh=({player:e,sourceKeySystems:t,media:n,audioMedia:r})=>{let i=lh(t,n,r);return i?(e.currentSource().keySystems=i,i&&!e.eme?(Z.log.warn(`DRM encrypted source cannot be decrypted without a DRM plugin`),!1):!0):!1},ph=()=>{if(!x.localStorage)return null;let e=x.localStorage.getItem(oh);if(!e)return null;try{return JSON.parse(e)}catch{return null}},mh=e=>{if(!x.localStorage)return!1;let t=ph();t=t?Q(t,e):e;try{x.localStorage.setItem(oh,JSON.stringify(t))}catch{return!1}return t},hh=e=>e.toLowerCase().indexOf(`data:application/vnd.videojs.vhs+json,`)===0?JSON.parse(e.substring(e.indexOf(`,`)+1)):e,gh=(e,t)=>{e._requestCallbackSet||=new Set,e._requestCallbackSet.add(t)},_h=(e,t)=>{e._responseCallbackSet||=new Set,e._responseCallbackSet.add(t)},vh=(e,t)=>{e._requestCallbackSet&&(e._requestCallbackSet.delete(t),e._requestCallbackSet.size||delete e._requestCallbackSet)},yh=(e,t)=>{e._responseCallbackSet&&(e._responseCallbackSet.delete(t),e._responseCallbackSet.size||delete e._responseCallbackSet)};ah.supportsNativeHls=function(){if(!F||!F.createElement)return!1;let e=F.createElement(`video`);return Z.getTech(`Html5`).isSupported()?[`application/vnd.apple.mpegurl`,`audio/mpegurl`,`audio/x-mpegurl`,`application/x-mpegurl`,`video/x-mpegurl`,`video/mpegurl`,`application/mpegurl`].some(function(t){return/maybe|probably/i.test(e.canPlayType(t))}):!1}(),ah.supportsNativeDash=function(){return!F||!F.createElement||!Z.getTech(`Html5`).isSupported()?!1:/maybe|probably/i.test(F.createElement(`video`).canPlayType(`application/dash+xml`))}(),ah.supportsTypeNatively=e=>e===`hls`?ah.supportsNativeHls:e===`dash`&&ah.supportsNativeDash,ah.isSupported=function(){return Z.log.warn(`VHS is no longer a tech. Please remove it from your player's techOrder.`)},ah.xhr.onRequest=function(e){gh(ah.xhr,e)},ah.xhr.onResponse=function(e){_h(ah.xhr,e)},ah.xhr.offRequest=function(e){vh(ah.xhr,e)},ah.xhr.offResponse=function(e){yh(ah.xhr,e)};const bh=Z.getComponent(`Component`);class xh extends bh{constructor(e,t,n){if(super(t,n.vhs),typeof n.initialBandwidth==`number`&&(this.options_.bandwidth=n.initialBandwidth),this.logger_=xu(`VhsHandler`),t.options_&&t.options_.playerId){let e=Z.getPlayer(t.options_.playerId);this.player_=e}if(this.tech_=t,this.source_=e,this.stats={},this.ignoreNextSeekingEvent_=!1,this.setOptions_(),this.options_.overrideNative&&t.overrideNativeAudioTracks&&t.overrideNativeVideoTracks)t.overrideNativeAudioTracks(!0),t.overrideNativeVideoTracks(!0);else if(this.options_.overrideNative&&(t.featuresNativeVideoTracks||t.featuresNativeAudioTracks))throw Error(`Overriding native VHS requires emulated tracks. See https://git.io/vMpjB`);this.on(F,[`fullscreenchange`,`webkitfullscreenchange`,`mozfullscreenchange`,`MSFullscreenChange`],e=>{let t=F.fullscreenElement||F.webkitFullscreenElement||F.mozFullScreenElement||F.msFullscreenElement;t&&t.contains(this.tech_.el())?this.playlistController_.fastQualityChange_():this.playlistController_.checkABR_()}),this.on(this.tech_,`seeking`,function(){this.ignoreNextSeekingEvent_?this.ignoreNextSeekingEvent_=!1:this.setCurrentTime(this.tech_.currentTime())}),this.on(this.tech_,`error`,function(){this.tech_.error()&&this.playlistController_&&this.playlistController_.pauseLoading()}),this.on(this.tech_,`play`,this.play)}setOptions_(e={}){if(this.options_=Q(this.options_,e),this.options_.withCredentials=this.options_.withCredentials||!1,this.options_.limitRenditionByPlayerDimensions=this.options_.limitRenditionByPlayerDimensions!==!1,this.options_.useDevicePixelRatio=this.options_.useDevicePixelRatio||!1,this.options_.usePlayerObjectFit=this.options_.usePlayerObjectFit||!1,this.options_.useBandwidthFromLocalStorage=this.source_.useBandwidthFromLocalStorage===void 0?this.options_.useBandwidthFromLocalStorage||!1:this.source_.useBandwidthFromLocalStorage,this.options_.useForcedSubtitles=this.options_.useForcedSubtitles||!1,this.options_.useNetworkInformationApi=this.options_.useNetworkInformationApi===void 0||this.options_.useNetworkInformationApi,this.options_.useDtsForTimestampOffset=this.options_.useDtsForTimestampOffset||!1,this.options_.customTagParsers=this.options_.customTagParsers||[],this.options_.customTagMappers=this.options_.customTagMappers||[],this.options_.cacheEncryptionKeys=this.options_.cacheEncryptionKeys||!1,this.options_.llhls=this.options_.llhls!==!1,this.options_.bufferBasedABR=this.options_.bufferBasedABR||!1,typeof this.options_.playlistExclusionDuration!=`number`&&(this.options_.playlistExclusionDuration=60),typeof this.options_.bandwidth!=`number`&&this.options_.useBandwidthFromLocalStorage){let e=ph();e&&e.bandwidth&&(this.options_.bandwidth=e.bandwidth,this.tech_.trigger({type:`usage`,name:`vhs-bandwidth-from-local-storage`})),e&&e.throughput&&(this.options_.throughput=e.throughput,this.tech_.trigger({type:`usage`,name:`vhs-throughput-from-local-storage`}))}typeof this.options_.bandwidth!=`number`&&(this.options_.bandwidth=bf.INITIAL_BANDWIDTH),this.options_.enableLowInitialPlaylist=this.options_.enableLowInitialPlaylist&&this.options_.bandwidth===bf.INITIAL_BANDWIDTH,[`withCredentials`,`useDevicePixelRatio`,`usePlayerObjectFit`,`customPixelRatio`,`limitRenditionByPlayerDimensions`,`bandwidth`,`customTagParsers`,`customTagMappers`,`cacheEncryptionKeys`,`playlistSelector`,`initialPlaylistSelector`,`bufferBasedABR`,`liveRangeSafeTimeDelta`,`llhls`,`useForcedSubtitles`,`useNetworkInformationApi`,`useDtsForTimestampOffset`,`exactManifestTimings`,`leastPixelDiffSelector`].forEach(e=>{this.source_[e]!==void 0&&(this.options_[e]=this.source_[e])}),this.limitRenditionByPlayerDimensions=this.options_.limitRenditionByPlayerDimensions,this.useDevicePixelRatio=this.options_.useDevicePixelRatio,this.usePlayerObjectFit=this.options_.usePlayerObjectFit;let t=this.options_.customPixelRatio;typeof t==`number`&&t>=0&&(this.customPixelRatio=t)}setOptions(e={}){this.setOptions_(e)}src(e,t){if(!e)return;this.setOptions_(),this.options_.src=hh(this.source_.src),this.options_.tech=this.tech_,this.options_.externVhs=ah,this.options_.sourceType=Ft(t),this.options_.seekTo=e=>{this.tech_.setCurrentTime(e)},this.options_.player_=this.player_,this.playlistController_=new Gm(this.options_);let n=Q({liveRangeSafeTimeDelta:Tu},this.options_,{seekable:()=>this.seekable(),media:()=>this.playlistController_.media(),playlistController:this.playlistController_});this.playbackWatcher_=new Xm(n),this.attachStreamingEventListeners_(),this.playlistController_.on(`error`,()=>{let e=Z.players[this.tech_.options_.playerId],t=this.playlistController_.error;typeof t==`object`&&!t.code?t.code=3:typeof t==`string`&&(t={message:t,code:3}),e.error(t)});let r=this.options_.bufferBasedABR?ah.movingAverageBandwidthSelector(.55):ah.STANDARD_PLAYLIST_SELECTOR;this.playlistController_.selectPlaylist=this.selectPlaylist?this.selectPlaylist.bind(this):r.bind(this),this.playlistController_.selectInitialPlaylist=ah.INITIAL_PLAYLIST_SELECTOR.bind(this),this.playlists=this.playlistController_.mainPlaylistLoader_,this.mediaSource=this.playlistController_.mediaSource,Object.defineProperties(this,{selectPlaylist:{get(){return this.playlistController_.selectPlaylist},set(e){this.playlistController_.selectPlaylist=e.bind(this)}},throughput:{get(){return this.playlistController_.mainSegmentLoader_.throughput.rate},set(e){this.playlistController_.mainSegmentLoader_.throughput.rate=e,this.playlistController_.mainSegmentLoader_.throughput.count=1}},bandwidth:{get(){let e=this.playlistController_.mainSegmentLoader_.bandwidth,t=x.navigator.connection||x.navigator.mozConnection||x.navigator.webkitConnection,n=1e7;if(this.options_.useNetworkInformationApi&&t){let r=t.downlink*1e3*1e3;e=r>=n&&e>=n?Math.max(e,r):r}return e},set(e){this.playlistController_.mainSegmentLoader_.bandwidth=e,this.playlistController_.mainSegmentLoader_.throughput={rate:0,count:0}}},systemBandwidth:{get(){let e=1/(this.bandwidth||1),t;return t=this.throughput>0?1/this.throughput:0,Math.floor(1/(e+t))},set(){Z.log.error(`The "systemBandwidth" property is read-only`)}}}),this.options_.bandwidth&&(this.bandwidth=this.options_.bandwidth),this.options_.throughput&&(this.throughput=this.options_.throughput),Object.defineProperties(this.stats,{bandwidth:{get:()=>this.bandwidth||0,enumerable:!0},mediaRequests:{get:()=>this.playlistController_.mediaRequests_()||0,enumerable:!0},mediaRequestsAborted:{get:()=>this.playlistController_.mediaRequestsAborted_()||0,enumerable:!0},mediaRequestsTimedout:{get:()=>this.playlistController_.mediaRequestsTimedout_()||0,enumerable:!0},mediaRequestsErrored:{get:()=>this.playlistController_.mediaRequestsErrored_()||0,enumerable:!0},mediaTransferDuration:{get:()=>this.playlistController_.mediaTransferDuration_()||0,enumerable:!0},mediaBytesTransferred:{get:()=>this.playlistController_.mediaBytesTransferred_()||0,enumerable:!0},mediaSecondsLoaded:{get:()=>this.playlistController_.mediaSecondsLoaded_()||0,enumerable:!0},mediaAppends:{get:()=>this.playlistController_.mediaAppends_()||0,enumerable:!0},mainAppendsToLoadedData:{get:()=>this.playlistController_.mainAppendsToLoadedData_()||0,enumerable:!0},audioAppendsToLoadedData:{get:()=>this.playlistController_.audioAppendsToLoadedData_()||0,enumerable:!0},appendsToLoadedData:{get:()=>this.playlistController_.appendsToLoadedData_()||0,enumerable:!0},timeToLoadedData:{get:()=>this.playlistController_.timeToLoadedData_()||0,enumerable:!0},buffered:{get:()=>Nu(this.tech_.buffered()),enumerable:!0},currentTime:{get:()=>this.tech_.currentTime(),enumerable:!0},currentSource:{get:()=>this.tech_.currentSource_,enumerable:!0},currentTech:{get:()=>this.tech_.name_,enumerable:!0},duration:{get:()=>this.tech_.duration(),enumerable:!0},main:{get:()=>this.playlists.main,enumerable:!0},playerDimensions:{get:()=>this.tech_.currentDimensions(),enumerable:!0},seekable:{get:()=>Nu(this.tech_.seekable()),enumerable:!0},timestamp:{get:()=>Date.now(),enumerable:!0},videoPlaybackQuality:{get:()=>this.tech_.getVideoPlaybackQuality(),enumerable:!0}}),this.tech_.one(`canplay`,this.playlistController_.setupFirstPlay.bind(this.playlistController_)),this.tech_.on(`bandwidthupdate`,()=>{this.options_.useBandwidthFromLocalStorage&&mh({bandwidth:this.bandwidth,throughput:Math.round(this.throughput)})}),this.playlistController_.on(`selectedinitialmedia`,()=>{Jm(this)}),this.playlistController_.sourceUpdater_.on(`createdsourcebuffers`,()=>{this.setupEme_()}),this.on(this.playlistController_,`progress`,function(){this.tech_.trigger(`progress`)}),this.on(this.playlistController_,`firstplay`,function(){this.ignoreNextSeekingEvent_=!0}),this.setupQualityLevels_(),this.tech_.el()&&(this.mediaSourceUrl_=x.URL.createObjectURL(this.playlistController_.mediaSource),(Z.browser.IS_ANY_SAFARI||Z.browser.IS_IOS)&&this.options_.overrideNative&&this.options_.sourceType===`hls`&&typeof this.tech_.addSourceElement==`function`?(this.tech_.addSourceElement(this.mediaSourceUrl_),this.tech_.addSourceElement(this.source_.src)):this.tech_.src(this.mediaSourceUrl_))}createKeySessions_(){let e=this.playlistController_.mediaTypes_.AUDIO.activePlaylistLoader;this.logger_(`waiting for EME key session creation`),dh({player:this.player_,sourceKeySystems:this.source_.keySystems,audioMedia:e&&e.media(),mainPlaylists:this.playlists.main.playlists}).then(()=>{this.logger_(`created EME key session`),this.playlistController_.sourceUpdater_.initializedEme()}).catch(e=>{this.logger_(`error while creating EME key session`,e),this.player_.error({message:`Failed to initialize media keys for EME`,code:3})})}handleWaitingForKey_(){this.logger_(`waitingforkey fired, attempting to create any new key sessions`),this.createKeySessions_()}setupEme_(){let e=this.playlistController_.mediaTypes_.AUDIO.activePlaylistLoader,t=fh({player:this.player_,sourceKeySystems:this.source_.keySystems,media:this.playlists.media(),audioMedia:e&&e.media()});this.player_.tech_.on(`keystatuschange`,e=>{this.playlistController_.updatePlaylistByKeyStatus(e.keyId,e.status)}),this.handleWaitingForKey_=this.handleWaitingForKey_.bind(this),this.player_.tech_.on(`waitingforkey`,this.handleWaitingForKey_),t?this.createKeySessions_():this.playlistController_.sourceUpdater_.initializedEme()}setupQualityLevels_(){let e=Z.players[this.tech_.options_.playerId];e&&e.qualityLevels&&!this.qualityLevels_&&(this.qualityLevels_=e.qualityLevels(),this.playlistController_.on(`selectedinitialmedia`,()=>{ch(this.qualityLevels_,this)}),this.playlists.on(`mediachange`,()=>{sh(this.qualityLevels_,this.playlists)}))}static version(){return{"@videojs/http-streaming":eh,"mux.js":th,"mpd-parser":nh,"m3u8-parser":rh,"aes-decrypter":ih}}version(){return this.constructor.version()}canChangeType(){return sm.canChangeType()}play(){this.playlistController_.play()}setCurrentTime(e){this.playlistController_.setCurrentTime(e)}duration(){return this.playlistController_.duration()}seekable(){return this.playlistController_.seekable()}dispose(){this.playbackWatcher_&&this.playbackWatcher_.dispose(),this.playlistController_&&this.playlistController_.dispose(),this.qualityLevels_&&this.qualityLevels_.dispose(),this.tech_&&this.tech_.vhs&&delete this.tech_.vhs,this.mediaSourceUrl_&&x.URL.revokeObjectURL&&(x.URL.revokeObjectURL(this.mediaSourceUrl_),this.mediaSourceUrl_=null),this.tech_&&this.tech_.off(`waitingforkey`,this.handleWaitingForKey_),super.dispose()}convertToProgramTime(e,t){return of({playlist:this.playlistController_.media(),time:e,callback:t})}seekToProgramTime(e,t,n=!0,r=2){return sf({programTime:e,playlist:this.playlistController_.media(),retryCount:r,pauseAfterSeek:n,seekTo:this.options_.seekTo,tech:this.options_.tech,callback:t})}setupXhrHooks_(){this.xhr.onRequest=e=>{gh(this.xhr,e)},this.xhr.onResponse=e=>{_h(this.xhr,e)},this.xhr.offRequest=e=>{vh(this.xhr,e)},this.xhr.offResponse=e=>{yh(this.xhr,e)},this.player_.trigger(`xhr-hooks-ready`)}attachStreamingEventListeners_(){[`seekablerangeschanged`,`bufferedrangeschanged`,`contentsteeringloadstart`,`contentsteeringloadcomplete`,`contentsteeringparsed`].forEach(e=>{this.playlistController_.on(e,e=>{this.player_.trigger(R({},e))})}),[`gapjumped`,`playedrangeschanged`].forEach(e=>{this.playbackWatcher_.on(e,e=>{this.player_.trigger(R({},e))})})}}const Sh={name:`videojs-http-streaming`,VERSION:eh,canHandleSource(e,t={}){let n=Q(Z.options,t);return!n.vhs.experimentalUseMMS&&!kt(`avc1.4d400d,mp4a.40.2`,!1)?!1:Sh.canPlayType(e.type,n)},handleSource(e,t,n={}){let r=Q(Z.options,n);return t.vhs=new xh(e,t,r),t.vhs.xhr=Vd(),t.vhs.setupXhrHooks_(),t.vhs.src(e.src,e.type),t.vhs},canPlayType(e,t){let n=Ft(e);if(!n)return``;let r=Sh.getOverrideNative(t);return!ah.supportsTypeNatively(n)||r?`maybe`:``},getOverrideNative(e={}){let{vhs:t={}}=e,n=!(Z.browser.IS_ANY_SAFARI||Z.browser.IS_IOS),{overrideNative:r=n}=t;return r}};kt(`avc1.4d400d,mp4a.40.2`,!0)&&Z.getTech(`Html5`).registerSourceHandler(Sh,0),Z.VhsHandler=xh,Z.VhsSourceHandler=Sh,Z.Vhs=ah,Z.use||Z.registerComponent(`Vhs`,ah),Z.options.vhs=Z.options.vhs||{},Z.getPlugin&&Z.getPlugin(`reloadSourceOnError`)||Z.registerPlugin(`reloadSourceOnError`,$m);let $=class extends t{constructor(){super(...arguments),this._controllerConfigs={autoplay:!1,autoSetup:!1,bandwidth:4e6,controls:!1,defaultVolume:.3,disablePictureInPicture:!0,enableDocumentPictureInPicture:!1,enableSmoothSeeking:!0,html5:{nativeAudioTracks:!1,nativeVideoTracks:!1,vhs:{fastQualityChange:!0,liveTolerance:10,llhls:!0,overrideNative:!0,maxPlaylistRetries:5,preferFullHLS:!0,smoothQualityChange:!0,targetLiveDelay:3.5,useNetworkInformationApi:!1}},liveTracker:{liveTolerance:10,trackingThreshold:15},loop:!1,muted:!1,nativeControlsForTouch:!1,normalizeAutoplay:!1,preload:`auto`,retryOnError:!0},this._prevPlayingState=!1,this._retryCount=0,this._qualityLevels=[],this.autoplay=!1,this.currentMetadata=null,this.element=null,this.isLive=!1,this.mimeType=null,this.sensorModel=null,this.started=!1,this.state=`not-ready`,this.waitingTimestamp=null,this._initController=async()=>{if(!this._controller&&this.playerUrl)try{let e={...this._controllerConfigs};this.element=document.createElement(`video`),Z.log.level(`off`),this._controller=Z(this.element,e),this._controller.muted(this.muted),this._controller.loop(this.loop),this._controller.playbackRate(this.rate),this._controller.qualityLevels().on(`addqualitylevel`,e=>this._handleQualityLevel(e)),this._controller.ready(this._handleReady),this._controller.one(`play`,this._handleFirstPlay),this._controller.on(`canplay`,this._handleCanPlay),this._controller.on(`durationchange`,this._handleDurationChange),this._controller.on(`ended`,this._handleEnded),this._controller.on(`error`,this._handleError),this._controller.on(`loadeddata`,this._handleDataLoaded),this._controller.on(`loadedmetadata`,this._handleLoadedMetadata),this._controller.on(`loadstart`,this._handleLoadStart),this._controller.on(`play`,this._handlePlay),this._controller.on(`playing`,this._handlePlaying),this._controller.on(`stalled`,this._handleStalled),this._controller.on(`timeupdate`,this._handleTimeUpdate),this._controller.on(`waiting`,this._handleWaiting),this._controller.on(`xhr-hooks-ready`,this._handleXHRhooksReady),this._controller?.liveTracker.on(`seekableendchange`,this._setLivestreamStatus),this._controller?.liveTracker.on(`liveedgechange`,this._setLivestreamStatus)}catch{r.getLogger(this).error(`Unable to initialize the player.`),this._controller&&this._controller.dispose()}},this._handleQualityLevel=e=>{if(!e?.qualityLevel)return;let t=e.qualityLevel;if(t.height===void 0||t.width===void 0)return;let n=new Set(this._qualityLevels??[]),r={bitrate:t.bitrate,enabled:t.enabled,frameRate:t.frameRate,height:t.height,id:t.id,label:t.label,width:t.width};n.add(r),this._qualityLevels=n.size?Array.from(n):[],this.notifyChange(`qualityLevels`),r?.enabled&&(this._set(`videoWidth`,r.width),this._set(`videoHeight`,r.height))},this._handleReady=()=>{this.state=`ready`},this._handleFirstPlay=()=>{this._set(`started`,!0)},this._handleCanPlay=async()=>{if(this._prevPlayingState=this.state===`playing`,this.state=`can-play`,this.autoplay&&!this.started)try{this.muted=!0,await this.play()}catch{r.getLogger(this).info(`Unable to auto start playback. Blocked by the browser.`)}},this._handleCueChange=()=>{if(!this.subtitleTrack?.activeCues?.length)return;let e=this.subtitleTrack?.activeCues,t=f(e);if(!t?.length)return;let n=new Map;for(let e of t)Array.isArray(e.value)?e.tagId===90064?n.set(e.tagId,e):e.value.forEach(e=>{n.set(e.tagId,e)}):n.set(e.tagId,e);n.set(p.EsriVideoWidth,{name:`Video Width`,tagId:p.EsriVideoWidth,value:this._controller?.videoWidth()}),n.set(p.EsriVideoHeight,{name:`Video Height`,tagId:p.EsriVideoHeight,value:this._controller?.videoHeight()}),this.currentMetadata=new Map(n)},this._handleDataLoaded=()=>{this._set(`videoWidth`,this._controller?.videoWidth()),this._set(`videoHeight`,this._controller?.videoHeight())},this._handleDurationChange=()=>{this._controller?.duration()!==0&&(this.notifyChange(`duration`),this.isLive=this._controller?.duration()===1/0||!1,this._setLivestreamStatus(),this.started&&this._controller?.duration()===this._controller?.currentTime()&&this._controller?.trigger(`ended`))},this._handleEnded=()=>{this._controller?.ended()&&this.notifyChange(`ended`)},this._handleError=()=>{let e=this._controller?.error()??null;if(typeof e?.code==`number`&&e?.code<3&&this._retryCount===0)this._retryCount++,setTimeout(()=>{this._controller?.src({type:this.mimeType,src:this.playerUrl}),this._controller?.load()},2e3);else{let t=new n(`Media Error`,e?.message??``);r.getLogger(this).error(t),this.reset()}},this._handleLoadStart=()=>{this.state=`can-play`},this._handleLoadedMetadata=()=>{let e=this._controller?.liveTracker;e?.isTracking()&&e.options_&&(e.options_.liveTolerance=1.5),this.state=`can-play`,this.notifyChange(`buffered`),this.notifyChange(`subtitleTrack`)},this._handlePlay=()=>{this.notifyChange(`ended`)},this._handlePlaying=()=>{this.state=`playing`,this._retryCount=0},this._handleStalled=()=>{r.getLogger(this).warn(`Playback is stalled and awaiting data`)},this._handleTimeUpdate=()=>{this._setLivestreamStatus(),this.notifyChange(`currentTime`),this.notifyChange(`buffered`),this.notifyChange(`bufferedPercent`),this._set(`videoWidth`,this._controller?.videoWidth()),this._set(`videoHeight`,this._controller?.videoHeight())},this._handleWaiting=()=>{this.waitingTimestamp=this._controller?.currentTime(),this.state=`waiting`},this._handleXHRhooksReady=()=>{this._controller?.tech(!0)?.vhs?.xhr?.onRequest(e=>(e.xhr=new c,e))},this._updateSensorModel=()=>{this.currentMetadata?.size&&(this.sensorModel?this.sensorModel.updateSensorModel(this.currentMetadata):this.sensorModel=new d({videoMetadata:this.currentMetadata}))},this._setLivestreamStatus=()=>{if(!this.isLive){this.livestreamStatus=null;return}let e=this._controller?.liveTracker;if(!e){this.livestreamStatus=null;return}let t=e.options_||{};this.livestreamStatus={atLiveEdge:e.atLiveEdge(),behindLiveEdge:e.behindLiveEdge(),liveCurrentTime:e.liveCurrentTime(),liveTolerance:t.liveTolerance??10,liveWindow:e.liveWindow(),pastSeekEnd:e.pastSeekEnd(),seekableEnd:e.seekableEnd(),seekableStart:e.seekableStart(),targetLiveDelay:this._controller?.options_?.html5?.vhs?.targetLiveDelay??3.5}}}initialize(){this.addHandles([a(()=>this.playerUrl,e=>{e&&this._initController().then(()=>{this.mimeType=m(e),this._controller?.src({src:this.playerUrl,type:this.mimeType})})},o),a(()=>this.subtitleTrack,()=>{this.subtitleTrack&&(this.subtitleTrack.mode=`showing`)},o),a(()=>this.isLive,async e=>{e&&(this._controller?.liveTracker.startTracking(),this.autoplay&&(this.muted=!0,await this.play()))}),a(()=>this.currentMetadata,()=>this._updateSensorModel())]),this.addHandles(s(()=>this.subtitleTrack,`cuechange`,this._handleCueChange),o)}destroy(){this.removeAllHandles(),this._controller?.dispose()}get buffered(){return this._controller?.bufferedEnd()??0}get bufferedPercent(){return this._controller?.bufferedPercent()??0}get crossOrigin(){return this._controller?.crossOrigin()??this._get(`crossOrigin`)}set crossOrigin(e){this._controller?.crossOrigin(e),this._set(`crossOrigin`,e)}get currentTime(){return this._controller?.currentTime()??0}get duration(){return this._controller?.duration()??0}get ended(){return this._controller?.ended()??this._get(`ended`)??!0}set ended(e){this._controller?.trigger(`ended`),this._set(`ended`,e)}get loop(){return this._controller?.loop()??this._get(`loop`)??!1}set loop(e){this._controller?.loop(e),this._set(`loop`,e)}get muted(){return this._controller?.muted()??this._get(`muted`)??!1}set muted(e){this._controller?.muted(e),this._set(`muted`,e)}get playerUrl(){return this._controller?.src()||``}set playerUrl(e){this._set(`playerUrl`,e)}get qualityLevels(){return this._qualityLevels}get playing(){return this.ended?!1:this.state===`can-play`?this._prevPlayingState:this.state===`playing`}get playsInline(){return this._controller?.playsinline()??this._get(`playsInline`)??!1}set playsInline(e){this._controller?.playsinline(e),this._set(`playsInline`,e)}get rate(){return this._controller?.playbackRate()??this._get(`rate`)??1}set rate(e){this._controller?.playbackRate(e),this._set(`rate`,e)}get startMode(){return this._controller?.preload()??this._get(`startMode`)??`auto`}set startMode(e){this._controller?.preload(e),this._set(`startMode`,e)}get subtitleTrack(){let e=this._controller?.textTracks();return e?.length?Array.from(e).find(e=>e.kind===`subtitles`):null}get volume(){return this._controller?.volume()??0}set volume(e){let t=i(e,0,1);isNaN(t)||this._controller?.volume(t)}get waiting(){return this.waitingTimestamp?!1:this.waitingTimestamp===this.currentTime||(this.waitingTimestamp=null,!1)}pause(){this._controller?.pause(),this.state=`paused`}async play(){try{!this.started&&this.isLive&&this._controller?.muted(!0),await this._controller?.play(),this.state=`playing`}catch{}}reset(){this._controller&&(this._prevPlayingState=!1,this._retryCount=0,this._set(`started`,!1),this.setCurrentTime(0),this.notifyChange(`buffered`),this.notifyChange(`duration`),this._controller?.trigger(`can-play`),this.autoplay||this._controller?.pause())}seekToLiveEdge(){this.isLive?this.state===`playing`&&this._controller?.liveTracker.isTracking()&&this._controller?.liveTracker.seekToLiveEdge():r.getLogger(this).info(`seekToLiveEdge method is only available for livestream playback.`)}setCurrentTime(e){let t=i(e,0,this.duration);this._controller?.currentTime(t),this.notifyChange(`currentTime`)}};e([l()],$.prototype,`autoplay`,void 0),e([l()],$.prototype,`buffered`,null),e([l()],$.prototype,`bufferedPercent`,null),e([l()],$.prototype,`crossOrigin`,null),e([l({readOnly:!0})],$.prototype,`currentTime`,null),e([l()],$.prototype,`currentMetadata`,void 0),e([l({readOnly:!0})],$.prototype,`duration`,null),e([l()],$.prototype,`element`,void 0),e([l({readOnly:!0})],$.prototype,`ended`,null),e([l()],$.prototype,`isLive`,void 0),e([l()],$.prototype,`livestreamStatus`,void 0),e([l()],$.prototype,`loop`,null),e([l()],$.prototype,`mimeType`,void 0),e([l()],$.prototype,`muted`,null),e([l()],$.prototype,`playerUrl`,null),e([l()],$.prototype,`qualityLevels`,null),e([l({readOnly:!0})],$.prototype,`playing`,null),e([l()],$.prototype,`playsInline`,null),e([l()],$.prototype,`rate`,null),e([l()],$.prototype,`sensorModel`,void 0),e([l({readOnly:!0})],$.prototype,`started`,void 0),e([l()],$.prototype,`startMode`,null),e([l()],$.prototype,`state`,void 0),e([l()],$.prototype,`subtitleTrack`,null),e([l({readOnly:!0})],$.prototype,`videoHeight`,void 0),e([l({readOnly:!0})],$.prototype,`videoWidth`,void 0),e([l()],$.prototype,`volume`,null),e([l({readOnly:!0})],$.prototype,`waiting`,null),e([l()],$.prototype,`waitingTimestamp`,void 0),$=e([u(`esri.layers.video.VideoController`)],$);export{$ as default};