@vkontakte/videoplayer-core 2.0.36 → 2.0.37

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 (115) hide show
  1. package/index.cjs.js +4 -4
  2. package/index.esm.js +4 -4
  3. package/package.json +1 -1
  4. package/{env.d.ts → sdk/src/env.d.ts} +0 -0
  5. package/{index.d.ts → sdk/src/index.d.ts} +0 -0
  6. package/{player → sdk/src/player}/Player.d.ts +0 -0
  7. package/{player → sdk/src/player}/types.d.ts +0 -0
  8. package/{player → sdk/src/player}/utils/position.d.ts +0 -0
  9. package/{player → sdk/src/player}/utils/selectContainer.d.ts +0 -0
  10. package/{player → sdk/src/player}/utils/watchCoverage.d.ts +0 -0
  11. package/{providers → sdk/src/providers}/ChromecastProvider/ChromecastInitializer/index.d.ts +0 -0
  12. package/{providers → sdk/src/providers}/ChromecastProvider/ChromecastInitializer/types.d.ts +0 -0
  13. package/{providers → sdk/src/providers}/ChromecastProvider/index.d.ts +0 -0
  14. package/{providers → sdk/src/providers}/DashIFProvider/BigRequestLoader.d.ts +0 -0
  15. package/{providers → sdk/src/providers}/DashIFProvider/dashjsTypes.d.ts +0 -0
  16. package/{providers → sdk/src/providers}/DashIFProvider/index.d.ts +0 -0
  17. package/{providers → sdk/src/providers}/DashIFProvider/observableManifestLoader.d.ts +0 -0
  18. package/{providers → sdk/src/providers}/DashIFProvider/stripRangeHeader.d.ts +0 -0
  19. package/{providers → sdk/src/providers}/DashLiveProvider/DashLiveProvider.d.ts +0 -0
  20. package/{providers → sdk/src/providers}/DashLiveProvider/index.d.ts +0 -0
  21. package/{providers → sdk/src/providers}/DashLiveProvider/types.d.ts +0 -0
  22. package/{providers → sdk/src/providers}/DashLiveProvider/utils/FilesFetcher.d.ts +0 -0
  23. package/{providers → sdk/src/providers}/DashLiveProvider/utils/LiveDashPlayer.d.ts +0 -0
  24. package/{providers → sdk/src/providers}/DashLiveProvider/utils/ThroughputEstimator.d.ts +0 -0
  25. package/{providers → sdk/src/providers}/DashLiveProvider/utils/liveDashPlayerUtil.d.ts +0 -0
  26. package/{providers → sdk/src/providers}/DashProvider/DashProvider.d.ts +0 -0
  27. package/{providers → sdk/src/providers}/DashProvider/index.d.ts +0 -0
  28. package/{providers → sdk/src/providers}/DashProvider/types.d.ts +0 -0
  29. package/{providers → sdk/src/providers}/DashProvider/utils/DashLite.d.ts +0 -0
  30. package/{providers → sdk/src/providers}/DashProvider/utils/stream.d.ts +0 -0
  31. package/{providers → sdk/src/providers}/DashProvider/utils/xhr2.d.ts +0 -0
  32. package/{providers → sdk/src/providers}/DashVKProvider/index.d.ts +0 -0
  33. package/{providers → sdk/src/providers}/DashVKProvider/lib/buffer.d.ts +1 -0
  34. package/{providers → sdk/src/providers}/DashVKProvider/lib/ebml.d.ts +0 -0
  35. package/{providers → sdk/src/providers}/DashVKProvider/lib/fetch.d.ts +0 -0
  36. package/{providers → sdk/src/providers}/DashVKProvider/lib/mpd.d.ts +0 -0
  37. package/{providers → sdk/src/providers}/DashVKProvider/lib/player.d.ts +0 -0
  38. package/{providers → sdk/src/providers}/DashVKProvider/lib/types.d.ts +0 -0
  39. package/{providers → sdk/src/providers}/DashVKProvider/lib/webm.d.ts +0 -0
  40. package/{providers → sdk/src/providers}/HlsJsProvider/index.d.ts +0 -0
  41. package/{providers → sdk/src/providers}/HlsLiveProvider/index.d.ts +0 -0
  42. package/{providers → sdk/src/providers}/HlsLiveProvider/seekBackTimeExtractor.d.ts +0 -0
  43. package/{providers → sdk/src/providers}/HlsProvider/index.d.ts +0 -0
  44. package/{providers → sdk/src/providers}/HlsProvider/qualityExtractor.d.ts +0 -0
  45. package/{providers → sdk/src/providers}/MpegProvider/index.d.ts +0 -0
  46. package/{providers → sdk/src/providers}/ProviderContainer/index.d.ts +0 -0
  47. package/{providers → sdk/src/providers}/ProviderContainer/types.d.ts +0 -0
  48. package/{providers → sdk/src/providers}/ProviderContainer/utils/formatsSupport.d.ts +0 -0
  49. package/{providers → sdk/src/providers}/ProviderContainer/utils/playbackHangup.d.ts +0 -0
  50. package/{providers → sdk/src/providers}/types.d.ts +0 -0
  51. package/{providers → sdk/src/providers}/utils/HtmlVideoTextTrackManager.d.ts +0 -0
  52. package/{providers → sdk/src/providers}/utils/LiveOffset/index.d.ts +0 -0
  53. package/{providers → sdk/src/providers}/utils/LiveOffset/types.d.ts +0 -0
  54. package/{providers → sdk/src/providers}/utils/firstBytesEventForVideoElement.d.ts +0 -0
  55. package/{providers → sdk/src/providers}/utils/firstFrameEvent.d.ts +0 -0
  56. package/{providers → sdk/src/providers}/utils/forcePlay.d.ts +0 -0
  57. package/{providers → sdk/src/providers}/utils/generateLiveUrl.d.ts +0 -0
  58. package/{providers → sdk/src/providers}/utils/initVideoInContainer.d.ts +0 -0
  59. package/{providers → sdk/src/providers}/utils/observableVideo.d.ts +0 -0
  60. package/{providers → sdk/src/providers}/utils/syncDesiredState.d.ts +0 -0
  61. package/{providers → sdk/src/providers}/utils/syncPlaybackState.d.ts +0 -0
  62. package/{utils → sdk/src/utils}/StateMachine/StateMachine.d.ts +0 -0
  63. package/{utils → sdk/src/utils}/StateMachine/types.d.ts +0 -0
  64. package/{utils → sdk/src/utils}/StatefulIterator/StatefulIterator.spec.d.ts +0 -0
  65. package/{utils → sdk/src/utils}/StatefulIterator/index.d.ts +0 -0
  66. package/sdk/src/utils/ThroughputEstimator.d.ts +25 -0
  67. package/{utils → sdk/src/utils}/addScript.d.ts +0 -0
  68. package/{utils → sdk/src/utils}/autoSelectVideoTrack.d.ts +0 -0
  69. package/{utils → sdk/src/utils}/buffer/HttpVideoBuffer.d.ts +0 -0
  70. package/{utils → sdk/src/utils}/buffer/getBufferedRangeForPosition.d.ts +0 -0
  71. package/{utils → sdk/src/utils}/buffer/getForwardBufferDuration.d.ts +0 -0
  72. package/{utils → sdk/src/utils}/buffer/types.d.ts +0 -0
  73. package/{utils → sdk/src/utils}/hostnameFromUrl.d.ts +0 -0
  74. package/{utils → sdk/src/utils}/iframeSafeStorage.d.ts +0 -0
  75. package/{utils → sdk/src/utils}/isSafari.d.ts +0 -0
  76. package/{utils → sdk/src/utils}/link.d.ts +0 -0
  77. package/{utils → sdk/src/utils}/observeElementSize.d.ts +0 -0
  78. package/{utils → sdk/src/utils}/playbackTelemetry.d.ts +0 -0
  79. package/{utils → sdk/src/utils}/quality/quality.spec.d.ts +0 -0
  80. package/{utils → sdk/src/utils}/quality/types.d.ts +0 -0
  81. package/{utils → sdk/src/utils}/quality/utils.d.ts +0 -0
  82. package/{utils → sdk/src/utils}/range.d.ts +0 -0
  83. package/{utils → sdk/src/utils}/rectangle.d.ts +0 -0
  84. package/sdk/src/utils/smoothedValue.d.ts +24 -0
  85. package/{utils → sdk/src/utils}/tuningConfig.d.ts +1 -1
  86. package/{utils → sdk/src/utils}/videoFormat.d.ts +0 -0
  87. package/shared/src/Logger/Logger.d.ts +10 -0
  88. package/shared/src/Logger/index.d.ts +2 -0
  89. package/shared/src/index.d.ts +4 -0
  90. package/shared/src/reactive/Observable.d.ts +7 -0
  91. package/shared/src/reactive/Subject.d.ts +10 -0
  92. package/shared/src/reactive/Subscription.d.ts +6 -0
  93. package/shared/src/reactive/ValueSubject.d.ts +10 -0
  94. package/shared/src/reactive/combine.d.ts +10 -0
  95. package/shared/src/reactive/fromEvent.d.ts +7 -0
  96. package/shared/src/reactive/index.d.ts +19 -0
  97. package/shared/src/reactive/merge.d.ts +12 -0
  98. package/shared/src/reactive/observableFrom.d.ts +3 -0
  99. package/shared/src/reactive/operators/debounce.d.ts +6 -0
  100. package/shared/src/reactive/operators/filter.d.ts +3 -0
  101. package/shared/src/reactive/operators/filterChanged.d.ts +5 -0
  102. package/shared/src/reactive/operators/map.d.ts +2 -0
  103. package/shared/src/reactive/operators/mapTo.d.ts +2 -0
  104. package/shared/src/reactive/operators/once.d.ts +5 -0
  105. package/shared/src/reactive/operators/pairwise.d.ts +4 -0
  106. package/shared/src/reactive/operators/tap.d.ts +2 -0
  107. package/shared/src/reactive/operators/throttle.d.ts +5 -0
  108. package/shared/src/reactive/timeout.d.ts +3 -0
  109. package/shared/src/types/index.d.ts +18 -0
  110. package/shared/src/utils/addScript.d.ts +1 -0
  111. package/shared/src/utils/index.d.ts +5 -0
  112. package/shared/src/utils/never.d.ts +2 -0
  113. package/shared/src/utils/noop.d.ts +1 -0
  114. package/shared/src/utils/nullable.d.ts +6 -0
  115. package/utils/ThroughputEstimator.d.ts +0 -31
package/index.cjs.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @vkontakte/videoplayer-core v2.0.36
3
- * Thu, 16 Dec 2021 16:39:59 GMT
4
- * https://st.mycdn.me/static/playersdk/2-0-36/doc/
2
+ * @vkontakte/videoplayer-core v2.0.37
3
+ * Mon, 20 Dec 2021 12:46:35 GMT
4
+ * https://st.mycdn.me/static/playersdk/2-0-37/doc/
5
5
  */
6
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@vkontakte/videoplayer-shared");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(i){if("default"!==i){var r=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,r.get?r:{enumerable:!0,get:function(){return e[i]}})}})),t.default=e,Object.freeze(t)}var r,a,n,s,o,u=t(require("lodash/debounce"));exports.PlaybackState=void 0,(r=exports.PlaybackState||(exports.PlaybackState={})).STOPPED="stopped",r.PLAYING="playing",r.PAUSED="paused",exports.VideoFormat=void 0,(a=exports.VideoFormat||(exports.VideoFormat={})).MPEG="MPEG",a.DASH="DASH",a.DASH_SEP="DASH_SEP",a.DASH_WEBM="DASH_WEBM",a.DASH_WEBM_VK="DASH_WEBM_VK",a.DASH_ONDEMAND="DASH_ONDEMAND",a.DASH_LIVE="DASH_LIVE",a.DASH_LIVE_WEBM="DASH_LIVE_WEBM",a.HLS="HLS",a.HLS_ONDEMAND="HLS_ONDEMAND",a.HLS_JS="HLS_JS",a.HLS_LIVE="HLS_LIVE",function(e){e.SCREEN="SCREEN",e.CHROMECAST="CHROMECAST"}(n||(n={})),exports.ChromecastState=void 0,(s=exports.ChromecastState||(exports.ChromecastState={})).NOT_AVAILABLE="NOT_AVAILABLE",s.AVAILABLE="AVAILABLE",s.CONNECTING="CONNECTING",s.CONNECTED="CONNECTED",exports.StartStatus=void 0,(o=exports.StartStatus||(exports.StartStatus={})).SuccessWithSound="success_with_sound",o.SuccessWithoutSound="success_without_sound",o.Failed="failed";var d=function(){return(d=Object.assign||function(e){for(var t,i=1,r=arguments.length;i<r;i++)for(var a in t=arguments[i])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)};function c(e,t,i,r){return new(i||(i=Promise))((function(a,n){function s(e){try{u(r.next(e))}catch(e){n(e)}}function o(e){try{u(r.throw(e))}catch(e){n(e)}}function u(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,o)}u((r=r.apply(e,t||[])).next())}))}function l(e,t){var i,r,a,n,s={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function o(n){return function(o){return function(n){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,r&&(a=2&n[0]?r.return:n[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,n[1])).done)return a;switch(r=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return s.label++,{value:n[1],done:!1};case 5:s.label++,r=n[1],n=[0];continue;case 7:n=s.ops.pop(),s.trys.pop();continue;default:if(!(a=s.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){s=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]<a[3])){s.label=n[1];break}if(6===n[0]&&s.label<a[1]){s.label=a[1],a=n;break}if(a&&s.label<a[2]){s.label=a[2],s.ops.push(n);break}a[2]&&s.ops.pop(),s.trys.pop();continue}n=t.call(e,s)}catch(e){n=[6,e],r=0}finally{i=a=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,o])}}}function p(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],r=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function h(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var r,a,n=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=n.next()).done;)s.push(r.value)}catch(e){a={error:e}}finally{try{r&&!r.done&&(i=n.return)&&i.call(n)}finally{if(a)throw a.error}}return s}function f(e,t,i){if(i||2===arguments.length)for(var r,a=0,n=t.length;a<n;a++)!r&&a in t||(r||(r=Array.prototype.slice.call(t,0,a)),r[a]=t[a]);return e.concat(r||Array.prototype.slice.call(t))}var v,m,S={throughputEstimator:{emaAlpha:.2,emaAlphaSlow:.2,emaAlphaFast:.7,changeThreshold:.2,useBrowserEstimation:!0,streamMinSampleSize:10240,streamMinSampleTime:300},autoTrackSelection:{bitrateFactorAtEmptyBuffer:1.8,bitrateFactorAtFullBuffer:1.1,usePixelRatio:!0,limitByContainer:!0,containerSizeFactor:2},dash:{extraInitSize:1e3,forwardBufferTarget:3e4,segmentRequestSize:1048576,representationSwitchForwardBufferGap:3e3},enableTelemetryAtStart:!1,formatsToAvoid:[exports.VideoFormat.DASH_WEBM_VK],disableChromecast:!1,chromecastReceiverId:void 0,useWebmBigRequest:!0,bigRequestMinInitSize:51200,bigRequestMinDataSize:1048576,stripRangeHeader:!0,flushShortLoopedBuffers:!0,insufficientBufferRuleMargin:1e4,dashSeekInSegmentDurationThreshold:18e4,dashSeekInSegmentAlwaysSeekDelta:1e4,endGapTolerance:300},b=function(){function t(t){var i,r=this;this.connection$=new e.ValueSubject(void 0),this.castState$=new e.ValueSubject(exports.ChromecastState.NOT_AVAILABLE),this.errorEvent$=new e.Subject,this.realCastState$=new e.ValueSubject(exports.ChromecastState.NOT_AVAILABLE),this.subscription=new e.Subscription,this.params=t,this.log=this.params.dependencies.logger.createComponentLog("ChromecastInitializer");var a,n="chrome"in window;(this.log({message:"[constructor] receiverApplicationId: "+this.params.receiverApplicationId+", isDisabled: "+this.params.isDisabled+", isSupported: "+n}),!t.isDisabled&&n)&&(e.isNonNullable(null===(i=window.chrome)||void 0===i?void 0:i.cast)?this.initializeCastApi():(window.__onGCastApiAvailable=function(e){e&&r.initializeCastApi()},(a="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1",new Promise((function(e,t){var i=document.createElement("script");i.setAttribute("src",a),i.onload=function(){return e},i.onerror=function(){return t},document.body.appendChild(i)}))).catch((function(){return r.errorEvent$.next({id:"ChromecastLoading",message:"Script loading failed!"})}))))}return t.prototype.connect=function(){var e;null===(e=cast.framework.CastContext.getInstance())||void 0===e||e.requestSession()},t.prototype.disconnect=function(){var e,t;null===(t=null===(e=cast.framework.CastContext.getInstance())||void 0===e?void 0:e.getCurrentSession())||void 0===t||t.endSession(!0)},t.prototype.stopMedia=function(){return new Promise((function(e,t){var i,r,a;null===(a=null===(r=null===(i=cast.framework.CastContext.getInstance())||void 0===i?void 0:i.getCurrentSession())||void 0===r?void 0:r.getMediaSession())||void 0===a||a.stop(new chrome.cast.media.StopRequest,e,t)}))},t.prototype.toggleConnection=function(){e.isNonNullable(this.connection$.getValue())?this.disconnect():this.connect()},t.prototype.setVolume=function(t){var i=this.connection$.getValue();e.isNullable(i)||(i.remotePlayer.volumeLevel=t,i.remotePlayerController.setVolumeLevel())},t.prototype.setMuted=function(t){var i=this.connection$.getValue();e.isNullable(i)||t!==i.remotePlayer.isMuted&&i.remotePlayerController.muteOrUnmute()},t.prototype.destroy=function(){this.subscription.unsubscribe()},t.prototype.initListeners=function(){var t=this,i=new cast.framework.RemotePlayer,r=new cast.framework.RemotePlayerController(i),a=cast.framework.CastContext.getInstance();this.subscription.add(e.fromEvent(a,cast.framework.CastContextEventType.SESSION_STATE_CHANGED).subscribe((function(i){var r,n;switch(i.sessionState){case cast.framework.SessionState.SESSION_STARTED:case cast.framework.SessionState.SESSION_STARTING:case cast.framework.SessionState.SESSION_RESUMED:t.contentId=null===(n=null===(r=a.getCurrentSession())||void 0===r?void 0:r.getMediaSession())||void 0===n?void 0:n.media.contentId;break;case cast.framework.SessionState.NO_SESSION:case cast.framework.SessionState.SESSION_ENDING:case cast.framework.SessionState.SESSION_ENDED:case cast.framework.SessionState.SESSION_START_FAILED:t.contentId=void 0;break;default:return e.assertNever(i.sessionState)}}))).add(e.merge(e.fromEvent(a,cast.framework.CastContextEventType.CAST_STATE_CHANGED).pipe(e.tap((function(e){t.log({message:"[cast.framework.RemotePlayerEventType.CAST_STATE_CHANGED]: "+JSON.stringify(e)})})),e.map((function(e){return e.castState}))),e.observableFrom([a.getCastState()])).pipe(e.filterChanged(),e.map(g),e.tap((function(e){t.log({message:"realCastState$: "+e})}))).subscribe(this.realCastState$)).add(this.realCastState$.subscribe((function(n){var s,o=n===exports.ChromecastState.CONNECTED,u=e.isNonNullable(t.connection$.getValue());if(o&&!u){var d=a.getCurrentSession();e.assertNonNullable(d);var c=d.getCastDevice(),l=null===(s=d.getMediaSession())||void 0===s?void 0:s.media.contentId;(e.isNullable(l)||l===t.contentId)&&(t.log({message:"connection created"}),t.connection$.next({remotePlayer:i,remotePlayerController:r,session:d,castDevice:c}))}else!o&&u&&(t.log({message:"connection destroyed"}),t.connection$.next(void 0));t.castState$.next(n===exports.ChromecastState.CONNECTED?e.isNonNullable(t.connection$.getValue())?exports.ChromecastState.CONNECTED:exports.ChromecastState.AVAILABLE:n)})))},t.prototype.initializeCastApi=function(){var e,t,i,r;try{t=cast.framework.CastContext.getInstance(),i=chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,r=chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED}catch(e){return}try{t.setOptions({receiverApplicationId:null!==(e=this.params.receiverApplicationId)&&void 0!==e?e:i,autoJoinPolicy:r}),this.initListeners()}catch(e){this.errorEvent$.next({id:"ChromecastInitializer",message:"[initializeCastApi] failed",thrown:e})}},t}(),g=function(t){switch(t){case cast.framework.CastState.NO_DEVICES_AVAILABLE:return exports.ChromecastState.NOT_AVAILABLE;case cast.framework.CastState.NOT_CONNECTED:return exports.ChromecastState.AVAILABLE;case cast.framework.CastState.CONNECTING:return exports.ChromecastState.CONNECTING;case cast.framework.CastState.CONNECTED:return exports.ChromecastState.CONNECTED;default:return e.assertNever(t)}};!function(e){e.VIDEO="video",e.AUDIO="audio",e.TEXT="text"}(v||(v={})),function(e){e.NONE="none",e.DOWNLOADING="downloading",e.DOWNLOADED="downloaded",e.FED="fed"}(m||(m={}));var y,T,E=function(e){return c(void 0,void 0,void 0,(function(){var t,i,r;return l(this,(function(a){switch(a.label){case 0:t=e.muted,a.label=1;case 1:return a.trys.push([1,3,,8]),[4,e.play()];case 2:return a.sent(),[3,8];case 3:if((i=a.sent())instanceof DOMException&&(20===i.code||"AbortError"===i.name))return[2,!1];if(t)return console.warn(i),[2,!1];e.muted=!0,a.label=4;case 4:return a.trys.push([4,6,,7]),[4,e.play()];case 5:return a.sent(),[3,7];case 6:return r=a.sent(),e.muted=!1,console.warn(r),[2,!1];case 7:return[3,8];case 8:return[2,!0]}}))}))},P=function(t,i,r,a){var n=void 0===a?{}:a,s=n.equal,o=void 0===s?function(e,t){return e===t}:s,u=n.changed$,d=n.onError,c=t.getState(),l=i(),p=e.isNullable(u),h=new e.Subscription;return u&&h.add(u.subscribe((function(e){var i=t.getState();o(e,i)&&t.setState(e)}),d)),o(l,c)||(r(c),p&&t.setState(c)),h.add(t.stateChangeStarted$.subscribe((function(e){r(e.to),p&&t.setState(e.to)}),d)),h},k=function(t,i,r){return P(i,(function(){return t.loop}),(function(i){e.isNonNullable(i)&&(t.loop=i)}),{onError:r})},w=function(t,i,r,a){return P(i,(function(){return{muted:t.muted,volume:t.volume}}),(function(i){e.isNonNullable(i)&&(t.muted=i.muted,t.volume=i.volume)}),{equal:function(e,t){return e===t||(null==e?void 0:e.muted)===(null==t?void 0:t.muted)&&(null==e?void 0:e.volume)===(null==t?void 0:t.volume)},changed$:r,onError:a})},x=function(e,t){if(e.id===t)return!0;var i=h(t.split("|"),3);i[0];var r=i[1],a=i[2];return e.language===r&&e.label===a},A=function(){function t(){this.available$=new e.Subject,this.current$=new e.ValueSubject(void 0),this.error$=new e.Subject,this.subscription=new e.Subscription,this.externalTracks=new Map}return t.prototype.connect=function(t,i,r){var a=this;this.video=t,this.cueSettings=i.textTrackCuesSettings,this.subscribe();var n=function(e){a.error$.next({id:"TextTracksManager",message:"Generic HtmlVideoTextTrackManager error",thrown:e})};this.subscription.add(this.available$.subscribe(r.availableTextTracks$)),this.subscription.add(this.current$.subscribe(r.currentTextTrack$)),this.subscription.add(this.error$.subscribe(r.error$)),this.subscription.add(P(i.externalTextTracks,(function(){return Object.values(a.externalTracks)}),(function(t){e.isNonNullable(t)&&a.setExternal(t)}),{equal:function(t,i){return e.isNonNullable(t)&&e.isNonNullable(i)&&t.length===i.length&&t.every((function(e,t){return e.id===i[t].id}))},changed$:this.available$.pipe(e.map((function(e){return e.filter((function(e){return"external"===e.type}))}))),onError:n})),this.subscription.add(P(i.currentTextTrack,(function(){if(!a.video){var e=a.htmlTextTracksAsArray().find((function(e){return"showing"===e.mode}));return e&&a.htmlTextTrackToITextTrack(e).id}}),(function(e){return a.select(e)}),{changed$:this.current$,onError:n})),this.subscription.add(P(i.textTrackCuesSettings,(function(){return{}}),(function(){var e,t;if(a.video)try{for(var i=p(a.htmlTextTracksAsArray()),r=i.next();!r.done;r=i.next()){var n=r.value;a.applyCueSettings(n.cues),a.applyCueSettings(n.activeCues)}}catch(t){e={error:t}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}})))},t.prototype.subscribe=function(){var t=this;e.assertNonNullable(this.video);var i=this.video.textTracks;this.subscription.add(e.fromEvent(i,"addtrack").subscribe((function(){var e=t.current$.getValue();t.select(e)}))),this.subscription.add(e.merge(e.fromEvent(i,"addtrack"),e.fromEvent(i,"removetrack"),e.observableFrom(["init"])).pipe(e.map((function(){return t.htmlTextTracksAsArray().map((function(e){return t.htmlTextTrackToITextTrack(e)}))})),e.filterChanged((function(e,t){return e.length===t.length&&e.every((function(e,i){return e.id===t[i].id}))}))).subscribe(this.available$)),this.subscription.add(e.merge(e.fromEvent(i,"change"),e.observableFrom(["init"])).pipe(e.map((function(){return t.htmlTextTracksAsArray().find((function(e){return"showing"===e.mode}))})),e.map((function(e){return e&&t.htmlTextTrackToITextTrack(e).id})),e.filterChanged()).subscribe(this.current$));var r=function(e){var i,r;return t.applyCueSettings(null!==(r=null===(i=e.target)||void 0===i?void 0:i.activeCues)&&void 0!==r?r:null)};this.subscription.add(e.fromEvent(i,"addtrack").subscribe((function(e){var i,a;null===(i=e.track)||void 0===i||i.addEventListener("cuechange",r);var n=function(e){var i,r,a,s,o,u=null!==(r=null===(i=e.target)||void 0===i?void 0:i.cues)&&void 0!==r?r:null;u&&u.length&&(t.applyCueSettings(null!==(s=null===(a=e.target)||void 0===a?void 0:a.cues)&&void 0!==s?s:null),null===(o=e.target)||void 0===o||o.removeEventListener("cuechange",n))};null===(a=e.track)||void 0===a||a.addEventListener("cuechange",n)}))),this.subscription.add(e.fromEvent(i,"removetrack").subscribe((function(e){var t;null===(t=e.track)||void 0===t||t.removeEventListener("cuechange",r)})))},t.prototype.applyCueSettings=function(t){var i,r;if(t&&t.length){var a=this.cueSettings.getState();try{for(var n=p(Array.from(t)),s=n.next();!s.done;s=n.next()){var o=s.value;e.isNonNullable(a.align)&&(o.align=a.align),e.isNonNullable(a.position)&&(o.position=a.position),e.isNonNullable(a.size)&&(o.size=a.size),e.isNonNullable(a.line)&&(o.line=a.line)}}catch(e){i={error:e}}finally{try{s&&!s.done&&(r=n.return)&&r.call(n)}finally{if(i)throw i.error}}}},t.prototype.htmlTextTracksAsArray=function(i){void 0===i&&(i=!1),e.assertNonNullable(this.video);var r=f([],h(this.video.textTracks),!1);return i?r:r.filter(t.isHealthyTrack)},t.prototype.htmlTextTrackToITextTrack=function(e){var t=e.language,i=e.label,r=""!==e.id?e.id:function(e){return["__",e.language,e.label].join("|")}(e);return this.externalTracks.has(r)?{id:r,type:"external",language:t,label:i,url:this.externalTracks.get(r).url}:{id:r,type:"internal",language:t,label:i}},t.isHealthyTrack=function(e){return"metadata"!==e.kind&&(""!==e.id||""!==e.label||""!==e.language)},t.prototype.setExternal=function(e){var t=this;e.filter((function(e){var i=e.id;return!t.externalTracks.has(i)})).forEach((function(e){return t.attach(e)})),Array.from(this.externalTracks.keys()).filter((function(t){return!e.find((function(e){return e.id===t}))})).forEach((function(e){return t.detach(e)}))},t.prototype.select=function(t){var i,r;e.assertNonNullable(this.video);try{for(var a=p(this.htmlTextTracksAsArray(!0)),n=a.next();!n.done;n=a.next()){var s=n.value;e.isNonNullable(t)&&x(s,t)?s.mode="showing":s.mode="disabled"}}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}},t.prototype.destroy=function(){var e,t;if(this.subscription.unsubscribe(),this.video)try{for(var i=p(Array.from(this.video.getElementsByTagName("track"))),r=i.next();!r.done;r=i.next()){var a=r.value,n=a.getAttribute("id");n&&this.externalTracks.has(n)&&this.video.removeChild(a)}}catch(t){e={error:t}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}this.externalTracks.clear()},t.prototype.attach=function(t){e.assertNonNullable(this.video);var i=document.createElement("track");i.setAttribute("src",t.url),i.setAttribute("id",t.id),t.label&&i.setAttribute("label",t.label),t.language&&i.setAttribute("srclang",t.language),this.externalTracks.set(t.id,t),this.video.appendChild(i)},t.prototype.detach=function(t){e.assertNonNullable(this.video);var i=Array.prototype.find.call(this.video.getElementsByTagName("track"),(function(e){return e.getAttribute("id")===t}));i&&this.video.removeChild(i),this.externalTracks.delete(t)},t}(),N=function(e){var t=document.createElement("video");return t.setAttribute("crossorigin","anonymous"),t.setAttribute("playsinline","playsinline"),e.appendChild(t),t},$=function(t){return new e.Observable((function(i){var r=0;return(new e.Subscription).add(e.fromEvent(t,"loadstart").subscribe((function(){r=Date.now()}))).add(e.fromEvent(t,"loadeddata").subscribe((function(){i.next(Date.now()-r)})))})).pipe(e.once())},D=function(){function e(e){this._buffer=[],this._source=e}return e.prototype.fill=function(){this._buffer=[];for(var e=this._source.currentTime,t=0,i=this._source.buffered.length;t<i;t++){var r=this._source.buffered.start(t),a=this._source.buffered.end(t);r>e&&r-e<3&&(r=e),this._buffer.push({start:r,end:a,i:t})}return this._buffer.sort((function(e,t){return e.start-t.start})),this._buffer},e.prototype.getByTime=function(e){return this._buffer.find((function(t){return e>=t.start&&e<t.end}))},e.prototype.getNextWithGap=function(e,t){var i=this.getNext(e);if(i&&i.start-e.end<(t||3))return i},e.prototype.getNext=function(e){var t=this._buffer.indexOf(e);if(~t&&this._buffer.length-1>t)return this._buffer[++t]},e.prototype.smartRemove=function(e,t,i){this._buffer.forEach((function(r){var a=r.start,n=r.end,s=a>=e&&a<t,o=n>=e&&n<t;s&&o||(s?i(t,n):o?i(a,e):a<e&&n>t?(i(t,n),i(a,e)):i(a,n))}))},e.prototype.destroy=function(){this._buffer=[]},e}(),_=function(e,t,i){void 0===i&&(i=3);for(var r=0,a=0,n=0;n<e.length;n++){var s=e.start(n),o=e.end(n);if(s<=t&&t<=o){if(r=s,a=o,!i)return{start:r,end:a};for(var u=n-1;u>=0;u--)e.end(u)+i>=r&&(r=e.start(u));for(var d=n+1;d<e.length;d++)e.start(d)-i<=a&&(a=e.end(d))}}return{start:r,end:a}},I=function(t){return new e.Observable((function(i){var r=0;return(new e.Subscription).add(e.fromEvent(t,"loadstart").subscribe((function(){r=Date.now()}))).add(e.fromEvent(t,"loadedmetadata").subscribe((function(){i.next(Date.now()-r)})))})).pipe(e.once())},R=function(t){var i=function(i,r){return void 0===r&&(r=function(){}),e.fromEvent(t,i).pipe(e.map(r))},r=e.merge.apply(void 0,f([],h(["waiting","pause","canplay","canplaythrough","playing","seeked","ended"].map((function(i){return e.fromEvent(t,i)}))),!1)).pipe(e.map((function(){return t.readyState<3})),e.filterChanged()),a=e.merge(e.fromEvent(t,"progress"),e.fromEvent(t,"timeupdate")).pipe(e.map((function(){return _(t.buffered,t.currentTime)}))),n=e.fromEvent(t,"volumechange").pipe(e.debounce(0),e.map((function(){return{muted:t.muted,volume:t.volume}}))),s=e.fromEvent(t,"error").pipe(e.map((function(){var e=t.error;return{id:e?"MediaError#"+e.code:"HtmlVideoError",message:e?e.message:"Error event from HTML video element"}})));return{play$:i("play"),pause$:i("pause"),canplay$:i("canplay"),ended$:i("ended"),error$:s,seeked$:i("seeked"),seeking$:i("seeking"),progress$:i("progress"),loadedMetadata$:i("loadedmetadata"),loadedData$:i("loadeddata"),timeUpdate$:i("timeupdate",(function(){return t.currentTime})),durationChange$:i("durationchange",(function(){return t.duration})),isBuffering$:r,currentBuffer$:a,volumeState$:n,firstBytes$:I(t),firstFrame$:$(t)}},C=function(e,t,i){void 0===i&&(i=!1);var r=e.getTransition();!i&&r&&r.to!==t||e.setState(t)};exports.VideoQuality=void 0,(y=exports.VideoQuality||(exports.VideoQuality={})).INVARIANT="Invariant quality",y.Q_144P="144p",y.Q_240P="240p",y.Q_360P="360p",y.Q_480P="480p",y.Q_720P="720p",y.Q_1080P="1080p",y.Q_1440P="1440p",y.Q_2160P="2160p",y.Q_4320P="4320p";var L,O=((T={})[exports.VideoQuality.Q_144P]=144,T[exports.VideoQuality.Q_240P]=240,T[exports.VideoQuality.Q_360P]=360,T[exports.VideoQuality.Q_480P]=480,T[exports.VideoQuality.Q_720P]=720,T[exports.VideoQuality.Q_1080P]=1080,T[exports.VideoQuality.Q_1440P]=1440,T[exports.VideoQuality.Q_2160P]=2160,T[exports.VideoQuality.Q_4320P]=4320,T),V=function(e,t){return O[e]>O[t]},M=function(e,t){return O[e]<O[t]},B=Object.keys(O).sort((function(e,t){return M(e,t)?-1:1})),U=function(e,t){var i=e.width,r=e.height;return function(e,t){return void 0===t&&(t=.02),f([],h(B),!1).find((function(i){return O[i]*(1+t)>=e}))}(Math.min(i,r),t)},F=function(e){return e===exports.VideoQuality.INVARIANT},H=!1,q={},G=function(e){e(q)},Y=function(e,t){var i;H&&(q.meta=null!==(i=q.meta)&&void 0!==i?i:{},q.meta[e]=t)},j=function(){function e(e){this.name=e}return e.prototype.next=function(e){var t,i;if(H){q.series=null!==(t=q.series)&&void 0!==t?t:{};var r=null!==(i=q.series[this.name])&&void 0!==i?i:[];r.push([Date.now(),e]),q.series[this.name]=r}},e}(),z=new j("best_bitrate"),Q=function(t,i){var r,a,n=i.container,s=i.throughput,o=i.tuning,u=i.forwardBufferHealth,d=o.usePixelRatio&&null!==(r=window.devicePixelRatio)&&void 0!==r?r:1,c=o.limitByContainer&&n&&n.width>0&&n.height>0&&{width:n.width*d*o.containerSizeFactor,height:n.height*d*o.containerSizeFactor},l=c&&U(c,0),p=t.filter((function(e){return!F(e.quality)})).sort((function(e,t){return V(e.quality,t.quality)?-1:1})),h=p.filter((function(t){var i,r,a=!l||M(t.quality,l),n=!(e.isNonNullable(s)&&isFinite(s)&&e.isNonNullable(t.bitrate))||s>=t.bitrate*(i=null!=u?u:.5,r=o.bitrateFactorAtEmptyBuffer,(o.bitrateFactorAtFullBuffer-r)*Math.pow(2,-10*i)+r);return a&&n}))[0];return h&&h.bitrate&&z.next(h.bitrate),null!==(a=null!=h?h:p[p.length-1])&&void 0!==a?a:t[0]},W=function(e,t){for(var i=0,r=0;r<e.length;r++){var a=1e3*e.start(r),n=1e3*e.end(r);a<=t&&t<=n&&(i=n)}return Math.max(i-t,0)},J=function(e){return new URL(e).hostname},X=function(t,i){return void 0===i&&(i=300),window.ResizeObserver?new e.Observable((function(r){var a=new ResizeObserver(u.default((function(t){var i,a,n=t[0];n&&(n.contentBoxSize&&n.contentBoxSize[0]?(a=n.contentBoxSize[0].blockSize,i=n.contentBoxSize[0].inlineSize):n.contentRect&&(i=n.contentRect.width,a=n.contentRect.height),e.isNonNullable(i)&&e.isNonNullable(a)&&r.next({width:i,height:a}))}),i));return a.observe(t),function(){return a.disconnect()}})):new e.Observable((function(e){var i=t.getBoundingClientRect(),r=i.width,a=i.height;e.next({width:r,height:a})}))},K=function(){function t(t){this.transitionStarted$=new e.Subject,this.transitionEnded$=new e.Subject,this.transitionUpdated$=new e.Subject,this.forceChanged$=new e.Subject,this.stateChangeStarted$=e.merge(this.transitionStarted$,this.transitionUpdated$),this.stateChangeEnded$=e.merge(this.transitionEnded$,this.forceChanged$),this.state=t}return t.prototype.setState=function(e){var t=this.transition,i=this.state;this.transition=void 0,this.state=e,t?t.to===e?this.transitionEnded$.next(t):this.forceChanged$.next({from:t.from,to:e,canceledTransition:t}):this.forceChanged$.next({from:i,to:e,canceledTransition:t})},t.prototype.startTransitionTo=function(t){var i=this.transition,r=this.state;r===t||e.isNonNullable(i)&&i.to===t||(this.state=t,i?(this.transition={from:i.from,to:t,canceledTransition:i},this.transitionUpdated$.next(this.transition)):(this.transition={from:r,to:t},this.transitionStarted$.next(this.transition)))},t.prototype.getTransition=function(){return this.transition},t.prototype.getState=function(){return this.state},t}();!function(e){e[e.HEADER=0]="HEADER",e[e.PARAM=1]="PARAM"}(L||(L={}));var Z,ee,te,ie=function(t,i,r,a,n,s){return void 0===a&&(a=L.HEADER),c(void 0,void 0,void 0,(function(){var o,u,p,f,v,m,S,b,g,y,T,E,P,k,w,x,A,N;return l(this,(function($){switch($.label){case 0:switch(o=new Headers(null===(w=null==s?void 0:s.fetchInit)||void 0===w?void 0:w.headers),u=t,a){case L.HEADER:o.append("Range",i+"-"+r);break;case L.PARAM:(p=new URL(u,location.href)).searchParams.append("bytes",i+"-"+r),u=p.toString();break;default:e.assertNever(a)}return[4,fetch(u,d(d({},null!==(x=null==s?void 0:s.fetchInit)&&void 0!==x?x:{}),{headers:o}))];case 1:return(f=$.sent()).ok&&f.body?(v=h(f.body.tee(),2),m=v[0],S=v[1],b=m.getReader(),null===(A=null==s?void 0:s.throughputEstimator)||void 0===A||A.stream$.next(S),g=parseInt(null!==(N=f.headers.get("Content-Length"))&&void 0!==N?N:"",10),y=0,T=new ArrayBuffer(g),E=new Uint8Array(T),P=new DataView(T),k=function(e){var t=e.done,i=e.value;return c(void 0,void 0,void 0,(function(){return l(this,(function(e){switch(e.label){case 0:return t?(null==n||n(P,y),[3,3]):[3,1];case 1:return i?(E.set(i,y),y+=i.byteLength,null==n||n(P,y),[4,null==b?void 0:b.read().then(k)]):[3,3];case 2:e.sent(),e.label=3;case 3:return[2]}}))}))},[4,null==b?void 0:b.read().then(k)]):[2,Promise.reject(new Error("Fetch error "+f.status+": "+f.statusText))];case 2:return $.sent(),[2,T]}}))}))},re=function(e){if(!(e instanceof DOMException)||"AbortError"!==e.name&&20!==e.code)throw e};!function(e){e[e.EBML=440786851]="EBML",e[e.EBMLVersion=17030]="EBMLVersion",e[e.EBMLReadVersion=17143]="EBMLReadVersion",e[e.EBMLMaxIDLength=17138]="EBMLMaxIDLength",e[e.EBMLMaxSizeLength=17139]="EBMLMaxSizeLength",e[e.DocType=17026]="DocType",e[e.DocTypeVersion=17031]="DocTypeVersion",e[e.DocTypeReadVersion=17029]="DocTypeReadVersion",e[e.Void=236]="Void",e[e.Segment=408125543]="Segment",e[e.SeekHead=290298740]="SeekHead",e[e.Seek=19899]="Seek",e[e.SeekID=21419]="SeekID",e[e.SeekPosition=21420]="SeekPosition",e[e.Info=357149030]="Info",e[e.TimestampScale=2807729]="TimestampScale",e[e.Duration=17545]="Duration",e[e.Tracks=374648427]="Tracks",e[e.Chapters=272869232]="Chapters",e[e.Cluster=524531317]="Cluster",e[e.Attachments=423732329]="Attachments",e[e.Tags=307544935]="Tags",e[e.Cues=475249515]="Cues",e[e.CuePoint=187]="CuePoint",e[e.CueTime=179]="CueTime",e[e.CueTrackPositions=183]="CueTrackPositions",e[e.CueTrack=247]="CueTrack",e[e.CueClusterPosition=241]="CueClusterPosition",e[e.CueRelativePosition=240]="CueRelativePosition",e[e.CueDuration=178]="CueDuration",e[e.CueBlockNumber=21368]="CueBlockNumber",e[e.CueCodecState=234]="CueCodecState",e[e.CueReference=219]="CueReference",e[e.CueRefTime=150]="CueRefTime"}(ee||(ee={})),function(e){e.SignedInteger="int",e.UnsignedInteger="uint",e.Float="float",e.String="string",e.UTF8="utf8",e.Date="date",e.Master="master",e.Binary="binary"}(te||(te={}));var ae,ne=((Z={})[ee.EBML]={type:te.Master},Z[ee.EBMLVersion]={type:te.UnsignedInteger},Z[ee.EBMLReadVersion]={type:te.UnsignedInteger},Z[ee.EBMLMaxIDLength]={type:te.UnsignedInteger},Z[ee.EBMLMaxSizeLength]={type:te.UnsignedInteger},Z[ee.DocType]={type:te.String},Z[ee.DocTypeVersion]={type:te.UnsignedInteger},Z[ee.DocTypeReadVersion]={type:te.UnsignedInteger},Z[ee.Void]={type:te.Binary},Z[ee.Segment]={type:te.Master},Z[ee.SeekHead]={type:te.Master},Z[ee.Seek]={type:te.Master},Z[ee.SeekID]={type:te.Binary},Z[ee.SeekPosition]={type:te.UnsignedInteger},Z[ee.Info]={type:te.Master},Z[ee.TimestampScale]={type:te.UnsignedInteger},Z[ee.Duration]={type:te.Float},Z[ee.Tracks]={type:te.Master},Z[ee.Chapters]={type:te.Master},Z[ee.Cluster]={type:te.Master},Z[ee.Attachments]={type:te.Master},Z[ee.Tags]={type:te.Master},Z[ee.Cues]={type:te.Master},Z[ee.CuePoint]={type:te.Master},Z[ee.CueTime]={type:te.UnsignedInteger},Z[ee.CueTrackPositions]={type:te.Master},Z[ee.CueTrack]={type:te.UnsignedInteger},Z[ee.CueClusterPosition]={type:te.UnsignedInteger},Z[ee.CueRelativePosition]={type:te.UnsignedInteger},Z[ee.CueDuration]={type:te.UnsignedInteger},Z[ee.CueBlockNumber]={type:te.UnsignedInteger},Z[ee.CueCodecState]={type:te.UnsignedInteger},Z[ee.CueReference]={type:te.Master},Z[ee.CueRefTime]={type:te.UnsignedInteger},Z),se=function(e){var t=e.getUint8(0),i=0;128&t?i=1:64&t?i=2:32&t?i=3:16&t&&(i=4);var r=oe(e,i),a=r in ne,n=a?ne[r].type:te.Binary,s=e.getUint8(i),o=0;128&s?o=1:64&s?o=2:32&s?o=3:16&s?o=4:8&s?o=5:4&s?o=6:2&s?o=7:1&s&&(o=8);var u,d=new DataView(e.buffer,e.byteOffset+i+1,o-1),c=((s&255>>o)<<8*(o-1))+oe(d),l=i+o;return u=l+c>e.byteLength?new DataView(e.buffer,e.byteOffset+l):new DataView(e.buffer,e.byteOffset+l,c),{tag:a?r:"0x"+r.toString(16).toUpperCase(),type:n,value:u,valueSize:c}},oe=function(e,t){switch(void 0===t&&(t=e.byteLength),t){case 1:return e.getUint8(0);case 2:return e.getUint16(0);case 3:return e.getUint16(0)<<8|e.getUint8(2);case 4:return e.getUint32(0);case 5:return e.getUint32(0)<<8|e.getUint8(4);case 6:return e.getUint32(0)<<16|e.getUint16(4);case 7:return e.getUint32(0)<<32|e.getUint16(4)<<8|e.getUint8(6);case 8:return e.getUint32(0)<<32|e.getUint32(4)}return 0},ue=function(t,i){switch(i){case te.SignedInteger:return t.getInt8(0);case te.UnsignedInteger:return oe(t);case te.Float:return 4===t.byteLength?t.getFloat32(0):t.getFloat64(0);case te.String:return new TextDecoder("ascii").decode(t);case te.UTF8:return new TextDecoder("utf-8").decode(t);case te.Date:return new Date(Date.UTC(2001,0)+t.getInt8(0)).getTime();case te.Master:case te.Binary:return t;default:e.assertNever(i)}},de=function(e,t){for(var i=0;i<e.byteLength;){var r=new DataView(e.buffer,e.byteOffset+i),a=se(r);if(!t(a))return;a.type===te.Master&&de(a.value,t),i=a.value.byteOffset-e.byteOffset+a.valueSize}},ce=[ee.Info,ee.SeekHead,ee.Tracks,ee.Chapters,ee.Cluster,ee.Cues,ee.Attachments,ee.Tags],le=function(e,t,i){return void 0===t&&(t=0),c(void 0,void 0,void 0,(function(){var r,a,n,s,o,u,d,c,p,h,f,v,m,S,b;return l(this,(function(l){switch(l.label){case 0:return r=e.initRange,a=r.from,n=r.to,s=a,o=n,u=!1,e.indexRange&&(d=e.indexRange.from,c=e.indexRange.to,(u=n+1===d)&&(s=Math.min(d,a),o=Math.max(c,n))),s=Math.min(s,0),o+=t,[4,ie(e.url,s,o,L.PARAM,void 0,{throughputEstimator:i})];case 1:if(p=l.sent(),!function(e){if(e.getUint32(0)!==ee.EBML)return!1;var t=void 0,i=void 0,r=void 0,a=se(e);return de(a.value,(function(e){var a=e.tag,n=e.type,s=e.value;return a===ee.EBMLReadVersion?t=ue(s,n):a===ee.DocType?i=ue(s,n):a===ee.DocTypeReadVersion&&(r=ue(s,n)),!0})),(void 0===t||t<=1)&&void 0!==i&&"webm"===i&&(void 0===r||r<=2)}(h=new DataView(p,a-s,n-s)))throw new Error("Not a valid webm file");return f=pe(h),u&&void 0!==d&&void 0!==c?(v=new DataView(p,d-s,c-d),[3,5]):[3,2];case 2:return void 0===f.cuesSeekPosition?[3,4]:(m=f.segmentStart+f.cuesSeekPosition,1048576,[4,ie(e.url,m,m+1048576,L.PARAM)]);case 3:return S=l.sent(),v=new DataView(S),[3,5];case 4:throw new ReferenceError("No way to load representation index");case 5:return b=he(v,f),[2,{dataView:new DataView(p),init:f,segments:b}]}}))}))},pe=function(t){var i=void 0,r=void 0,a=void 0,n=void 0,s=!1,o=!1,u=!1,d=void 0,c=void 0;return de(t,(function(e){var t=e.tag,l=e.type,p=e.value,h=e.valueSize;if(t===ee.SeekID){var f=ue(p,l);c=oe(f)}else t!==ee.SeekPosition&&(c=void 0);return t===ee.Segment?(i=p.byteOffset,r=p.byteOffset+h):t===ee.Info?s=!0:t===ee.SeekHead?o=!0:t===ee.TimestampScale?a=ue(p,l):t===ee.Duration?n=ue(p,l):t===ee.SeekPosition&&c===ee.Cues?d=ue(p,l):s&&o&&ce.includes(t)&&(u=!0),!u})),e.assertNonNullable(i,"Failed to parse webm Segment start"),e.assertNonNullable(r,"Failed to parse webm Segment end"),e.assertNonNullable(n,"Failed to parse webm Segment duration"),a=null!=a?a:1e6,{segmentStart:Math.round(i/1e9*a*1e3),segmentEnd:Math.round(r/1e9*a*1e3),timeScale:a,segmentDuration:Math.round(n/1e9*a*1e3),cuesSeekPosition:d}},he=function(t,i){var r,a=!1,n=!1,s=function(t){return e.isNonNullable(t.time)&&e.isNonNullable(t.position)},o=[];return de(t,(function(e){var t=e.tag,i=e.type,u=e.value;switch(t){case ee.Cues:a=!0;break;case ee.CuePoint:r&&s(r)&&o.push(r),r={};break;case ee.CueTime:r&&(r.time=ue(u,i));break;case ee.CueTrackPositions:break;case ee.CueClusterPosition:r&&(r.position=ue(u,i));break;default:a&&ce.includes(t)&&(n=!0)}return!(a&&n)})),r&&s(r)&&o.push(r),o.map((function(e,t){var r=e.time,a=e.position,n=o[t+1];return{status:m.NONE,time:{from:r,to:n?n.time:i.segmentDuration},byte:{from:i.segmentStart+a,to:n?i.segmentStart+n.position-1:i.segmentEnd-1}}}))},fe=function(){function t(t,i,r,a){var n=a.throughputEstimator,s=a.tuning;this.ended$=new e.ValueSubject(!1),this.playingRepresentation$=new e.ValueSubject(void 0),this.error$=new e.Subject,this.subscription=new e.Subscription,this.abortController=new AbortController,this.throughputEstimator=n,this.tuning=s,this.initData=new Map,this.segments=new Map,this.representations=new Map(r.map((function(e){return[e.id,e]}))),this.kind=t,this.mediaSource=i,this.sourceBuffer=null,this.segmentDownloadPromise=Promise.resolve()}return t.prototype.startWith=function(t){return c(this,void 0,void 0,(function(){var i,r,a,n,s,o,u,c,p,h=this;return l(this,(function(l){switch(l.label){case 0:return i=this.representations.get(t),e.assertNonNullable(i,"Cannot find representation "+t),r=Math.ceil(1e3*i.bitrate/8*(this.tuning.extraInitSize/1e3)*1.1),this.playingRepresentationId=t,this.downloadingRepresentationId=t,this.sourceBuffer=this.mediaSource.addSourceBuffer(i.mime+'; codecs="'+i.codecs+'"'),this.subscription.add(e.fromEvent(this.sourceBuffer,"updateEnd").subscribe((function(){return h.checkEjectedSegments()}),(function(e){return h.error$.next({id:"SegmentEjection",message:"Error when trying to clear segments ejecte by browser",thrown:e})}))),this.subscription.add(e.fromEvent(this.sourceBuffer,"error").subscribe((function(e){return h.error$.next({id:"SourceBuffer",message:"SourceBuffer Error event fired",thrown:e})}))),[4,le(i,r,this.throughputEstimator)];case 1:return a=l.sent(),n=a.dataView,s=a.segments,o=n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength-r),this.initData.set(t,o),u=s.filter((function(e){return e.byte.from>=n.byteOffset&&e.byte.to<n.byteOffset+n.byteLength})),c=u.at(-1),p=new DataView(n.buffer,n.byteOffset,u.length&&c?Math.min(c.byte.to-n.byteOffset+1,n.byteLength):n.byteLength-r),[4,this.appendDataToBuffer(p)];case 2:return l.sent(),this.segments.set(t,s.map((function(e){return d(d({},e),{status:e.byte.from>=n.byteOffset&&e.byte.to<n.byteOffset+n.byteLength?m.FED:m.NONE})}))),this.maintain(0),[2]}}))}))},t.prototype.switchTo=function(t){var i;return c(this,void 0,void 0,(function(){var r;return l(this,(function(a){switch(a.label){case 0:return t===this.downloadingRepresentationId?[2]:(r=this.initData.get(t))?[3,2]:[4,this.loadAllInits()];case 1:a.sent(),r=this.initData.get(t),a.label=2;case 2:e.assertNonNullable(r,"No init buffer for "+t),e.assertNonNullable(this.sourceBuffer),this.abortController.abort(),this.abortController=new AbortController;try{this.sourceBuffer.abort()}catch(e){this.error$.next({id:"SourceBufferAbort",message:"SourceBuffer.abort() threw",thrown:e})}return[4,this.appendDataToBuffer(r)];case 3:return a.sent(),e.isNonNullable(this.playingRepresentationId)&&(null===(i=this.segments.get(this.playingRepresentationId))||void 0===i||i.forEach((function(e){e.status===m.FED&&(e.status=m.NONE)}))),this.downloadingRepresentationId=t,[2]}}))}))},t.prototype.maintain=function(t){return c(this,void 0,void 0,(function(){var i,r,a,n,s,o,u,d=this;return l(this,(function(c){switch(c.label){case 0:return e.isNullable(this.downloadingRepresentationId)||e.isNullable(this.playingRepresentationId)||e.isNullable(this.sourceBuffer)||this.ended$.getValue()?[2]:(i=this.representations.get(this.downloadingRepresentationId),r=this.segments.get(this.downloadingRepresentationId),e.assertNonNullable(i),e.assertNonNullable(r),a=r.find((function(e){return t>=e.time.from&&t<e.time.to})),n=t,this.playingRepresentationId!==this.downloadingRepresentationId&&(s=W(this.sourceBuffer.buffered,t),n=t+Math.min(s,this.tuning.representationSwitchForwardBufferGap)),(o=this.selectForwardBufferSegments(r,n)).length?[4,this.loadSegments(o,i)]:[3,2]);case 1:c.sent(),c.label=2;case 2:return this.loadAllInitsPromise||!a||a.status!==m.FED||o.length||this.loadAllInits().catch((function(e){return d.error$.next({id:"InitDownload",message:"Error when trying to load all inits",thrown:e})})),(u=r.at(-1))&&a===u&&u.status===m.FED&&this.ended$.next(!0),[2]}}))}))},t.prototype.destroy=function(){this.initData.clear(),this.segments.clear(),this.representations.clear(),this.subscription.unsubscribe(),this.sourceBuffer&&"open"===this.mediaSource.readyState&&(this.sourceBuffer.abort(),this.mediaSource.removeSourceBuffer(this.sourceBuffer)),this.abortController.abort()},t.prototype.selectForwardBufferSegments=function(e,t){var i=this,r=e.findIndex((function(e){var r=e.status,a=e.time,n=a.from,s=a.to;return r===m.NONE&&(n>t||n<=t&&s>=t)&&s<=t+i.tuning.forwardBufferTarget}));if(-1===r)return[];for(var a=0,n=[],s=r;s<e.length&&a<=this.tuning.segmentRequestSize;s++){var o=e[s];a+=o.byte.to+1-o.byte.from,o.status===m.NONE&&n.push(o)}return n},t.prototype.loadSegments=function(e,t){return c(this,void 0,void 0,(function(){var i,r,a,n,s,o,u=this;return l(this,(function(d){if(!e.length)return[2];i=e.at(0).byte.from,r=e.at(-1).byte.to;try{for(a=p(e),n=a.next();!n.done;n=a.next())n.value.status=m.DOWNLOADING}catch(e){s={error:e}}finally{try{n&&!n.done&&(o=a.return)&&o.call(a)}finally{if(s)throw s.error}}return this.segmentDownloadPromise=this.segmentDownloadPromise.then((function(){return c(u,void 0,void 0,(function(){var a,n,s,o,u,d=this;return l(this,(function(c){switch(c.label){case 0:return[4,ie(t.url,i,r,L.PARAM,(function(t,r){var a,n,s=function(e){if(e.status===m.DOWNLOADING&&e.byte.from-i>=0&&e.byte.to+1-i<=r){e.status=m.DOWNLOADED;var a=new DataView(t.buffer,t.byteOffset+e.byte.from-i,e.byte.to+1-e.byte.from);d.appendDataToBuffer(a).then((function(){d.playingRepresentationId=d.downloadingRepresentationId,d.playingRepresentation$.next(d.playingRepresentationId),e.status=m.FED}))}};try{for(var o=p(e),u=o.next();!u.done;u=o.next()){s(u.value)}}catch(e){a={error:e}}finally{try{u&&!u.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}}),{throughputEstimator:this.throughputEstimator,fetchInit:{signal:this.abortController.signal}})];case 1:return a=c.sent(),n=e.at(-1),s=null===(u=this.segments.get(t.id))||void 0===u?void 0:u.at(-1),n&&s&&n.status===m.DOWNLOADING&&n===s&&(n.status=m.DOWNLOADED,o=new DataView(a,n.byte.from-i),this.appendDataToBuffer(o).then((function(){d.playingRepresentationId=d.downloadingRepresentationId,d.playingRepresentation$.next(d.playingRepresentationId),n.status=m.FED}))),[2]}}))}))})).catch((function(t){var i,r;try{for(var a=p(e),n=a.next();!n.done;n=a.next()){var s=n.value;s.status===m.DOWNLOADING&&(s.status=m.NONE)}}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}re(t)})).catch((function(e){return u.error$.next({id:"SegmentDownload",message:"Error when fetching segments",thrown:e})})),[2,this.segmentDownloadPromise]}))}))},t.prototype.loadAllInits=function(){return c(this,void 0,void 0,(function(){var e=this;return l(this,(function(t){return this.loadAllInitsPromise||(this.loadAllInitsPromise=Promise.all(Array.from(this.representations.entries()).map((function(t){var i=h(t,2),r=i[0],a=i[1];return e.initData.has(r)?Promise.resolve():le(a).then((function(t){var i=t.dataView,a=t.segments,n=i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength);e.initData.set(r,n),e.segments.set(r,a)}))}))).then(void 0)),[2,this.loadAllInitsPromise]}))}))},t.prototype.appendDataToBuffer=function(i){return c(this,void 0,void 0,(function(){return l(this,(function(r){switch(r.label){case 0:if(e.assertNonNullable(this.sourceBuffer),this.sourceBuffer.updating)return[3,2];try{this.sourceBuffer.appendBuffer(i)}catch(e){this.error$.next({id:"AppendBuffer",message:"Error appending data to buffer",thrown:e})}return[4,t.waitForBufferUpdate(this.sourceBuffer)];case 1:return r.sent(),[3,5];case 2:return[4,t.waitForBufferUpdate(this.sourceBuffer)];case 3:return r.sent(),[4,this.appendDataToBuffer(i)];case 4:r.sent(),r.label=5;case 5:return[2]}}))}))},t.prototype.checkEjectedSegments=function(){var t,i;if(!e.isNullable(this.sourceBuffer)&&!e.isNullable(this.playingRepresentationId)){var r=this.segments.get(this.playingRepresentationId);e.assertNonNullable(r);for(var a=[],n=0;n<this.sourceBuffer.buffered.length;n++){var s=1e3*this.sourceBuffer.buffered.start(n),o=this.sourceBuffer.buffered.end(n),u=1e3*(o%1>.9?Math.round(o):o);a.push({from:s,to:u})}var d=function(e){var t=a.some((function(t){return t.from<=e.time.from&&t.to>=e.time.to}));e.status!==m.FED||t||(e.status=m.NONE)};try{for(var c=p(r),l=c.next();!l.done;l=c.next()){d(l.value)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(i=c.return)&&i.call(c)}finally{if(t)throw t.error}}}},t.waitForBufferUpdate=function(e){return c(this,void 0,void 0,(function(){return l(this,(function(t){return[2,new Promise((function(t){return e?e.addEventListener("update",(function(){return t()})):t()}))]}))}))},t}(),ve=["timeupdate","progress","play","seeked","stalled"];!function(e){e.NONE="none",e.MANIFEST_LOADED="manifest_loaded",e.REPRESENTATION_SELECTED="representation_selected"}(ae||(ae={}));var me,Se=function(){function t(t){var i=this;this.element=null,this.source=null,this.manifest=null,this.subscription=new e.Subscription,this.state$=new K(ae.NONE),this.currentVideoRepresentation$=new e.ValueSubject(void 0),this.error$=new e.Subject,this.forceEnded$=new e.Subject,this.tick=function(){var e,t;if(i.element){var r=1e3*i.element.currentTime;null===(e=i.videoBufferManager)||void 0===e||e.maintain(r),null===(t=i.audioBufferManager)||void 0===t||t.maintain(r)}},this.throughputEstimator=t.throughputEstimator,this.tuning=t.tuning}return t.prototype.initManifest=function(t,i){return c(this,void 0,void 0,(function(){var r,a=this;return l(this,(function(n){switch(n.label){case 0:return this.element=t,this.subscription.add(e.fromEvent(t,"waiting").subscribe((function(){t.duration-t.currentTime<a.tuning.endGapTolerance/1e3&&a.forceEnded$.next()}),(function(e){return a.error$.next({id:"ForceEnd",message:"Error when forcing stream end",thrown:e})}))),this.state$.startTransitionTo(ae.MANIFEST_LOADED),[4,(s=i,c(void 0,void 0,void 0,(function(){return l(this,(function(e){switch(e.label){case 0:return[4,fetch(s,null==o?void 0:o.fetchInit)];case 1:return[2,e.sent().text()]}}))}))).catch(re)];case 1:return r=n.sent(),this.manifest=function(e,t){var i,r,a,n,s,o,u,d,c,l,f,m,S,b,g,y,T,E,P,k,w={representations:{video:[],audio:[],text:[]}},x=(new DOMParser).parseFromString(e,"application/xml").children[0].children[0].children,A=0;try{for(var N=p(x),$=N.next();!$.done;$=N.next()){var D=$.value,_=D.getAttribute("mimeType"),I=D.getAttribute("codecs"),R=null!==(s=D.getAttribute("contentType"))&&void 0!==s?s:null==_?void 0:_.split("/")[0],C=D.querySelectorAll("Representation");try{for(var L=(a=void 0,p(C)),O=L.next();!O.done;O=L.next()){var V=O.value,M=null!==(o=V.getAttribute("mimeType"))&&void 0!==o?o:_,B=null!==(d=null!==(u=V.getAttribute("codecs"))&&void 0!==u?u:I)&&void 0!==d?d:"",U=null!==(l=null!==(c=V.getAttribute("contentType"))&&void 0!==c?c:null==M?void 0:M.split("/")[0])&&void 0!==l?l:R,F=parseInt(null!==(f=V.getAttribute("width"))&&void 0!==f?f:"",10),H=parseInt(null!==(m=V.getAttribute("height"))&&void 0!==m?m:"",10),q=parseInt(null!==(S=V.getAttribute("bandwidth"))&&void 0!==S?S:"",10)/1e3,G=(null!==(b=V.getAttribute("id"))&&void 0!==b?b:(A++).toString(10))+"@"+("video"===U?H+"p":"audio"===U?q+"Kbps":B),Y=null!==(T=null===(y=null===(g=V.querySelector("BaseURL"))||void 0===g?void 0:g.textContent)||void 0===y?void 0:y.trim())&&void 0!==T?T:"",j=new URL(Y,t).toString(),z=h((null!==(P=null===(E=V.querySelector("SegmentBase Initialization"))||void 0===E?void 0:E.getAttribute("range"))&&void 0!==P?P:"").split("-").map((function(e){return parseInt(e,10)})),2),Q={from:z[0],to:z[1]},W=null===(k=V.querySelector("SegmentBase"))||void 0===k?void 0:k.getAttribute("indexRange"),J=h(W?W.split("-").map((function(e){return parseInt(e,10)})):[],2),X=J[0],K=J[1],Z=W?{from:X,to:K}:void 0;if(U&&M){var ee={video:v.VIDEO,audio:v.AUDIO,text:v.TEXT}[U];ee&&w.representations[ee].push({id:G,kind:ee,initRange:Q,indexRange:Z,bitrate:q,mime:M,codecs:B,width:F,height:H,url:j})}}}catch(e){a={error:e}}finally{try{O&&!O.done&&(n=L.return)&&n.call(L)}finally{if(a)throw a.error}}}}catch(e){i={error:e}}finally{try{$&&!$.done&&(r=N.return)&&r.call(N)}finally{if(i)throw i.error}}return w}(null!=r?r:"",i),this.state$.setState(ae.MANIFEST_LOADED),[2,this.manifest]}var s,o}))}))},t.prototype.initRepresentations=function(t,i){return c(this,void 0,void 0,(function(){var r,a,n,s,o,u,d=this;return l(this,(function(c){switch(c.label){case 0:return e.assertNonNullable(this.manifest),e.assertNonNullable(this.element),this.state$.startTransitionTo(ae.REPRESENTATION_SELECTED),this.source=new MediaSource,this.element.src=URL.createObjectURL(this.source),r={throughputEstimator:this.throughputEstimator,tuning:this.tuning.dash},this.videoBufferManager=new fe(v.VIDEO,this.source,this.manifest.representations.video,r),this.audioBufferManager=new fe(v.AUDIO,this.source,this.manifest.representations.audio,r),this.subscription.add(e.merge(this.forceEnded$,e.combine({video:this.videoBufferManager.ended$,audio:this.audioBufferManager.ended$}).pipe(e.filter((function(e){return Object.values(e).every((function(e){return!0===e}))})))).subscribe((function(){var e,t;if("open"===(null===(e=d.source)||void 0===e?void 0:e.readyState))try{null===(t=d.source)||void 0===t||t.endOfStream()}catch(e){d.error$.next({id:"EndOfStream",message:"Failed to end MediaSource stream",thrown:e})}}))),this.subscription.add(e.merge(this.videoBufferManager.error$,this.audioBufferManager.error$).subscribe(this.error$)),this.subscription.add(this.videoBufferManager.playingRepresentation$.subscribe(this.currentVideoRepresentation$)),"open"===this.source.readyState?[3,2]:[4,new Promise((function(e){var t;return null===(t=d.source)||void 0===t?void 0:t.addEventListener("sourceopen",e)}))];case 1:c.sent(),c.label=2;case 2:return[4,Promise.all([this.videoBufferManager.startWith(t),this.audioBufferManager.startWith(i)])];case 3:c.sent(),this.state$.setState(ae.REPRESENTATION_SELECTED);try{for(a=p(ve),n=a.next();!n.done;n=a.next())s=n.value,this.subscription.add(e.fromEvent(this.element,s).subscribe(this.tick,(function(e){d.error$.next({id:"DashVKPlayer",message:"Internal logic error",thrown:e})})))}catch(e){o={error:e}}finally{try{n&&!n.done&&(u=a.return)&&u.call(a)}finally{if(o)throw o.error}}return this.tick(),[2]}}))}))},t.prototype.switchRepresentation=function(t,i){return c(this,void 0,void 0,(function(){var r,a;return l(this,(function(n){return r=(a={},a[v.VIDEO]=this.videoBufferManager,a[v.AUDIO]=this.audioBufferManager,a[v.TEXT]=null,a)[t],e.assertNonNullable(r),[2,r.switchTo(i)]}))}))},t.prototype.seek=function(t){e.assertNonNullable(this.element),e.assertNonNullable(this.videoBufferManager),e.assertNonNullable(this.audioBufferManager),this.videoBufferManager.maintain(t),this.audioBufferManager.maintain(t),this.element.currentTime=t/1e3},t.prototype.stop=function(){var e,t;this.element=null,this.source=null,this.manifest=null,this.currentVideoRepresentation$.next(void 0),null===(e=this.videoBufferManager)||void 0===e||e.destroy(),this.videoBufferManager=null,null===(t=this.audioBufferManager)||void 0===t||t.destroy(),this.audioBufferManager=null,this.state$.setState(ae.NONE)},t.prototype.destroy=function(){var e,t,i;this.subscription.unsubscribe(),this.stop();try{for(var r=p(ve),a=r.next();!a.done;a=r.next()){var n=a.value;null===(i=this.element)||void 0===i||i.removeEventListener(n,this.tick)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=r.return)&&t.call(r)}finally{if(e)throw e.error}}this.source=null},t}();!function(e){e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(me||(me={}));var be,ge=function(e){var t=e.id,i=e.width,r=e.height,a=e.bitrate,n=U({width:i,height:r});return n&&{id:t,quality:n,bitrate:a,size:{width:i,height:r}}},ye=function(e,t,i){var r,a=Array.from(t).sort((function(e,t){return t.bitrate-e.bitrate})).indexOf(i);return null!==(r=e.at(Math.round(e.length*a/t.length)))&&void 0!==r?r:e.at(-1)},Te=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new K(me.STOPPED),this.elementSize$=new e.ValueSubject(void 0),this.textTracksManager=new A,this.videoTracks=[],this.syncPlayback=function(){var t=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition(),n=i.params.desiredState.seekPosition.getTransition();if(!i.videoState.getTransition()){var s=null==n?void 0:n.to;if((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(s)&&t!==me.STOPPED&&r!==exports.PlaybackState.STOPPED&&i.seek(s),r!==exports.PlaybackState.STOPPED){if(t===me.STOPPED)return i.videoState.startTransitionTo(me.READY),void i.prepare();switch(t){case me.READY:return void(r===exports.PlaybackState.PAUSED?(i.videoState.setState(me.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):r===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(me.PLAYING),i.playIfAllowed()));case me.PLAYING:return void(r===exports.PlaybackState.PAUSED?(i.videoState.startTransitionTo(me.PAUSED),i.video.pause()):(null==a?void 0:a.to)===exports.PlaybackState.PLAYING&&C(i.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case me.PAUSED:return void(r===exports.PlaybackState.PLAYING?(i.videoState.startTransitionTo(me.PLAYING),i.playIfAllowed()):(null==a?void 0:a.to)===exports.PlaybackState.PAUSED&&C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED));default:return e.assertNever(t)}}else t!==me.STOPPED&&(i.videoState.startTransitionTo(me.STOPPED),i.player.stop(),i.video.setAttribute("src",""),i.video.load(),i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.output.currentBuffer$.next(void 0),i.params.output.hostname$.next(void 0),i.videoState.setState(me.STOPPED),C(i.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))}},this.params=t,this.video=N(this.params.container),this.params.output.element$.next(this.video),this.params.output.availableVideoTracks$.next([]),this.params.output.hostname$.next(J(this.params.source.url)),this.params.output.isLive$.next(!1),this.player=new Se({throughputEstimator:this.params.dependencies.throughputEstimator,tuning:this.params.tuning}),this.subscribe()}return t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=R(this.video),s=function(e){r.error$.next({id:"DashVKProvider",message:"DashVKProvider internal logic error",thrown:e})},o=function(e,i){return t.subscription.add(e.subscribe(i,s))};o(n.timeUpdate$,r.position$),o(n.durationChange$,r.duration$),o(n.ended$,r.endedEvent$),o(n.error$,r.error$),o(n.isBuffering$,r.isBuffering$),o(n.currentBuffer$,r.currentBuffer$),o(n.firstBytes$,r.firstBytesEvent$),o(n.firstFrame$,r.firstFrameEvent$),this.subscription.add(n.seeked$.subscribe((function(){return a.seekPosition.setState(void 0)}),s)),this.subscription.add(k(this.video,a.isLooped,s)),this.subscription.add(w(this.video,a.volume,n.volumeState$,s)),this.subscription.add(n.volumeState$.subscribe(this.params.output.volume$,s)),this.subscription.add(n.play$.subscribe((function(){t.videoState.setState(me.PLAYING),C(a.playbackState,exports.PlaybackState.PLAYING)}),s)).add(n.pause$.subscribe((function(){t.videoState.setState(me.PAUSED),C(a.playbackState,exports.PlaybackState.PAUSED)}),s)).add(n.canplay$.subscribe((function(){t.videoState.getState()===me.PLAYING&&t.playIfAllowed()}),s)),this.subscription.add(this.player.state$.stateChangeEnded$.pipe(e.filter((function(e){return e.to===ae.REPRESENTATION_SELECTED}))).subscribe((function(){t.videoState.setState(me.READY)}))),this.subscription.add(e.merge(this.player.state$.stateChangeEnded$,a.videoTrack.stateChangeStarted$,a.autoVideoTrackSwitching.transitionStarted$,this.params.dependencies.throughputEstimator.estimation$,this.elementSize$,e.fromEvent(this.video,"progress")).subscribe((function(){var i,r,n,s=t.player.state$.getState(),o=t.player.state$.getTransition();if(s!==ae.NONE&&t.videoTracks.length){var u=s===ae.MANIFEST_LOADED&&!o,d=a.autoVideoTrackSwitching.getState(),c=a.videoTrack.getState(),l=null===(i=t.videoTracks.find((function(e){return e.track.id===c})))||void 0===i?void 0:i.track;a.autoVideoTrackSwitching.getTransition()&&a.autoVideoTrackSwitching.setState(d);var p=W(t.video.buffered,1e3*t.video.currentTime),h=Math.min(p/t.params.tuning.dash.forwardBufferTarget,1),f=Q(t.videoTracks.map((function(e){return e.track})),{container:t.elementSize$.getValue(),throughput:t.params.dependencies.throughputEstimator.estimation$.getValue(),tuning:t.params.tuning.autoTrackSelection,forwardBufferHealth:h});if(u){var m=null!=l?l:f,S=m&&(null===(r=t.videoTracks.find((function(e){return e.track===m})))||void 0===r?void 0:r.representation);e.assertNonNullable(S);var b=ye(t.audioRepresentations,t.videoTracks.map((function(e){return e.representation})),S);e.assertNonNullable(b),t.player.initRepresentations(S.id,b.id)}else{var g=d?null!=f?f:l:null!=l?l:f;if(S=g&&(null===(n=t.videoTracks.find((function(e){return e.track===g})))||void 0===n?void 0:n.representation)){b=ye(t.audioRepresentations,t.videoTracks.map((function(e){return e.representation})),S);t.player.switchRepresentation(v.VIDEO,S.id),b&&t.player.switchRepresentation(v.AUDIO,b.id)}}}}))),this.subscription.add(this.player.currentVideoRepresentation$.pipe(e.filterChanged(),e.map((function(e){var i;return e&&(null===(i=t.videoTracks.find((function(t){return t.representation.id===e})))||void 0===i?void 0:i.track)}))).subscribe(r.currentVideoTrack$)),o(X(this.video),this.elementSize$),this.textTracksManager.connect(this.video,a,r);var u=e.merge(a.playbackState.stateChangeStarted$,a.videoTrack.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0));this.subscription.add(u.subscribe(this.syncPlayback,s))},t.prototype.prepare=function(){return c(this,void 0,void 0,(function(){var e,t,i,r,a,n,s;return l(this,(function(o){switch(o.label){case 0:return[4,this.player.initManifest(this.video,this.params.source.url)];case 1:e=o.sent(),this.videoTracks=[];try{for(t=p(e.representations.video),i=t.next();!i.done;i=t.next())r=i.value,(a=ge(r))&&this.videoTracks.push({track:a,representation:r})}catch(e){n={error:e}}finally{try{i&&!i.done&&(s=t.return)&&s.call(t)}finally{if(n)throw n.error}}return this.audioRepresentations=Array.from(e.representations.audio).sort((function(e,t){return t.bitrate-e.bitrate})),this.params.output.availableVideoTracks$.next(this.videoTracks.map((function(e){return e.track}))),[2]}}))}))},t.prototype.seek=function(e){this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.player.seek(1e3*e)},t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0),this.player.destroy()},t.prototype.playIfAllowed=function(){var e=this;E(this.video).then((function(t){t||(e.videoState.setState(me.PAUSED),C(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},t}();!function(e){e[e.OFFSET_P=0]="OFFSET_P",e[e.PLAYBACK_SHIFT=1]="PLAYBACK_SHIFT"}(be||(be={}));var Ee,Pe=function(t,i,r){switch(void 0===i&&(i=0),void 0===r&&(r=be.OFFSET_P),r){case be.OFFSET_P:return t.replace("_offset_p",0===i?"":"_"+i.toFixed(0));case be.PLAYBACK_SHIFT:if(0===i)return t;var a=new URL(t);return a.searchParams.append("playback_shift",i.toFixed(0)),a.toString();default:e.assertNever(r)}return t};!function(e){e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(Ee||(Ee={}));var ke,we=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.loadMediaTimeoutSubscription=new e.Subscription,this.videoState=new K(Ee.STOPPED),this.syncPlayback=function(){var t=i.videoState.getState(),r=i.videoState.getTransition(),a=i.params.desiredState.playbackState.getState(),n=i.params.desiredState.playbackState.getTransition(),s=i.params.desiredState.seekPosition.getTransition();if(i.log({message:"[syncPlayback] videoState: "+t+"; videoTransition: "+JSON.stringify(r)+"; desiredPlaybackState: "+a+"; desiredPlaybackStateTransition: "+i.params.desiredState.playbackState.getTransition()+"; seekPositionTransition: "+JSON.stringify(s)+";"}),a!==exports.PlaybackState.STOPPED){if(!r){var o=null==s?void 0:s.to;if((null==n?void 0:n.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(o)&&t!==Ee.STOPPED)return i.params.desiredState.seekPosition.setState(o),i.params.desiredState.seekPosition.startTransitionTo(void 0),void i.seek(o);switch(a){case exports.PlaybackState.PLAYING:switch(t){case Ee.PLAYING:break;case Ee.PAUSED:case Ee.READY:i.videoState.startTransitionTo(Ee.PLAYING),i.params.connection.remotePlayerController.playOrPause();break;case Ee.STOPPED:i.videoState.startTransitionTo(Ee.READY),i.prepare();break;default:e.assertNever(t)}break;case exports.PlaybackState.PAUSED:switch(t){case Ee.PLAYING:i.videoState.startTransitionTo(Ee.PAUSED),i.params.connection.remotePlayerController.playOrPause();break;case Ee.PAUSED:break;case Ee.READY:i.videoState.startTransitionTo(Ee.PAUSED),i.videoState.setState(Ee.PAUSED);break;case Ee.STOPPED:i.videoState.startTransitionTo(Ee.READY),i.prepare();break;default:e.assertNever(t)}break;default:e.assertNever(a)}}}else t!==Ee.STOPPED&&(i.videoState.startTransitionTo(Ee.STOPPED),i.stop())},this.params=t,this.log=this.params.dependencies.logger.createComponentLog("ChromecastProvider"),this.log({message:"constructor, format: "+t.format}),this.params.output.isLive$.next(function(t){switch(t){case exports.VideoFormat.MPEG:case exports.VideoFormat.DASH:case exports.VideoFormat.DASH_SEP:case exports.VideoFormat.DASH_ONDEMAND:case exports.VideoFormat.DASH_WEBM:case exports.VideoFormat.DASH_WEBM_VK:case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_JS:case exports.VideoFormat.HLS_ONDEMAND:return!1;case exports.VideoFormat.HLS_LIVE:case exports.VideoFormat.DASH_LIVE:case exports.VideoFormat.DASH_LIVE_WEBM:return!0;default:return e.assertNever(t)}}(t.format)),this.handleRemoteVolumeChange({volume:this.params.connection.remotePlayer.volumeLevel,muted:this.params.connection.remotePlayer.isMuted});var r=this.params.connection.session.getMediaSession();r&&this.restoreSession(r),this.subscribe()}return t.prototype.destroy=function(){this.log({message:"[destroy]"}),this.subscription.unsubscribe()},t.prototype.subscribe=function(){var t=this;this.subscription.add(this.loadMediaTimeoutSubscription);var i=new e.Subscription;this.subscription.add(i),this.subscription.add(e.merge(this.videoState.stateChangeStarted$.pipe(e.map((function(e){return"stateChangeStarted$ "+JSON.stringify(e)}))),this.videoState.stateChangeEnded$.pipe(e.map((function(e){return"stateChangeEnded$ "+JSON.stringify(e)})))).subscribe((function(e){return t.log({message:"[videoState] "+e})})));var r=function(e,i){return t.subscription.add(e.subscribe(i))};if(this.params.output.isLive$.getValue())this.params.output.position$.next(0),this.params.output.duration$.next(0);else{var a=new e.Subject;i.add(a.pipe(e.debounce(500)).subscribe((function(e){t.params.desiredState.seekPosition.setState(e),t.params.desiredState.seekPosition.startTransitionTo(void 0),t.params.desiredState.seekPosition.setState(void 0)})));var n=NaN;i.add(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED).subscribe((function(i){t.logRemoteEvent(i);var r=i.value;t.params.output.position$.next(r);var s=t.params.desiredState.seekPosition.getTransition();e.isNonNullable(s)&&e.isNullable(s.to)?t.params.desiredState.seekPosition.setState(void 0):Math.abs(r-n)>5&&a.next(r),n=r}))),i.add(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe((function(e){t.logRemoteEvent(e),t.params.output.duration$.next(e.value)})))}r(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED),(function(e){t.logRemoteEvent(e),e.value?t.handleRemoteReady():(t.handleRemoteStop(),i.unsubscribe())})),r(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),(function(e){t.logRemoteEvent(e),e.value?t.handleRemotePause():t.handleRemotePlay()})),r(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED),(function(i){t.logRemoteEvent(i);var r=t.params.connection.remotePlayer,a=i.value,n=t.params.output.isBuffering$.getValue(),s=a===chrome.cast.media.PlayerState.BUFFERING;switch(n!==s&&t.params.output.isBuffering$.next(s),a){case chrome.cast.media.PlayerState.IDLE:!t.params.output.isLive$.getValue()&&r.duration-r.currentTime<5&&t.params.output.endedEvent$.next(),t.handleRemoteStop(),C(t.params.desiredState.playbackState,exports.PlaybackState.STOPPED);break;case chrome.cast.media.PlayerState.PAUSED:t.handleRemotePause();break;case chrome.cast.media.PlayerState.PLAYING:t.handleRemotePlay();break;case chrome.cast.media.PlayerState.BUFFERING:break;default:e.assertNever(a)}})),r(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),(function(e){t.logRemoteEvent(e),t.handleRemoteVolumeChange({volume:e.value})})),r(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),(function(e){t.logRemoteEvent(e),t.handleRemoteVolumeChange({muted:e.value})})),r(e.merge(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0)),this.syncPlayback)},t.prototype.restoreSession=function(e){this.log({message:"restoreSession"});var t=this.params.connection.remotePlayer;if(e.playerState!==chrome.cast.media.PlayerState.IDLE){t.isPaused?(this.videoState.setState(Ee.PAUSED),C(this.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):(this.videoState.setState(Ee.PLAYING),C(this.params.desiredState.playbackState,exports.PlaybackState.PLAYING));var i=this.params.output.isLive$.getValue();this.params.output.duration$.next(i?0:t.duration),this.params.output.position$.next(i?0:t.currentTime),this.params.desiredState.seekPosition.setState(void 0)}},t.prototype.prepare=function(){var e=this.params.format;this.log({message:"[prepare] format: "+e});var t=this.createMediaInfo(e),i=this.createLoadRequest(t);this.loadMedia(i)},t.prototype.handleRemotePause=function(){var e=this.videoState.getState(),t=this.videoState.getTransition();(null==t?void 0:t.to)!==Ee.PAUSED&&e!==Ee.PLAYING||(this.videoState.setState(Ee.PAUSED),C(this.params.desiredState.playbackState,exports.PlaybackState.PAUSED))},t.prototype.handleRemotePlay=function(){var e=this.videoState.getState(),t=this.videoState.getTransition();(null==t?void 0:t.to)!==Ee.PLAYING&&e!==Ee.PAUSED||(this.videoState.setState(Ee.PLAYING),C(this.params.desiredState.playbackState,exports.PlaybackState.PLAYING))},t.prototype.handleRemoteReady=function(){var e=this.videoState.getTransition();(null==e?void 0:e.to)===Ee.READY&&this.videoState.setState(Ee.READY)},t.prototype.handleRemoteStop=function(){this.videoState.getState()!==Ee.STOPPED&&this.videoState.setState(Ee.STOPPED)},t.prototype.handleRemoteVolumeChange=function(e){var t,i,r=this.params.output.volume$.getValue(),a={volume:null!==(t=e.volume)&&void 0!==t?t:r.volume,muted:null!==(i=e.muted)&&void 0!==i?i:r.muted};a.volume===r.volume&&a.muted==a.muted||this.params.output.volume$.next(a)},t.prototype.seek=function(e){var t=this.params.connection,i=t.remotePlayer,r=t.remotePlayerController;i.currentTime=e,r.seek()},t.prototype.stop=function(){this.params.connection.remotePlayerController.stop()},t.prototype.createMediaInfo=function(t){var i,r,a,n,s=this.params.source;switch(t){case exports.VideoFormat.MPEG:var o=s[t];e.assertNonNullable(o);var u=Object.keys(o).sort((function(e,t){return e===t?0:e===exports.VideoQuality.INVARIANT?1:t===exports.VideoQuality.INVARIANT?-1:M(e,t)?1:-1}))[0];e.assertNonNullable(u);var d=o[u];e.assertNonNullable(d),r=d,a="video/mp4",n=chrome.cast.media.StreamType.BUFFERED;break;case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_ONDEMAND:var c=s[t];e.assertNonNullable(c),r=c.url,a="application/x-mpegurl",n=chrome.cast.media.StreamType.BUFFERED;break;case exports.VideoFormat.DASH_SEP:case exports.VideoFormat.DASH_ONDEMAND:case exports.VideoFormat.DASH_WEBM_VK:case exports.VideoFormat.DASH_WEBM:var l=s[t];e.assertNonNullable(l),r=l.url,a="application/dash+xml",n=chrome.cast.media.StreamType.BUFFERED;break;case exports.VideoFormat.HLS_LIVE:c=s[t];e.assertNonNullable(c),r=Pe(c.url),a="application/x-mpegurl",n=chrome.cast.media.StreamType.LIVE;break;case exports.VideoFormat.DASH_LIVE_WEBM:l=s[t];e.assertNonNullable(l),r=l.url,a="application/dash+xml",n=chrome.cast.media.StreamType.LIVE;break;case exports.VideoFormat.HLS_JS:case exports.VideoFormat.DASH:case exports.VideoFormat.DASH_LIVE:var p="Unsupported format for Chromecast",h=new Error(p);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",message:p,thrown:h}),h;default:return e.assertNever(t)}var f=new chrome.cast.media.MediaInfo(null!==(i=this.params.meta.videoId)&&void 0!==i?i:r,a);f.contentUrl=r,f.streamType=n,f.metadata=new chrome.cast.media.GenericMediaMetadata;var v=this.params.meta,m=v.title,S=v.subtitle;return e.isNonNullable(m)&&(f.metadata.title=m),e.isNonNullable(S)&&(f.metadata.subtitle=S),f},t.prototype.createLoadRequest=function(e){var t,i=new chrome.cast.media.LoadRequest(e);i.autoplay=!1;var r=this.params.desiredState.seekPosition.getTransition();return i.currentTime=r?this.params.output.isLive$.getValue()?0:null!==(t=r.to)&&void 0!==t?t:0:0,i},t.prototype.loadMedia=function(t){var i=this,r=this.params.connection.session.loadMedia(t),a=new Promise((function(t,r){i.loadMediaTimeoutSubscription.add(e.timeout(7e3).subscribe((function(){return r("timeout(7000)")})))}));Promise.race([r,a]).then((function(){i.log({message:"[loadMedia] completed, format: "+i.params.format});var e=i.params.desiredState.seekPosition;e.getTransition()&&e.setState(void 0),i.handleRemoteReady()}),(function(e){var t="[prepare] loadMedia failed, format: "+i.params.format+", reason: "+e;i.log({message:t}),i.params.output.error$.next({id:"ChromecastProvider.loadMedia",message:t,thrown:e})})).finally((function(){i.loadMediaTimeoutSubscription.unsubscribe()}))},t.prototype.logRemoteEvent=function(e){this.log({message:"[remoteEvent] "+JSON.stringify(e)})},t}();!function(e){e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(ke||(ke={}));var xe,Ae=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new K(ke.STOPPED),this.trackUrls={},this.textTracksManager=new A,this.syncPlayback=function(){var t=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition();if(r!==exports.PlaybackState.STOPPED){if(!i.videoState.getTransition()){var n=i.params.desiredState.videoTrack.getTransition(),s=i.params.desiredState.seekPosition.getTransition();if(t===ke.STOPPED)return i.videoState.startTransitionTo(ke.READY),void i.prepare();if(n){var o=i.video.currentTime;return i.prepare(),void(s||i.params.desiredState.seekPosition.startTransitionTo(o))}var u=null==s?void 0:s.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(u)&&i.seek(u),t){case ke.READY:return void(r===exports.PlaybackState.PAUSED?(i.videoState.setState(ke.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):r===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(ke.PLAYING),i.playIfAllowed()));case ke.PLAYING:return void(r===exports.PlaybackState.PAUSED?(i.videoState.startTransitionTo(ke.PAUSED),i.video.pause()):(null==a?void 0:a.to)===exports.PlaybackState.PLAYING&&C(i.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case ke.PAUSED:return void(r===exports.PlaybackState.PLAYING?(i.videoState.startTransitionTo(ke.PLAYING),i.playIfAllowed()):(null==a?void 0:a.to)===exports.PlaybackState.PAUSED&&C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED));default:return e.assertNever(t)}}}else t!==ke.STOPPED&&(i.videoState.startTransitionTo(ke.STOPPED),i.video.setAttribute("src",""),i.video.load(),i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.output.currentBuffer$.next(void 0),i.params.output.hostname$.next(void 0),i.videoState.setState(ke.STOPPED),C(i.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=t,this.video=N(t.container),this.params.output.element$.next(this.video),Object.entries(this.params.source).forEach((function(e,t){var r=h(e,2),a=r[0],n=r[1],s=t.toString(10);i.trackUrls[s]={track:{quality:a,id:s},url:n}})),this.params.output.availableVideoTracks$.next(Object.values(this.trackUrls).map((function(e){return e.track}))),this.params.output.isLive$.next(!1),this.subscribe()}return t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=function(e){r.error$.next({id:"MpegProvider",message:"MpegProvider internal logic error",thrown:e})},s=R(this.video),o=function(e,i){return t.subscription.add(e.subscribe(i,n))};o(s.timeUpdate$,r.position$),o(s.durationChange$,r.duration$),o(s.ended$,r.endedEvent$),o(s.error$,r.error$),o(s.isBuffering$,r.isBuffering$),o(s.currentBuffer$,r.currentBuffer$),o(s.firstBytes$,r.firstBytesEvent$),o(s.firstFrame$,r.firstFrameEvent$),this.subscription.add(s.seeked$.subscribe((function(){return a.seekPosition.setState(void 0)}),n)),this.subscription.add(k(this.video,a.isLooped,n)),this.subscription.add(w(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$,n)),this.subscription.add(s.play$.subscribe((function(){t.videoState.setState(ke.PLAYING),C(a.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){t.videoState.setState(ke.PAUSED),C(a.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var i;(null===(i=t.videoState.getTransition())||void 0===i?void 0:i.to)===ke.READY&&t.videoState.setState(ke.READY);var r=t.params.desiredState.videoTrack.getTransition();r&&e.isNonNullable(r.to)&&(t.params.desiredState.videoTrack.setState(r.to),t.params.output.currentVideoTrack$.next(t.trackUrls[r.to].track)),t.videoState.getState()===ke.PLAYING&&t.playIfAllowed()}),n)),this.subscription.add(a.autoVideoTrackSwitching.stateChangeStarted$.subscribe((function(){return a.autoVideoTrackSwitching.setState(!1)}),n)),this.textTracksManager.connect(this.video,a,r);var u=e.merge(a.playbackState.stateChangeStarted$,a.videoTrack.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0));this.subscription.add(u.subscribe(this.syncPlayback,n))},t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.trackUrls={},this.video.remove(),this.params.output.element$.next(void 0)},t.prototype.prepare=function(){var t,i,r=null!==(i=null===(t=this.params.desiredState.videoTrack.getTransition())||void 0===t?void 0:t.to)&&void 0!==i?i:this.params.desiredState.videoTrack.getState();e.assertNonNullable(r,"MpegProvider: track is not selected");var a=this.trackUrls[r].url;e.assertNonNullable(a,"MpegProvider: No url for "+r),this.video.setAttribute("src",a),this.video.load(),this.params.output.hostname$.next(J(a))},t.prototype.playIfAllowed=function(){var e=this;E(this.video).then((function(t){t||(e.videoState.setState(ke.PAUSED),C(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},t.prototype.seek=function(e){this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.video.currentTime=e},t}(),Ne=function(){function t(e,t,i,r,a,n){void 0===t&&(t=[]),this._failoverIndex=0,this._failoverCount=0,this._xhr=null,this._retryTimeout=0,this._url=e,this._failoverHosts=t,this._completeCb=i,this._progressCb=r,this._headersCb=a,this._errorCb=n,this._request()}return t.prototype._request=function(){var t=this;this._xhr=new XMLHttpRequest,this._xhr.open("GET",this._url,!0),this._xhr.overrideMimeType("text/plain; charset=x-user-defined");var i=!1;this._xhr.onreadystatechange=function(){var r,a,n,s,o,u,d,c;if(e.assertNonNullable(t._xhr),(null===(r=t._xhr)||void 0===r?void 0:r.status)>=400)return null===(a=t._errorCb)||void 0===a||a.call(t,"Http"+(null===(n=t._xhr)||void 0===n?void 0:n.status),"XHR response code "+(null===(s=t._xhr)||void 0===s?void 0:s.status)),void t.abort();if(4!==t._xhr.readyState||0!==t._xhr.status)try{t._xhr.readyState>=2&&!i&&(i=!0,null===(o=t._headersCb)||void 0===o||o.call(t)),4===t._xhr.readyState&&(null===(u=t._completeCb)||void 0===u||u.call(t,t._xhr.response)),3===t._xhr.readyState&&(null===(d=t._progressCb)||void 0===d||d.call(t,t._xhr.response))}catch(e){throw null===(c=t._errorCb)||void 0===c||c.call(t,"XHR2CallbackError","xhr2 callback threw "+String(e),e),e}},this._xhr.onerror=function(){var e;null===(e=t._xhr)||void 0===e||e.abort(),t._retryTimeout=window.setTimeout((function(){var e,i,r;if(t._xhr)if(++t._failoverCount>=30)t._xhr=null,null===(e=t._errorCb)||void 0===e||e.call(t,"XHR2Failover","XHR failed, retrying failover host");else{var a=void 0;t._failoverIndex>=t._failoverHosts.length?(a=t._url,t._failoverIndex=0):(a=t._url.replace((i=t._url,(r=document.createElement("a")).href=i,r.host),t._failoverHosts[t._failoverIndex]),t._failoverIndex++),t._xhr.open("GET",a,!0),t._xhr.send(null)}}),500)},this._xhr.send(null)},t.prototype.abort=function(){window.clearTimeout(this._retryTimeout),this._completeCb=this._progressCb=this._errorCb=void 0,this._xhr&&(this._xhr.abort(),this._xhr=null)},t}(),$e=function(){function e(e){this._maxBufferDuration=Number.POSITIVE_INFINITY,this._isFull=!1,this._params=e,this._mediaSource=e.mediaSource,this._sourceBuffer=e.sourceBuffer,this._onDashCallback=e.onDashCallback}return e.prototype._appendBuffer=function(e,t){try{this._isFull=!1,(this._sourceBuffer.appendBuffer||this._sourceBuffer.append).bind(this._sourceBuffer)(e),null==t||t()}catch(e){if("QuotaExceededError"!==e.name)throw this._params.onError("AppendBuffer","Unknown Buffer error",e),e;this._isFull=!0;for(var i=this._sourceBuffer.buffered,r=0,a=0,n=i.length;a<n;a++)r+=i.end(a)-i.start(a);r&&(this._maxBufferDuration=Math.round(r))}},e.prototype.getMaxBufferDuration=function(){return this._maxBufferDuration},e.prototype.isFull=function(){return this._isFull},e.prototype.load=function(t,i,r,a,n,s,o){var u=this;this.abort((function(){var d=0,c=Date.now(),l=Date.now(),p=0,h=r-i+1,f=function(t){a(e._str2ua(t.substr(d))),d=t.length};u._lastXhr=new Ne(t.baseURL+"&bytes="+i+"-"+r,t.failoverHosts,(function(e){u._lastXhr=void 0,f(e);var t=Date.now()-c;u._params.onBandwidthChange({size:h,duration:t,speed:8*h/(t/1e3)}),u._onDashCallback("loading",{size:e.length,done:!0}),null==n||n()}),(function(e){e.length-d>o&&f(e);var t=e.length-p,i=Date.now()-l;p&&u._params.onBandwidthChange({size:t,duration:i,speed:8*t/(i/1e3)}),p=e.length,l=Date.now(),u._onDashCallback("loading",{size:e.length,done:!1})}),s,(function(e,t,i){return u._params.onError(e,t,i)}))}))},e.prototype.abort=function(e){var t,i=this;null===(t=this._lastXhr)||void 0===t||t.abort(),this._sbUpdatingStop(this._lastStreamUpdatingCallback),this._lastStreamUpdatingCallback=this._sbUpdatingWatch((function(){i._appendPromiseUint8Array&&(i._appendBuffer(i._appendPromiseUint8Array),i._appendPromiseUint8Array=void 0),i._lastStreamUpdatingCallback=i._sbUpdatingWatch((function(){"open"===i._mediaSource.readyState&&i._sourceBuffer.abort(),null==e||e()}))}))},e.prototype._sbUpdatingWatch=function(e){var t=this;if(this._sourceBuffer.updating){var i=function(){try{t._sbUpdatingStop(i),t._sbUpdatingWatch(e)}catch(e){throw t._params.onError("SourceBuffer","Source Buffer update error",e),e}};return this._sourceBuffer.addEventListener("updateend",i,!1),i}e()},e.prototype._sbUpdatingStop=function(e){e&&this._sourceBuffer.removeEventListener("updateend",e,!1)},e.prototype.append=function(t,i){var r=this;this._appendPromiseUint8Array?this._appendPromiseUint8Array=e._concatUint8(this._appendPromiseUint8Array,t):(this._appendPromiseUint8Array=t,this._lastStreamUpdatingCallback=this._sbUpdatingWatch((function(){r._appendPromiseUint8Array&&r._appendBuffer(r._appendPromiseUint8Array,(function(){r._appendPromiseUint8Array=void 0,i&&r._sbUpdatingWatch(i)}))})))},e.prototype.endOfStream=function(){var e=this;"open"===this._mediaSource.readyState&&this._sbUpdatingWatch((function(){return e._mediaSource.endOfStream()}))},e._concatUint8=function(e,t){var i=new Uint8Array(e.byteLength+t.byteLength);return i.set(e,0),i.set(t,e.byteLength),i},e._str2ua=function(e){for(var t=new Uint8Array(e.length),i=0;i<e.length;i++)t[i]=e.charCodeAt(i);return t},e.prototype.remove=function(e,t){var i=this;this._sbUpdatingWatch((function(){!i._sourceBuffer.updating&&i._sourceBuffer.remove&&i._sourceBuffer.remove(e,t),i._maxBufferDuration=Number.POSITIVE_INFINITY}))},e.prototype.destroy=function(){var e;null===(e=this._lastXhr)||void 0===e||e.abort(),this._sbUpdatingStop(this._lastStreamUpdatingCallback),"open"===this._mediaSource.readyState&&this._sourceBuffer.abort()},e}(),De=function(){function t(e){var t;this._representations=[],this._appendVector={},this._cachingPaused=!1,this._duration=0,this.STREAM_END_THRESHOLD=1,this._params=e,this._video=e.video,this._buffer=e.buffer,this._onDashCallback=null!==(t=e.onDashCallback)&&void 0!==t?t:function(){},this._config=e.config}return t.prototype._parseDurationFromISO8601=function(e){var t=function(e,t){var i=e?parseFloat(e.replace(",",".")):NaN;return(isNaN(i)?0:i)*t},i=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/.exec(e),r="-"===(null==i?void 0:i[1])?-1:1;t(null==i?void 0:i[2],r),t(null==i?void 0:i[3],r),t(null==i?void 0:i[4],r),t(null==i?void 0:i[5],r);return 3600*t(null==i?void 0:i[6],r)+60*t(null==i?void 0:i[7],r)+t(null==i?void 0:i[8],r)},t.prototype.getRepresentations=function(){return this._representations},t.prototype.attachSource=function(e,t){var i=this;new Ne(e,t,(function(r){var a,n;i.attachManifest(r,t,(a=e,(n=document.createElement("a")).href=a,n.origin))}),void 0,void 0,(function(e,t,r){return i._params.onError(e,t,r)}))},t.prototype.attachManifest=function(e,t,i){var r=this,a=(new DOMParser).parseFromString(e,"text/xml").documentElement,n=function(e,t){var i=e.attributes.getNamedItem(t);return i?i.value:null};this._duration=this._parseDurationFromISO8601(String(n(a,"mediaPresentationDuration")));var s=[],o=[];Array.prototype.forEach.call(a.getElementsByTagName("Representation"),(function(e){var r,a,u,d,c,l,p,h,f,v,m,S,b,g,y,T,E,P=e.getElementsByTagName("SegmentBase")[0],k=P&&n(P,"indexRange").split("-"),w=P&&P.getElementsByTagName("Initialization")[0],x=w&&n(w,"range").split("-");if(x&&k){var A=Number(null===(p=e.attributes.getNamedItem("bandwidth"))||void 0===p?void 0:p.value),N=(i?i+"/":"")+e.getElementsByTagName("BaseURL")[0].childNodes[0].data;s.push({width:Number(null===(h=e.attributes.getNamedItem("width"))||void 0===h?void 0:h.value),height:Number(null===(f=e.attributes.getNamedItem("height"))||void 0===f?void 0:f.value),bandwidth:A,baseURL:N,failoverHosts:t,indexFrom:Number(k[0]),indexTo:Number(k[1]),initFrom:Number(x[0]),initTo:Number(x[1]),codecs:null!==(m=null===(v=e.attributes.getNamedItem("codecs"))||void 0===v?void 0:v.value)&&void 0!==m?m:void 0,mimeType:null!==(b=null===(S=e.attributes.getNamedItem("mimeType"))||void 0===S?void 0:S.value)&&void 0!==b?b:void 0,bufferSize:.1*A/8,bufferLength:.1,name:null!==(y=null===(g=e.attributes.getNamedItem("okQuality"))||void 0===g?void 0:g.value)&&void 0!==y?y:void 0,id:null!==(E=null===(T=e.attributes.getNamedItem("id"))||void 0===T?void 0:T.value)&&void 0!==E?E:void 0})}else{var $=e.parentElement;if("text"===(null==$?void 0:$.getAttribute("contentType"))){var D=null!==(r=e.getAttribute("id"))&&void 0!==r?r:void 0,_=(i?i+"/":"")+(null===(c=null===(d=null===(u=null===(a=e.getElementsByTagName("BaseURL"))||void 0===a?void 0:a[0])||void 0===u?void 0:u.childNodes)||void 0===d?void 0:d[0])||void 0===c?void 0:c.data),I=null!==(l=$.getAttribute("lang"))&&void 0!==l?l:void 0;_&&o.push({id:D,url:_,language:I})}}})),s.length?(this._representations=s,o.forEach((function(e){var t=e.id,i=e.language,a=e.url,n=document.createElement("track");n.setAttribute("src",a),t&&n.setAttribute("id",t),i&&n.setAttribute("srclang",i),r._video.appendChild(n)})),this._representations.sort((function(e,t){return t.bandwidth-e.bandwidth})),this._params.onManifestReady(this._representations)):this._onDashCallback("error")},t.prototype._loadInitAndSidx=function(e,t){var i=this;if(e!==this._currentRepresentation)if(e.refs)this._stream.abort((function(){i._stream.append(e.initMessage,t)}));else{var r=Date.now();this._stream.load(e,e.initFrom,e.indexTo,(function(r){var a=e.initTo-e.initFrom+1;if(r.byteLength){e.initMessage=new Uint8Array(r.buffer,0,a);var n=new DataView(r.buffer);a+=12;var s=n.getUint32(a+4,!1);a+=8;var o=n.getUint32(a,!1),u=n.getUint32(a+4,!1)+(e.indexTo+1);a+=8;var d=n.getUint16(a+2,!1);a+=4,e.refs=[];for(var c=0;c<d;c+=1){var l=u+(2147483647&n.getUint32(a,!1)),p=o+n.getUint32(a+4,!1);a+=12,e.refs.push({fromTime:o/s,toTime:p/s,fromOffset:u,toOffset:l-1}),u=l,o=p}var h=e.refs[e.refs.length-1];h.toTime-h.fromTime<.3&&e.refs.pop(),i._stream.append(e.initMessage,t)}else i._params.onError("EmptyResponse","Empty response")}),void 0,(function(){i._params.onIdxRequestPing(Date.now()-r)}),e.indexTo-e.initFrom+1)}else t&&t()},t.prototype.startPlay=function(e){var t=this,i=window.MediaSource||window.WebKitMediaSource;if(i){var r=new i,a=void 0,n=void 0,s=function(){t._loopTimeout=window.setTimeout((function(){try{!function(){var i=t._findRef(t._video.currentTime);if(i&&!t._video.paused){if(!t._cachingPaused&&void 0!==t._lastLoadOffset&&t._lastLoadOffset-t._video.currentTime<t._config.FRONT_CACHE_DURATION&&t._lastLoadOffset-t._video.currentTime<t._stream.getMaxBufferDuration()){var r=t._stream.isFull()?t._findBufferRangeEnd(t._video.currentTime):t._lastLoadOffset;t._loadRef(t._params.selectRepresentation(t._representations),r)}var s,o=t._appendVector[String(i.fromTime)];if(o!==a&&(a=o,t._params.onRepresentationPlay(o)),t._findRef(i.toTime)){var u=t._buffer.getByTime(t._video.currentTime);if(!u)return void t._onDashCallback("buffering");(s=u.end-t._video.currentTime)<e.bufferLength&&(t._onDashCallback("buffering"),n!==u.end&&(n=u.end,window.setTimeout((function(){try{var e=t._buffer.getNextWithGap(u);e&&(t._video.currentTime=e.start)}catch(e){throw t._params.onError("GapSyncError","Seek Error "+String(e),e),e}}),1e3*s)))}}}()}catch(e){throw t._params.onError("LoopError","Dash Loop exception "+String(e),e),e}s()}),250)},o=function(){if(!t._stream)try{var i=r.addSourceBuffer(e.mimeType+'; codecs="'+e.codecs+'"');t._stream=new $e({mediaSource:r,sourceBuffer:i,onBandwidthChange:t._params.onBandwidthChange,onError:t._params.onError,onDashCallback:t._onDashCallback})}catch(e){throw t._params.onError("DashSourceOpen","Source open exception "+String(e),e),e}t._loadInitAndSidx(e),r.duration||(r.duration=t._duration),t._loopTimeout||s(),r.removeEventListener("sourceopen",o),r.removeEventListener("webkitsourceopen",o)};r.addEventListener("sourceopen",o,!1),r.addEventListener("webkitsourceopen",o,!1),this._video&&(this._video.src=window.URL.createObjectURL(r),this._video.addEventListener("waiting",(function(){var e=t._video&&t._video.played.length;e&&!t._video.currentTime&&t._video.loop?t._video.duration-t._video.played.end(e-1)<t.STREAM_END_THRESHOLD&&t.seek(0):t._video.duration-t._video.currentTime<t.STREAM_END_THRESHOLD&&t._stream.endOfStream()})))}else this._params.onError("MediaSourceNotSupported","MediaSource is not supported")},t.prototype._loadRef=function(e,t,i){var r=this;void 0===i&&(i=!1),this._lastLoadOffset=void 0,this._loadInitAndSidx(e,(function(){r._currentRepresentation=e;var a=r._findRef(t);if(a){if(i){r._isLastRef(a)&&t>=a.toTime&&(t=a.fromTime);var n=r._findRef(r._video.currentTime),s=Math.abs(r._video.currentTime-t),o=r._video.duration<r._config.SEEK_IN_SEGMENT_THRESHOLD/1e3||a===n||s<=r._config.SEEK_IN_SEGMENT_DELTA/1e3;r._video.currentTime=o?t:a.fromTime}r._appendVector[String(a.fromTime)]=e,r._stream.load(e,a.fromOffset,a.toOffset,(function(e,t){return r._stream.append(e,t)}),(function(){r._lastLoadOffset=a.toTime,r._video.duration-r._lastLoadOffset<r.STREAM_END_THRESHOLD&&r._stream.endOfStream()}),void 0,e.bufferSize)}}))},t.prototype.setQualityByRepresentation=function(e){var t=this,i=this._buffer.getByTime(this._video.currentTime),r=this._findRef(this._video.currentTime);if(i&&r){var a=.1;if(r.toTime<i.end+a){var n=this._findRef(r.toTime);n&&n.toTime<i.end+a?(this._buffer.smartRemove(r.fromTime-a,n.toTime+a,(function(e,i){return t._stream.remove(e,i)})),this._loadRef(e,n.toTime)):(this._buffer.smartRemove(r.fromTime-a,r.toTime+a,(function(e,i){return t._stream.remove(e,i)})),this._loadRef(e,r.toTime))}}},t.prototype.setQuality=function(e){return this.setQualityByRepresentation(this._representations[e])},t.prototype.pauseCaching=function(){this._cachingPaused=!0},t.prototype.resumeCaching=function(){this._cachingPaused=!1},t.prototype.seek=function(e,t){void 0===t&&(t=!1),this._stream&&this._buffer.getByTime(e)&&!t?this._video.currentTime=e:this._loadRef(this._params.selectRepresentation(this._representations),e,!0)},t.prototype.updateRefsForCurrentTime=function(){var t=this._video.currentTime;this._stream&&!e.isNullable(this._buffer.getByTime(t))||this._loadRef(this._params.selectRepresentation(this._representations),t,!1)},t.prototype._findRef=function(e){var t,i=null===(t=this._currentRepresentation)||void 0===t?void 0:t.refs;if(i){if(!Array.isArray(i)||0!==i.length){for(var r=void 0,a=0;a<i.length;a++){var n=i[a];if(n.fromTime<=e&&n.toTime>e)return n;n.fromTime>e&&(!r||n.fromTime<r.fromTime)&&(r=n)}if(!r){var s=i[i.length-1];if(e>s.toTime)return s}return r}this._params.onError("emptyrefs","Empty refs")}},t.prototype._isLastRef=function(e){var t,i=null===(t=this._currentRepresentation)||void 0===t?void 0:t.refs;if(!i)return!1;var r=i[i.length-1];return e.fromTime===r.fromTime},t.prototype._findBufferRangeEnd=function(e){for(var t=this._video.buffered.length;t-- >0;){var i=this._video.buffered.start(t),r=this._video.buffered.end(t);if(e>i&&e<r)return Math.round(10*r)/10}return e},t.prototype.destroy=function(){this._stream&&this._stream.destroy(),clearTimeout(this._loopTimeout),this._loopTimeout=void 0},t}();!function(e){e.STOPPED="stopped",e.MANIFEST_LOADED="manifest-loaded",e.INITIAL_REPRESENTATION_SELECTED="initial-representation-selected",e.METADATA_LOADED="metadata-loaded",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(xe||(xe={}));var _e,Ie=[xe.PAUSED,xe.PLAYING],Re=function(){function t(t){var i=this;this.videoState=new K(xe.STOPPED),this.subscription=new e.Subscription,this.representations$=new e.ValueSubject([]),this.currentRepresentation$=new e.ValueSubject(void 0),this.textTracksManager=new A,this.elementSize$=new e.ValueSubject(void 0),this.dashLiteEvents={idxRequestPing$:new e.Subject,manifestReady$:new e.Subject,representationPlay$:new e.Subject,error$:new e.Subject},this.handleManifestReady=function(e){var t,r,a,n,s=[];try{for(var o=p(e),u=o.next();!u.done;u=o.next()){var d=u.value,c=null!==(n=null!==(a=d.name)&&void 0!==a?a:d.id)&&void 0!==n?n:d.height.toString(10),l=U(d),h=d.bandwidth/1e3,f={width:d.width,height:d.height};if(l){var v={id:c,quality:l,bitrate:h,size:f};s.push({track:v,representation:d})}}}catch(e){t={error:e}}finally{try{u&&!u.done&&(r=o.return)&&r.call(o)}finally{if(t)throw t.error}}i.representations$.next(s),i.params.output.availableVideoTracks$.next(s.map((function(e){return e.track}))),i.videoState.setState(xe.MANIFEST_LOADED)},this.handleRepresentationPlay=function(e){var t,r=null===(t=i.representations$.getValue().find((function(t){return t.representation===e})))||void 0===t?void 0:t.track;r&&(i.params.output.currentVideoTrack$.next(r),i.params.desiredState.videoTrack.getTransition()&&i.params.desiredState.videoTrack.setState(r.id))},this.selectRepresentation=function(){var t=i.currentRepresentation$.getValue();return e.assertNonNullable(t,"Can't select representation. something went wrong"),t},this.syncPlayback=function(){var t=i.videoState.getState(),r=i.videoState.getTransition(),a=i.params.desiredState.playbackState.getState(),n=i.params.desiredState.playbackState.getTransition(),s=i.params.desiredState.seekPosition.getTransition();if(i.log({message:"[syncPlayback] videoState: "+t+"; videoTransition: "+JSON.stringify(r)+"; desiredPlaybackState: "+a+"; seekPositionTransition: "+JSON.stringify(s)+";"}),a!==exports.PlaybackState.STOPPED){if(!r){var o=null==s?void 0:s.to;switch((null==n?void 0:n.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(o)&&Ie.includes(t)&&i.seek(o),t){case xe.STOPPED:return i.videoState.startTransitionTo(xe.MANIFEST_LOADED),void i.prepare();case xe.MANIFEST_LOADED:return void i.videoState.startTransitionTo(xe.INITIAL_REPRESENTATION_SELECTED);case xe.INITIAL_REPRESENTATION_SELECTED:return i.videoState.startTransitionTo(xe.METADATA_LOADED),void i.dash.startPlay(i.selectRepresentation());case xe.METADATA_LOADED:return i.videoState.startTransitionTo(xe.READY),void i.dash.seek(null!=o?o:0);case xe.READY:return void(a===exports.PlaybackState.PAUSED?(i.videoState.setState(xe.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):a===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(xe.PLAYING),i.playIfAllowed()));case xe.PLAYING:return void(a===exports.PlaybackState.PAUSED?(i.videoState.startTransitionTo(xe.PAUSED),i.video.pause()):(null==n?void 0:n.to)===exports.PlaybackState.PLAYING&&C(i.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case xe.PAUSED:return void(a===exports.PlaybackState.PLAYING?(i.videoState.startTransitionTo(xe.PLAYING),i.playIfAllowed()):(null==n?void 0:n.to)===exports.PlaybackState.PAUSED&&C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED));default:return e.assertNever(t)}}}else t!==xe.STOPPED&&(i.videoState.startTransitionTo(xe.STOPPED),i.dash.destroy(),i.video.setAttribute("src",""),i.video.load(),i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.output.currentBuffer$.next(void 0),i.params.output.hostname$.next(void 0),i.videoState.setState(xe.STOPPED),C(i.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=t,this.log=this.params.dependencies.logger.createComponentLog("DashProvider"),e.merge(this.videoState.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,type:"start"}}))),this.videoState.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,type:"end"}})))).subscribe((function(e){var t=e.transition,r=e.type;i.log({message:"[videoState change] "+r+": "+JSON.stringify(t)})})),this.video=N(t.container),this.params.output.element$.next(this.video),this.params.output.isLive$.next(!1),"url"===this.params.source.type&&this.params.output.hostname$.next(J(this.params.source.url)),this.buffer=new D(this.video),this.dash=new De({video:this.video,buffer:this.buffer,selectRepresentation:this.selectRepresentation,onIdxRequestPing:function(e){return i.dashLiteEvents.idxRequestPing$.next(e)},onManifestReady:function(e){return i.dashLiteEvents.manifestReady$.next(e)},onRepresentationPlay:function(e){return i.dashLiteEvents.representationPlay$.next(e)},onBandwidthChange:function(e){return i.params.dependencies.throughputEstimator.rawSpeed$.next({size:e.size,time:e.duration})},onError:function(e,t,r){i.log({message:"[DashLite error], "+e}),i.dashLiteEvents.error$.next({id:e,message:t,thrown:r})},config:{SEEK_IN_SEGMENT_THRESHOLD:this.params.tuning.dashSeekInSegmentDurationThreshold,SEEK_IN_SEGMENT_DELTA:this.params.tuning.dashSeekInSegmentAlwaysSeekDelta,FRONT_CACHE_DURATION:this.params.config.cacheDuration/1e3}}),this.subscribe()}return t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=function(e){r.error$.next({id:"DashProvider",message:"DashProvider internal logic error",thrown:e})},s=R(this.video),o=function(e,i){return t.subscription.add(e.subscribe(i,n))};o(s.timeUpdate$,r.position$),o(s.durationChange$,r.duration$),o(s.ended$,r.endedEvent$),o(s.error$,r.error$),o(s.isBuffering$,r.isBuffering$),o(s.firstFrame$,r.firstFrameEvent$),this.subscription.add(s.seeking$.subscribe((function(){e.isNullable(t.params.desiredState.seekPosition.getTransition())&&(t.videoState.getState()===xe.PLAYING||t.videoState.getState()===xe.PAUSED)&&t.dash.updateRefsForCurrentTime()}))),this.subscription.add(s.seeked$.subscribe((function(){return a.seekPosition.setState(void 0)}))),this.subscription.add(k(this.video,a.isLooped,n)),this.subscription.add(w(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$)),this.textTracksManager.connect(this.video,a,r),o(X(this.video),this.elementSize$),this.subscription.add(s.canplay$.subscribe((function(){var e;(null===(e=t.videoState.getTransition())||void 0===e?void 0:e.to)===xe.READY&&t.videoState.setState(xe.READY)}),n)).add(s.pause$.subscribe((function(){t.videoState.setState(xe.PAUSED),C(t.params.desiredState.playbackState,exports.PlaybackState.PAUSED)}))).add(s.play$.subscribe((function(){t.videoState.setState(xe.PLAYING),C(t.params.desiredState.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.loadedMetadata$.subscribe((function(){t.videoState.setState(xe.METADATA_LOADED)}),n)).add(s.currentBuffer$.subscribe((function(e){t.buffer.fill(),r.currentBuffer$.next(e)}),n)).add(this.dashLiteEvents.error$.pipe(e.map((function(e){return{id:"DashLite_"+e.id,message:e.message,thrown:e.thrown}}))).subscribe(this.params.output.error$)).add(e.merge(this.params.desiredState.videoTrack.transitionStarted$,this.params.desiredState.autoVideoTrackSwitching.transitionStarted$,this.representations$,this.params.dependencies.throughputEstimator.estimation$,this.params.output.element$,this.elementSize$).pipe(e.map((function(){var i,r,a,n=t.representations$.getValue(),s=t.params.desiredState.autoVideoTrackSwitching.getState(),o=t.params.desiredState.autoVideoTrackSwitching.getTransition(),u=t.params.desiredState.videoTrack.getState(),d=t.params.desiredState.videoTrack.getTransition(),c=t.params.dependencies.throughputEstimator.estimation$.getValue(),l=t.elementSize$.getValue(),p=o?o.to:s;if(o&&t.params.desiredState.autoVideoTrackSwitching.setState(o.to),!p&&e.isNonNullable(u))a=u;else{var h=W(t.video.buffered,1e3*t.video.currentTime),f=Math.min(h/t.params.tuning.dash.forwardBufferTarget,1);a=d?d.to:null===(i=Q(n.map((function(e){return e.track})),{container:l,throughput:c,tuning:t.params.tuning.autoTrackSelection,forwardBufferHealth:f}))||void 0===i?void 0:i.id}return e.isNonNullable(a)?null===(r=n.find((function(e){return e.track.id===a})))||void 0===r?void 0:r.representation:void 0})),e.filterChanged()).subscribe(this.currentRepresentation$,n)).add(e.combine({needToSelectRepresentation:this.videoState.stateChangeStarted$.pipe(e.filter((function(e){return e.to===xe.INITIAL_REPRESENTATION_SELECTED}))),currentRepresentationSelected:this.currentRepresentation$.pipe(e.filter(e.isNonNullable))}).pipe(e.once()).subscribe((function(){return t.videoState.setState(xe.INITIAL_REPRESENTATION_SELECTED)}),n)).add(this.currentRepresentation$.pipe(e.filter(e.isNonNullable),e.filterChanged()).subscribe((function(e){t.dash.setQualityByRepresentation(e),t.params.output.hostname$.next(J(e.baseURL))}),n)).add(this.dashLiteEvents.idxRequestPing$.pipe(e.once()).subscribe(this.params.output.firstBytesEvent$)).add(this.dashLiteEvents.manifestReady$.subscribe(this.handleManifestReady,n)).add(this.dashLiteEvents.representationPlay$.pipe(e.filter(e.isNonNullable)).subscribe(this.handleRepresentationPlay,n)).add(e.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0)).subscribe(this.syncPlayback,n))},t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0),this.buffer.destroy(),this.dash.destroy()},t.prototype.prepare=function(){var t=this.params.source;switch(t.type){case"url":this.dash.attachSource(t.url);break;case"raw":this.dash.attachManifest(t.raw);break;default:return e.assertNever(t)}},t.prototype.seek=function(e){this.log({message:"[seek] position: "+e}),this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.dash.seek(e)},t.prototype.playIfAllowed=function(){var e=this;E(this.video).then((function(t){t||(e.videoState.setState(xe.PAUSED),C(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},t}(),Ce=function(e){return e.range?e.range.split("-").map((function(e){return parseInt(e,10)})):[NaN,NaN]},Le=function(){function e(e){this.params=e,this.dashJsRequestQueue=new Map,this.activeRequests=new Map}return e.prototype.setMetrics=function(e){this.dashMetrics=e},e.prototype.queueDashJSRequest=function(e){var t,i=e.request.url,r=null!==(t=this.dashJsRequestQueue.get(i))&&void 0!==t?t:[];r.push(e),this.dashJsRequestQueue.set(i,r)},e.prototype.executeNextRequests=function(){return c(this,void 0,void 0,(function(){var e,t,i,r,a,n,s,o,u,d,c,f,v;return l(this,(function(l){try{for(e=p(this.dashJsRequestQueue.entries()),t=e.next();!t.done;t=e.next()){if(i=h(t.value,2),r=i[0],a=i[1],n=this.activeRequests.get(r)){if(a.length&&this.onBigRequestProgress(n),!(s=a[0])||!s.request.range)continue;if(o=h(Ce(s.request),2),u=o[0],d=o[1],u>=n.from&&d<=n.to)continue;this.activeRequests.delete(r)}a.length&&(c=this.sendBigRequest(r,a.map((function(e){return e.request}))),this.activeRequests.set(r,c))}}catch(e){f={error:e}}finally{try{t&&!t.done&&(v=e.return)&&v.call(e)}finally{if(f)throw f.error}}return[2]}))}))},e.prototype.abort=function(e){var t,i,r;if(e){var a=e.request,n=(null!==(r=this.dashJsRequestQueue.get(a.url))&&void 0!==r?r:[]).includes(e),s=this.activeRequests.get(a.url);n&&s&&s.abortController.abort()}else try{for(var o=p(this.activeRequests.values()),u=o.next();!u.done;u=o.next()){u.value.abortController.abort()}}catch(e){t={error:e}}finally{try{u&&!u.done&&(i=o.return)&&i.call(o)}finally{if(t)throw t.error}}},e.prototype.destroy=function(){this.abort(),this.dashMetrics=void 0,this.dashJsRequestQueue.clear(),this.activeRequests.clear()},e.prototype.sendBigRequest=function(t,i){for(var r=this,a=i.map(Ce),n=a[0][0],s=a[0][1],o=1;o<a.length&&s<this.params.minDataSize;o++){var u=a[o][1];u-n<=2*this.params.minDataSize&&(s=Math.max(s,u))}s=0===n?Math.max(s,n+this.params.minInitSize):Math.max(s,n+this.params.minDataSize);var d=new URL(t,location.href);d.searchParams.append("bytes",n+"-"+s);var p=d.toString(),f=new AbortController,v=f.signal,m={url:t,from:n,to:s,loaded:0,data:null,abortController:f};v.addEventListener("abort",(function(){return r.onBigRequestAbort(m)}));var S=function(e){var t,i;throw null===(i=(t=r.params).onError)||void 0===i||i.call(t,{id:"BigRequestParsing",message:"Error parsing response data",thrown:e}),e};return fetch(p,{signal:v}).then((function(t){var i,a,n;if(t.ok&&t.body){var s=h(t.body.tee(),2),o=s[0],u=s[1];null===(a=(i=r.params).onDownloadStream)||void 0===a||a.call(i,u);var d=o.getReader(),p=parseInt(null!==(n=t.headers.get("Content-Length"))&&void 0!==n?n:"",10);m.data=new ArrayBuffer(p);var f=new Uint8Array(m.data),v=function(t){var i=t.done,a=t.value;return c(r,void 0,void 0,(function(){return l(this,(function(t){switch(t.label){case 0:return i?(this.onBigRequestProgress(m),[3,3]):[3,1];case 1:return a?(f.set(a,m.loaded),m.loaded+=a.byteLength,this.onBigRequestProgress(m),[4,null==d?void 0:d.read().then(v,e.suppressStreamErrors).catch(S)]):[3,3];case 2:t.sent(),t.label=3;case 3:return[2]}}))}))};null==d||d.read().then(v,e.suppressStreamErrors).catch(S)}else r.onBigRequestError(m)}),e.suppressAbort).catch((function(e){return r.onBigRequestError(m,e)})),m},e.prototype.onBigRequestProgress=function(e){var t,i,r,a,n,s,o,u,d,c=e.url,l=e.from,f=e.to,v=e.loaded,m=e.data;if(this.activeRequests.has(c)&&m){var S=null!==(r=this.dashJsRequestQueue.get(c))&&void 0!==r?r:[],b=function(e){var t=e.request,i=h(Ce(t),2),r=i[0],p=i[1],S=r>=l&&p<=l+v,b=l>=r&&l+v<p,y=m.slice(r-l,Math.min(p-l+1,v));(S||b)&&(t.requestStartDate=null!==(a=t.requestStartDate)&&void 0!==a?a:new Date,t.firstByteDate=null!==(n=t.firstByteDate)&&void 0!==n?n:new Date,t.bytesLoaded=y.byteLength,t.bytesTotal=f-l),S?(t.requestEndDate=new Date,g.dashJsRequestQueue.set(c,(null!==(s=g.dashJsRequestQueue.get(c))&&void 0!==s?s:[]).filter((function(t){return t!==e}))),null===(o=e.success)||void 0===o||o.call(e,y,"",c),null===(u=g.dashMetrics)||void 0===u||u.addHttpRequest(t,c,200,{},[])):b&&(null===(d=e.progress)||void 0===d||d.call(e,{loaded:v,total:f-l,lengthComputable:!0,stream:!0}))},g=this;try{for(var y=p(S),T=y.next();!T.done;T=y.next()){b(T.value)}}catch(e){t={error:e}}finally{try{T&&!T.done&&(i=y.return)&&i.call(y)}finally{if(t)throw t.error}}}},e.prototype.onBigRequestError=function(e,t){var i,r,a,n,s,o,u=e.url,d=e.from,c=e.to;if(null===(n=(a=this.params).onError)||void 0===n||n.call(a,{id:"BigRequest",message:"Download error",thrown:t}),this.activeRequests.has(u)){var l=null!==(s=this.dashJsRequestQueue.get(u))&&void 0!==s?s:[];try{for(var f=p(l),v=f.next();!v.done;v=f.next()){var m=v.value,S=h(Ce(m.request),2),b=S[0],g=S[1];(b>=d&&b<c||g>d&&g<=c)&&(null===(o=null==m?void 0:m.error)||void 0===o||o.call(m,m.request,String(t)))}}catch(e){i={error:e}}finally{try{v&&!v.done&&(r=f.return)&&r.call(f)}finally{if(i)throw i.error}}if(this.activeRequests.delete(u),t)throw t}},e.prototype.onBigRequestAbort=function(e){var t,i,r,a,n=e.url,s=e.from,o=e.to;if(this.activeRequests.has(n)){var u=null!==(r=this.dashJsRequestQueue.get(n))&&void 0!==r?r:[];try{for(var d=p(u),c=d.next();!c.done;c=d.next()){var l=c.value,f=h(Ce(l.request),2),v=f[0],m=f[1];(v>=s&&v<o||m>s&&m<=o)&&(null===(a=null==l?void 0:l.abort)||void 0===a||a.call(l,l.request))}}catch(e){t={error:e}}finally{try{c&&!c.done&&(i=d.return)&&i.call(d)}finally{if(t)throw t.error}}this.activeRequests.delete(n)}},e.suppressAbort=function(e){if(!(e instanceof DOMException)||"AbortError"!==e.name&&20!==e.code)throw e},e.suppressStreamErrors=function(){},e}(),Oe=function(){function e(e,t,i){this.baseLoader=e,this.config=i,this.bigRequest=t,t.setMetrics(i.dashMetrics)}return e.shouldDelegateToBase=function(e){return"download"!==e.action||"text"===e.mediaType||!e.range||"arraybuffer"!==e.responseType},e.prototype.load=function(t){var i=t.request;if(e.shouldDelegateToBase(i))return this.baseLoader.load(t);this.bigRequest.queueDashJSRequest(t),this.bigRequest.executeNextRequests()},e.prototype.abort=function(t){if(!t)return this.baseLoader.abort(),void this.bigRequest.abort();var i=t.request;e.shouldDelegateToBase(i)?this.baseLoader.abort(t):this.bigRequest.abort(t)},e}(),Ve=function(e,t){var i=new Le(t);return e.extend("SchemeLoaderFactory",(function(){var e=this.parent.getLoader;return{getLoader:function(t){return function(e,t){return function(i){return{create:function(r){var a=e(i).create(r);return new Oe(a,t,r)}}}}(e(t),i)}}}),!0),function(){return i.destroy()}},Me=function(t){var i=new e.ValueSubject(1/0),r=new e.Subject,a=NaN,n=!1,s=function(t){var r,a,n;if(t.getAllResponseHeaders().includes("x-playback-duration")){var s=parseInt(null!==(r=t.getResponseHeader("X-Playback-Duration"))&&void 0!==r?r:"",10),o=parseInt(null!==(a=t.getResponseHeader("X-Playback-Duration-Millis"))&&void 0!==a?a:"",10),u=null!==(n=null!=o?o:1e3*s)&&void 0!==n?n:NaN;e.isNonNullable(u)&&!isNaN(u)&&i.next(u)}},o=function(e){e.readyState>=2&&!n&&(n=!0,r.next(Date.now()-a))};return t.extend("XHRLoader",(function(){var e=this.parent,t=e.load.bind(e);return{load:function(e){if("MPD"===e.request.type){var i=e.onload,r=e.progress;e.onload=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return s(this),i.apply(void 0,f([],h(e),!1))},e.progress=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return o(this),r.apply(void 0,f([],h(e),!1))},a=Date.now(),n=!1}return t(e)}}}),!0),{playbackDuration$:i,ping$:r}},Be=function(){function e(){this.pausedTime=0,this.streamOffset=0,this.pauseTimestamp=0}return e.prototype.getTotalPausedTime=function(){return this.pausedTime+this.getCurrentPausedTime()},e.prototype.getCurrentPausedTime=function(){return this.pauseTimestamp>0?Date.now()-this.pauseTimestamp:0},e.prototype.getStreamOffset=function(){return this.streamOffset},e.prototype.getTotalOffset=function(){return this.getTotalPausedTime()+this.streamOffset},e.prototype.pause=function(){0===this.pauseTimestamp&&(this.pauseTimestamp=Date.now())},e.prototype.resume=function(){this.pauseTimestamp>0&&(this.pausedTime+=this.getCurrentPausedTime(),this.pauseTimestamp=0)},e.prototype.resetTo=function(e){this.streamOffset=e,this.pauseTimestamp=0,this.pausedTime=0},e}(),Ue={};!function(e){e.DOWNLOADING_LIB="downloading_lib",e.STOPPED="stopped",e.STREAM_INITIALIZED="stream_initialized",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(_e||(_e={}));var Fe=function(t,i){return new e.Observable((function(e){var r=function(t){return e.next(t)};return t.on(i,r),function(){return t.off(i,r)}}))},He=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new K(_e.DOWNLOADING_LIB),this.textTracksManager=new A,this.videoTracks=[],this.isLive$=new e.ValueSubject(void 0),this.maxSeekBackTime$=new e.ValueSubject(1/0),this.availableFrom$=new e.ValueSubject(void 0),this.liveOffset=new Be,this.syncPlayback=function(){var t=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition(),n=i.params.desiredState.seekPosition.getTransition(),s=i.isLive$.getValue();if(!i.videoState.getTransition()&&t!==_e.DOWNLOADING_LIB&&t!==_e.STREAM_INITIALIZED){var o=null==n?void 0:n.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(o)&&t!==_e.STOPPED&&r!==exports.PlaybackState.STOPPED&&(s?i.seek(o+qe(i.liveOffset.getTotalPausedTime())):i.seek(o)),r){case exports.PlaybackState.STOPPED:switch(t){case _e.STOPPED:break;case _e.PLAYING:case _e.PAUSED:case _e.READY:i.stop();break;default:e.assertNever(t)}break;case exports.PlaybackState.PLAYING:switch(t){case _e.PLAYING:break;case _e.PAUSED:s&&(i.liveOffset.getTotalPausedTime()<i.params.config.maxPausedTime&&i.liveOffset.getTotalOffset()<i.maxSeekBackTime$.getValue()?(i.liveOffset.resume(),i.params.output.position$.next(qe(i.liveOffset.getTotalOffset()))):i.seek(qe(i.liveOffset.getTotalOffset()))),i.play();break;case _e.READY:i.play();break;case _e.STOPPED:i.prepare();break;default:e.assertNever(t)}break;case exports.PlaybackState.PAUSED:switch(t){case _e.PLAYING:i.pause(),i.liveOffset.pause();break;case _e.PAUSED:break;case _e.READY:i.videoState.setState(_e.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED);break;case _e.STOPPED:i.prepare();break;default:e.assertNever(t)}break;default:e.assertNever(r)}}},this.video=N(t.container),this.params=t,this.params.output.element$.next(this.video),this.params.output.availableVideoTracks$.next([]),this.params.output.hostname$.next(J(this.params.source.url)),this.loadDashJs()}return t.prototype.loadDashJs=function(){var e=this,t=!1,r=function(i){var r,a;t||e.params.output.error$.next({id:"timeout"===i?"DashJSTimedOut":"DashJSLoadingError",message:"Dash.js failed to load: "+(null===(a=null===(r=i)||void 0===r?void 0:r.toString)||void 0===a?void 0:a.call(r)),thrown:i}),t=!0},a=window.setTimeout((function(){return r("timeout")}),5e3);Promise.resolve().then((function(){return i(require("dashjs/dist/dash.mediaplayer.min.js"))})).then((function(i){t||(Ue.MediaPlayer=i.MediaPlayer,Ue.Debug=i.Debug,e.init())}),r).finally((function(){window.clearTimeout(a),t=!0}))},t.prototype.init=function(){var t=this;e.assertNonNullable(Ue.MediaPlayer,"dashjs not loaded"),e.assertNonNullable(Ue.Debug,"dashjs not loaded"),this.player=Ue.MediaPlayer().create(),this.player.updateSettings({debug:{logLevel:3},streaming:{buffer:{fastSwitchEnabled:!0},abr:{limitBitrateByPortal:this.params.tuning.autoTrackSelection.limitByContainer,usePixelRatioInLimitBitrateByPortal:this.params.tuning.autoTrackSelection.usePixelRatio,additionalAbrRules:{insufficientBufferRule:!1}},utcSynchronization:{useManifestDateHeaderTimeSource:!0}}}),(this.params.format===exports.VideoFormat.DASH_WEBM||this.params.format===exports.VideoFormat.DASH_LIVE_WEBM)&&this.params.tuning.useWebmBigRequest?this.destroyBigRequest=Ve(this.player,{minInitSize:this.params.tuning.bigRequestMinInitSize,minDataSize:this.params.tuning.bigRequestMinDataSize,onError:function(e){return t.params.output.error$.next(e)},onDownloadStream:function(e){return t.params.dependencies.throughputEstimator.stream$.next(e)}}):this.params.tuning.stripRangeHeader&&this.player.extend("HTTPLoader",(function(){var e=this.parent.load;return{load:function(t){if(t.request&&t.request.range){var i=h(t.request.range.split("-").map((function(e){return parseInt(e,10)})),2),r=i[0],a=i[1],n=new URL(t.request.url,location.href);n.searchParams.append("bytes",r+"-"+a),t.request.url=n.toString(),t.request.range=void 0}e(t)}}}),!0),this.player.clearDefaultUTCTimingSources(),this.subscribe(),this.videoState.setState(_e.STOPPED)},t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=function(e){r.error$.next({id:"DashIFProvider",message:"DashIFProvider internal logic error",thrown:e})},s=function(e,i){return t.subscription.add(e.subscribe(i,n))};s(Fe(this.player,"error").pipe(e.map((function(e){return{id:"DashJS#"+("object"==typeof e.error?e.error.code:e.error),message:"object"==typeof e.error?e.error.message:void 0}}))),r.error$),s(Fe(this.player,"playbackError").pipe(e.map((function(e){return{id:"DashJSPlayback",message:e.error}}))),r.error$);var o=Fe(this.player,"qualityChangeRendered").pipe(e.filter((function(e){return"video"===e.mediaType})),e.map((function(e){var i,r=e.newQuality;return null===(i=t.videoTracks.find((function(e){return e.bitrateInfo.qualityIndex===r})))||void 0===i?void 0:i.track})));o.pipe(e.filter(e.isNonNullable)).subscribe(r.currentVideoTrack$),this.subscription.add(this.videoState.transitionEnded$.pipe(e.filter((function(e){return e.to===_e.STREAM_INITIALIZED})),e.once()).subscribe((function(){t.subscription.add(P(a.videoTrack,(function(){var e,i,r=t.player.getQualityFor("video");return null===(i=null===(e=t.videoTracks.find((function(e){return e.bitrateInfo.qualityIndex===r})))||void 0===e?void 0:e.track)||void 0===i?void 0:i.id}),(function(i){var r;if(!e.isNullable(i)){var a=null===(r=t.videoTracks.find((function(e){return e.track.id===i})))||void 0===r?void 0:r.bitrateInfo;a&&t.player.setQualityFor("video",a.qualityIndex)}}),{changed$:o.pipe(e.map((function(e){return null==e?void 0:e.id}))),onError:n}))}),n)),this.subscription.add(P(a.autoVideoTrackSwitching,(function(){var e,i,r;return null===(r=null===(i=null===(e=t.player.getSettings().streaming)||void 0===e?void 0:e.abr)||void 0===i?void 0:i.autoSwitchBitrate)||void 0===r?void 0:r.video}),(function(e){return t.player.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:e}}}})}),{onError:n})),s(Fe(this.player,"bufferStateChanged").pipe(e.filter((function(e){return"video"===e.mediaType})),e.map((function(e){return"bufferStalled"===e.state}))),r.isBuffering$),s(Fe(this.player,"fragmentLoadingStarted").pipe(e.map((function(e){return J(e.request.url)}))),r.hostname$),s(Fe(this.player,"streamInitialized"),(function(e){var i,a,n=e.streamInfo,s=n.duration,o=n.manifestInfo,u=o.isDynamic,d=o.availableFrom;t.isLive$.next(u),t.availableFrom$.next(d.getTime()),u||r.duration$.next(s),t.videoTracks=[];var c,l=t.player.getQualityFor("video");try{for(var h=p(t.player.getBitrateInfoListFor("video")),f=h.next();!f.done;f=h.next()){var v=f.value,m=v.qualityIndex.toString(10),S=U(v),b=v.bitrate/1e3,g={width:v.width,height:v.height};if(S){var y={id:m,quality:S,bitrate:b,size:g};t.videoTracks.push({track:y,bitrateInfo:v}),v.qualityIndex===l&&(c=y)}}}catch(e){i={error:e}}finally{try{f&&!f.done&&(a=h.return)&&a.call(h)}finally{if(i)throw i.error}}r.availableVideoTracks$.next(t.videoTracks.map((function(e){return e.track}))),c&&r.currentVideoTrack$.next(c),t.videoState.setState(_e.STREAM_INITIALIZED),t.videoState.startTransitionTo(_e.READY)})),s(Fe(this.player,"fragmentLoadingCompleted"),(function(e){var i=e.request;if(i.requestEndDate&&i.firstByteDate&&i.bytesLoaded){var r=i.requestEndDate.getTime()-i.firstByteDate.getTime(),a=i.bytesLoaded;t.params.dependencies.throughputEstimator.rawSpeed$.next({time:r,size:a})}})),s(this.params.dependencies.throughputEstimator.estimation$,(function(e){if(t.params.desiredState.autoVideoTrackSwitching.getState()&&t.videoTracks.length){var i=Q(t.videoTracks.map((function(e){return e.track})),{container:{width:t.video.offsetWidth,height:t.video.offsetHeight},throughput:e,tuning:t.params.tuning.autoTrackSelection}),r=t.videoTracks.find((function(e){return e.track===i}));(null==r?void 0:r.bitrateInfo)&&t.player.setQualityFor("video",null==r?void 0:r.bitrateInfo.qualityIndex,!1)}})),s(e.combine({maxSeekBackTime:this.maxSeekBackTime$,isLive:this.isLive$.pipe(e.filter(e.isNonNullable))}).pipe(e.filter((function(e){return e.isLive})),e.map((function(e){var t=e.maxSeekBackTime;return qe(t)}))),this.params.output.duration$);var u=Fe(this.player,"playbackTimeUpdated").pipe(e.map((function(e){var t=e.time;return null!=t?t:0})));s(e.combine({availableFrom:this.availableFrom$.pipe(e.filter(e.isNonNullable)),currentTime:u}),(function(e){var i=e.availableFrom,r=e.currentTime;return t.params.output.liveTime$.next(i+1e3*r)})),s(u.pipe(e.filter((function(){return!1===t.isLive$.getValue()}))),r.position$),s(Fe(this.player,"playbackSeeked"),(function(){return a.seekPosition.setState(void 0)})),s(Fe(this.player,"playbackEnded"),r.endedEvent$),s(Fe(this.player,"playbackProgress").pipe(e.map((function(){return _(t.video.buffered,t.video.currentTime)}))),r.currentBuffer$),s(Fe(this.player,"playbackPlaying"),(function(){t.videoState.setState(_e.PLAYING),C(a.playbackState,exports.PlaybackState.PLAYING)})),s(Fe(this.player,"playbackNotAllowed"),(function(){t.player.isMuted()?(t.player.setMute(!1),t.videoState.setState(_e.PAUSED),C(t.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0)):(t.player.setMute(!0),t.player.play())})),s(Fe(this.player,"playbackPaused"),(function(){t.videoState.setState(_e.PAUSED),C(a.playbackState,exports.PlaybackState.PAUSED)})),s(Fe(this.player,"canPlay"),(function(){var e;(null===(e=t.videoState.getTransition())||void 0===e?void 0:e.to)===_e.READY&&t.videoState.setState(_e.READY)})),s(this.isLive$,r.isLive$),s(X(this.video),(function(){t.player.isReady()&&t.player.updatePortalSize()})),s(e.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0)),this.syncPlayback);var d=Me(this.player),c=d.playbackDuration$,l=d.ping$;s(c,this.maxSeekBackTime$),s(l.pipe(e.once()),r.firstBytesEvent$),this.params.tuning.flushShortLoopedBuffers&&s(e.combine({isLive:this.isLive$,isShort:r.duration$.pipe(e.map((function(e){return e<30})))}),(function(e){var i=e.isLive,r=e.isShort,a=!i&&r;t.player.updateSettings({streaming:{buffer:{flushBufferAtTrackSwitch:a}}})})),s(u.pipe(e.filter((function(e){return e>t.params.tuning.insufficientBufferRuleMargin})),e.once()),(function(){return t.player.updateSettings({streaming:{abr:{additionalAbrRules:{insufficientBufferRule:!0}}}})})),this.textTracksManager.connect(this.video,a,r),this.subscription.add(Fe(this.player,"manifestLoaded").pipe(e.once()).subscribe((function(){var i=Date.now();t.subscription.add(Fe(t.player,"playbackPlaying").pipe(e.once()).subscribe((function(){return r.firstFrameEvent$.next(Date.now()-i)}),n))}),n)),this.subscription.add(k(this.video,a.isLooped,n));var h=R(this.video).volumeState$;this.subscription.add(w(this.video,a.volume,h,n)),this.subscription.add(h.subscribe(r.volume$,n))},t.prototype.stop=function(){this.params.output.position$.next(0),this.params.output.duration$.next(1/0),this.params.output.currentBuffer$.next(void 0),this.params.output.hostname$.next(void 0),this.player.attachSource(null),this.player.attachView(null),this.player.initialize(),this.player.clearDefaultUTCTimingSources(),this.videoState.setState(_e.STOPPED),C(this.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0)},t.prototype.prepare=function(){this.videoState.startTransitionTo(_e.STREAM_INITIALIZED),this.player.initialize(),this.player.clearDefaultUTCTimingSources(),this.player.attachView(this.video),this.player.attachSource(this.params.source.url)},t.prototype.seek=function(e){if(this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.isLive$.getValue()){var t=-Math.round(1e3*e),i=t<this.maxSeekBackTime$.getValue()?t:0;this.liveOffset.resetTo(i),this.params.output.position$.next(qe(i));var r=Pe(this.params.source.url,this.liveOffset.getTotalOffset()/1e3,be.PLAYBACK_SHIFT);this.player.attachSource(r)}else this.player.seek(e)},t.prototype.play=function(){this.videoState.startTransitionTo(_e.PLAYING),this.player.play()},t.prototype.pause=function(){this.videoState.startTransitionTo(_e.PAUSED),this.video.pause()},t.prototype.destroy=function(){var e,t;this.subscription.unsubscribe(),this.textTracksManager.destroy();try{null===(e=this.player)||void 0===e||e.destroy()}catch(e){}this.video.remove(),this.params.output.element$.next(void 0),null===(t=this.destroyBigRequest)||void 0===t||t.call(this)},t}(),qe=function(e){return-e/1e3};function Ge(){return window.performance?window.performance.now():Date.now()}function Ye(e){return Ge()-e}function je(e){var t=e.split("/"),i=t.slice(0,t.length-1).join("/"),r=/^([a-z]+:)?\/\//i;return{resolve:function(e,t,a){void 0===a&&(a=!1),function(e){return r.test(e)}(e)||(e.startsWith("/")||(e="/"+e),e=i+e);var n=e.indexOf("?")>-1?"&":"?";return a&&(e+=n+"lowLat=1",n="&"),t&&(e+=n+"_rnd="+Math.floor(999999999*Math.random())),e}}}function ze(t,i,r,a){var n,s,o,u,d,c=window.XMLHttpRequest,l=!1,p=0,h=!1,f="arraybuffer",v=7e3,m=2e3,S=function(){if(!l){e.assertNonNullable(u);var t=Ye(u);t<m?setTimeout(S,m-t):((m*=2)>v&&(m=v),s&&s.abort(),s=new c,g())}},b=function(){if(!l){if(--p>=0)return S(),void(a&&a());l=!0,d&&d(),r&&r()}},g=function(){u=Ge(),(s=new c).open("get",t);var r,a=0,p=0,v=function(){return e.assertNonNullable(u),Math.max(u,Math.max(r||0,p||0))};if(n&&s.addEventListener("progress",(function(e){var t=Ge();n.updateChunk&&e.loaded>a&&(n.updateChunk(v(),e.loaded-a),a=e.loaded,r=t)})),o&&(s.timeout=o,s.addEventListener("timeout",(function(){return b()}))),s.addEventListener("load",(function(){if(!l){e.assertNonNullable(s);var t=s.status;if(t>=200&&t<300){if(s.response.byteLength&&n){var r=s.response.byteLength-a;r&&n.updateChunk&&n.updateChunk(v(),r)}d&&d(),s&&i(s.response)}else b()}})),s.addEventListener("error",(function(){b()})),h){var m=function(){e.assertNonNullable(s),s.readyState===XMLHttpRequest.HEADERS_RECEIVED&&(p=Ge(),s.removeEventListener("readystatechange",m))};s.addEventListener("readystatechange",m)}return s.responseType=f,s.send(),y},y={withBitrateReporting:function(e){return n=e,y},withParallel:function(e){return h=e,y},withJSONResponse:function(){return f="json",y},withRetryCount:function(e){return p=e,y},withRetryInterval:function(t,i){return e.isNonNullable(t)&&(m=t),e.isNonNullable(i)&&(v=i),y},withTimeout:function(e){return o=e,y},withFinally:function(e){return d=e,y},send:g,abort:function(){s&&(s.abort(),s=void 0),l=!0,d&&d()}};return y}var Qe,We=function(){function e(e){this.intervals=[],this.currentRate=0,this.logger=e}return e.prototype._updateRate=function(e){var t=.2;this.currentRate&&(e<.1*this.currentRate?t=.8:e<.5*this.currentRate?t=.5:e<.7*this.currentRate&&(t=.3)),e=Math.max(1,Math.min(e,104857600)),this.currentRate=this.currentRate?this.currentRate*(1-t)+e*t:e},e.prototype._createInterval=function(e,t,i){return{start:e,end:t,bytes:i}},e.prototype._doMergeIntervals=function(e,t){e.start=Math.min(t.start,e.start),e.end=Math.max(t.end,e.end),e.bytes+=t.bytes},e.prototype._mergeIntervals=function(e,t){return e.start<=t.end&&t.start<=e.end&&(this._doMergeIntervals(e,t),!0)},e.prototype._flushIntervals=function(){if(!this.intervals.length)return!1;var e=this.intervals[0].start,t=this.intervals[this.intervals.length-1].end-500;if(t-e>2e3){for(var i=0,r=0;this.intervals.length>0;){var a=this.intervals[0];if(a.end<=t)i+=a.end-a.start,r+=a.bytes,this.intervals.splice(0,1);else{if(a.start>=t)break;var n=t-a.start,s=a.end-a.start;i+=n;var o=a.bytes*n/s;r+=o,a.start=t,a.bytes-=o}}if(r>0&&i>0){var u=8*r/(i/1e3);return this._updateRate(u),this.logger("rate updated, new="+Math.round(u/1024)+"K; average="+Math.round(this.currentRate/1024)+"K bytes/ms="+Math.round(r)+"/"+Math.round(i)+" interval="+Math.round(t-e)),!0}}return!1},e.prototype._joinIntervals=function(){var e;do{e=!1;for(var t=0;t<this.intervals.length-1;++t)this._mergeIntervals(this.intervals[t],this.intervals[t+1])&&(this.intervals.splice(t+1,1),e=!0)}while(e)},e.prototype.addInterval=function(e,t,i){return this.intervals.push(this._createInterval(e,t,i)),this._joinIntervals(),this.intervals.length>100&&(this.logger("too many intervals ("+this.intervals.length+"); will merge",{type:"warn"}),this._doMergeIntervals(this.intervals[1],this.intervals[0]),this.intervals.splice(0,1)),this._flushIntervals()},e.prototype.getBitRate=function(){return this.currentRate},e}(),Je=function(){function e(e,t,i,r,a){this.pendingQueue=[],this.activeRequests={},this.completeRequests={},this.averageSegmentDuration=2e3,this.lastPrefetchStart=0,this.throttleTimeout=null,this.RETRY_COUNT=e,this.TIMEOUT=t,this.BITRATE_ESTIMATOR=i,this.MAX_PARALLEL_REQUESTS=r,this.logger=a}return e.prototype.limitCompleteCount=function(){for(var e;(e=Object.keys(this.completeRequests)).length>this._getParallelRequestCount()+2;){var t=e[Math.floor(Math.random()*e.length)];this.logger("Dropping completed request for url "+t,{type:"warn"}),delete this.completeRequests[t]}},e.prototype._sendRequest=function(e,t){var i=this,r=Ge();e._request=ze(t,(function(a){e._complete=1,e._responseData=a,e._downloadTime=Ge()-r,delete i.activeRequests[t],i._sendPending(),e._cb?e._cb(a,e._downloadTime):(i.limitCompleteCount(),i.completeRequests[t]=e)}),(function(){return r="error",delete i.activeRequests[t],i.limitCompleteCount(),i.completeRequests[t]=e,i._sendPending(),e._error=1,e._errorMsg=r,void(e._errorCB?e._errorCB(r):(i.limitCompleteCount(),i.completeRequests[t]=e));var r}),(function(){e._retry=1,e._retryCB&&e._retryCB()})),e._request.withRetryCount(this.RETRY_COUNT).withTimeout(this.TIMEOUT).withBitrateReporting(this.BITRATE_ESTIMATOR).withParallel(this._getParallelRequestCount()>1).withFinally((function(){e._finallyCB&&e._finallyCB()})),this.activeRequests[t]=e,e._request.send(),this.lastPrefetchStart=Ge()},e.prototype._getParallelRequestCount=function(){return Math.min(this.MAX_PARALLEL_REQUESTS,this.averageSegmentDuration<3e3?3:2)},e.prototype._getPrefetchDelay=function(){return Math.max(100,Math.min(5e3,this.averageSegmentDuration/3))},e.prototype._canSendPending=function(){var e=this,t=this._getParallelRequestCount(),i=Ge();if(Object.keys(this.activeRequests).length>=t)return!1;var r=this._getPrefetchDelay()-(i-this.lastPrefetchStart);return this.throttleTimeout&&clearTimeout(this.throttleTimeout),!(r>0)||(this.throttleTimeout=window.setTimeout((function(){return e._sendPending()}),r),!1)},e.prototype._sendPending=function(){for(;this._canSendPending();){var e=this.pendingQueue.pop();if(!e)return;this.activeRequests[e]||this.completeRequests[e]||(this.logger("Submitting pending request url="+e),this._sendRequest({},e))}},e.prototype._removeFromActive=function(e){delete this.completeRequests[e],delete this.activeRequests[e]},e.prototype.abortAll=function(){Object.values(this.activeRequests).forEach((function(e){e&&e._request&&e._request.abort()})),this.activeRequests={},this.pendingQueue=[],this.completeRequests={}},e.prototype.requestData=function(e,t,i,r){var a=this,n={send:function(){var s=a.activeRequests[e]||a.completeRequests[e];if(s)s._cb=t,s._errorCB=i,s._retryCB=r,s._finallyCB=n._finallyCB,s._error||s._complete?(a._removeFromActive(e),setTimeout((function(){s._complete?(a.logger("Requested url already prefetched, url="+e),t(s._responseData,s._downloadTime)):(a.logger("Requested url already prefetched with error, url="+e),i(s._errorMsg)),n._finallyCB&&n._finallyCB()}),0)):a.logger("Attached to active request, url="+e);else{var o=a.pendingQueue.indexOf(e);-1!==o&&a.pendingQueue.splice(o,1),a.logger("Request not prefetched, starting new request, url="+e+(-1===o?"":"; removed pending")),a._sendRequest(n,e)}}};return n._cb=t,n._errorCB=i,n._retryCB=r,n.abort=function(){n.request&&n.request.abort()},n.withFinally=function(e){return n._finallyCB=e,n},n},e.prototype.prefetch=function(e){this.activeRequests[e]||this.completeRequests[e]?this.logger("Request already active for url="+e):(this.logger("Added to pending queue; url="+e),this.pendingQueue.unshift(e),this._sendPending())},e.prototype.optimizeForSegDuration=function(e){this.averageSegmentDuration=e},e}(),Xe=function(){function t(e){this.paused=!1,this.autoQuality=!0,this.buffering=!0,this.destroyed=!1,this.videoPlayStarted=!1,this.lowLatency=!1,this.bitrate=0,this.manifest=[],this.sourceBuffer=0,this.bufferStates=[],this.sourceJitter=-1,this.params=e,this.chunkRateEstimator=new We(this.params.logger),this._initVideo()}return t.prototype.attachSource=function(e){this.manifestUrl=e,this.urlResolver=je(e),this.bitrateSwitcher=this._initBitrateSwitcher(),this._initManifest()},t.prototype.setAutoQualityEnabled=function(e){this.autoQuality=e},t.prototype.switchByName=function(e){for(var t,i=0;i<this.manifest.length;++i)if((t=this.manifest[i]).name===e)return void this._switchToQuality(t)},t.prototype.catchUp=function(){this.rep&&this.rep.stop(),this.currentManifestEntry&&(this.paused=!1,this._initPlayerWith(this.currentManifestEntry),this._notifyBuffering(!0))},t.prototype.stop=function(){this.params.videoElement.pause(),this.rep&&(this.rep.stop(),this.rep=null)},t.prototype.pause=function(){this.paused=!0,this.params.videoElement.pause(),this.videoPlayStarted=!1,this._notifyBuffering(!1)},t.prototype.play=function(e){this.paused=!1;var t=this.lowLatency&&this._getBufferSizeSec()>this.sourceJitter+5;this.rep&&!t?(this.bufferStates=[],this.videoPlayStarted=!1,this.shouldPlay()?this._playVideoElement(e):this._notifyBuffering(!0)):this.catchUp()},t.prototype.startPlay=function(e,t){this.autoQuality=t,this._initPlayerWith(e)},t.prototype.destroy=function(){this.destroyed=!0,this.rep&&(this.rep.stop(),this.rep=null),this.manifestRequest&&this.manifestRequest.abort(),this.manifestRefetchTimer&&(clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=void 0)},t.prototype.reinit=function(e){this.manifestUrl=e,this.urlResolver=je(e),this.catchUp()},t.prototype._handleNetworkError=function(){this.params.logger("Fatal network error"),this.params.playerCallback({name:"error",type:"network"})},t.prototype._retryCallback=function(){this.params.playerCallback({name:"retry"})},t.prototype._getBufferSizeSec=function(){var e=this.params.videoElement,t=0,i=e.buffered.length;return 0!==i&&(t=e.buffered.end(i-1)-Math.max(e.currentTime,e.buffered.start(0))),t},t.prototype._notifyBuffering=function(e){this.destroyed||(this.params.logger("buffering: "+e),this.params.playerCallback({name:"buffering",isBuffering:e}),this.buffering=e)},t.prototype._initVideo=function(){var e=this,t=this.params,i=t.videoElement,r=t.logger;i.addEventListener("error",(function(t){var a;e.destroyed||(r("Video element error: "+(null===(a=i.error)||void 0===a?void 0:a.code)),e.params.playerCallback({name:"error",type:"media"}))})),i.addEventListener("timeupdate",(function(){var t=e._getBufferSizeSec();!e.paused&&t<.3?e.buffering||(e.buffering=!0,window.setTimeout((function(){!e.paused&&e.buffering&&e._notifyBuffering(!0),i.pause(),e.videoPlayStarted=!1}),1e3*(t+.1))):e.buffering&&e.videoPlayStarted&&e._notifyBuffering(!1)})),i.addEventListener("playing",(function(){r("playing")})),i.addEventListener("stalled",(function(){return e._fixupStall()})),i.addEventListener("waiting",(function(){return e._fixupStall()}))},t.prototype._fixupStall=function(){var e,t=this.params,i=t.logger,r=t.videoElement,a=r.buffered.length;0!==a&&(e=r.buffered.start(a-1),r.currentTime<e&&(i("Fixup stall"),r.currentTime=e))},t.prototype._selectQuality=function(e){for(var t,i,r,a=this.params.videoElement,n=a&&1.62*(window.devicePixelRatio||1)*a.offsetHeight||520,s=0;s<this.manifest.length;++s)(r=this.manifest[s]).bitrate<e&&n>Math.min(r.video.height,r.video.width)?(!i||r.bitrate>i.bitrate)&&(i=r):(!t||t.bitrate>r.bitrate)&&(t=r);return i||t},t.prototype.shouldPlay=function(){if(this.paused)return!1;var t=this._getBufferSizeSec()-Math.max(1,this.sourceJitter);return t>3||e.isNonNullable(this.downloadRate)&&(this.downloadRate>1.5&&t>2||this.downloadRate>2&&t>1)},t.prototype._setVideoSrc=function(t,i){var r=this,a=this.params,n=a.logger,s=a.videoElement,o=a.playerCallback;this.mediaSource=new window.MediaSource,n("setting video src"),s.src=URL.createObjectURL(this.mediaSource),this.mediaSource.addEventListener("sourceopen",(function(){e.assertNonNullable(r.mediaSource),r.sourceBuffer=r.mediaSource.addSourceBuffer(t.codecs),r.bufferStates=[],i()})),this.videoPlayStarted=!1,s.addEventListener("canplay",(function(){r.shouldPlay()&&(r.videoPlayStarted=!0,r._playVideoElement())}));var u=function(){var e,t,i,r;t="progress",i=function(){s.buffered.length?(s.currentTime=s.buffered.start(0),o({name:"playing"})):u()},r=function(){for(var a=[],n=0;n<arguments.length;n++)a[n]=arguments[n];i.apply(null,a),e.removeEventListener(t,r)},(e=s).addEventListener(t,r)};u()},t.prototype._initPlayerWith=function(e){var t=this;this.bitrate=0,this.rep=0,this.sourceBuffer=0,this.bufferStates=[],this.filesFetcher&&this.filesFetcher.abortAll(),this.filesFetcher=new Je(3,1e4,this.bitrateSwitcher,this.params.config.MAX_PARALLEL_REQUESTS,this.params.logger),this._setVideoSrc(e,(function(){return t._switchToQuality(e)}))},t.prototype._representation=function(t){var i=this,r=this.params,a=r.logger,n=r.videoElement,s=r.playerCallback,o=!1,u=null,d=null,c=null,l=null,p=!1,h=function(){var e=o&&(!p||p===i.rep);return e||a("Not running!"),e},f=function(e){var t=n.playbackRate;n.playbackRate!==e&&(a("Playback rate switch: "+t+"=>"+e),n.playbackRate=e)},v=function(){if(i.lowLatency){var e=i._getBufferSizeSec();if(i.bufferStates.length<5)return void f(1);for(var t=Ge()-6e4,r=0,n=0;n<i.bufferStates.length;n++){var s=i.bufferStates[n];e=Math.min(e,s.buf),s.ts<t&&r++}i.bufferStates.splice(0,r),a("update playback rate; minBuffer="+e+" drop="+r+" jitter="+i.sourceJitter);var o=e-1;i.sourceJitter>=0?o-=i.sourceJitter/2:i.sourceJitter-=1,f(o>3?1.15:o>1?1.1:o>.3?1.01:1)}else f(1)},m=function(t){var r,n=function(){return r&&r.start?r.start.length:0},o=function(e){return r.start[e]/1e3},u=function(e){return r.dur[e]/1e3},d=function(e){return r.fragIndex+e},c=function(e,t){return{chunkIdx:d(e),startTS:o(e),dur:u(e),discontinuity:t}},p=function(){var e=0;if(r&&r.dur){var t=Math.max(i.sourceJitter,1);for(i.lowLatency||(t+=2),e=r.dur.length-1;e>=0&&!((t-=r.dur[e]/1e3)<=0);--e);}return c(e,!0)};return{seek:function(u,d){!function(e,t,r){l&&l.abort(),l=ze(i.urlResolver.resolve(e,!0,i.lowLatency),t,r,(function(){return i._retryCallback()})).withTimeout(1e4).withRetryCount(3).withFinally((function(){l=null})).withJSONResponse().send()}(t,(function(t){if(h()){r=t;var l,f=Boolean(r.lowLatency);f!==i.lowLatency&&(l=f,i.lowLatency=l,a("lowLatency changed to "+l),v());for(var m=0,S=0;S<r.dur.length;++S)m+=r.dur[S];m>0&&(e.assertNonNullable(i.filesFetcher),i.filesFetcher.optimizeForSegDuration(m/r.dur.length)),s({name:"index",zeroTime:r.zeroTime,shiftDuration:r.shiftDuration}),i.sourceJitter=r.hasOwnProperty("jitter")?Math.min(10,Math.max(.01,r.jitter/1e3)):1,u(function(t){var i=n();if(!(i<=0)){if(e.isNonNullable(t))for(var r=0;r<i;r++)if(o(r)>t)return c(r);return p()}}(d))}}),(function(){return i._handleNetworkError()}))},nextChunk:function(e){var t=n(),i=e?e.chunkIdx+1:0,s=i-r.fragIndex;if(!(t<=0)){if(!e||s<0||s-t>10)return a("Resync: offset="+s+" bChunks="+t+" chunk="+JSON.stringify(e)),p();if(!(s>=t))return c(i-r.fragIndex,!1)}}}},S=function(){o=!1,d&&d.abort(),c&&c.abort(),l&&l.abort(),e.assertNonNullable(i.filesFetcher),i.filesFetcher.abortAll()};return p={start:function(r){var a,n,s,p,f,b,g,y,T,E,P=i.params,k=P.videoElement,w=P.logger,x=m(t.jidxUrl),A=0,N=function(){f&&(clearTimeout(f),f=void 0);var e=Math.max(500,1e3*(i._getBufferSizeSec()-i.sourceJitter-5)),t=A+e,r=Ge(),a=Math.min(1e4,t-r);A=r;var n=function(){l||h()&&x.seek((function(){h()&&(A=Ge(),$(),N())}))};a>0?f=window.setTimeout((function(){i.paused?N():n()}),a):n()},$=function(){for(var e;e=x.nextChunk(p);)p=e,C(e);var r=x.nextChunk(s);if(r){if(s&&r.discontinuity)return w("Detected discontinuity; restarting playback"),void(i.paused?N():(S(),i._initPlayerWith(t)));R(r)}else N()},D=function(e,t){if(h()&&i.sourceBuffer){var r,a,n=function(i){window.setTimeout((function(){h()&&D(e,t)}),i)};if(i.sourceBuffer.updating)w("Source buffer is updating; delaying appendBuffer"),n(100);else{var s=Ge(),o=k.currentTime;!i.paused&&k.buffered.length>1&&b===o&&s-g>500&&(w("Stall suspected; trying to fix"),i._fixupStall()),b!==o&&(b=o,g=s);var u=i._getBufferSizeSec();if(u>30)w("Buffered "+u+" seconds; delaying appendBuffer"),n(2e3);else try{i.sourceBuffer.appendBuffer(e),i.videoPlayStarted?(i.bufferStates.push({ts:s,buf:u}),v(),i.bufferStates.length>200&&i.bufferStates.shift()):i.shouldPlay()&&(i.videoPlayStarted=!0,i._playVideoElement()),t&&t()}catch(e){if("QuotaExceededError"!==e.name)throw e;w("QuotaExceededError; delaying appendBuffer"),0!==i.sourceBuffer.buffered.length&&(a=o)-(r=i.sourceBuffer.buffered.start(0))>4&&i.sourceBuffer.remove(r,a-3),n(1e3)}}}},_=function(){n&&a&&(w(["Appending chunk, sz="+n.byteLength+":",JSON.stringify(s)]),D(n,(function(){n=null,$()})))},I=function(e){return t.fragUrlTemplate.replace("%%id%%",e.chunkIdx)},R=function(t){var r,a,o;h()&&(r=I(t),a=function(e,r){if(h()){if(r/=1e3,n=e,s=t,u=t.startTS,r){var a=Math.min(10,t.dur/r);i.downloadRate=i.downloadRate?.7*i.downloadRate+.3*a:a}_()}},o=function(){return i._handleNetworkError()},e.assertNonNullable(i.filesFetcher),null==d||d.abort(),d=i.filesFetcher.requestData(i.urlResolver.resolve(r,!1),a,o,(function(){return i._retryCallback()})).withFinally((function(){d=null})).send())},C=function(t){h()&&(e.assertNonNullable(i.filesFetcher),i.filesFetcher.prefetch(i.urlResolver.resolve(I(t),!1)))},L=function(e){h()&&(t.cachedHeader=e,D(e,(function(){a=!0,_()})))};o=!0,x.seek((function(t){h()&&(A=Ge(),t?(p=t,!e.isNullable(r)||t.startTS>r?R(t):(s=t,$())):N())}),r),t.cachedHeader?L(t.cachedHeader):(y=t.headerUrl,T=L,E=function(){return i._handleNetworkError()},c&&c.abort(),c=ze(i.urlResolver.resolve(y,!1),T,E,(function(){return i._retryCallback()})).withTimeout(1e4).withBitrateReporting(i.bitrateSwitcher).withRetryCount(3).withFinally((function(){c=null})).send())},stop:S,getTimestampSec:function(){return u}}},t.prototype._switchToQuality=function(t){var i,r=this.params,a=r.logger,n=r.playerCallback;t.bitrate!==this.bitrate&&(this.rep&&(i=this.rep.getTimestampSec(),e.isNonNullable(i)&&(i+=.1),this.rep.stop()),this.currentManifestEntry=t,this.rep=this._representation(t),a("switch to quality: codecs="+t.codecs+"; headerUrl="+t.headerUrl+"; bitrate="+t.bitrate),this.bitrate=t.bitrate,e.assertNonNullable(this.bitrateSwitcher),this.bitrateSwitcher.notifySwitch(this.bitrate),this.rep.start(i),n({name:"qualitySwitch",quality:t}))},t.prototype._qualityAvailable=function(t){return e.isNonNullable(this.manifest.find((function(e){return e.name===t})))},t.prototype._initBitrateSwitcher=function(){var e,t=this,i=this.params,r=i.logger,a=i.playerCallback,n={updateChunk:function(e,i){var r=Ge();if(t.chunkRateEstimator.addInterval(e,r,i)){var n=t.chunkRateEstimator.getBitRate();return a({name:"bandwidth",size:i,duration:r-e,speed:n}),!0}},get:function(){var e=t.chunkRateEstimator.getBitRate();return e?.85*e:0}},s=-1/0,o=!0,u=function(){var i=n.get();if(i&&e&&t.autoQuality){if(o&&i>e&&Ye(s)<3e4)return;!function(e){var i,a,n;t.autoQuality&&(t.currentManifestEntry&&t._qualityAvailable(t.currentManifestEntry.name)&&e<t.bitrate&&(a=t._getBufferSizeSec(),n=e/t.bitrate,a>10&&n>.8||a>15&&n>.5||a>20&&n>.3)?r("Not switching: buffer="+Math.floor(a)+"; bitrate="+t.bitrate+"; newRate="+Math.floor(e)):(i=t._selectQuality(e))?t._switchToQuality(i):r("Could not find quality by bitrate "+e))}(i)}o=t.autoQuality};return{updateChunk:function(e,t){var i=n.updateChunk(e,t);return i&&u(),i},notifySwitch:function(t){var i=Ge();t<e&&(s=i),e=t}}},t.prototype._fetchManifest=function(e,t,i){var r=this;this.manifestRequest=ze(this.urlResolver.resolve(e,!0),t,i,(function(){return r._retryCallback()})).withJSONResponse().withTimeout(1e4).withRetryCount(3).withRetryInterval(300,2e3).send().withFinally((function(){r.manifestRequest=void 0}))},t.prototype._playVideoElement=function(e){var t=this.params.videoElement;E(t).then((function(t){t||null==e||e()}))},t.prototype._handleManifestUpdate=function(e){var t=this,i=this.params,r=i.logger,a=i.playerCallback,n=i.videoElement;this.manifest=function(e){var i=[];return(null==e?void 0:e.length)?(e.forEach((function(e,t){e.video&&n.canPlayType(e.codecs).replace(/no/,"")&&window.MediaSource.isTypeSupported(e.codecs)&&(e.index=t,i.push(e))})),i.sort((function(e,t){return e.video&&t.video?t.video.height-e.video.height:t.bitrate-e.bitrate})),i):(t.params.playerCallback({name:"error",type:"partial_metadata"}),[])}(e),r("Valid manifest entries: "+this.manifest.length+"/"+e.length),a({name:"manifest",manifest:this.manifest})},t.prototype._refetchManifest=function(e){var t=this;this.destroyed||(this.manifestRefetchTimer&&clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=window.setTimeout((function(){t._fetchManifest(e,(function(i){t.destroyed||(t._handleManifestUpdate(i),t._refetchManifest(e))}),(function(){return t._refetchManifest(e)}))}),6e4))},t.prototype._initManifest=function(){var e=this;this._fetchManifest(this.manifestUrl,(function(t){e.destroyed||(e._handleManifestUpdate(t),e._refetchManifest(e.manifestUrl))}),(function(){return e._handleNetworkError()}))},t}();!function(e){e.STOPPED="stopped",e.MANIFEST_READY="manifest_ready",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(Qe||(Qe={}));var Ke,Ze=[Qe.PAUSED,Qe.PLAYING,Qe.READY],et=[Qe.PAUSED,Qe.PLAYING,Qe.READY],tt=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new K(Qe.STOPPED),this.representations$=new e.ValueSubject([]),this.textTracksManager=new A,this.maxSeekBackTime$=new e.ValueSubject(1/0),this.zeroTime$=new e.ValueSubject(void 0),this.liveOffset=new Be,this._dashCb=function(t){var r,a,n,s,o;switch(t.name){case"buffering":var u=t.isBuffering;i.params.output.isBuffering$.next(u);break;case"error":i.params.output.error$.next({id:"DashLiveProviderInternal:"+t.type,message:"LiveDashPlayer reported error"});break;case"manifest":var c=t.manifest,l=[];try{for(var h=p(c),f=h.next();!f.done;f=h.next()){var v=f.value,m=null!==(n=v.name)&&void 0!==n?n:v.index.toString(10),S=U(v.video),b=v.bitrate/1e3,g=d({},v.video);if(S){var y={id:m,quality:S,bitrate:b,size:g};l.push({track:y,representation:v})}}}catch(e){r={error:e}}finally{try{f&&!f.done&&(a=h.return)&&a.call(h)}finally{if(r)throw r.error}}i.representations$.next(l),i.params.output.availableVideoTracks$.next(l.map((function(e){return e.track}))),(null===(s=i.videoState.getTransition())||void 0===s?void 0:s.to)===Qe.MANIFEST_READY&&i.videoState.setState(Qe.MANIFEST_READY);break;case"qualitySwitch":var T=t.quality;y=null===(o=i.representations$.getValue().find((function(e){return e.representation===T})))||void 0===o?void 0:o.track;i.params.output.hostname$.next(new URL(T.headerUrl,i.params.source.url).hostname),e.isNonNullable(y)&&i.params.output.currentVideoTrack$.next(y);break;case"bandwidth":g=t.size;var E=t.duration;i.params.dependencies.throughputEstimator.rawSpeed$.next({size:g,time:E});break;case"index":i.maxSeekBackTime$.next(t.shiftDuration),i.zeroTime$.next(t.zeroTime)}},this.syncPlayback=function(){var t,r=i.videoState.getState(),a=i.videoState.getTransition(),n=i.params.desiredState.playbackState.getState(),s=i.params.desiredState.playbackState.getTransition(),o=i.params.desiredState.seekPosition.getTransition();if(i.log({message:"[syncPlayback] videoState: "+r+"; videoTransition: "+JSON.stringify(a)+"; desiredPlaybackState: "+n+"; seekPositionTransition: "+JSON.stringify(o)+";"}),n!==exports.PlaybackState.STOPPED){if(!a){if(et.includes(r)){var u=null===(t=i.params.desiredState.videoTrack.getTransition())||void 0===t?void 0:t.to;e.isNonNullable(u)&&i.setVideoTrack(u);var d=i.params.desiredState.autoVideoTrackSwitching.getTransition();d&&i.setAutoQuality(d.to)}var c=null==o?void 0:o.to;if((null==s?void 0:s.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(c)&&Ze.includes(r))i.seek(c+it(i.liveOffset.getTotalPausedTime()));else switch(r){case Qe.STOPPED:return i.videoState.startTransitionTo(Qe.MANIFEST_READY),void i.dash.attachSource(Pe(i.params.source.url));case Qe.MANIFEST_READY:i.videoState.startTransitionTo(Qe.READY),i.prepare();break;case Qe.READY:return void(n===exports.PlaybackState.PAUSED?i.videoState.setState(Qe.PAUSED):n===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(Qe.PLAYING),i.dash.play((function(){i.liveOffset.pause(),i.videoState.setState(Qe.PAUSED)}))));case Qe.PLAYING:return void(n===exports.PlaybackState.PAUSED&&(i.videoState.startTransitionTo(Qe.PAUSED),i.liveOffset.pause(),i.dash.pause()));case Qe.PAUSED:return void(n===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(Qe.PLAYING),i.liveOffset.getTotalPausedTime()<i.params.config.maxPausedTime&&i.liveOffset.getTotalOffset()<i.maxSeekBackTime$.getValue()?(i.liveOffset.resume(),i.dash.play((function(){i.liveOffset.pause(),i.videoState.setState(Qe.PAUSED)})),i.params.output.position$.next(it(i.liveOffset.getTotalOffset()))):i.seek(it(i.liveOffset.getTotalOffset()))));default:return e.assertNever(r)}}}else r!==Qe.STOPPED&&(i.videoState.startTransitionTo(Qe.STOPPED),i.dash.destroy(),i.video.setAttribute("src",""),i.video.load(),i.videoState.setState(Qe.STOPPED))},this.params=t,this.log=this.params.dependencies.logger.createComponentLog("DashLiveProvider");var r=function(e){t.output.error$.next({id:"DashLiveProvider",message:"DashLiveProvider internal logic error",thrown:e})};e.merge(this.videoState.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,type:"start"}}))),this.videoState.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,type:"end"}})))).subscribe((function(e){var t=e.transition,r=e.type;i.log({message:"[videoState change] "+r+": "+JSON.stringify(t)})})),this.video=N(t.container),this.params.output.element$.next(this.video),this.dash=this.createLiveDashPlayer(),this.params.output.duration$.next(1/0),this.params.output.position$.next(0),this.params.output.isLive$.next(!0),this.params.output.hostname$.next(J(this.params.source.url)),this.textTracksManager.connect(this.video,this.params.desiredState,this.params.output);var a=R(this.video);this.subscription.add(a.canplay$.subscribe((function(){var e;(null===(e=i.videoState.getTransition())||void 0===e?void 0:e.to)===Qe.READY&&i.videoState.setState(Qe.READY)}),r)).add(a.pause$.subscribe((function(){i.videoState.setState(Qe.PAUSED)}),r)).add(a.play$.subscribe((function(){i.videoState.setState(Qe.PLAYING)}),r)).add(a.error$.subscribe(this.params.output.error$)).add(this.maxSeekBackTime$.pipe(e.filterChanged(),e.map(it)).subscribe(this.params.output.duration$)).add(e.combine({zeroTime:this.zeroTime$.pipe(e.filter(e.isNonNullable)),position:a.timeUpdate$}).subscribe((function(e){var t=e.zeroTime,r=e.position;return i.params.output.liveTime$.next(t+1e3*r)}),r)).add(k(this.video,this.params.desiredState.isLooped,r)).add(w(this.video,this.params.desiredState.volume,a.volumeState$,r)).add(a.volumeState$.subscribe(this.params.output.volume$,r)).add(I(this.video).subscribe(this.params.output.firstBytesEvent$)).add($(this.video).subscribe(this.params.output.firstFrameEvent$)).add(this.videoState.stateChangeEnded$.subscribe((function(t){switch(t.to){case Qe.STOPPED:i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.desiredState.playbackState.setState(exports.PlaybackState.STOPPED);break;case Qe.MANIFEST_READY:case Qe.READY:break;case Qe.PAUSED:i.params.desiredState.playbackState.setState(exports.PlaybackState.PAUSED);break;case Qe.PLAYING:i.params.desiredState.playbackState.setState(exports.PlaybackState.PLAYING);break;default:return e.assertNever(t.to)}}),r)).add(e.merge(t.desiredState.playbackState.stateChangeStarted$,t.desiredState.seekPosition.stateChangeStarted$,t.desiredState.videoTrack.stateChangeStarted$,t.desiredState.autoVideoTrackSwitching.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0)).subscribe(this.syncPlayback,r))}return t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0),this.dash.destroy()},t.prototype.createLiveDashPlayer=function(){var e=this,t=new Xe({videoElement:this.video,config:{CHUNK_DURATION:this.params.config.chunkDuration,BUFFER_OPTIMAL_DURATION:this.params.config.optimalBufferDuration,MAX_PARALLEL_REQUESTS:this.params.config.maxParallelRequests},playerCallback:this._dashCb,logger:function(t){e.params.dependencies.logger.log({message:String(t),component:"LiveDashPlayer"})}});return t.pause(),t},t.prototype.prepare=function(){var t,i,r,a,n,s,o=this.representations$.getValue(),u=null!==(i=null===(t=this.params.desiredState.videoTrack.getTransition())||void 0===t?void 0:t.to)&&void 0!==i?i:this.params.desiredState.videoTrack.getState(),d=null!==(a=null===(r=this.params.desiredState.autoVideoTrackSwitching.getTransition())||void 0===r?void 0:r.to)&&void 0!==a?a:this.params.desiredState.autoVideoTrackSwitching.getState(),c=!d&&e.isNonNullable(u)?u:null===(n=Q(o.map((function(e){return e.track})),{container:{width:this.video.offsetWidth,height:this.video.offsetHeight},throughput:this.params.dependencies.throughputEstimator.estimation$.getValue(),tuning:this.params.tuning.autoTrackSelection}))||void 0===n?void 0:n.id,l=null===(s=o.find((function(e){return e.track.id===c})))||void 0===s?void 0:s.representation;e.assertNonNullable(l),this.dash.startPlay(l,d),this.params.desiredState.videoTrack.getTransition()&&this.params.desiredState.videoTrack.setState(c),this.params.desiredState.autoVideoTrackSwitching.getTransition()&&this.params.desiredState.autoVideoTrackSwitching.setState(d)},t.prototype.setVideoTrack=function(t){var i,r=null===(i=this.representations$.getValue().find((function(e){return e.track.id===t})))||void 0===i?void 0:i.representation;e.assertNonNullable(r),this.dash.switchByName(r.name),this.params.desiredState.videoTrack.setState(t)},t.prototype.setAutoQuality=function(e){this.dash.setAutoQualityEnabled(e),this.params.desiredState.autoVideoTrackSwitching.setState(e)},t.prototype.seek=function(e){this.log({message:"[seek] position: "+e}),this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0);var t=-Math.round(1e3*e),i=t<this.maxSeekBackTime$.getValue()?t:0;this.liveOffset.resetTo(i),this.params.output.position$.next(it(i)),this.dash.reinit(Pe(this.params.source.url,i)),this.params.desiredState.seekPosition.setState(void 0)},t}(),it=function(e){return-e/1e3},rt=function(e){if(e.QUALITY)switch(e.QUALITY){case"mobile":return exports.VideoQuality.Q_144P;case"lowest":return exports.VideoQuality.Q_240P;case"low":return exports.VideoQuality.Q_360P;case"sd":case"medium":return exports.VideoQuality.Q_480P;case"hd":case"high":return exports.VideoQuality.Q_720P;case"fullhd":case"full":return exports.VideoQuality.Q_1080P;case"quadhd":case"quad":return exports.VideoQuality.Q_1440P;case"ultrahd":case"ultra":return exports.VideoQuality.Q_2160P}if(e.RESOLUTION){var t=h(e.RESOLUTION.split("x").map((function(e){return parseInt(e,10)})),2),i=t[0],r=t[1],a=U({width:i,height:r});if(a)return a}return null},at=function(e,t){return void 0===t&&(t=e),c(void 0,void 0,void 0,(function(){var i,r,a,n,s,o,u,d,c,p,f,v,m,S,b,g;return l(this,(function(l){switch(l.label){case 0:return[4,fetch(e)];case 1:return[4,l.sent().text()];case 2:for(i=l.sent(),r=i.split("\n"),a=[],n=0;n<r.length;n++)s=r[n],(o=s.match(/^#EXT-X-STREAM-INF:(.+)/))&&(u=Object.fromEntries(o[1].split(",").map((function(e){return e.split("=")}))),d=null!==(g=u.QUALITY)&&void 0!==g?g:"stream-"+u.BANDWIDTH,c=rt(u),p=void 0,u.BANDWIDTH&&(p=parseInt(u.BANDWIDTH,10)/1e3||void 0),!p&&u["AVERAGE-BANDWIDTH"]&&(p=parseInt(u["AVERAGE-BANDWIDTH"],10)/1e3||void 0),f=void 0,u.RESOLUTION&&(v=h(u.RESOLUTION.split("x").map((function(e){return parseInt(e,10)})),2),m=v[0],S=v[1],m&&S&&(f={width:m,height:S})),b=new URL(r[++n],t).toString(),c&&a.push({id:d,quality:c,url:b,bandwidth:p,size:f}));return[2,a]}}))}))};!function(e){e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.CHANGING_MANIFEST="changing_manifest",e.PAUSED="paused"}(Ke||(Ke={}));var nt,st=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new K(Ke.STOPPED),this.textTracksManager=new A,this.manifests$=new e.ValueSubject([]),this.syncPlayback=function(){var t=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition(),n=i.params.desiredState.videoTrack.getTransition(),s=i.params.desiredState.autoVideoTrackSwitching.getTransition();if(r!==exports.PlaybackState.STOPPED){if(!i.videoState.getTransition()){var o=i.params.desiredState.seekPosition.getTransition();if(t===Ke.STOPPED)return i.videoState.startTransitionTo(Ke.READY),void i.prepare();if(n||s){var u=i.videoState.getState();i.videoState.setState(Ke.CHANGING_MANIFEST),i.videoState.startTransitionTo(u);var d=i.video.currentTime;return i.prepare(),void(o&&!e.isNullable(o.to)||i.params.desiredState.seekPosition.startTransitionTo(d))}var c=null==o?void 0:o.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(c)&&i.seek(c),t){case Ke.READY:return void(r===exports.PlaybackState.PAUSED?(i.videoState.setState(Ke.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):r===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(Ke.PLAYING),i.playIfAllowed()));case Ke.PLAYING:return void(r===exports.PlaybackState.PAUSED?(i.videoState.startTransitionTo(Ke.PAUSED),i.video.pause()):(null==a?void 0:a.to)===exports.PlaybackState.PLAYING&&C(i.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case Ke.PAUSED:return void(r===exports.PlaybackState.PLAYING?(i.videoState.startTransitionTo(Ke.PLAYING),i.playIfAllowed()):(null==a?void 0:a.to)===exports.PlaybackState.PAUSED&&C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED));case Ke.CHANGING_MANIFEST:break;default:return e.assertNever(t)}}}else t!==Ke.STOPPED&&(i.videoState.startTransitionTo(Ke.STOPPED),i.video.setAttribute("src",""),i.video.load(),i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.output.currentBuffer$.next(void 0),i.params.output.hostname$.next(void 0),i.videoState.setState(Ke.STOPPED),C(i.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=t,this.video=N(t.container),this.params.output.element$.next(this.video);var r={id:"master",quality:exports.VideoQuality.INVARIANT,url:this.params.source.url};this.manifests$.next([r]),this.params.output.isLive$.next(!1),this.params.output.hostname$.next(J(this.params.source.url)),at(this.params.source.url).then((function(e){i.manifests$.next(f([r],h(e),!1))}),(function(e){return i.params.output.error$.next({id:"ExtractHlsQualities",message:"Error fetching manifest and extracting qualities",thrown:e})})),this.subscribe()}return t.prototype.selectManifest=function(){var e,t,i=this.params.desiredState,r=i.autoVideoTrackSwitching,a=i.videoTrack,n=r.getState(),s=a.getTransition(),o=null!==(t=null!==(e=null==s?void 0:s.to)&&void 0!==e?e:a.getState())&&void 0!==t?t:"master",u=this.manifests$.getValue();if(u){var d=n?"master":o;return n&&!s&&a.startTransitionTo("master"),u.find((function(e){return e.id===d}))}},t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=function(e){r.error$.next({id:"HlsProvider",message:"HlsProvider internal logic error",thrown:e})},s=R(this.video),o=function(e,i){return t.subscription.add(e.subscribe(i))};o(s.timeUpdate$,r.position$),o(s.durationChange$,r.duration$),o(s.ended$,r.endedEvent$),o(s.error$,r.error$),o(s.isBuffering$,r.isBuffering$),o(s.currentBuffer$,r.currentBuffer$),o(s.firstBytes$,r.firstBytesEvent$),o(s.firstFrame$,r.firstFrameEvent$),this.subscription.add(s.seeked$.subscribe((function(){return a.seekPosition.setState(void 0)}),n)),this.subscription.add(k(this.video,a.isLooped,n)),this.subscription.add(w(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$,n)),this.textTracksManager.connect(this.video,a,r),this.subscription.add(s.play$.subscribe((function(){t.videoState.setState(Ke.PLAYING),C(a.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){t.videoState.setState(Ke.PAUSED),C(a.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var e;(null===(e=t.videoState.getTransition())||void 0===e?void 0:e.to)===Ke.READY&&t.videoState.setState(Ke.READY),t.videoState.getState()===Ke.PLAYING&&t.playIfAllowed()}),n).add(s.loadedMetadata$.subscribe((function(){var i=t.params.desiredState.seekPosition.getTransition(),r=t.videoState.getTransition(),a=t.params.desiredState.videoTrack.getTransition(),n=t.params.desiredState.autoVideoTrackSwitching.getTransition();if(a&&e.isNonNullable(a.to)){var s=a.to;t.params.desiredState.videoTrack.setState(s);var o=t.manifests$.getValue().find((function(e){return e.id===s}));o&&(t.params.output.currentVideoTrack$.next(o),t.params.output.hostname$.next(J(o.url)))}n&&t.params.desiredState.autoVideoTrackSwitching.setState(n.to),r&&r.from===Ke.CHANGING_MANIFEST&&t.videoState.setState(r.to),i&&e.isNonNullable(i.to)&&t.seek(i.to)}),n))),this.subscription.add(this.manifests$.pipe(e.map((function(e){return e.map((function(e){return{id:e.id,quality:e.quality,size:e.size,bitrate:e.bandwidth}}))}))).subscribe(this.params.output.availableVideoTracks$,n));var u=e.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,a.videoTrack.stateChangeStarted$,a.autoVideoTrackSwitching.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0));this.subscription.add(u.subscribe(this.syncPlayback,n))},t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0)},t.prototype.prepare=function(){var t=this.selectManifest();e.isNullable(t)||(this.video.setAttribute("src",t.url),this.video.load())},t.prototype.playIfAllowed=function(){var e=this;E(this.video).then((function(t){t||(e.videoState.setState(Ke.PAUSED),C(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},t.prototype.seek=function(e){this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.video.currentTime=e},t}();!function(e){e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.CHANGING_MANIFEST="changing_manifest",e.PAUSED="paused"}(nt||(nt={}));var ot,ut=function(){function t(t){var i,r=this;this.subscription=new e.Subscription,this.videoState=new K(nt.STOPPED),this.textTracksManager=new A,this.manifests$=new e.ValueSubject([]),this.liveOffset=new Be,this.manifestStartTime$=new e.ValueSubject(void 0),this.syncPlayback=function(){var t=r.videoState.getState(),i=r.params.desiredState.playbackState.getState(),a=r.params.desiredState.playbackState.getTransition(),n=r.params.desiredState.videoTrack.getTransition(),s=r.params.desiredState.autoVideoTrackSwitching.getTransition();if(i!==exports.PlaybackState.STOPPED){if(!r.videoState.getTransition()){var o=r.params.desiredState.seekPosition.getTransition();if(t===nt.STOPPED)return r.videoState.startTransitionTo(nt.READY),void r.prepare();if(n||s){var u=r.videoState.getState();r.videoState.setState(nt.CHANGING_MANIFEST),r.videoState.startTransitionTo(u);var d=dt(r.liveOffset.getTotalOffset());return r.prepare(),void(o&&!e.isNullable(o.to)||r.params.desiredState.seekPosition.startTransitionTo(d))}var c=null==o?void 0:o.to;if((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(c))return r.videoState.startTransitionTo(nt.READY),r.seek(c+dt(r.liveOffset.getTotalPausedTime())),void r.prepare();switch(t){case nt.READY:return void(i===exports.PlaybackState.PAUSED?(r.videoState.setState(nt.PAUSED),r.liveOffset.pause(),C(r.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):i===exports.PlaybackState.PLAYING&&(r.videoState.startTransitionTo(nt.PLAYING),r.playIfAllowed()));case nt.PLAYING:return void(i===exports.PlaybackState.PAUSED?(r.videoState.startTransitionTo(nt.PAUSED),r.liveOffset.pause(),r.video.pause()):(null==a?void 0:a.to)===exports.PlaybackState.PLAYING&&C(r.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case nt.PAUSED:return void(i===exports.PlaybackState.PLAYING?(r.videoState.startTransitionTo(nt.PLAYING),r.liveOffset.getTotalPausedTime()<r.params.config.maxPausedTime&&r.liveOffset.getTotalOffset()<r.maxSeekBackTime$.getValue()?(r.liveOffset.resume(),r.playIfAllowed(),r.params.output.position$.next(dt(r.liveOffset.getTotalOffset()))):r.seek(dt(r.liveOffset.getTotalOffset()))):(null==a?void 0:a.to)===exports.PlaybackState.PAUSED&&(C(r.params.desiredState.playbackState,exports.PlaybackState.PAUSED),r.liveOffset.pause()));case nt.CHANGING_MANIFEST:break;default:return e.assertNever(t)}}}else t!==nt.STOPPED&&(r.videoState.startTransitionTo(nt.STOPPED),r.video.setAttribute("src",""),r.video.load(),r.params.output.position$.next(0),r.params.output.duration$.next(1/0),r.params.output.currentBuffer$.next(void 0),r.params.output.hostname$.next(void 0),r.videoState.setState(nt.STOPPED),C(r.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=t,this.video=N(t.container),this.params.output.element$.next(this.video);var a={id:"master",quality:exports.VideoQuality.INVARIANT,url:this.params.source.url};this.manifests$.next([a]),at(Pe(this.params.source.url)).then((function(e){r.manifests$.next(f([a],h(e),!1))}),(function(e){return r.params.output.error$.next({id:"ExtractHlsQualities",message:"Error fetching manifest and extracting qualities",thrown:e})})),this.params.output.isLive$.next(!0),this.params.output.hostname$.next(J(this.params.source.url)),this.maxSeekBackTime$=new e.ValueSubject(null!==(i=t.source.maxSeekBackTime)&&void 0!==i?i:1/0),this.subscribe()}return t.prototype.selectManifest=function(){var e,t,i=this.params.desiredState,r=i.autoVideoTrackSwitching,a=i.videoTrack,n=r.getState(),s=a.getTransition(),o=null!==(t=null!==(e=null==s?void 0:s.to)&&void 0!==e?e:a.getState())&&void 0!==t?t:"master",u=this.manifests$.getValue();if(u){var d=n?"master":o;return n&&!s&&a.startTransitionTo("master"),u.find((function(e){return e.id===d}))}},t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=function(e){r.error$.next({id:"HlsLiveProvider",message:"HlsLiveProvider internal logic error",thrown:e})},s=R(this.video),o=function(e,i){return t.subscription.add(e.subscribe(i,n))};o(s.ended$,r.endedEvent$),o(s.error$,r.error$),o(s.isBuffering$,r.isBuffering$),o(s.currentBuffer$,r.currentBuffer$),o(s.firstBytes$,r.firstBytesEvent$),o(s.firstFrame$,r.firstFrameEvent$),this.subscription.add(a.isLooped.stateChangeStarted$.subscribe((function(){return a.isLooped.setState(!1)}),n)),this.subscription.add(w(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$,n)),this.textTracksManager.connect(this.video,a,r),this.subscription.add(s.play$.subscribe((function(){t.videoState.setState(nt.PLAYING),C(a.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){t.videoState.setState(nt.PAUSED),C(a.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var e;(null===(e=t.videoState.getTransition())||void 0===e?void 0:e.to)===nt.READY&&t.videoState.setState(nt.READY),t.videoState.getState()===nt.PLAYING&&t.playIfAllowed()}),n)),this.subscription.add(this.maxSeekBackTime$.pipe(e.filterChanged(),e.map(dt)).subscribe(this.params.output.duration$,n)),this.subscription.add(s.loadedMetadata$.subscribe((function(){var i=t.params.desiredState.seekPosition.getTransition(),r=t.videoState.getTransition(),a=t.params.desiredState.videoTrack.getTransition(),n=t.params.desiredState.autoVideoTrackSwitching.getTransition();if(a&&e.isNonNullable(a.to)){var s=a.to;t.params.desiredState.videoTrack.setState(s);var o=t.manifests$.getValue().find((function(e){return e.id===s}));o&&(t.params.output.currentVideoTrack$.next(o),t.params.output.hostname$.next(J(o.url)))}n&&t.params.desiredState.autoVideoTrackSwitching.setState(n.to),r&&r.from===nt.CHANGING_MANIFEST&&t.videoState.setState(r.to),i&&e.isNonNullable(i.to)&&t.seek(i.to)}),n)),this.subscription.add(s.loadedData$.subscribe((function(){var e,i,r=null===(i=null===(e=t.video)||void 0===e?void 0:e.getStartDate())||void 0===i?void 0:i.getTime();t.manifestStartTime$.next(r||void 0)}),n)),this.subscription.add(e.combine({startTime:this.manifestStartTime$.pipe(e.filter(e.isNonNullable)),currentTime:s.timeUpdate$}).subscribe((function(e){var i=e.startTime,r=e.currentTime;return t.params.output.liveTime$.next(i+1e3*r)}),n)),this.subscription.add(this.manifests$.pipe(e.map((function(e){return e.map((function(e){return{id:e.id,quality:e.quality,size:e.size,bitrate:e.bandwidth}}))}))).subscribe(this.params.output.availableVideoTracks$,n));var u=e.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,a.videoTrack.stateChangeStarted$,a.autoVideoTrackSwitching.stateChangeStarted$,e.observableFrom(["init"])).pipe(e.debounce(0));this.subscription.add(u.subscribe(this.syncPlayback,n))},t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0)},t.prototype.prepare=function(){var t=this,i=this.selectManifest();if(!e.isNullable(i)){var r,a=Pe(i.url,this.liveOffset.getTotalOffset());this.video.setAttribute("src",a),this.video.load(),(r=a,c(void 0,void 0,void 0,(function(){var e;return l(this,(function(t){switch(t.label){case 0:return[4,fetch(r,{method:"HEAD"})];case 1:return[2,(e=t.sent()).headers.has("X-Playback-Duration")?parseInt(e.headers.get("X-Playback-Duration"),10):void 0]}}))}))).then((function(i){e.isNullable(i)||t.maxSeekBackTime$.next(i)}))}},t.prototype.playIfAllowed=function(){var e=this;E(this.video).then((function(t){t||(e.videoState.setState(nt.PAUSED),e.liveOffset.pause(),C(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},t.prototype.seek=function(e){this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0);var t=-Math.round(1e3*e),i=t<this.maxSeekBackTime$.getValue()?t:0;this.liveOffset.resetTo(i),this.params.output.position$.next(dt(i)),this.params.desiredState.seekPosition.setState(void 0)},t}(),dt=function(e){return-e/1e3},ct={};!function(e){e.INITIALIZING="initializing",e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(ot||(ot={}));var lt,pt,ht,ft,vt,mt,St,bt,gt,yt,Tt,Et,Pt,kt,wt,xt,At,Nt,$t,Dt,_t=function(t,i){return new e.Observable((function(e){var r=function(t,i){return e.next(i)};return t.on(i,r),function(){return t.off(i,r)}}))},It=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new K(ot.INITIALIZING),this.textTracksManager=new A,this.trackLevels=new Map,this.syncPlayback=function(){var t=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition(),n=i.params.desiredState.seekPosition.getTransition();if(t!==ot.INITIALIZING){var s=null==n?void 0:n.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(s)&&i.seek(s),r){case exports.PlaybackState.STOPPED:switch(t){case ot.STOPPED:break;case ot.READY:case ot.PLAYING:case ot.PAUSED:i.stop();break;default:e.assertNever(t)}break;case exports.PlaybackState.PLAYING:switch(t){case ot.PLAYING:break;case ot.STOPPED:i.prepare();break;case ot.READY:case ot.PAUSED:i.playIfAllowed();break;default:e.assertNever(t)}break;case exports.PlaybackState.PAUSED:switch(t){case ot.PAUSED:break;case ot.STOPPED:i.prepare();break;case ot.READY:i.videoState.setState(ot.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED);break;case ot.PLAYING:i.pause();break;default:e.assertNever(t)}break;default:e.assertNever(r)}}},this.video=N(t.container),this.params=t,this.params.output.element$.next(this.video),this.params.output.isLive$.next(!1),this.params.output.hostname$.next(J(this.params.source.url)),this.loadHlsJs()}return t.prototype.destroy=function(){var e,t;this.subscription.unsubscribe(),this.trackLevels.clear(),this.textTracksManager.destroy(),null===(e=this.hls)||void 0===e||e.detachMedia(),null===(t=this.hls)||void 0===t||t.destroy(),this.video.remove(),this.params.output.element$.next(void 0)},t.prototype.loadHlsJs=function(){var e=this,t=!1,r=function(i){t||e.params.output.error$.next({id:"timeout"===i?"HlsJsTimeout":"HlsJsLoadError",message:"Failed to load Hls.js",thrown:i}),t=!0},a=window.setTimeout((function(){return r("timeout")}),5e3);Promise.resolve().then((function(){return i(require("hls.js"))})).then((function(i){t||(ct.Hls=i.default,ct.Events=i.default.Events,e.init())}),r).finally((function(){window.clearTimeout(a),t=!0}))},t.prototype.init=function(){e.assertNonNullable(ct.Hls,"hls.js not loaded"),this.hls=new ct.Hls({fragLoadingMaxRetry:5,levelLoadingMaxRetry:2,manifestLoadingMaxRetry:2,fragLoadingMaxRetryTimeout:16e3,manifestLoadingMaxRetryTimeout:2e3,levelLoadingMaxRetryTimeout:2e3}),this.subscribe(),this.videoState.setState(ot.STOPPED)},t.prototype.subscribe=function(){var t=this;e.assertNonNullable(ct.Events,"hls.js not loaded");var i=this.params,r=i.desiredState,a=i.output,n=function(e){a.error$.next({id:"HlsJsProvider",message:"HlsJsProvider internal logic error",thrown:e})},s=R(this.video),o=function(e,i){return t.subscription.add(e.subscribe(i,n))};o(s.timeUpdate$,a.position$),o(s.durationChange$,a.duration$),o(s.ended$,a.endedEvent$),o(s.error$,a.error$),o(s.isBuffering$,a.isBuffering$),o(s.currentBuffer$,a.currentBuffer$),o(s.firstBytes$,a.firstBytesEvent$),o(s.firstFrame$,a.firstFrameEvent$),this.subscription.add(s.seeked$.subscribe((function(){return r.seekPosition.setState(void 0)}),n)),this.subscription.add(k(this.video,r.isLooped,n)),this.subscription.add(w(this.video,r.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$)),this.subscription.add(_t(this.hls,ct.Events.ERROR).subscribe((function(e){var t;e.fatal&&a.error$.next({id:["HlsJsFatal",e.type,e.details].join("_"),message:"HlsJs fatal "+e.type+" "+e.details+", "+(null===(t=e.err)||void 0===t?void 0:t.message)+" "+e.reason,thrown:e.error})}))),this.subscription.add(s.play$.subscribe((function(){t.videoState.setState(ot.PLAYING),C(r.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){t.videoState.setState(ot.PAUSED),C(r.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var e;(null===(e=t.videoState.getTransition())||void 0===e?void 0:e.to)===ot.READY&&t.videoState.setState(ot.READY),t.videoState.getState()===ot.PLAYING&&t.playIfAllowed()}),n)),o(_t(this.hls,ct.Events.MANIFEST_PARSED).pipe(e.map((function(e){return e.levels.reduce((function(e,i){var r=i.name||i.height.toString(10),a=i.width,n=i.height,s=U({width:a,height:n});if(!s)return e;var o={id:r.toString(),quality:s,bitrate:i.bitrate/1e3,size:{width:a,height:n}};return t.trackLevels.set(r,{track:o,level:i}),e.push(o),e}),[])}))),a.availableVideoTracks$),o(_t(this.hls,ct.Events.LEVEL_LOADING).pipe(e.map((function(e){var t=e.url;return J(t)}))),a.hostname$),this.subscription.add(P(r.autoVideoTrackSwitching,(function(){return t.hls.autoLevelEnabled}),(function(e){t.hls.nextLevel=e?-1:t.hls.currentLevel,t.hls.loadLevel=e?-1:t.hls.loadLevel}),{onError:n}));var u=function(e){var i;return null===(i=Array.from(t.trackLevels.values()).find((function(t){return t.level===e})))||void 0===i?void 0:i.track},d=_t(this.hls,ct.Events.LEVEL_SWITCHED).pipe(e.map((function(e){var i=e.level;return u(t.hls.levels[i])})));d.pipe(e.filter(e.isNonNullable)).subscribe(a.currentVideoTrack$,n),this.subscription.add(P(r.videoTrack,(function(){var e;return null===(e=u(t.hls.levels[t.hls.currentLevel]))||void 0===e?void 0:e.id}),(function(i){var r;if(!e.isNullable(i)){var a=null===(r=t.trackLevels.get(i))||void 0===r?void 0:r.level;if(a){var n=t.hls.levels.indexOf(a),s=t.hls.currentLevel,o=t.hls.levels[s];!o||a.bitrate>o.bitrate?t.hls.nextLevel=n:(t.hls.loadLevel=n,t.hls.loadLevel=n)}}}),{changed$:d.pipe(e.map((function(e){return null==e?void 0:e.id}))),onError:n})),o(s.progress$,(function(){t.params.dependencies.throughputEstimator.rawThroughput$.next(t.hls.bandwidthEstimate/1e3)})),this.textTracksManager.connect(this.video,r,a);var c=e.merge(r.playbackState.stateChangeStarted$,r.videoTrack.stateChangeStarted$,r.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0));this.subscription.add(c.subscribe(this.syncPlayback,n))},t.prototype.prepare=function(){this.videoState.startTransitionTo(ot.READY),this.hls.attachMedia(this.video),this.hls.loadSource(this.params.source.url)},t.prototype.playIfAllowed=function(){return c(this,void 0,void 0,(function(){return l(this,(function(e){switch(e.label){case 0:return this.videoState.startTransitionTo(ot.PLAYING),[4,E(this.video)];case 1:return e.sent()||(this.videoState.setState(ot.PAUSED),C(this.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0)),[2]}}))}))},t.prototype.pause=function(){this.videoState.startTransitionTo(ot.PAUSED),this.video.pause()},t.prototype.seek=function(e){this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.video.currentTime=e},t.prototype.stop=function(){this.params.output.position$.next(0),this.params.output.duration$.next(1/0),this.params.output.currentBuffer$.next(void 0),this.params.output.hostname$.next(void 0),this.hls.stopLoad(),this.hls.detachMedia(),this.video.setAttribute("src",""),this.video.load(),this.videoState.setState(ot.STOPPED),C(this.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0)},t}(),Rt=function(){function e(e){this.iterator=e[Symbol.iterator](),this.next()}return e.prototype.next=function(){this.current=this.iterator.next()},e.prototype.getValue=function(){if(this.current.done)throw new Error("Iterable is completed");return this.current.value},e.prototype.isCompleted=function(){return Boolean(this.current.done)},e}(),Ct=($t=window.navigator.userAgent,!/chrome/i.test($t)&&/webkit|safari|khtml/i.test($t)),Lt=(null===(pt=null===(lt=navigator)||void 0===lt?void 0:lt.userAgentData)||void 0===pt?void 0:pt.mobile)||/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(navigator.appVersion),Ot=document.createElement("video"),Vt={mse:Boolean(window.MediaSource&&window.MediaStreamTrack&&(null===(ft=null===(ht=window.SourceBuffer)||void 0===ht?void 0:ht.prototype)||void 0===ft?void 0:ft.appendBuffer)),hls:Boolean((null===(vt=Ot.canPlayType)||void 0===vt?void 0:vt.call(Ot,"application/x-mpegurl"))||(null===(mt=Ot.canPlayType)||void 0===mt?void 0:mt.call(Ot,"vnd.apple.mpegURL")))},Mt={mp4:Boolean(null===(St=Ot.canPlayType)||void 0===St?void 0:St.call(Ot,"video/mp4")),webm:Boolean(null===(bt=Ot.canPlayType)||void 0===bt?void 0:bt.call(Ot,"video/webm"))},Bt={h264:Boolean(null===(yt=null===(gt=window.MediaSource)||void 0===gt?void 0:gt.isTypeSupported)||void 0===yt?void 0:yt.call(gt,'video/mp4; codecs="avc1.42000a,mp4a.40.2"')),h265:Boolean(null===(Et=null===(Tt=window.MediaSource)||void 0===Tt?void 0:Tt.isTypeSupported)||void 0===Et?void 0:Et.call(Tt,'video/mp4; codecs="hev1.1.6.L93.B0"')),vp9:Boolean(null===(kt=null===(Pt=window.MediaSource)||void 0===Pt?void 0:Pt.isTypeSupported)||void 0===kt?void 0:kt.call(Pt,'video/webm; codecs="vp9"')),aac:Boolean(null===(xt=null===(wt=window.MediaSource)||void 0===wt?void 0:wt.isTypeSupported)||void 0===xt?void 0:xt.call(wt,'audio/mp4; codecs="mp4a.40.2"')),opus:Boolean(null===(Nt=null===(At=window.MediaSource)||void 0===At?void 0:At.isTypeSupported)||void 0===Nt?void 0:Nt.call(At,'audio/webm; codecs="opus"'))},Ut=(Bt.h264||Bt.h265)&&Bt.aac,Ft=!Ct,Ht=Lt||Ct,qt=!Vt.hls||!Ht,Gt=3e4,Yt=18e4,jt=3,zt=100,Qt={cacheDuration:12e4},Wt={maxPausedTime:3e4,chunkDuration:5e3,optimalBufferDuration:1e4,maxParallelRequests:5},Jt={maxPausedTime:3e4},Xt={maxPausedTime:3e4},Kt=function(){function t(t){this.current$=new e.ValueSubject({type:void 0}),this.providerError$=new e.Subject,this.noAvailableProvidersError$=new e.Subject,this.providerOutput={position$:new e.ValueSubject(0),duration$:new e.ValueSubject(1/0),volume$:new e.ValueSubject({muted:!1,volume:1}),currentVideoTrack$:new e.ValueSubject(void 0),availableVideoTracks$:new e.ValueSubject([]),currentBuffer$:new e.ValueSubject(void 0),isBuffering$:new e.ValueSubject(!0),error$:new e.Subject,endedEvent$:new e.Subject,firstBytesEvent$:new e.Subject,firstFrameEvent$:new e.Subject,isLive$:new e.ValueSubject(void 0),liveTime$:new e.ValueSubject(void 0),availableTextTracks$:new e.ValueSubject([]),currentTextTrack$:new e.ValueSubject(void 0),hostname$:new e.ValueSubject(void 0),element$:new e.ValueSubject(void 0)},this.subscription=new e.Subscription,this.params=t,this.log=this.params.dependencies.logger.createComponentLog("ProviderContainer");var i=this.params.tuning.formatsToAvoid,r=i.length?f(f([],h(t.screenFormatsPriority.filter((function(e){return!i.includes(e)}))),!1),h(t.screenFormatsPriority.filter((function(e){return i.includes(e)}))),!1):t.screenFormatsPriority;this.screenFormatsIterator=new Rt(r.filter((function(i){return e.isNonNullable(t.sources[i])})).filter((function(t){switch(t){case exports.VideoFormat.DASH:return Vt.mse&&Mt.mp4&&Ut&&Ft;case exports.VideoFormat.DASH_SEP:return Vt.mse&&Mt.mp4&&Ut;case exports.VideoFormat.DASH_WEBM:case exports.VideoFormat.DASH_WEBM_VK:case exports.VideoFormat.DASH_LIVE_WEBM:return Vt.mse&&Mt.webm&&Bt.vp9&&Bt.opus;case exports.VideoFormat.DASH_LIVE:case exports.VideoFormat.DASH_ONDEMAND:return Vt.mse&&Mt.mp4&&Ut;case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_LIVE:case exports.VideoFormat.HLS_ONDEMAND:return Vt.hls&&Mt.mp4&&Ht;case exports.VideoFormat.HLS_JS:return Vt.mse&&Mt.mp4&&Ut&&qt;case exports.VideoFormat.MPEG:return Mt.mp4;default:return e.assertNever(t)}}))),this.chromecastFormatsIterator=new Rt(t.chromecastFormatsPriority.filter((function(i){return e.isNonNullable(t.sources[i])})))}return t.prototype.init=function(){var e=this;this.subscription.add(this.initProviderErrorHandling()),this.subscription.add(this.params.dependencies.chromecastInitializer.connection$.subscribe((function(){e.reinitProvider()})))},t.prototype.destroy=function(){this.destroyProvider(),this.current$.next({type:void 0}),this.subscription.unsubscribe()},t.prototype.initProvider=function(){var t=this.chooseDestination(),i=this.chooseFormat(t);if(e.isNullable(i))this.handleNoFormatsError(t);else{var r=this.createProvider(t,i);this.current$.next({type:i,provider:r,destination:t})}},t.prototype.reinitProvider=function(){this.destroyProvider(),this.initProvider()},t.prototype.switchToNextProvider=function(){this.destroyProvider();var t=this.current$.getValue().destination;e.assertNonNullable(t),this.skipFormat(t),this.initProvider()},t.prototype.destroyProvider=function(){var e=this.current$.getValue().provider;if(e){this.log({message:"destroyProvider"});var t=this.params.desiredState.seekPosition;t.getTransition()||t.startTransitionTo(this.providerOutput.position$.getValue()),e.destroy();var i=this.providerOutput.isBuffering$;i.getValue()||i.next(!0)}},t.prototype.createProvider=function(t,i){switch(this.log({message:"createProvider: "+t+":"+i}),t){case n.SCREEN:return this.createScreenProvider(i);case n.CHROMECAST:return this.createChromecastProvider(i);default:return e.assertNever(t)}},t.prototype.createScreenProvider=function(t){var i=this.params,r=i.sources,a=i.container,n=i.desiredState,s=this.providerOutput;switch(t){case exports.VideoFormat.DASH:var o=r[t];return e.assertNonNullable(o),new Re({container:a,source:o,desiredState:n,output:s,config:Qt,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.DASH_WEBM_VK:o=r[t];return e.assertNonNullable(o),new Te({container:a,source:o,desiredState:n,output:s,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.DASH_SEP:case exports.VideoFormat.DASH_WEBM:case exports.VideoFormat.DASH_ONDEMAND:case exports.VideoFormat.DASH_LIVE_WEBM:o=r[t];return e.assertNonNullable(o),new He({container:a,source:o,desiredState:n,output:s,format:t,config:Xt,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_ONDEMAND:o=r[t];return e.assertNonNullable(o),new st({container:a,source:o,desiredState:n,output:s,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.HLS_LIVE:o=r[t];return e.assertNonNullable(o),new ut({container:a,source:o,desiredState:n,output:s,config:Jt,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.HLS_JS:o=r[t];return e.assertNonNullable(o),new It({container:a,source:o,desiredState:n,output:s,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.MPEG:o=r[t];return e.assertNonNullable(o),new Ae({container:a,source:o,desiredState:n,output:s,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.DASH_LIVE:o=r[t];return e.assertNonNullable(o),new tt({container:a,source:o,desiredState:n,output:s,config:Wt,dependencies:this.params.dependencies,tuning:this.params.tuning});default:return e.assertNever(t)}},t.prototype.createChromecastProvider=function(t){var i=this.params,r=i.sources,a=i.container,n=i.desiredState,s=i.meta,o=this.providerOutput,u=this.params.dependencies.chromecastInitializer.connection$.getValue();return e.assertNonNullable(u),new we({connection:u,meta:s,container:a,source:r,format:t,desiredState:n,output:o,dependencies:this.params.dependencies,tuning:this.params.tuning})},t.prototype.chooseDestination=function(){return this.params.dependencies.chromecastInitializer.connection$.getValue()?n.CHROMECAST:n.SCREEN},t.prototype.chooseFormat=function(t){switch(t){case n.SCREEN:return this.screenFormatsIterator.isCompleted()?void 0:this.screenFormatsIterator.getValue();case n.CHROMECAST:return this.chromecastFormatsIterator.isCompleted()?void 0:this.chromecastFormatsIterator.getValue();default:return e.assertNever(t)}},t.prototype.skipFormat=function(t){switch(t){case n.SCREEN:return this.screenFormatsIterator.next();case n.CHROMECAST:return this.chromecastFormatsIterator.next();default:return e.assertNever(t)}},t.prototype.handleNoFormatsError=function(t){switch(t){case n.SCREEN:return this.noAvailableProvidersError$.next(),void this.current$.next({type:void 0});case n.CHROMECAST:return void this.params.dependencies.chromecastInitializer.disconnect();default:return e.assertNever(t)}},t.prototype.initProviderErrorHandling=function(){var t,i=this,r=[],a=0,s=new e.Subscription;return s.add(e.merge(this.providerOutput.error$,(t={desiredPlaybackState$:this.params.desiredState.playbackState,maxTransitionInterval:Gt,position$:this.providerOutput.position$,providerChanged$:this.current$},new e.Observable((function(i){var r=new e.Subscription,a=e.timeout(t.maxTransitionInterval),n=new e.ValueSubject(void 0);e.merge(t.desiredPlaybackState$.stateChangeStarted$.pipe(e.mapTo(a)),t.desiredPlaybackState$.stateChangeEnded$.pipe(e.mapTo(void 0)),t.providerChanged$.pipe(e.map((function(){return n.getValue()})))).subscribe(n);var s=new e.Subscription;return r.add(s),r.add(n.subscribe((function(e){s.unsubscribe(),e&&s.add(e.subscribe(i))}))),r}))).pipe(e.mapTo({id:"ProviderHangup",message:"An operation failed to complete within reasonable time"}))).subscribe(this.providerError$)),s.add(this.providerError$.pipe(e.throttle(zt,{leading:!1,trailing:!0})).subscribe((function(){var t=Date.now();i.current$.getValue().destination===n.CHROMECAST?(i.destroyProvider(),i.params.dependencies.chromecastInitializer.stopMedia().then((function(){i.switchToNextProvider()}),(function(){i.params.dependencies.chromecastInitializer.disconnect()}))):e.isNonNullable(r[a])&&t<r[a]+Yt?(r=[],i.switchToNextProvider()):(r[a]=t,i.reinitProvider()),a=(a+1)%jt}))),s},t}();!function(e){e[e.LOCAL_STORAGE=0]="LOCAL_STORAGE",e[e.SESSION_STORAGE=1]="SESSION_STORAGE",e[e.RUNTIME=2]="RUNTIME"}(Dt||(Dt={}));var Zt=new Map,ei=Dt.RUNTIME,ti="vk-videoplayer-dummy-key-"+Math.random();!function(){try{localStorage.setItem(ti,"test"),localStorage.removeItem(ti),ei=Dt.LOCAL_STORAGE}catch(e){if(!(e instanceof DOMException))throw e;try{sessionStorage.getItem(ti),ei=Dt.SESSION_STORAGE}catch(e){if(!(e instanceof DOMException))throw e;ei=Dt.RUNTIME}}}();var ii,ri=function(e,t,i){return i*t+(1-i)*e},ai=function(){var e,t;return null!==(t=null===(e=window.performance)||void 0===e?void 0:e.now())&&void 0!==t?t:Date.now()},ni=window.navigator.connection,si=function(){var e=null==ni?void 0:ni.downlink;if(e&&10!==e)return 1e3*e},oi=function(){function t(t){var i=this;this.smoothedCombination=this.load()||si()||5e3,this.smoothedFast=this.smoothedCombination,this.smoothedSlow=this.smoothedCombination,this.subscription=new e.Subscription,this.rawSeries$=new j("raw_throughput"),this.smoothedSeries$=new j("smoothed_throughput"),this.reportedSeries$=new j("reported_throughput"),this.xhr$=new e.Subject,this.rawSpeed$=new e.Subject,this.rawThroughput$=new e.Subject,this.stream$=new e.Subject,this.estimation$=new e.ValueSubject(this.smoothedSlow),this.rtt$=new e.ValueSubject(void 0),this.tuningConfig=t;var r=si();if(r&&this.addValue(r),this.subscription.add(this.xhr$.subscribe((function(e){return i.trackXHR(e)}))),this.subscription.add(this.stream$.subscribe((function(e){return i.trackStream(e)}))),this.subscription.add(this.rawSpeed$.subscribe((function(e){var t=e.size,r=e.time;return i.addRawSpeed(t,r)}))),this.subscription.add(this.rawThroughput$.subscribe((function(e){return i.addValue(e)}))),this.subscription.add(this.estimation$.subscribe(this.reportedSeries$)),this.tuningConfig.useBrowserEstimation){var a=ni&&"rtt"in ni,n=ni&&"onchange"in ni;a&&this.rtt$.next(ni.rtt),n&&this.subscription.add(e.fromEvent(ni,"change").subscribe((function(){a&&i.rtt$.next(ni.rtt);var e=si();e&&i.addValue(e)})))}}return t.prototype.destroy=function(){this.subscription.unsubscribe()},t.prototype.trackXHR=function(t){var i=this,r=0,a=ai(),n=new e.Subscription;switch(this.subscription.add(n),t.readyState){case 4:break;case 3:case 2:n.add(e.fromEvent(t,"progress").pipe(e.once()).subscribe((function(e){r=e.loaded,a=ai()})));break;case 1:case 0:n.add(e.fromEvent(t,"loadstart").subscribe((function(){r=0,a=ai()})))}n.add(e.fromEvent(t,"loadend").subscribe((function(e){if(200===t.status){var s=e.loaded,o=ai(),u=s-r,d=o-a;i.addRawSpeed(u,d)}n.unsubscribe()})))},t.prototype.trackStream=function(e){var t=this,i=e.getReader();if(i){var r=0,a=ai(),n=0,s=ai(),o=function(t){i.releaseLock(),e.cancel("Throughput Estimator error: "+t).catch((function(){}))},u=function(e){var d=e.done,p=e.value;return c(t,void 0,void 0,(function(){return l(this,(function(e){switch(e.label){case 0:return d?(this.addRawSpeed(r,ai()-a),[3,3]):[3,1];case 1:return p?(r+=p.byteLength,(n+=p.byteLength)>=this.tuningConfig.streamMinSampleSize&&ai()-s>=this.tuningConfig.streamMinSampleTime&&(this.addRawSpeed(n,ai()-s),n=0,s=ai()),[4,null==i?void 0:i.read().then(u,o)]):[3,3];case 2:e.sent(),e.label=3;case 3:return[2]}}))}))};null==i||i.read().then(u,o)}else e.cancel("Could not get reader")},t.prototype.addRawSpeed=function(e,t){if(this.sanityCheck(e,t)){var i=8*e/t;this.addValue(i)}},t.prototype.sanityCheck=function(e,t){var i=8*e/t;return!(!i||!isFinite(i))&&(!(i>1e6)&&(!(i<30)&&(!(e<1024)&&!(t<=50))))},t.prototype.addValue=function(e){var t=Math.round(ri(this.smoothedSlow,e,this.tuningConfig.emaAlphaSlow)),i=Math.round(ri(this.smoothedFast,e,this.tuningConfig.emaAlphaFast));this.smoothedCombination=Math.min(t,i),this.rawSeries$.next(e),this.smoothedSeries$.next(this.smoothedCombination);var r=this.load();this.smoothedSlow=t,this.smoothedFast=i,(!r||Math.abs(this.smoothedCombination-r)/r>=this.tuningConfig.changeThreshold)&&(this.dump(),this.estimation$.next(this.smoothedCombination))},t.prototype.load=function(){var t=function(t){var i,r;switch(ei){case Dt.LOCAL_STORAGE:return null!==(i=localStorage.getItem(t))&&void 0!==i?i:void 0;case Dt.SESSION_STORAGE:return null!==(r=sessionStorage.getItem(t))&&void 0!==r?r:void 0;case Dt.RUNTIME:return Zt.get(t);default:e.assertNever(ei)}}("one_video_throughput");if(t)return parseInt(t,10)||void 0},t.prototype.dump=function(){!function(t,i){switch(ei){case Dt.LOCAL_STORAGE:return localStorage.setItem(t,i);case Dt.SESSION_STORAGE:return sessionStorage.setItem(t,i);case Dt.RUNTIME:return void Zt.set(t,i);default:e.assertNever(ei)}}("one_video_throughput",this.smoothedCombination.toFixed(0))},t}(),ui=function(t){return void 0===t&&(t=function(e){return e}),function(i){var r=i.playbackState,a=i.seekPosition,n=i.playbackAbort$,s=i.position$;return new e.Observable((function(i){var o,u=r.transitionEnded$.pipe(e.filter((function(e){return(e.from===exports.PlaybackState.PAUSED||e.from===exports.PlaybackState.STOPPED)&&e.to===exports.PlaybackState.PLAYING}))),d=r.stateChangeEnded$.pipe(e.filter((function(e){return e.from===exports.PlaybackState.PLAYING&&e.to===exports.PlaybackState.PAUSED}))),c=a.stateChangeEnded$.pipe(e.filter((function(t){var i,a;return e.isNonNullable(t.to)&&(null!==(a=null===(i=r.getTransition())||void 0===i?void 0:i.from)&&void 0!==a?a:r.getState())===exports.PlaybackState.PLAYING}))),l=a.stateChangeEnded$.pipe(e.filter((function(t){var i,a;return e.isNullable(t.to)&&(null!==(a=null===(i=r.getTransition())||void 0===i?void 0:i.from)&&void 0!==a?a:r.getState())===exports.PlaybackState.PLAYING}))),p=e.merge(u,l).pipe(e.map((function(){return t(s.getValue())}))),h=e.merge(d,c,n).pipe(e.map((function(){return t(s.getValue())})));return(new e.Subscription).add(p.subscribe((function(e){o=t(e)}))).add(h.subscribe((function(r){if(!e.isNullable(o)){var a={start:o,end:t(r)};o=void 0,i.next(a)}})))}))}},di=ui((function(e){return e})),ci=ui((function(e){return Math.round(1e3*e)+Date.now()})),li=((ii={})[n.SCREEN]={vod:[exports.VideoFormat.HLS,exports.VideoFormat.HLS_ONDEMAND,exports.VideoFormat.DASH_WEBM_VK,exports.VideoFormat.DASH_WEBM,exports.VideoFormat.DASH,exports.VideoFormat.DASH_SEP,exports.VideoFormat.DASH_ONDEMAND,exports.VideoFormat.HLS_JS,exports.VideoFormat.MPEG],live:[exports.VideoFormat.HLS_LIVE,exports.VideoFormat.DASH_LIVE,exports.VideoFormat.DASH_LIVE_WEBM]},ii[n.CHROMECAST]={vod:[exports.VideoFormat.DASH_WEBM_VK,exports.VideoFormat.DASH_WEBM,exports.VideoFormat.DASH_SEP,exports.VideoFormat.DASH_ONDEMAND,exports.VideoFormat.HLS,exports.VideoFormat.HLS_ONDEMAND,exports.VideoFormat.MPEG],live:[exports.VideoFormat.HLS_LIVE]},ii),pi=function(){function t(t){var i=this;if(void 0===t&&(t={}),this.subscription=new e.Subscription,this.logger=new e.Logger,this.isPlaybackStarted=!1,this.desiredState={playbackState:new K(exports.PlaybackState.STOPPED),seekPosition:new K(void 0),volume:new K({volume:1,muted:!1}),videoTrack:new K(void 0),autoVideoTrackSwitching:new K(!0),isLooped:new K(!1),externalTextTracks:new K([]),currentTextTrack:new K(void 0),textTrackCuesSettings:new K({})},this.info={playbackState$:new e.ValueSubject(exports.PlaybackState.STOPPED),position$:new e.ValueSubject(0),duration$:new e.ValueSubject(1/0),muted$:new e.ValueSubject(!1),volume$:new e.ValueSubject(1),availableQualities$:new e.ValueSubject([]),currentQuality$:new e.ValueSubject(void 0),isAutoQualityEnabled$:new e.ValueSubject(!0),currentBuffer$:new e.ValueSubject(void 0),isBuffering$:new e.ValueSubject(!0),isEnded$:new e.ValueSubject(!1),isLooped$:new e.ValueSubject(!1),isLive$:new e.ValueSubject(void 0),liveTime$:new e.ValueSubject(void 0),currentFormat$:new e.ValueSubject(void 0),availableTextTracks$:new e.ValueSubject([]),currentTextTrack$:new e.ValueSubject(void 0),throughputEstimation$:new e.ValueSubject(void 0),rttEstimation$:new e.ValueSubject(void 0),videoBitrate$:new e.ValueSubject(void 0),hostname$:new e.ValueSubject(void 0),chromecastState$:new e.ValueSubject(exports.ChromecastState.NOT_AVAILABLE),chromecastDeviceName$:new e.ValueSubject(void 0)},this.events={started$:new e.Subject,startAttempt$:new e.Subject,willPause$:new e.Subject,willResume$:new e.Subject,willDestruct$:new e.Subject,watchCoverageRecord$:new e.Subject,watchCoverageLive$:new e.Subject,managedError$:new e.Subject,fatalError$:new e.Subject,ended$:new e.Subject,seeked$:new e.Subject,willSeek$:new e.Subject,firstBytes$:new e.Subject,firstFrame$:new e.Subject,log$:new e.Subject},this.experimental={element$:new e.ValueSubject(void 0),enableDebugTelemetry$:new e.ValueSubject(!1),dumpTelemetry:G},this.initLogs(),this.tuning=function(e){var t,i,r={};try{for(var a=p(Object.keys(S)),n=a.next();!n.done;n=a.next()){var s=n.value,o=S[s],u=e[s];Array.isArray(o)&&Array.isArray(u)?r[s]=u:r[s]="object"==typeof o&&"object"==typeof u?d(d({},o),u):null!=u?u:o}}catch(e){t={error:e}}finally{try{n&&!n.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}}return r}(t),this.chromecastInitializer=new b({receiverApplicationId:t.chromecastReceiverId,isDisabled:t.disableChromecast,dependencies:{logger:this.logger}}),this.throughputEstimator=new oi(this.tuning.throughputEstimator),this.initChromecastSubscription(),this.initDesiredStateSubscriptions(),Proxy&&Reflect)return new Proxy(this,{get:function(e,t,r){var a=Reflect.get(e,t,r);return"function"!=typeof a?a:function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];try{return a.apply(e,r)}catch(e){var s=r.map((function(e){return JSON.stringify(e,(function(e,t){var i=typeof t;return["number","string","boolean"].includes(i)?t:null===t?null:"<"+i+">"}))})),o="Player."+String(t),u="Exception calling "+o+" ("+s.join(", ")+")";throw i.events.fatalError$.next({id:o,message:u,thrown:e}),e}}}})}return t.prototype.initVideo=function(t){var i,r;return this.config=t,this.domContainer=function(t){var i="string"==typeof t.container?document.getElementById(t.container):t.container;return e.assertNonNullable(i,"Wrong container or containerId {"+t.container+"}"),i}(t),this.chromecastInitializer.contentId=null===(i=t.meta)||void 0===i?void 0:i.videoId,this.providerContainer=new Kt({screenFormatsPriority:f(f([],h(li[n.SCREEN].live),!1),h(li[n.SCREEN].vod),!1),chromecastFormatsPriority:f(f([],h(li[n.CHROMECAST].live),!1),h(li[n.CHROMECAST].vod),!1),sources:t.sources,meta:null!==(r=t.meta)&&void 0!==r?r:{},container:this.domContainer,desiredState:this.desiredState,dependencies:{throughputEstimator:this.throughputEstimator,chromecastInitializer:this.chromecastInitializer,logger:this.logger},tuning:this.tuning}),this.initProviderContainerSubscription(this.providerContainer),this.initStartingVideoTrack(this.providerContainer),this.providerContainer.init(),this.initDebugTelemetry(),this},t.prototype.destroy=function(){var e;this.events.willDestruct$.next(),null===(e=this.providerContainer)||void 0===e||e.destroy(),this.throughputEstimator.destroy(),this.chromecastInitializer.destroy(),this.subscription.unsubscribe()},t.prototype.play=function(){var e=this.desiredState.playbackState;return e.getState()!==exports.PlaybackState.PLAYING&&e.startTransitionTo(exports.PlaybackState.PLAYING),this},t.prototype.pause=function(){var e=this.desiredState.playbackState;return e.getState()!==exports.PlaybackState.PAUSED&&e.startTransitionTo(exports.PlaybackState.PAUSED),this},t.prototype.stop=function(){var e=this.desiredState.playbackState;return e.getState()!==exports.PlaybackState.STOPPED&&e.startTransitionTo(exports.PlaybackState.STOPPED),this},t.prototype.seekTime=function(e){return this.events.willSeek$.next({from:this.getExactTime(),to:e}),this.desiredState.seekPosition.startTransitionTo(e),this},t.prototype.seekPercent=function(e){var t=this.info.duration$.getValue();return isFinite(t)&&this.seekTime(Math.abs(t)*e),this},t.prototype.setVolume=function(e){return this.chromecastInitializer.castState$.getValue()===exports.ChromecastState.CONNECTED?this.chromecastInitializer.setVolume(e):this.desiredState.volume.startTransitionTo({volume:e,muted:this.desiredState.volume.getState().muted}),this},t.prototype.setMuted=function(e){return this.chromecastInitializer.castState$.getValue()===exports.ChromecastState.CONNECTED?this.chromecastInitializer.setMuted(e):this.desiredState.volume.startTransitionTo({volume:this.desiredState.volume.getState().volume,muted:e}),this},t.prototype.setQuality=function(t){e.assertNonNullable(this.providerContainer);var i=this.providerContainer.providerOutput.availableVideoTracks$.getValue();i.length||(this.explicitInitialQuality=t);var r=i.find((function(e){return e.quality===t}));return r&&this.desiredState.videoTrack.startTransitionTo(r.id),this},t.prototype.setAutoQuality=function(e){return this.desiredState.autoVideoTrackSwitching.startTransitionTo(e),this},t.prototype.setExternalTextTracks=function(e){return this.desiredState.externalTextTracks.startTransitionTo(e.map((function(e){return d({type:"external"},e)}))),this},t.prototype.selectTextTrack=function(e){var t;return(void 0===e||(null===(t=this.providerContainer)||void 0===t?void 0:t.providerOutput.availableTextTracks$.getValue().find((function(t){return t.id===e}))))&&this.desiredState.currentTextTrack.startTransitionTo(e),this},t.prototype.setTextTrackCueSettings=function(e){return this.desiredState.textTrackCuesSettings.startTransitionTo(e),this},t.prototype.setLooped=function(e){return this.desiredState.isLooped.startTransitionTo(e),this},t.prototype.toggleChromecast=function(){this.chromecastInitializer.toggleConnection()},t.prototype.getExactTime=function(){var t;e.assertNonNullable(this.providerContainer);var i=this.providerContainer.providerOutput.element$.getValue();if(e.isNullable(i))return this.info.position$.getValue();var r=this.desiredState.seekPosition.getTransition(),a=null!==(t=null==r?void 0:r.to)&&void 0!==t?t:null==r?void 0:r.from;return e.isNonNullable(a)?a:i.currentTime},t.prototype.getAllLogs=function(){return this.logger.getAllLogs()},t.prototype.initDesiredStateSubscriptions=function(){var t=this;this.subscription.add(e.merge(this.desiredState.playbackState.stateChangeStarted$,this.desiredState.playbackState.forceChanged$).pipe(e.map((function(e){return e.to}))).subscribe(this.info.playbackState$)).add(this.desiredState.isLooped.stateChangeEnded$.pipe(e.map((function(e){return e.to}))).subscribe(this.info.isLooped$)).add(this.desiredState.autoVideoTrackSwitching.stateChangeEnded$.pipe(e.map((function(e){return e.to}))).subscribe(this.info.isAutoQualityEnabled$)).add(this.desiredState.seekPosition.stateChangeEnded$.pipe(e.filter((function(e){return void 0===e.to})),e.mapTo(void 0)).subscribe(this.events.seeked$));var i=new e.Subscription;this.subscription.add(i),this.subscription.add(this.desiredState.playbackState.stateChangeStarted$.pipe(e.filter((function(e){return e.to===exports.PlaybackState.PLAYING}))).subscribe((function(){i.unsubscribe(),i.add(t.desiredState.playbackState.stateChangeEnded$.pipe(e.filter((function(e){return e.to===exports.PlaybackState.PLAYING||e.to===exports.PlaybackState.PAUSED})),e.once()).subscribe((function(e){var i=e.to===exports.PlaybackState.PLAYING,r=t.info.muted$.getValue(),a=i?r?exports.StartStatus.SuccessWithoutSound:exports.StartStatus.SuccessWithSound:exports.StartStatus.Failed;t.events.startAttempt$.next(a)})))}))),this.subscription.add(this.desiredState.playbackState.stateChangeEnded$.pipe(e.filter((function(e){return e.to===exports.PlaybackState.PLAYING}))).subscribe((function(){t.isPlaybackStarted||(t.isPlaybackStarted=!0,t.events.started$.next())}))).add(this.desiredState.playbackState.stateChangeStarted$.subscribe((function(e){switch(e.to){case exports.PlaybackState.PAUSED:t.events.willPause$.next();break;case exports.PlaybackState.PLAYING:t.isPlaybackStarted&&t.events.willResume$.next()}})))},t.prototype.initProviderContainerSubscription=function(t){var i=this;this.subscription.add(t.current$.pipe(e.map((function(e){return e.type}))).subscribe(this.info.currentFormat$)).add(t.current$.pipe(e.map((function(e){return e.destination})),e.filterChanged()).subscribe((function(){i.isPlaybackStarted=!1}))).add(t.providerOutput.availableVideoTracks$.pipe(e.map((function(e){return e.map((function(e){return e.quality})).sort((function(e,t){return F(e)?1:F(t)?-1:V(t,e)?1:-1}))}))).subscribe(this.info.availableQualities$)).add(t.providerOutput.currentVideoTrack$.subscribe((function(e){i.info.currentQuality$.next(null==e?void 0:e.quality),i.info.videoBitrate$.next(null==e?void 0:e.bitrate)}))).add(t.providerOutput.hostname$.pipe(e.filterChanged()).subscribe(this.info.hostname$)).add(t.providerOutput.currentTextTrack$.subscribe(this.info.currentTextTrack$)).add(t.providerOutput.availableTextTracks$.subscribe(this.info.availableTextTracks$)).add(t.providerOutput.currentBuffer$.subscribe(this.info.currentBuffer$)).add(t.providerOutput.duration$.subscribe(this.info.duration$)).add(t.providerOutput.isBuffering$.subscribe(this.info.isBuffering$)).add(t.providerOutput.isLive$.subscribe(this.info.isLive$)).add(t.providerOutput.liveTime$.subscribe(this.info.liveTime$)).add(t.providerOutput.volume$.pipe(e.map((function(e){return e.muted})),e.filterChanged()).subscribe(this.info.muted$)).add(t.providerOutput.volume$.pipe(e.map((function(e){return e.volume})),e.filterChanged()).subscribe(this.info.volume$)).add(function(t){var i=t.seekPosition,r=t.position$;return e.merge(i.stateChangeStarted$.pipe(e.map((function(e){return e.to})),e.filter(e.isNonNullable)),r.pipe(e.filter((function(){return e.isNullable(i.getState())&&e.isNullable(i.getTransition())}))))}({seekPosition:this.desiredState.seekPosition,position$:t.providerOutput.position$}).subscribe(this.info.position$)).add(e.merge(t.providerOutput.endedEvent$.pipe(e.mapTo(!0)),this.desiredState.seekPosition.stateChangeEnded$.pipe(e.filter((function(e){return void 0!==e.from})),e.mapTo(!1))).pipe(e.filterChanged()).subscribe(this.info.isEnded$)).add(t.providerOutput.endedEvent$.subscribe(this.events.ended$)).add(t.providerError$.subscribe(this.events.managedError$)).add(t.noAvailableProvidersError$.pipe(e.map((function(e){return{id:"NoProviders",message:"No suitable providers or all providers failed"}}))).subscribe(this.events.fatalError$)).add(t.providerOutput.element$.subscribe(this.experimental.element$)).add(t.providerOutput.firstBytesEvent$.subscribe(this.events.firstBytes$)).add(t.providerOutput.firstFrameEvent$.subscribe(this.events.firstFrame$)).add(this.throughputEstimator.estimation$.subscribe(this.info.throughputEstimation$)).add(this.throughputEstimator.rtt$.subscribe(this.info.rttEstimation$));var r=new e.Subscription;this.subscription.add(r);var a=e.merge(this.events.willDestruct$,t.current$.pipe(e.filter((function(e){return Boolean(null==e?void 0:e.provider)}))));t.providerOutput.isLive$.pipe(e.filterChanged()).subscribe((function(t){switch(e.assertNonNullable(i.providerContainer),r.unsubscribe(),t){case!0:r.add(ci({seekPosition:i.desiredState.seekPosition,playbackState:i.desiredState.playbackState,playbackAbort$:a,position$:i.providerContainer.providerOutput.position$}).subscribe(i.events.watchCoverageLive$));break;case!1:r.add(di({seekPosition:i.desiredState.seekPosition,playbackState:i.desiredState.playbackState,playbackAbort$:a,position$:i.providerContainer.providerOutput.position$}).subscribe(i.events.watchCoverageRecord$))}}))},t.prototype.initChromecastSubscription=function(){this.subscription.add(this.chromecastInitializer.castState$.subscribe(this.info.chromecastState$)),this.subscription.add(this.chromecastInitializer.connection$.pipe(e.map((function(e){return null==e?void 0:e.castDevice.friendlyName}))).subscribe(this.info.chromecastDeviceName$)),this.subscription.add(this.chromecastInitializer.errorEvent$.subscribe(this.events.managedError$))},t.prototype.initStartingVideoTrack=function(t){var i=this,r=new e.Subscription;this.subscription.add(r),this.subscription.add(t.current$.pipe(e.filterChanged((function(e,t){return e.provider===t.provider}))).subscribe((function(){r.unsubscribe(),r.add(t.providerOutput.availableVideoTracks$.pipe(e.filter((function(e){return e.length>0})),e.once()).subscribe((function(e){i.setStartingVideoTrack(e)})))})))},t.prototype.setStartingVideoTrack=function(e){var t,i=this;this.explicitInitialQuality&&(t=e.find((function(e){return e.quality===i.explicitInitialQuality})),this.explicitInitialQuality=void 0),t||(t=Q(e,{container:this.domContainer.getBoundingClientRect(),throughput:this.throughputEstimator.estimation$.getValue(),tuning:this.tuning.autoTrackSelection,forwardBufferHealth:0})),this.desiredState.videoTrack.startTransitionTo(t.id),this.info.currentQuality$.next(t.quality),this.info.videoBitrate$.next(t.bitrate)},t.prototype.initLogs=function(){this.subscription.add(e.merge(this.desiredState.videoTrack.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,entity:"quality",type:"start"}}))),this.desiredState.videoTrack.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,entity:"quality",type:"end"}}))),this.desiredState.autoVideoTrackSwitching.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,entity:"autoQualityEnabled",type:"start"}}))),this.desiredState.autoVideoTrackSwitching.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,entity:"autoQualityEnabled",type:"end"}}))),this.desiredState.seekPosition.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,entity:"seekPosition",type:"start"}}))),this.desiredState.seekPosition.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,entity:"seekPosition",type:"end"}}))),this.desiredState.playbackState.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,entity:"playbackState",type:"start"}}))),this.desiredState.playbackState.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,entity:"playbackState",type:"end"}})))).pipe(e.map((function(e){return{component:"desiredState",message:"["+e.entity+" change] "+e.type+": "+JSON.stringify(e.transition)}}))).subscribe(this.logger.log)),this.subscription.add(this.logger.log$.subscribe(this.events.log$))},t.prototype.initDebugTelemetry=function(){var t,i=this,r=null===(t=this.providerContainer)||void 0===t?void 0:t.providerOutput;e.assertNonNullable(this.providerContainer),e.assertNonNullable(r),q={},this.experimental.enableDebugTelemetry$.next(this.tuning.enableTelemetryAtStart),[this.experimental.enableDebugTelemetry$.subscribe((function(e){H=e})),this.providerContainer.current$.subscribe((function(e){var t=e.type;return Y("provider",t)})),r.duration$.subscribe((function(e){return Y("duration",e)})),r.availableVideoTracks$.pipe(e.filter((function(e){return!!e.length})),e.once()).subscribe((function(e){return Y("tracks",e)})),this.events.fatalError$.subscribe(new j("fatalError")),this.events.managedError$.subscribe(new j("managedError")),r.position$.subscribe(new j("position")),r.currentVideoTrack$.pipe(e.map((function(e){return null==e?void 0:e.quality}))).subscribe(new j("quality")),r.currentBuffer$.subscribe(new j("buffer")),r.isBuffering$.subscribe(new j("isBuffering"))].forEach((function(e){return i.subscription.add(e)})),Y("codecs",Object.keys(Bt).filter((function(e){return Bt[e]})))},t}();Object.defineProperty(exports,"Observable",{enumerable:!0,get:function(){return e.Observable}}),Object.defineProperty(exports,"Subject",{enumerable:!0,get:function(){return e.Subject}}),Object.defineProperty(exports,"Subscription",{enumerable:!0,get:function(){return e.Subscription}}),Object.defineProperty(exports,"ValueSubject",{enumerable:!0,get:function(){return e.ValueSubject}}),exports.Player=pi,exports.SDK_VERSION="@vkontakte/videoplayer-core@2.0.36";
6
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@vkontakte/videoplayer-shared");function e(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}function r(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(r){if("default"!==r){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})}})),e.default=t,Object.freeze(e)}var i,a,n,s,o,u=e(require("lodash/debounce"));exports.PlaybackState=void 0,(i=exports.PlaybackState||(exports.PlaybackState={})).STOPPED="stopped",i.PLAYING="playing",i.PAUSED="paused",exports.VideoFormat=void 0,(a=exports.VideoFormat||(exports.VideoFormat={})).MPEG="MPEG",a.DASH="DASH",a.DASH_SEP="DASH_SEP",a.DASH_WEBM="DASH_WEBM",a.DASH_WEBM_VK="DASH_WEBM_VK",a.DASH_ONDEMAND="DASH_ONDEMAND",a.DASH_LIVE="DASH_LIVE",a.DASH_LIVE_WEBM="DASH_LIVE_WEBM",a.HLS="HLS",a.HLS_ONDEMAND="HLS_ONDEMAND",a.HLS_JS="HLS_JS",a.HLS_LIVE="HLS_LIVE",function(t){t.SCREEN="SCREEN",t.CHROMECAST="CHROMECAST"}(n||(n={})),exports.ChromecastState=void 0,(s=exports.ChromecastState||(exports.ChromecastState={})).NOT_AVAILABLE="NOT_AVAILABLE",s.AVAILABLE="AVAILABLE",s.CONNECTING="CONNECTING",s.CONNECTED="CONNECTED",exports.StartStatus=void 0,(o=exports.StartStatus||(exports.StartStatus={})).SuccessWithSound="success_with_sound",o.SuccessWithoutSound="success_without_sound",o.Failed="failed";var d=function(t,e){return(d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)};function c(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}d(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}var l=function(){return(l=Object.assign||function(t){for(var e,r=1,i=arguments.length;r<i;r++)for(var a in e=arguments[r])Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t}).apply(this,arguments)};function p(t,e,r,i){return new(r||(r=Promise))((function(a,n){function s(t){try{u(i.next(t))}catch(t){n(t)}}function o(t){try{u(i.throw(t))}catch(t){n(t)}}function u(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,o)}u((i=i.apply(t,e||[])).next())}))}function h(t,e){var r,i,a,n,s={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function o(n){return function(o){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return s.label++,{value:n[1],done:!1};case 5:s.label++,i=n[1],n=[0];continue;case 7:n=s.ops.pop(),s.trys.pop();continue;default:if(!(a=s.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){s=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]<a[3])){s.label=n[1];break}if(6===n[0]&&s.label<a[1]){s.label=a[1],a=n;break}if(a&&s.label<a[2]){s.label=a[2],s.ops.push(n);break}a[2]&&s.ops.pop(),s.trys.pop();continue}n=e.call(t,s)}catch(t){n=[6,t],i=0}finally{r=a=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,o])}}}function f(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],i=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var i,a,n=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(t){a={error:t}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(a)throw a.error}}return s}function m(t,e,r){if(r||2===arguments.length)for(var i,a=0,n=e.length;a<n;a++)!i&&a in e||(i||(i=Array.prototype.slice.call(e,0,a)),i[a]=e[a]);return t.concat(i||Array.prototype.slice.call(e))}var S,b,g={throughputEstimator:{emaAlphaSlow:.2,emaAlphaFast:.7,changeThreshold:.2,useBrowserEstimation:!0,rttPenaltyRequestSize:1048576,streamMinSampleSize:10240,streamMinSampleTime:300},autoTrackSelection:{bitrateFactorAtEmptyBuffer:1.8,bitrateFactorAtFullBuffer:1.2,usePixelRatio:!0,limitByContainer:!0,containerSizeFactor:2},dash:{extraInitSize:1e3,forwardBufferTarget:3e4,segmentRequestSize:1048576,representationSwitchForwardBufferGap:3e3},enableTelemetryAtStart:!1,formatsToAvoid:[exports.VideoFormat.DASH_WEBM_VK],disableChromecast:!1,chromecastReceiverId:void 0,useWebmBigRequest:!0,bigRequestMinInitSize:51200,bigRequestMinDataSize:1048576,stripRangeHeader:!0,flushShortLoopedBuffers:!0,insufficientBufferRuleMargin:1e4,dashSeekInSegmentDurationThreshold:18e4,dashSeekInSegmentAlwaysSeekDelta:1e4,endGapTolerance:300},y=function(){function e(e){var r,i=this;this.connection$=new t.ValueSubject(void 0),this.castState$=new t.ValueSubject(exports.ChromecastState.NOT_AVAILABLE),this.errorEvent$=new t.Subject,this.realCastState$=new t.ValueSubject(exports.ChromecastState.NOT_AVAILABLE),this.subscription=new t.Subscription,this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastInitializer");var a,n="chrome"in window;(this.log({message:"[constructor] receiverApplicationId: "+this.params.receiverApplicationId+", isDisabled: "+this.params.isDisabled+", isSupported: "+n}),!e.isDisabled&&n)&&(t.isNonNullable(null===(r=window.chrome)||void 0===r?void 0:r.cast)?this.initializeCastApi():(window.__onGCastApiAvailable=function(t){t&&i.initializeCastApi()},(a="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1",new Promise((function(t,e){var r=document.createElement("script");r.setAttribute("src",a),r.onload=function(){return t},r.onerror=function(){return e},document.body.appendChild(r)}))).catch((function(){return i.errorEvent$.next({id:"ChromecastLoading",message:"Script loading failed!"})}))))}return e.prototype.connect=function(){var t;null===(t=cast.framework.CastContext.getInstance())||void 0===t||t.requestSession()},e.prototype.disconnect=function(){var t,e;null===(e=null===(t=cast.framework.CastContext.getInstance())||void 0===t?void 0:t.getCurrentSession())||void 0===e||e.endSession(!0)},e.prototype.stopMedia=function(){return new Promise((function(t,e){var r,i,a;null===(a=null===(i=null===(r=cast.framework.CastContext.getInstance())||void 0===r?void 0:r.getCurrentSession())||void 0===i?void 0:i.getMediaSession())||void 0===a||a.stop(new chrome.cast.media.StopRequest,t,e)}))},e.prototype.toggleConnection=function(){t.isNonNullable(this.connection$.getValue())?this.disconnect():this.connect()},e.prototype.setVolume=function(e){var r=this.connection$.getValue();t.isNullable(r)||(r.remotePlayer.volumeLevel=e,r.remotePlayerController.setVolumeLevel())},e.prototype.setMuted=function(e){var r=this.connection$.getValue();t.isNullable(r)||e!==r.remotePlayer.isMuted&&r.remotePlayerController.muteOrUnmute()},e.prototype.destroy=function(){this.subscription.unsubscribe()},e.prototype.initListeners=function(){var e=this,r=new cast.framework.RemotePlayer,i=new cast.framework.RemotePlayerController(r),a=cast.framework.CastContext.getInstance();this.subscription.add(t.fromEvent(a,cast.framework.CastContextEventType.SESSION_STATE_CHANGED).subscribe((function(r){var i,n;switch(r.sessionState){case cast.framework.SessionState.SESSION_STARTED:case cast.framework.SessionState.SESSION_STARTING:case cast.framework.SessionState.SESSION_RESUMED:e.contentId=null===(n=null===(i=a.getCurrentSession())||void 0===i?void 0:i.getMediaSession())||void 0===n?void 0:n.media.contentId;break;case cast.framework.SessionState.NO_SESSION:case cast.framework.SessionState.SESSION_ENDING:case cast.framework.SessionState.SESSION_ENDED:case cast.framework.SessionState.SESSION_START_FAILED:e.contentId=void 0;break;default:return t.assertNever(r.sessionState)}}))).add(t.merge(t.fromEvent(a,cast.framework.CastContextEventType.CAST_STATE_CHANGED).pipe(t.tap((function(t){e.log({message:"[cast.framework.RemotePlayerEventType.CAST_STATE_CHANGED]: "+JSON.stringify(t)})})),t.map((function(t){return t.castState}))),t.observableFrom([a.getCastState()])).pipe(t.filterChanged(),t.map(T),t.tap((function(t){e.log({message:"realCastState$: "+t})}))).subscribe(this.realCastState$)).add(this.realCastState$.subscribe((function(n){var s,o=n===exports.ChromecastState.CONNECTED,u=t.isNonNullable(e.connection$.getValue());if(o&&!u){var d=a.getCurrentSession();t.assertNonNullable(d);var c=d.getCastDevice(),l=null===(s=d.getMediaSession())||void 0===s?void 0:s.media.contentId;(t.isNullable(l)||l===e.contentId)&&(e.log({message:"connection created"}),e.connection$.next({remotePlayer:r,remotePlayerController:i,session:d,castDevice:c}))}else!o&&u&&(e.log({message:"connection destroyed"}),e.connection$.next(void 0));e.castState$.next(n===exports.ChromecastState.CONNECTED?t.isNonNullable(e.connection$.getValue())?exports.ChromecastState.CONNECTED:exports.ChromecastState.AVAILABLE:n)})))},e.prototype.initializeCastApi=function(){var t,e,r,i;try{e=cast.framework.CastContext.getInstance(),r=chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,i=chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED}catch(t){return}try{e.setOptions({receiverApplicationId:null!==(t=this.params.receiverApplicationId)&&void 0!==t?t:r,autoJoinPolicy:i}),this.initListeners()}catch(t){this.errorEvent$.next({id:"ChromecastInitializer",message:"[initializeCastApi] failed",thrown:t})}},e}(),T=function(e){switch(e){case cast.framework.CastState.NO_DEVICES_AVAILABLE:return exports.ChromecastState.NOT_AVAILABLE;case cast.framework.CastState.NOT_CONNECTED:return exports.ChromecastState.AVAILABLE;case cast.framework.CastState.CONNECTING:return exports.ChromecastState.CONNECTING;case cast.framework.CastState.CONNECTED:return exports.ChromecastState.CONNECTED;default:return t.assertNever(e)}};!function(t){t.VIDEO="video",t.AUDIO="audio",t.TEXT="text"}(S||(S={})),function(t){t.NONE="none",t.DOWNLOADING="downloading",t.DOWNLOADED="downloaded",t.FED="fed"}(b||(b={}));var E,P,k=function(t){return p(void 0,void 0,void 0,(function(){var e,r,i;return h(this,(function(a){switch(a.label){case 0:e=t.muted,a.label=1;case 1:return a.trys.push([1,3,,8]),[4,t.play()];case 2:return a.sent(),[3,8];case 3:if((r=a.sent())instanceof DOMException&&(20===r.code||"AbortError"===r.name))return[2,!1];if(e)return console.warn(r),[2,!1];t.muted=!0,a.label=4;case 4:return a.trys.push([4,6,,7]),[4,t.play()];case 5:return a.sent(),[3,7];case 6:return i=a.sent(),t.muted=!1,console.warn(i),[2,!1];case 7:return[3,8];case 8:return[2,!0]}}))}))},w=function(e,r,i,a){var n=void 0===a?{}:a,s=n.equal,o=void 0===s?function(t,e){return t===e}:s,u=n.changed$,d=n.onError,c=e.getState(),l=r(),p=t.isNullable(u),h=new t.Subscription;return u&&h.add(u.subscribe((function(t){var r=e.getState();o(t,r)&&e.setState(t)}),d)),o(l,c)||(i(c),p&&e.setState(c)),h.add(e.stateChangeStarted$.subscribe((function(t){i(t.to),p&&e.setState(t.to)}),d)),h},x=function(e,r,i){return w(r,(function(){return e.loop}),(function(r){t.isNonNullable(r)&&(e.loop=r)}),{onError:i})},A=function(e,r,i,a){return w(r,(function(){return{muted:e.muted,volume:e.volume}}),(function(r){t.isNonNullable(r)&&(e.muted=r.muted,e.volume=r.volume)}),{equal:function(t,e){return t===e||(null==t?void 0:t.muted)===(null==e?void 0:e.muted)&&(null==t?void 0:t.volume)===(null==e?void 0:e.volume)},changed$:i,onError:a})},N=function(t,e){if(t.id===e)return!0;var r=v(e.split("|"),3);r[0];var i=r[1],a=r[2];return t.language===i&&t.label===a},$=function(){function e(){this.available$=new t.Subject,this.current$=new t.ValueSubject(void 0),this.error$=new t.Subject,this.subscription=new t.Subscription,this.externalTracks=new Map}return e.prototype.connect=function(e,r,i){var a=this;this.video=e,this.cueSettings=r.textTrackCuesSettings,this.subscribe();var n=function(t){a.error$.next({id:"TextTracksManager",message:"Generic HtmlVideoTextTrackManager error",thrown:t})};this.subscription.add(this.available$.subscribe(i.availableTextTracks$)),this.subscription.add(this.current$.subscribe(i.currentTextTrack$)),this.subscription.add(this.error$.subscribe(i.error$)),this.subscription.add(w(r.externalTextTracks,(function(){return Object.values(a.externalTracks)}),(function(e){t.isNonNullable(e)&&a.setExternal(e)}),{equal:function(e,r){return t.isNonNullable(e)&&t.isNonNullable(r)&&e.length===r.length&&e.every((function(t,e){return t.id===r[e].id}))},changed$:this.available$.pipe(t.map((function(t){return t.filter((function(t){return"external"===t.type}))}))),onError:n})),this.subscription.add(w(r.currentTextTrack,(function(){if(!a.video){var t=a.htmlTextTracksAsArray().find((function(t){return"showing"===t.mode}));return t&&a.htmlTextTrackToITextTrack(t).id}}),(function(t){return a.select(t)}),{changed$:this.current$,onError:n})),this.subscription.add(w(r.textTrackCuesSettings,(function(){return{}}),(function(){var t,e;if(a.video)try{for(var r=f(a.htmlTextTracksAsArray()),i=r.next();!i.done;i=r.next()){var n=i.value;a.applyCueSettings(n.cues),a.applyCueSettings(n.activeCues)}}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}})))},e.prototype.subscribe=function(){var e=this;t.assertNonNullable(this.video);var r=this.video.textTracks;this.subscription.add(t.fromEvent(r,"addtrack").subscribe((function(){var t=e.current$.getValue();e.select(t)}))),this.subscription.add(t.merge(t.fromEvent(r,"addtrack"),t.fromEvent(r,"removetrack"),t.observableFrom(["init"])).pipe(t.map((function(){return e.htmlTextTracksAsArray().map((function(t){return e.htmlTextTrackToITextTrack(t)}))})),t.filterChanged((function(t,e){return t.length===e.length&&t.every((function(t,r){return t.id===e[r].id}))}))).subscribe(this.available$)),this.subscription.add(t.merge(t.fromEvent(r,"change"),t.observableFrom(["init"])).pipe(t.map((function(){return e.htmlTextTracksAsArray().find((function(t){return"showing"===t.mode}))})),t.map((function(t){return t&&e.htmlTextTrackToITextTrack(t).id})),t.filterChanged()).subscribe(this.current$));var i=function(t){var r,i;return e.applyCueSettings(null!==(i=null===(r=t.target)||void 0===r?void 0:r.activeCues)&&void 0!==i?i:null)};this.subscription.add(t.fromEvent(r,"addtrack").subscribe((function(t){var r,a;null===(r=t.track)||void 0===r||r.addEventListener("cuechange",i);var n=function(t){var r,i,a,s,o,u=null!==(i=null===(r=t.target)||void 0===r?void 0:r.cues)&&void 0!==i?i:null;u&&u.length&&(e.applyCueSettings(null!==(s=null===(a=t.target)||void 0===a?void 0:a.cues)&&void 0!==s?s:null),null===(o=t.target)||void 0===o||o.removeEventListener("cuechange",n))};null===(a=t.track)||void 0===a||a.addEventListener("cuechange",n)}))),this.subscription.add(t.fromEvent(r,"removetrack").subscribe((function(t){var e;null===(e=t.track)||void 0===e||e.removeEventListener("cuechange",i)})))},e.prototype.applyCueSettings=function(e){var r,i;if(e&&e.length){var a=this.cueSettings.getState();try{for(var n=f(Array.from(e)),s=n.next();!s.done;s=n.next()){var o=s.value;t.isNonNullable(a.align)&&(o.align=a.align),t.isNonNullable(a.position)&&(o.position=a.position),t.isNonNullable(a.size)&&(o.size=a.size),t.isNonNullable(a.line)&&(o.line=a.line)}}catch(t){r={error:t}}finally{try{s&&!s.done&&(i=n.return)&&i.call(n)}finally{if(r)throw r.error}}}},e.prototype.htmlTextTracksAsArray=function(r){void 0===r&&(r=!1),t.assertNonNullable(this.video);var i=m([],v(this.video.textTracks),!1);return r?i:i.filter(e.isHealthyTrack)},e.prototype.htmlTextTrackToITextTrack=function(t){var e=t.language,r=t.label,i=""!==t.id?t.id:function(t){return["__",t.language,t.label].join("|")}(t);return this.externalTracks.has(i)?{id:i,type:"external",language:e,label:r,url:this.externalTracks.get(i).url}:{id:i,type:"internal",language:e,label:r}},e.isHealthyTrack=function(t){return"metadata"!==t.kind&&(""!==t.id||""!==t.label||""!==t.language)},e.prototype.setExternal=function(t){var e=this;t.filter((function(t){var r=t.id;return!e.externalTracks.has(r)})).forEach((function(t){return e.attach(t)})),Array.from(this.externalTracks.keys()).filter((function(e){return!t.find((function(t){return t.id===e}))})).forEach((function(t){return e.detach(t)}))},e.prototype.select=function(e){var r,i;t.assertNonNullable(this.video);try{for(var a=f(this.htmlTextTracksAsArray(!0)),n=a.next();!n.done;n=a.next()){var s=n.value;t.isNonNullable(e)&&N(s,e)?s.mode="showing":s.mode="disabled"}}catch(t){r={error:t}}finally{try{n&&!n.done&&(i=a.return)&&i.call(a)}finally{if(r)throw r.error}}},e.prototype.destroy=function(){var t,e;if(this.subscription.unsubscribe(),this.video)try{for(var r=f(Array.from(this.video.getElementsByTagName("track"))),i=r.next();!i.done;i=r.next()){var a=i.value,n=a.getAttribute("id");n&&this.externalTracks.has(n)&&this.video.removeChild(a)}}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}this.externalTracks.clear()},e.prototype.attach=function(e){t.assertNonNullable(this.video);var r=document.createElement("track");r.setAttribute("src",e.url),r.setAttribute("id",e.id),e.label&&r.setAttribute("label",e.label),e.language&&r.setAttribute("srclang",e.language),this.externalTracks.set(e.id,e),this.video.appendChild(r)},e.prototype.detach=function(e){t.assertNonNullable(this.video);var r=Array.prototype.find.call(this.video.getElementsByTagName("track"),(function(t){return t.getAttribute("id")===e}));r&&this.video.removeChild(r),this.externalTracks.delete(e)},e}(),D=function(t){var e=document.createElement("video");return e.setAttribute("crossorigin","anonymous"),e.setAttribute("playsinline","playsinline"),t.appendChild(e),e},_=function(e){return new t.Observable((function(r){var i=0;return(new t.Subscription).add(t.fromEvent(e,"loadstart").subscribe((function(){i=Date.now()}))).add(t.fromEvent(e,"loadeddata").subscribe((function(){r.next(Date.now()-i)})))})).pipe(t.once())},I=function(){function t(t){this._buffer=[],this._source=t}return t.prototype.fill=function(){this._buffer=[];for(var t=this._source.currentTime,e=0,r=this._source.buffered.length;e<r;e++){var i=this._source.buffered.start(e),a=this._source.buffered.end(e);i>t&&i-t<3&&(i=t),this._buffer.push({start:i,end:a,i:e})}return this._buffer.sort((function(t,e){return t.start-e.start})),this._buffer},t.prototype.getByTime=function(t){return this._buffer.find((function(e){return t>=e.start&&t<e.end}))},t.prototype.getNextWithGap=function(t,e){var r=this.getNext(t);if(r&&r.start-t.end<(e||3))return r},t.prototype.getNext=function(t){var e=this._buffer.indexOf(t);if(~e&&this._buffer.length-1>e)return this._buffer[++e]},t.prototype.smartRemove=function(t,e,r){this._buffer.forEach((function(i){var a=i.start,n=i.end,s=a>=t&&a<e,o=n>=t&&n<e;s&&o||(s?r(e,n):o?r(a,t):a<t&&n>e?(r(e,n),r(a,t)):r(a,n))}))},t.prototype.destroy=function(){this._buffer=[]},t}(),R=function(t,e,r){void 0===r&&(r=3);for(var i=0,a=0,n=0;n<t.length;n++){var s=t.start(n),o=t.end(n);if(s<=e&&e<=o){if(i=s,a=o,!r)return{start:i,end:a};for(var u=n-1;u>=0;u--)t.end(u)+r>=i&&(i=t.start(u));for(var d=n+1;d<t.length;d++)t.start(d)-r<=a&&(a=t.end(d))}}return{start:i,end:a}},C=function(e){return new t.Observable((function(r){var i=0;return(new t.Subscription).add(t.fromEvent(e,"loadstart").subscribe((function(){i=Date.now()}))).add(t.fromEvent(e,"loadedmetadata").subscribe((function(){r.next(Date.now()-i)})))})).pipe(t.once())},L=function(e){var r=function(r,i){return void 0===i&&(i=function(){}),t.fromEvent(e,r).pipe(t.map(i))},i=t.merge.apply(void 0,m([],v(["waiting","pause","canplay","canplaythrough","playing","seeked","ended"].map((function(r){return t.fromEvent(e,r)}))),!1)).pipe(t.map((function(){return e.readyState<3})),t.filterChanged()),a=t.merge(t.fromEvent(e,"progress"),t.fromEvent(e,"timeupdate")).pipe(t.map((function(){return R(e.buffered,e.currentTime)}))),n=t.fromEvent(e,"volumechange").pipe(t.debounce(0),t.map((function(){return{muted:e.muted,volume:e.volume}}))),s=t.fromEvent(e,"error").pipe(t.map((function(){var t=e.error;return{id:t?"MediaError#"+t.code:"HtmlVideoError",message:t?t.message:"Error event from HTML video element"}})));return{play$:r("play"),pause$:r("pause"),canplay$:r("canplay"),ended$:r("ended"),error$:s,seeked$:r("seeked"),seeking$:r("seeking"),progress$:r("progress"),loadedMetadata$:r("loadedmetadata"),loadedData$:r("loadeddata"),timeUpdate$:r("timeupdate",(function(){return e.currentTime})),durationChange$:r("durationchange",(function(){return e.duration})),isBuffering$:i,currentBuffer$:a,volumeState$:n,firstBytes$:C(e),firstFrame$:_(e)}},O=function(t,e,r){void 0===r&&(r=!1);var i=t.getTransition();!r&&i&&i.to!==e||t.setState(e)};exports.VideoQuality=void 0,(E=exports.VideoQuality||(exports.VideoQuality={})).INVARIANT="Invariant quality",E.Q_144P="144p",E.Q_240P="240p",E.Q_360P="360p",E.Q_480P="480p",E.Q_720P="720p",E.Q_1080P="1080p",E.Q_1440P="1440p",E.Q_2160P="2160p",E.Q_4320P="4320p";var M,V=((P={})[exports.VideoQuality.Q_144P]=144,P[exports.VideoQuality.Q_240P]=240,P[exports.VideoQuality.Q_360P]=360,P[exports.VideoQuality.Q_480P]=480,P[exports.VideoQuality.Q_720P]=720,P[exports.VideoQuality.Q_1080P]=1080,P[exports.VideoQuality.Q_1440P]=1440,P[exports.VideoQuality.Q_2160P]=2160,P[exports.VideoQuality.Q_4320P]=4320,P),B=function(t,e){return V[t]>V[e]},U=function(t,e){return V[t]<V[e]},F=Object.keys(V).sort((function(t,e){return U(t,e)?-1:1})),q=function(t,e){var r=t.width,i=t.height;return function(t,e){return void 0===e&&(e=.02),m([],v(F),!1).find((function(r){return V[r]*(1+e)>=t}))}(Math.min(r,i),e)},H=function(t){return t===exports.VideoQuality.INVARIANT},G=!1,Y={},j=function(t){t(Y)},z=function(t,e){var r;G&&(Y.meta=null!==(r=Y.meta)&&void 0!==r?r:{},Y.meta[t]=e)},Q=function(){function t(t){this.name=t}return t.prototype.next=function(t){var e,r;if(G){Y.series=null!==(e=Y.series)&&void 0!==e?e:{};var i=null!==(r=Y.series[this.name])&&void 0!==r?r:[];i.push([Date.now(),t]),Y.series[this.name]=i}},t}(),W=new Q("best_bitrate"),J=function(e,r){var i,a,n=r.container,s=r.throughput,o=r.tuning,u=r.forwardBufferHealth,d=o.usePixelRatio&&null!==(i=window.devicePixelRatio)&&void 0!==i?i:1,c=o.limitByContainer&&n&&n.width>0&&n.height>0&&{width:n.width*d*o.containerSizeFactor,height:n.height*d*o.containerSizeFactor},l=c&&q(c,0),p=e.filter((function(t){return!H(t.quality)})).sort((function(t,e){return B(t.quality,e.quality)?-1:1})),h=p.filter((function(e){var r,i,a,n=!l||U(e.quality,l),d=!(t.isNonNullable(s)&&isFinite(s)&&t.isNonNullable(e.bitrate))||s>=e.bitrate*(r=null!=u?u:.5,i=o.bitrateFactorAtEmptyBuffer,a=o.bitrateFactorAtFullBuffer,(i-a)*Math.pow(2,-10*r)+a);return n&&d}))[0];return h&&h.bitrate&&W.next(h.bitrate),null!==(a=null!=h?h:p[p.length-1])&&void 0!==a?a:e[0]},K=function(t,e){for(var r=0,i=0;i<t.length;i++){var a=1e3*t.start(i),n=1e3*t.end(i);a<=e&&e<=n&&(r=n)}return Math.max(r-e,0)},X=function(t){return new URL(t).hostname},Z=function(e,r){return void 0===r&&(r=300),window.ResizeObserver?new t.Observable((function(i){var a=new ResizeObserver(u.default((function(e){var r,a,n=e[0];n&&(n.contentBoxSize&&n.contentBoxSize[0]?(a=n.contentBoxSize[0].blockSize,r=n.contentBoxSize[0].inlineSize):n.contentRect&&(r=n.contentRect.width,a=n.contentRect.height),t.isNonNullable(r)&&t.isNonNullable(a)&&i.next({width:r,height:a}))}),r));return a.observe(e),function(){return a.disconnect()}})):new t.Observable((function(t){var r=e.getBoundingClientRect(),i=r.width,a=r.height;t.next({width:i,height:a})}))},tt=function(){function e(e){this.transitionStarted$=new t.Subject,this.transitionEnded$=new t.Subject,this.transitionUpdated$=new t.Subject,this.forceChanged$=new t.Subject,this.stateChangeStarted$=t.merge(this.transitionStarted$,this.transitionUpdated$),this.stateChangeEnded$=t.merge(this.transitionEnded$,this.forceChanged$),this.state=e}return e.prototype.setState=function(t){var e=this.transition,r=this.state;this.transition=void 0,this.state=t,e?e.to===t?this.transitionEnded$.next(e):this.forceChanged$.next({from:e.from,to:t,canceledTransition:e}):this.forceChanged$.next({from:r,to:t,canceledTransition:e})},e.prototype.startTransitionTo=function(e){var r=this.transition,i=this.state;i===e||t.isNonNullable(r)&&r.to===e||(this.state=e,r?(this.transition={from:r.from,to:e,canceledTransition:r},this.transitionUpdated$.next(this.transition)):(this.transition={from:i,to:e},this.transitionStarted$.next(this.transition)))},e.prototype.getTransition=function(){return this.transition},e.prototype.getState=function(){return this.state},e}();!function(t){t[t.HEADER=0]="HEADER",t[t.PARAM=1]="PARAM"}(M||(M={}));var et,rt,it,at=function(e,r,i,a,n,s){return void 0===a&&(a=M.HEADER),p(void 0,void 0,void 0,(function(){var o,u,d,c,f,m,S,b,g,y,T,E,P,k,w,x,A,N,$,D,_,I,R;return h(this,(function(C){switch(C.label){case 0:switch(o=new Headers(null===(A=null==s?void 0:s.fetchInit)||void 0===A?void 0:A.headers),u=e,a){case M.HEADER:o.append("Range",r+"-"+i);break;case M.PARAM:(d=new URL(u,location.href)).searchParams.append("bytes",r+"-"+i),u=d.toString();break;default:t.assertNever(a)}return c=null!==(N=null===performance||void 0===performance?void 0:performance.now())&&void 0!==N?N:Date.now(),[4,fetch(u,l(l({},null!==($=null==s?void 0:s.fetchInit)&&void 0!==$?$:{}),{headers:o}))];case 1:return f=C.sent(),m=null!==(D=null===performance||void 0===performance?void 0:performance.now())&&void 0!==D?D:Date.now(),null===(_=null==s?void 0:s.throughputEstimator)||void 0===_||_.addRawRtt(m-c),f.ok&&f.body?(S=v(f.body.tee(),2),b=S[0],g=S[1],y=b.getReader(),null===(I=null==s?void 0:s.throughputEstimator)||void 0===I||I.trackStream(g),T=parseInt(null!==(R=f.headers.get("Content-Length"))&&void 0!==R?R:"",10),E=0,P=new ArrayBuffer(T),k=new Uint8Array(P),w=new DataView(P),x=function(t){var e=t.done,r=t.value;return p(void 0,void 0,void 0,(function(){return h(this,(function(t){switch(t.label){case 0:return e?(null==n||n(w,E),[3,3]):[3,1];case 1:return r?(k.set(r,E),E+=r.byteLength,null==n||n(w,E),[4,null==y?void 0:y.read().then(x)]):[3,3];case 2:t.sent(),t.label=3;case 3:return[2]}}))}))},[4,null==y?void 0:y.read().then(x)]):[2,Promise.reject(new Error("Fetch error "+f.status+": "+f.statusText))];case 2:return C.sent(),[2,P]}}))}))},nt=function(t){if(!(t instanceof DOMException)||"AbortError"!==t.name&&20!==t.code)throw t};!function(t){t[t.EBML=440786851]="EBML",t[t.EBMLVersion=17030]="EBMLVersion",t[t.EBMLReadVersion=17143]="EBMLReadVersion",t[t.EBMLMaxIDLength=17138]="EBMLMaxIDLength",t[t.EBMLMaxSizeLength=17139]="EBMLMaxSizeLength",t[t.DocType=17026]="DocType",t[t.DocTypeVersion=17031]="DocTypeVersion",t[t.DocTypeReadVersion=17029]="DocTypeReadVersion",t[t.Void=236]="Void",t[t.Segment=408125543]="Segment",t[t.SeekHead=290298740]="SeekHead",t[t.Seek=19899]="Seek",t[t.SeekID=21419]="SeekID",t[t.SeekPosition=21420]="SeekPosition",t[t.Info=357149030]="Info",t[t.TimestampScale=2807729]="TimestampScale",t[t.Duration=17545]="Duration",t[t.Tracks=374648427]="Tracks",t[t.Chapters=272869232]="Chapters",t[t.Cluster=524531317]="Cluster",t[t.Attachments=423732329]="Attachments",t[t.Tags=307544935]="Tags",t[t.Cues=475249515]="Cues",t[t.CuePoint=187]="CuePoint",t[t.CueTime=179]="CueTime",t[t.CueTrackPositions=183]="CueTrackPositions",t[t.CueTrack=247]="CueTrack",t[t.CueClusterPosition=241]="CueClusterPosition",t[t.CueRelativePosition=240]="CueRelativePosition",t[t.CueDuration=178]="CueDuration",t[t.CueBlockNumber=21368]="CueBlockNumber",t[t.CueCodecState=234]="CueCodecState",t[t.CueReference=219]="CueReference",t[t.CueRefTime=150]="CueRefTime"}(rt||(rt={})),function(t){t.SignedInteger="int",t.UnsignedInteger="uint",t.Float="float",t.String="string",t.UTF8="utf8",t.Date="date",t.Master="master",t.Binary="binary"}(it||(it={}));var st,ot=((et={})[rt.EBML]={type:it.Master},et[rt.EBMLVersion]={type:it.UnsignedInteger},et[rt.EBMLReadVersion]={type:it.UnsignedInteger},et[rt.EBMLMaxIDLength]={type:it.UnsignedInteger},et[rt.EBMLMaxSizeLength]={type:it.UnsignedInteger},et[rt.DocType]={type:it.String},et[rt.DocTypeVersion]={type:it.UnsignedInteger},et[rt.DocTypeReadVersion]={type:it.UnsignedInteger},et[rt.Void]={type:it.Binary},et[rt.Segment]={type:it.Master},et[rt.SeekHead]={type:it.Master},et[rt.Seek]={type:it.Master},et[rt.SeekID]={type:it.Binary},et[rt.SeekPosition]={type:it.UnsignedInteger},et[rt.Info]={type:it.Master},et[rt.TimestampScale]={type:it.UnsignedInteger},et[rt.Duration]={type:it.Float},et[rt.Tracks]={type:it.Master},et[rt.Chapters]={type:it.Master},et[rt.Cluster]={type:it.Master},et[rt.Attachments]={type:it.Master},et[rt.Tags]={type:it.Master},et[rt.Cues]={type:it.Master},et[rt.CuePoint]={type:it.Master},et[rt.CueTime]={type:it.UnsignedInteger},et[rt.CueTrackPositions]={type:it.Master},et[rt.CueTrack]={type:it.UnsignedInteger},et[rt.CueClusterPosition]={type:it.UnsignedInteger},et[rt.CueRelativePosition]={type:it.UnsignedInteger},et[rt.CueDuration]={type:it.UnsignedInteger},et[rt.CueBlockNumber]={type:it.UnsignedInteger},et[rt.CueCodecState]={type:it.UnsignedInteger},et[rt.CueReference]={type:it.Master},et[rt.CueRefTime]={type:it.UnsignedInteger},et),ut=function(t){var e=t.getUint8(0),r=0;128&e?r=1:64&e?r=2:32&e?r=3:16&e&&(r=4);var i=dt(t,r),a=i in ot,n=a?ot[i].type:it.Binary,s=t.getUint8(r),o=0;128&s?o=1:64&s?o=2:32&s?o=3:16&s?o=4:8&s?o=5:4&s?o=6:2&s?o=7:1&s&&(o=8);var u,d=new DataView(t.buffer,t.byteOffset+r+1,o-1),c=((s&255>>o)<<8*(o-1))+dt(d),l=r+o;return u=l+c>t.byteLength?new DataView(t.buffer,t.byteOffset+l):new DataView(t.buffer,t.byteOffset+l,c),{tag:a?i:"0x"+i.toString(16).toUpperCase(),type:n,value:u,valueSize:c}},dt=function(t,e){switch(void 0===e&&(e=t.byteLength),e){case 1:return t.getUint8(0);case 2:return t.getUint16(0);case 3:return t.getUint16(0)<<8|t.getUint8(2);case 4:return t.getUint32(0);case 5:return t.getUint32(0)<<8|t.getUint8(4);case 6:return t.getUint32(0)<<16|t.getUint16(4);case 7:return t.getUint32(0)<<32|t.getUint16(4)<<8|t.getUint8(6);case 8:return t.getUint32(0)<<32|t.getUint32(4)}return 0},ct=function(e,r){switch(r){case it.SignedInteger:return e.getInt8(0);case it.UnsignedInteger:return dt(e);case it.Float:return 4===e.byteLength?e.getFloat32(0):e.getFloat64(0);case it.String:return new TextDecoder("ascii").decode(e);case it.UTF8:return new TextDecoder("utf-8").decode(e);case it.Date:return new Date(Date.UTC(2001,0)+e.getInt8(0)).getTime();case it.Master:case it.Binary:return e;default:t.assertNever(r)}},lt=function(t,e){for(var r=0;r<t.byteLength;){var i=new DataView(t.buffer,t.byteOffset+r),a=ut(i);if(!e(a))return;a.type===it.Master&&lt(a.value,e),r=a.value.byteOffset-t.byteOffset+a.valueSize}},pt=[rt.Info,rt.SeekHead,rt.Tracks,rt.Chapters,rt.Cluster,rt.Cues,rt.Attachments,rt.Tags],ht=function(t,e,r){return void 0===e&&(e=0),p(void 0,void 0,void 0,(function(){var i,a,n,s,o,u,d,c,l,p,f,v,m,S,b;return h(this,(function(h){switch(h.label){case 0:return i=t.initRange,a=i.from,n=i.to,s=a,o=n,u=!1,t.indexRange&&(d=t.indexRange.from,c=t.indexRange.to,(u=n+1===d)&&(s=Math.min(d,a),o=Math.max(c,n))),s=Math.min(s,0),o+=e,[4,at(t.url,s,o,M.PARAM,void 0,{throughputEstimator:r})];case 1:if(l=h.sent(),!function(t){if(t.getUint32(0)!==rt.EBML)return!1;var e=void 0,r=void 0,i=void 0,a=ut(t);return lt(a.value,(function(t){var a=t.tag,n=t.type,s=t.value;return a===rt.EBMLReadVersion?e=ct(s,n):a===rt.DocType?r=ct(s,n):a===rt.DocTypeReadVersion&&(i=ct(s,n)),!0})),(void 0===e||e<=1)&&void 0!==r&&"webm"===r&&(void 0===i||i<=2)}(p=new DataView(l,a-s,n-s)))throw new Error("Not a valid webm file");return f=ft(p),u&&void 0!==d&&void 0!==c?(v=new DataView(l,d-s,c-d),[3,5]):[3,2];case 2:return void 0===f.cuesSeekPosition?[3,4]:(m=f.segmentStart+f.cuesSeekPosition,1048576,[4,at(t.url,m,m+1048576,M.PARAM)]);case 3:return S=h.sent(),v=new DataView(S),[3,5];case 4:throw new ReferenceError("No way to load representation index");case 5:return b=vt(v,f),[2,{dataView:new DataView(l),init:f,segments:b}]}}))}))},ft=function(e){var r=void 0,i=void 0,a=void 0,n=void 0,s=!1,o=!1,u=!1,d=void 0,c=void 0;return lt(e,(function(t){var e=t.tag,l=t.type,p=t.value,h=t.valueSize;if(e===rt.SeekID){var f=ct(p,l);c=dt(f)}else e!==rt.SeekPosition&&(c=void 0);return e===rt.Segment?(r=p.byteOffset,i=p.byteOffset+h):e===rt.Info?s=!0:e===rt.SeekHead?o=!0:e===rt.TimestampScale?a=ct(p,l):e===rt.Duration?n=ct(p,l):e===rt.SeekPosition&&c===rt.Cues?d=ct(p,l):s&&o&&pt.includes(e)&&(u=!0),!u})),t.assertNonNullable(r,"Failed to parse webm Segment start"),t.assertNonNullable(i,"Failed to parse webm Segment end"),t.assertNonNullable(n,"Failed to parse webm Segment duration"),a=null!=a?a:1e6,{segmentStart:Math.round(r/1e9*a*1e3),segmentEnd:Math.round(i/1e9*a*1e3),timeScale:a,segmentDuration:Math.round(n/1e9*a*1e3),cuesSeekPosition:d}},vt=function(e,r){var i,a=!1,n=!1,s=function(e){return t.isNonNullable(e.time)&&t.isNonNullable(e.position)},o=[];return lt(e,(function(t){var e=t.tag,r=t.type,u=t.value;switch(e){case rt.Cues:a=!0;break;case rt.CuePoint:i&&s(i)&&o.push(i),i={};break;case rt.CueTime:i&&(i.time=ct(u,r));break;case rt.CueTrackPositions:break;case rt.CueClusterPosition:i&&(i.position=ct(u,r));break;default:a&&pt.includes(e)&&(n=!0)}return!(a&&n)})),i&&s(i)&&o.push(i),o.map((function(t,e){var i=t.time,a=t.position,n=o[e+1];return{status:b.NONE,time:{from:i,to:n?n.time:r.segmentDuration},byte:{from:r.segmentStart+a,to:n?r.segmentStart+n.position-1:r.segmentEnd-1}}}))},mt=function(){function e(e,r,i,a){var n=a.throughputEstimator,s=a.tuning;this.ended$=new t.ValueSubject(!1),this.playingRepresentation$=new t.ValueSubject(void 0),this.error$=new t.Subject,this.subscription=new t.Subscription,this.abortController=new AbortController,this.allInitsLoaded=!1,this.throughputEstimator=n,this.tuning=s,this.initData=new Map,this.segments=new Map,this.representations=new Map(i.map((function(t){return[t.id,t]}))),this.kind=e,this.mediaSource=r,this.sourceBuffer=null,this.segmentDownloadPromise=Promise.resolve()}return e.prototype.startWith=function(e){return p(this,void 0,void 0,(function(){var r,i,a,n,s,o,u,d,c,p=this;return h(this,(function(h){switch(h.label){case 0:return r=this.representations.get(e),t.assertNonNullable(r,"Cannot find representation "+e),i=Math.ceil(1e3*r.bitrate/8*(this.tuning.extraInitSize/1e3)*1.1),this.playingRepresentationId=e,this.downloadingRepresentationId=e,this.sourceBuffer=this.mediaSource.addSourceBuffer(r.mime+'; codecs="'+r.codecs+'"'),this.subscription.add(t.fromEvent(this.sourceBuffer,"updateEnd").subscribe((function(){return p.checkEjectedSegments()}),(function(t){return p.error$.next({id:"SegmentEjection",message:"Error when trying to clear segments ejecte by browser",thrown:t})}))),this.subscription.add(t.fromEvent(this.sourceBuffer,"error").subscribe((function(t){return p.error$.next({id:"SourceBuffer",message:"SourceBuffer Error event fired",thrown:t})}))),[4,ht(r,i,this.throughputEstimator)];case 1:return a=h.sent(),n=a.dataView,s=a.segments,o=n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength-i),this.initData.set(e,o),u=s.filter((function(t){return t.byte.from>=n.byteOffset&&t.byte.to<n.byteOffset+n.byteLength})),d=u.at(-1),c=new DataView(n.buffer,n.byteOffset,u.length&&d?Math.min(d.byte.to-n.byteOffset+1,n.byteLength):n.byteLength-i),[4,this.appendDataToBuffer(c)];case 2:return h.sent(),this.segments.set(e,s.map((function(t){return l(l({},t),{status:t.byte.from>=n.byteOffset&&t.byte.to<n.byteOffset+n.byteLength?b.FED:b.NONE})}))),this.maintain(0),[2]}}))}))},e.prototype.switchTo=function(e){var r;return p(this,void 0,void 0,(function(){var i,a,n,s,o,u;return h(this,(function(d){switch(d.label){case 0:return e===this.downloadingRepresentationId?[2]:this.initData.has(e)?[3,4]:this.loadAllInitsPromise?[4,this.loadAllInitsPromise]:[3,2];case 1:return d.sent(),[3,4];case 2:return i=this.representations.get(e),t.assertNonNullable(i),[4,ht(i)];case 3:a=d.sent(),n=a.dataView,s=a.segments,o=n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength),this.initData.set(e,o),this.segments.set(e,s),d.label=4;case 4:u=this.initData.get(e),t.assertNonNullable(u,"No init buffer for "+e),t.assertNonNullable(this.sourceBuffer),this.abortController.abort(),this.abortController=new AbortController;try{this.sourceBuffer.abort()}catch(t){this.error$.next({id:"SourceBufferAbort",message:"SourceBuffer.abort() threw",thrown:t})}return[4,this.appendDataToBuffer(u,this.abortController.signal)];case 5:return d.sent(),t.isNonNullable(this.playingRepresentationId)&&(null===(r=this.segments.get(this.playingRepresentationId))||void 0===r||r.forEach((function(t){t.status===b.FED&&(t.status=b.NONE)}))),this.downloadingRepresentationId=e,[2]}}))}))},e.prototype.maintain=function(e){return p(this,void 0,void 0,(function(){var r,i,a,n,s,o,u,d=this;return h(this,(function(c){switch(c.label){case 0:return t.isNullable(this.downloadingRepresentationId)||t.isNullable(this.playingRepresentationId)||t.isNullable(this.sourceBuffer)||this.ended$.getValue()?[2]:(r=this.representations.get(this.downloadingRepresentationId),i=this.segments.get(this.downloadingRepresentationId),t.assertNonNullable(r),t.assertNonNullable(i),a=i.find((function(t){return e>=t.time.from&&e<t.time.to})),n=e,this.playingRepresentationId!==this.downloadingRepresentationId&&(s=K(this.sourceBuffer.buffered,e),n=e+Math.min(s,this.tuning.representationSwitchForwardBufferGap)),(o=this.selectForwardBufferSegments(i,n)).length?[4,this.loadSegments(o,r)]:[3,2]);case 1:c.sent(),c.label=2;case 2:return this.allInitsLoaded||this.loadAllInitsPromise||!a||a.status!==b.FED||o.length||this.loadAllInits().catch((function(t){return d.error$.next({id:"InitDownload",message:"Error when trying to load all inits",thrown:t})})),(u=i.at(-1))&&a===u&&u.status===b.FED&&this.ended$.next(!0),[2]}}))}))},e.prototype.destroy=function(){this.initData.clear(),this.segments.clear(),this.representations.clear(),this.subscription.unsubscribe(),this.sourceBuffer&&"open"===this.mediaSource.readyState&&(this.sourceBuffer.abort(),this.mediaSource.removeSourceBuffer(this.sourceBuffer)),this.abortController.abort()},e.prototype.selectForwardBufferSegments=function(t,e){var r=this,i=t.findIndex((function(t){var i=t.status,a=t.time,n=a.from,s=a.to;return i===b.NONE&&(n>e||n<=e&&s>=e)&&s<=e+r.tuning.forwardBufferTarget}));if(-1===i)return[];for(var a=0,n=[],s=i;s<t.length&&a<=this.tuning.segmentRequestSize;s++){var o=t[s];if(a+=o.byte.to+1-o.byte.from,o.status===b.NONE)n.push(o);else if([b.DOWNLOADING,b.DOWNLOADED,b.FED].includes(o.status))break}return n},e.prototype.loadSegments=function(t,e){return p(this,void 0,void 0,(function(){var r,i,a,n,s,o,u,d=this;return h(this,(function(c){if(!t.length)return[2];r=t.at(0).byte.from,i=t.at(-1).byte.to;try{for(a=f(t),n=a.next();!n.done;n=a.next())n.value.status=b.DOWNLOADING}catch(t){o={error:t}}finally{try{n&&!n.done&&(u=a.return)&&u.call(a)}finally{if(o)throw o.error}}return s=this.abortController.signal,this.segmentDownloadPromise=this.segmentDownloadPromise.then((function(){return p(d,void 0,void 0,(function(){var a,n,o,u,d,c=this;return h(this,(function(l){switch(l.label){case 0:return[4,at(e.url,r,i,M.PARAM,(function(i,a){var n,o,u=function(t){if(t.status===b.DOWNLOADING&&t.byte.from-r>=0&&t.byte.to+1-r<=a){t.status=b.DOWNLOADED;var n=new DataView(i.buffer,i.byteOffset+t.byte.from-r,t.byte.to+1-t.byte.from);c.appendDataToBuffer(n,s).then((function(){c.playingRepresentationId=e.id,c.playingRepresentation$.next(c.playingRepresentationId),t.status=b.FED}))}};try{for(var d=f(t),l=d.next();!l.done;l=d.next()){u(l.value)}}catch(t){n={error:t}}finally{try{l&&!l.done&&(o=d.return)&&o.call(d)}finally{if(n)throw n.error}}}),{throughputEstimator:this.throughputEstimator,fetchInit:{signal:s}})];case 1:return a=l.sent(),n=t.at(-1),o=null===(d=this.segments.get(e.id))||void 0===d?void 0:d.at(-1),n&&o&&n.status===b.DOWNLOADING&&n===o&&(n.status=b.DOWNLOADED,u=new DataView(a,n.byte.from-r),this.appendDataToBuffer(u,s).then((function(){c.playingRepresentationId=e.id,c.playingRepresentation$.next(c.playingRepresentationId),n.status=b.FED}))),[2]}}))}))})).catch((function(e){var r,i;try{for(var a=f(t),n=a.next();!n.done;n=a.next()){var s=n.value;s.status===b.DOWNLOADING&&(s.status=b.NONE)}}catch(t){r={error:t}}finally{try{n&&!n.done&&(i=a.return)&&i.call(a)}finally{if(r)throw r.error}}nt(e)})).catch((function(t){return d.error$.next({id:"SegmentDownload",message:"Error when fetching segments",thrown:t})})),[2,this.segmentDownloadPromise]}))}))},e.prototype.loadAllInits=function(){return p(this,void 0,void 0,(function(){var t=this;return h(this,(function(e){return this.loadAllInitsPromise||(this.loadAllInitsPromise=Promise.all(Array.from(this.representations.entries()).map((function(e){var r=v(e,2),i=r[0],a=r[1];return t.initData.has(i)?Promise.resolve():ht(a).then((function(e){var r=e.dataView,a=e.segments,n=r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength);t.initData.set(i,n),t.segments.set(i,a)}))}))).then((function(){t.allInitsLoaded=!0})).finally((function(){t.loadAllInitsPromise=null}))),[2,this.loadAllInitsPromise]}))}))},e.prototype.appendDataToBuffer=function(r,i){return p(this,void 0,void 0,(function(){return h(this,(function(a){switch(a.label){case 0:if(t.assertNonNullable(this.sourceBuffer),i&&i.aborted)return[2];if(this.sourceBuffer.updating)return[3,2];try{this.sourceBuffer.appendBuffer(r)}catch(t){this.error$.next({id:"AppendBuffer",message:"Error appending data to buffer",thrown:t})}return[4,e.waitForBufferUpdate(this.sourceBuffer)];case 1:return a.sent(),[3,5];case 2:return[4,e.waitForBufferUpdate(this.sourceBuffer)];case 3:return a.sent(),[4,this.appendDataToBuffer(r,i)];case 4:a.sent(),a.label=5;case 5:return[2]}}))}))},e.prototype.checkEjectedSegments=function(){var e,r;if(!t.isNullable(this.sourceBuffer)&&!t.isNullable(this.playingRepresentationId)){var i=this.segments.get(this.playingRepresentationId);t.assertNonNullable(i);for(var a=[],n=0;n<this.sourceBuffer.buffered.length;n++){var s=1e3*this.sourceBuffer.buffered.start(n),o=this.sourceBuffer.buffered.end(n),u=1e3*(o%1>.9?Math.round(o):o);a.push({from:s,to:u})}var d=function(t){var e=a.some((function(e){return e.from<=t.time.from&&e.to>=t.time.to}));t.status!==b.FED||e||(t.status=b.NONE)};try{for(var c=f(i),l=c.next();!l.done;l=c.next()){d(l.value)}}catch(t){e={error:t}}finally{try{l&&!l.done&&(r=c.return)&&r.call(c)}finally{if(e)throw e.error}}}},e.waitForBufferUpdate=function(t){return p(this,void 0,void 0,(function(){return h(this,(function(e){return[2,new Promise((function(e){return t?t.addEventListener("update",(function(){return e()})):e()}))]}))}))},e}(),St=["timeupdate","progress","play","seeked","stalled"];!function(t){t.NONE="none",t.MANIFEST_LOADED="manifest_loaded",t.REPRESENTATION_SELECTED="representation_selected"}(st||(st={}));var bt,gt=function(){function e(e){var r=this;this.element=null,this.source=null,this.manifest=null,this.subscription=new t.Subscription,this.state$=new tt(st.NONE),this.currentVideoRepresentation$=new t.ValueSubject(void 0),this.error$=new t.Subject,this.forceEnded$=new t.Subject,this.tick=function(){var t,e;if(r.element){var i=1e3*r.element.currentTime;null===(t=r.videoBufferManager)||void 0===t||t.maintain(i),null===(e=r.audioBufferManager)||void 0===e||e.maintain(i)}},this.throughputEstimator=e.throughputEstimator,this.tuning=e.tuning}return e.prototype.initManifest=function(e,r){return p(this,void 0,void 0,(function(){var i,a=this;return h(this,(function(n){switch(n.label){case 0:return this.element=e,this.subscription.add(t.fromEvent(e,"waiting").subscribe((function(){e.duration-e.currentTime<a.tuning.endGapTolerance/1e3&&a.forceEnded$.next()}),(function(t){return a.error$.next({id:"ForceEnd",message:"Error when forcing stream end",thrown:t})}))),this.state$.startTransitionTo(st.MANIFEST_LOADED),[4,(s=r,p(void 0,void 0,void 0,(function(){return h(this,(function(t){switch(t.label){case 0:return[4,fetch(s,null==o?void 0:o.fetchInit)];case 1:return[2,t.sent().text()]}}))}))).catch(nt)];case 1:return i=n.sent(),this.manifest=function(t,e){var r,i,a,n,s,o,u,d,c,l,p,h,m,b,g,y,T,E,P,k,w={representations:{video:[],audio:[],text:[]}},x=(new DOMParser).parseFromString(t,"application/xml").children[0].children[0].children,A=0;try{for(var N=f(x),$=N.next();!$.done;$=N.next()){var D=$.value,_=D.getAttribute("mimeType"),I=D.getAttribute("codecs"),R=null!==(s=D.getAttribute("contentType"))&&void 0!==s?s:null==_?void 0:_.split("/")[0],C=D.querySelectorAll("Representation");try{for(var L=(a=void 0,f(C)),O=L.next();!O.done;O=L.next()){var M=O.value,V=null!==(o=M.getAttribute("mimeType"))&&void 0!==o?o:_,B=null!==(d=null!==(u=M.getAttribute("codecs"))&&void 0!==u?u:I)&&void 0!==d?d:"",U=null!==(l=null!==(c=M.getAttribute("contentType"))&&void 0!==c?c:null==V?void 0:V.split("/")[0])&&void 0!==l?l:R,F=parseInt(null!==(p=M.getAttribute("width"))&&void 0!==p?p:"",10),q=parseInt(null!==(h=M.getAttribute("height"))&&void 0!==h?h:"",10),H=parseInt(null!==(m=M.getAttribute("bandwidth"))&&void 0!==m?m:"",10)/1e3,G=(null!==(b=M.getAttribute("id"))&&void 0!==b?b:(A++).toString(10))+"@"+("video"===U?q+"p":"audio"===U?H+"Kbps":B),Y=null!==(T=null===(y=null===(g=M.querySelector("BaseURL"))||void 0===g?void 0:g.textContent)||void 0===y?void 0:y.trim())&&void 0!==T?T:"",j=new URL(Y,e).toString(),z=v((null!==(P=null===(E=M.querySelector("SegmentBase Initialization"))||void 0===E?void 0:E.getAttribute("range"))&&void 0!==P?P:"").split("-").map((function(t){return parseInt(t,10)})),2),Q={from:z[0],to:z[1]},W=null===(k=M.querySelector("SegmentBase"))||void 0===k?void 0:k.getAttribute("indexRange"),J=v(W?W.split("-").map((function(t){return parseInt(t,10)})):[],2),K=J[0],X=J[1],Z=W?{from:K,to:X}:void 0;if(U&&V){var tt={video:S.VIDEO,audio:S.AUDIO,text:S.TEXT}[U];tt&&w.representations[tt].push({id:G,kind:tt,initRange:Q,indexRange:Z,bitrate:H,mime:V,codecs:B,width:F,height:q,url:j})}}}catch(t){a={error:t}}finally{try{O&&!O.done&&(n=L.return)&&n.call(L)}finally{if(a)throw a.error}}}}catch(t){r={error:t}}finally{try{$&&!$.done&&(i=N.return)&&i.call(N)}finally{if(r)throw r.error}}return w}(null!=i?i:"",r),this.state$.setState(st.MANIFEST_LOADED),[2,this.manifest]}var s,o}))}))},e.prototype.initRepresentations=function(e,r){return p(this,void 0,void 0,(function(){var i,a,n,s,o,u,d=this;return h(this,(function(c){switch(c.label){case 0:return t.assertNonNullable(this.manifest),t.assertNonNullable(this.element),this.state$.startTransitionTo(st.REPRESENTATION_SELECTED),this.source=new MediaSource,this.element.src=URL.createObjectURL(this.source),i={throughputEstimator:this.throughputEstimator,tuning:this.tuning.dash},this.videoBufferManager=new mt(S.VIDEO,this.source,this.manifest.representations.video,i),this.audioBufferManager=new mt(S.AUDIO,this.source,this.manifest.representations.audio,i),this.subscription.add(t.merge(this.forceEnded$,t.combine({video:this.videoBufferManager.ended$,audio:this.audioBufferManager.ended$}).pipe(t.filter((function(t){return Object.values(t).every((function(t){return!0===t}))})))).subscribe((function(){var t,e;if("open"===(null===(t=d.source)||void 0===t?void 0:t.readyState))try{null===(e=d.source)||void 0===e||e.endOfStream()}catch(t){d.error$.next({id:"EndOfStream",message:"Failed to end MediaSource stream",thrown:t})}}))),this.subscription.add(t.merge(this.videoBufferManager.error$,this.audioBufferManager.error$).subscribe(this.error$)),this.subscription.add(this.videoBufferManager.playingRepresentation$.subscribe(this.currentVideoRepresentation$)),"open"===this.source.readyState?[3,2]:[4,new Promise((function(t){var e;return null===(e=d.source)||void 0===e?void 0:e.addEventListener("sourceopen",t)}))];case 1:c.sent(),c.label=2;case 2:return[4,Promise.all([this.videoBufferManager.startWith(e),this.audioBufferManager.startWith(r)])];case 3:c.sent(),this.state$.setState(st.REPRESENTATION_SELECTED);try{for(a=f(St),n=a.next();!n.done;n=a.next())s=n.value,this.subscription.add(t.fromEvent(this.element,s).subscribe(this.tick,(function(t){d.error$.next({id:"DashVKPlayer",message:"Internal logic error",thrown:t})})))}catch(t){o={error:t}}finally{try{n&&!n.done&&(u=a.return)&&u.call(a)}finally{if(o)throw o.error}}return this.tick(),[2]}}))}))},e.prototype.switchRepresentation=function(e,r){return p(this,void 0,void 0,(function(){var i,a;return h(this,(function(n){return i=(a={},a[S.VIDEO]=this.videoBufferManager,a[S.AUDIO]=this.audioBufferManager,a[S.TEXT]=null,a)[e],t.assertNonNullable(i),[2,i.switchTo(r)]}))}))},e.prototype.seek=function(e){t.assertNonNullable(this.element),t.assertNonNullable(this.videoBufferManager),t.assertNonNullable(this.audioBufferManager),this.videoBufferManager.maintain(e),this.audioBufferManager.maintain(e),this.element.currentTime=e/1e3},e.prototype.stop=function(){var t,e;this.element=null,this.source=null,this.manifest=null,this.currentVideoRepresentation$.next(void 0),null===(t=this.videoBufferManager)||void 0===t||t.destroy(),this.videoBufferManager=null,null===(e=this.audioBufferManager)||void 0===e||e.destroy(),this.audioBufferManager=null,this.state$.setState(st.NONE)},e.prototype.destroy=function(){var t,e,r;this.subscription.unsubscribe(),this.stop();try{for(var i=f(St),a=i.next();!a.done;a=i.next()){var n=a.value;null===(r=this.element)||void 0===r||r.removeEventListener(n,this.tick)}}catch(e){t={error:e}}finally{try{a&&!a.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}this.source=null},e}();!function(t){t.STOPPED="stopped",t.READY="ready",t.PLAYING="playing",t.PAUSED="paused"}(bt||(bt={}));var yt,Tt=function(t){var e=t.id,r=t.width,i=t.height,a=t.bitrate,n=q({width:r,height:i});return n&&{id:e,quality:n,bitrate:a,size:{width:r,height:i}}},Et=function(t,e,r){var i,a=Array.from(e).sort((function(t,e){return e.bitrate-t.bitrate})).indexOf(r);return null!==(i=t.at(Math.round(t.length*a/e.length)))&&void 0!==i?i:t.at(-1)},Pt=function(){function e(e){var r=this;this.subscription=new t.Subscription,this.videoState=new tt(bt.STOPPED),this.elementSize$=new t.ValueSubject(void 0),this.textTracksManager=new $,this.videoTracks=[],this.syncPlayback=function(){var e=r.videoState.getState(),i=r.params.desiredState.playbackState.getState(),a=r.params.desiredState.playbackState.getTransition(),n=r.params.desiredState.seekPosition.getTransition();if(!r.videoState.getTransition()){var s=null==n?void 0:n.to;if((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&t.isNonNullable(s)&&e!==bt.STOPPED&&i!==exports.PlaybackState.STOPPED&&r.seek(s),i!==exports.PlaybackState.STOPPED){if(e===bt.STOPPED)return r.videoState.startTransitionTo(bt.READY),void r.prepare();switch(e){case bt.READY:return void(i===exports.PlaybackState.PAUSED?(r.videoState.setState(bt.PAUSED),O(r.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):i===exports.PlaybackState.PLAYING&&(r.videoState.startTransitionTo(bt.PLAYING),r.playIfAllowed()));case bt.PLAYING:return void(i===exports.PlaybackState.PAUSED?(r.videoState.startTransitionTo(bt.PAUSED),r.video.pause()):(null==a?void 0:a.to)===exports.PlaybackState.PLAYING&&O(r.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case bt.PAUSED:return void(i===exports.PlaybackState.PLAYING?(r.videoState.startTransitionTo(bt.PLAYING),r.playIfAllowed()):(null==a?void 0:a.to)===exports.PlaybackState.PAUSED&&O(r.params.desiredState.playbackState,exports.PlaybackState.PAUSED));default:return t.assertNever(e)}}else e!==bt.STOPPED&&(r.videoState.startTransitionTo(bt.STOPPED),r.player.stop(),r.video.setAttribute("src",""),r.video.load(),r.params.output.position$.next(0),r.params.output.duration$.next(1/0),r.params.output.currentBuffer$.next(void 0),r.params.output.hostname$.next(void 0),r.videoState.setState(bt.STOPPED),O(r.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))}},this.params=e,this.video=D(this.params.container),this.params.output.element$.next(this.video),this.params.output.availableVideoTracks$.next([]),this.params.output.hostname$.next(X(this.params.source.url)),this.params.output.isLive$.next(!1),this.player=new gt({throughputEstimator:this.params.dependencies.throughputEstimator,tuning:this.params.tuning}),this.subscribe()}return e.prototype.subscribe=function(){var e=this,r=this.params,i=r.output,a=r.desiredState,n=L(this.video),s=function(t){i.error$.next({id:"DashVKProvider",message:"DashVKProvider internal logic error",thrown:t})},o=function(t,r){return e.subscription.add(t.subscribe(r,s))};o(n.timeUpdate$,i.position$),o(n.durationChange$,i.duration$),o(n.ended$,i.endedEvent$),o(n.error$,i.error$),o(n.isBuffering$,i.isBuffering$),o(n.currentBuffer$,i.currentBuffer$),o(n.firstBytes$,i.firstBytesEvent$),o(n.firstFrame$,i.firstFrameEvent$),this.subscription.add(n.seeked$.subscribe((function(){return a.seekPosition.setState(void 0)}),s)),this.subscription.add(x(this.video,a.isLooped,s)),this.subscription.add(A(this.video,a.volume,n.volumeState$,s)),this.subscription.add(n.volumeState$.subscribe(this.params.output.volume$,s)),this.subscription.add(n.play$.subscribe((function(){e.videoState.setState(bt.PLAYING),O(a.playbackState,exports.PlaybackState.PLAYING)}),s)).add(n.pause$.subscribe((function(){e.videoState.setState(bt.PAUSED),O(a.playbackState,exports.PlaybackState.PAUSED)}),s)).add(n.canplay$.subscribe((function(){e.videoState.getState()===bt.PLAYING&&e.playIfAllowed()}),s)),this.subscription.add(this.player.state$.stateChangeEnded$.pipe(t.filter((function(t){return t.to===st.REPRESENTATION_SELECTED}))).subscribe((function(){e.videoState.setState(bt.READY)}))),this.subscription.add(t.merge(this.player.state$.stateChangeEnded$,a.videoTrack.stateChangeStarted$,a.autoVideoTrackSwitching.transitionStarted$,this.params.dependencies.throughputEstimator.rttAdjustedThroughput$,this.elementSize$,t.fromEvent(this.video,"progress")).subscribe((function(){var r,i,n,s=e.player.state$.getState(),o=e.player.state$.getTransition();if(s!==st.NONE&&e.videoTracks.length){var u=s===st.MANIFEST_LOADED&&!o,d=a.autoVideoTrackSwitching.getState(),c=a.videoTrack.getState(),l=null===(r=e.videoTracks.find((function(t){return t.track.id===c})))||void 0===r?void 0:r.track;a.autoVideoTrackSwitching.getTransition()&&a.autoVideoTrackSwitching.setState(d);var p=K(e.video.buffered,1e3*e.video.currentTime),h=Math.min(p/Math.min(e.params.tuning.dash.forwardBufferTarget,(e.video.duration||1/0)-e.video.currentTime),1),f=J(e.videoTracks.map((function(t){return t.track})),{container:e.elementSize$.getValue(),throughput:e.params.dependencies.throughputEstimator.rttAdjustedThroughput$.getValue(),tuning:e.params.tuning.autoTrackSelection,forwardBufferHealth:h});if(u){var v=null!=l?l:f,m=v&&(null===(i=e.videoTracks.find((function(t){return t.track===v})))||void 0===i?void 0:i.representation);t.assertNonNullable(m);var b=Et(e.audioRepresentations,e.videoTracks.map((function(t){return t.representation})),m);t.assertNonNullable(b),e.player.initRepresentations(m.id,b.id)}else{var g=d?null!=f?f:l:null!=l?l:f;if(m=g&&(null===(n=e.videoTracks.find((function(t){return t.track===g})))||void 0===n?void 0:n.representation)){b=Et(e.audioRepresentations,e.videoTracks.map((function(t){return t.representation})),m);e.player.switchRepresentation(S.VIDEO,m.id),b&&e.player.switchRepresentation(S.AUDIO,b.id)}}}}))),this.subscription.add(this.player.currentVideoRepresentation$.pipe(t.filterChanged(),t.map((function(t){var r;return t&&(null===(r=e.videoTracks.find((function(e){return e.representation.id===t})))||void 0===r?void 0:r.track)}))).subscribe(i.currentVideoTrack$)),o(Z(this.video),this.elementSize$),this.textTracksManager.connect(this.video,a,i);var u=t.merge(a.playbackState.stateChangeStarted$,a.videoTrack.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,t.observableFrom(["init"])).pipe(t.debounce(0));this.subscription.add(u.subscribe(this.syncPlayback,s))},e.prototype.prepare=function(){return p(this,void 0,void 0,(function(){var t,e,r,i,a,n,s;return h(this,(function(o){switch(o.label){case 0:return[4,this.player.initManifest(this.video,this.params.source.url)];case 1:t=o.sent(),this.videoTracks=[];try{for(e=f(t.representations.video),r=e.next();!r.done;r=e.next())i=r.value,(a=Tt(i))&&this.videoTracks.push({track:a,representation:i})}catch(t){n={error:t}}finally{try{r&&!r.done&&(s=e.return)&&s.call(e)}finally{if(n)throw n.error}}return this.audioRepresentations=Array.from(t.representations.audio).sort((function(t,e){return e.bitrate-t.bitrate})),this.params.output.availableVideoTracks$.next(this.videoTracks.map((function(t){return t.track}))),[2]}}))}))},e.prototype.seek=function(t){this.params.desiredState.seekPosition.setState(t),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.player.seek(1e3*t)},e.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0),this.player.destroy()},e.prototype.playIfAllowed=function(){var t=this;k(this.video).then((function(e){e||(t.videoState.setState(bt.PAUSED),O(t.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},e}();!function(t){t[t.OFFSET_P=0]="OFFSET_P",t[t.PLAYBACK_SHIFT=1]="PLAYBACK_SHIFT"}(yt||(yt={}));var kt,wt=function(e,r,i){switch(void 0===r&&(r=0),void 0===i&&(i=yt.OFFSET_P),i){case yt.OFFSET_P:return e.replace("_offset_p",0===r?"":"_"+r.toFixed(0));case yt.PLAYBACK_SHIFT:if(0===r)return e;var a=new URL(e);return a.searchParams.append("playback_shift",r.toFixed(0)),a.toString();default:t.assertNever(i)}return e};!function(t){t.STOPPED="stopped",t.READY="ready",t.PLAYING="playing",t.PAUSED="paused"}(kt||(kt={}));var xt,At=function(){function e(e){var r=this;this.subscription=new t.Subscription,this.loadMediaTimeoutSubscription=new t.Subscription,this.videoState=new tt(kt.STOPPED),this.syncPlayback=function(){var e=r.videoState.getState(),i=r.videoState.getTransition(),a=r.params.desiredState.playbackState.getState(),n=r.params.desiredState.playbackState.getTransition(),s=r.params.desiredState.seekPosition.getTransition();if(r.log({message:"[syncPlayback] videoState: "+e+"; videoTransition: "+JSON.stringify(i)+"; desiredPlaybackState: "+a+"; desiredPlaybackStateTransition: "+r.params.desiredState.playbackState.getTransition()+"; seekPositionTransition: "+JSON.stringify(s)+";"}),a!==exports.PlaybackState.STOPPED){if(!i){var o=null==s?void 0:s.to;if((null==n?void 0:n.to)!==exports.PlaybackState.PAUSED&&t.isNonNullable(o)&&e!==kt.STOPPED)return r.params.desiredState.seekPosition.setState(o),r.params.desiredState.seekPosition.startTransitionTo(void 0),void r.seek(o);switch(a){case exports.PlaybackState.PLAYING:switch(e){case kt.PLAYING:break;case kt.PAUSED:case kt.READY:r.videoState.startTransitionTo(kt.PLAYING),r.params.connection.remotePlayerController.playOrPause();break;case kt.STOPPED:r.videoState.startTransitionTo(kt.READY),r.prepare();break;default:t.assertNever(e)}break;case exports.PlaybackState.PAUSED:switch(e){case kt.PLAYING:r.videoState.startTransitionTo(kt.PAUSED),r.params.connection.remotePlayerController.playOrPause();break;case kt.PAUSED:break;case kt.READY:r.videoState.startTransitionTo(kt.PAUSED),r.videoState.setState(kt.PAUSED);break;case kt.STOPPED:r.videoState.startTransitionTo(kt.READY),r.prepare();break;default:t.assertNever(e)}break;default:t.assertNever(a)}}}else e!==kt.STOPPED&&(r.videoState.startTransitionTo(kt.STOPPED),r.stop())},this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastProvider"),this.log({message:"constructor, format: "+e.format}),this.params.output.isLive$.next(function(e){switch(e){case exports.VideoFormat.MPEG:case exports.VideoFormat.DASH:case exports.VideoFormat.DASH_SEP:case exports.VideoFormat.DASH_ONDEMAND:case exports.VideoFormat.DASH_WEBM:case exports.VideoFormat.DASH_WEBM_VK:case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_JS:case exports.VideoFormat.HLS_ONDEMAND:return!1;case exports.VideoFormat.HLS_LIVE:case exports.VideoFormat.DASH_LIVE:case exports.VideoFormat.DASH_LIVE_WEBM:return!0;default:return t.assertNever(e)}}(e.format)),this.handleRemoteVolumeChange({volume:this.params.connection.remotePlayer.volumeLevel,muted:this.params.connection.remotePlayer.isMuted});var i=this.params.connection.session.getMediaSession();i&&this.restoreSession(i),this.subscribe()}return e.prototype.destroy=function(){this.log({message:"[destroy]"}),this.subscription.unsubscribe()},e.prototype.subscribe=function(){var e=this;this.subscription.add(this.loadMediaTimeoutSubscription);var r=new t.Subscription;this.subscription.add(r),this.subscription.add(t.merge(this.videoState.stateChangeStarted$.pipe(t.map((function(t){return"stateChangeStarted$ "+JSON.stringify(t)}))),this.videoState.stateChangeEnded$.pipe(t.map((function(t){return"stateChangeEnded$ "+JSON.stringify(t)})))).subscribe((function(t){return e.log({message:"[videoState] "+t})})));var i=function(t,r){return e.subscription.add(t.subscribe(r))};if(this.params.output.isLive$.getValue())this.params.output.position$.next(0),this.params.output.duration$.next(0);else{var a=new t.Subject;r.add(a.pipe(t.debounce(500)).subscribe((function(t){e.params.desiredState.seekPosition.setState(t),e.params.desiredState.seekPosition.startTransitionTo(void 0),e.params.desiredState.seekPosition.setState(void 0)})));var n=NaN;r.add(t.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED).subscribe((function(r){e.logRemoteEvent(r);var i=r.value;e.params.output.position$.next(i);var s=e.params.desiredState.seekPosition.getTransition();t.isNonNullable(s)&&t.isNullable(s.to)?e.params.desiredState.seekPosition.setState(void 0):Math.abs(i-n)>5&&a.next(i),n=i}))),r.add(t.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe((function(t){e.logRemoteEvent(t),e.params.output.duration$.next(t.value)})))}i(t.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED),(function(t){e.logRemoteEvent(t),t.value?e.handleRemoteReady():(e.handleRemoteStop(),r.unsubscribe())})),i(t.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),(function(t){e.logRemoteEvent(t),t.value?e.handleRemotePause():e.handleRemotePlay()})),i(t.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED),(function(r){e.logRemoteEvent(r);var i=e.params.connection.remotePlayer,a=r.value,n=e.params.output.isBuffering$.getValue(),s=a===chrome.cast.media.PlayerState.BUFFERING;switch(n!==s&&e.params.output.isBuffering$.next(s),a){case chrome.cast.media.PlayerState.IDLE:!e.params.output.isLive$.getValue()&&i.duration-i.currentTime<5&&e.params.output.endedEvent$.next(),e.handleRemoteStop(),O(e.params.desiredState.playbackState,exports.PlaybackState.STOPPED);break;case chrome.cast.media.PlayerState.PAUSED:e.handleRemotePause();break;case chrome.cast.media.PlayerState.PLAYING:e.handleRemotePlay();break;case chrome.cast.media.PlayerState.BUFFERING:break;default:t.assertNever(a)}})),i(t.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),(function(t){e.logRemoteEvent(t),e.handleRemoteVolumeChange({volume:t.value})})),i(t.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),(function(t){e.logRemoteEvent(t),e.handleRemoteVolumeChange({muted:t.value})})),i(t.merge(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,t.observableFrom(["init"])).pipe(t.debounce(0)),this.syncPlayback)},e.prototype.restoreSession=function(t){this.log({message:"restoreSession"});var e=this.params.connection.remotePlayer;if(t.playerState!==chrome.cast.media.PlayerState.IDLE){e.isPaused?(this.videoState.setState(kt.PAUSED),O(this.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):(this.videoState.setState(kt.PLAYING),O(this.params.desiredState.playbackState,exports.PlaybackState.PLAYING));var r=this.params.output.isLive$.getValue();this.params.output.duration$.next(r?0:e.duration),this.params.output.position$.next(r?0:e.currentTime),this.params.desiredState.seekPosition.setState(void 0)}},e.prototype.prepare=function(){var t=this.params.format;this.log({message:"[prepare] format: "+t});var e=this.createMediaInfo(t),r=this.createLoadRequest(e);this.loadMedia(r)},e.prototype.handleRemotePause=function(){var t=this.videoState.getState(),e=this.videoState.getTransition();(null==e?void 0:e.to)!==kt.PAUSED&&t!==kt.PLAYING||(this.videoState.setState(kt.PAUSED),O(this.params.desiredState.playbackState,exports.PlaybackState.PAUSED))},e.prototype.handleRemotePlay=function(){var t=this.videoState.getState(),e=this.videoState.getTransition();(null==e?void 0:e.to)!==kt.PLAYING&&t!==kt.PAUSED||(this.videoState.setState(kt.PLAYING),O(this.params.desiredState.playbackState,exports.PlaybackState.PLAYING))},e.prototype.handleRemoteReady=function(){var t=this.videoState.getTransition();(null==t?void 0:t.to)===kt.READY&&this.videoState.setState(kt.READY)},e.prototype.handleRemoteStop=function(){this.videoState.getState()!==kt.STOPPED&&this.videoState.setState(kt.STOPPED)},e.prototype.handleRemoteVolumeChange=function(t){var e,r,i=this.params.output.volume$.getValue(),a={volume:null!==(e=t.volume)&&void 0!==e?e:i.volume,muted:null!==(r=t.muted)&&void 0!==r?r:i.muted};a.volume===i.volume&&a.muted==a.muted||this.params.output.volume$.next(a)},e.prototype.seek=function(t){var e=this.params.connection,r=e.remotePlayer,i=e.remotePlayerController;r.currentTime=t,i.seek()},e.prototype.stop=function(){this.params.connection.remotePlayerController.stop()},e.prototype.createMediaInfo=function(e){var r,i,a,n,s=this.params.source;switch(e){case exports.VideoFormat.MPEG:var o=s[e];t.assertNonNullable(o);var u=Object.keys(o).sort((function(t,e){return t===e?0:t===exports.VideoQuality.INVARIANT?1:e===exports.VideoQuality.INVARIANT?-1:U(t,e)?1:-1}))[0];t.assertNonNullable(u);var d=o[u];t.assertNonNullable(d),i=d,a="video/mp4",n=chrome.cast.media.StreamType.BUFFERED;break;case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_ONDEMAND:var c=s[e];t.assertNonNullable(c),i=c.url,a="application/x-mpegurl",n=chrome.cast.media.StreamType.BUFFERED;break;case exports.VideoFormat.DASH_SEP:case exports.VideoFormat.DASH_ONDEMAND:case exports.VideoFormat.DASH_WEBM_VK:case exports.VideoFormat.DASH_WEBM:var l=s[e];t.assertNonNullable(l),i=l.url,a="application/dash+xml",n=chrome.cast.media.StreamType.BUFFERED;break;case exports.VideoFormat.HLS_LIVE:c=s[e];t.assertNonNullable(c),i=wt(c.url),a="application/x-mpegurl",n=chrome.cast.media.StreamType.LIVE;break;case exports.VideoFormat.DASH_LIVE_WEBM:l=s[e];t.assertNonNullable(l),i=l.url,a="application/dash+xml",n=chrome.cast.media.StreamType.LIVE;break;case exports.VideoFormat.HLS_JS:case exports.VideoFormat.DASH:case exports.VideoFormat.DASH_LIVE:var p="Unsupported format for Chromecast",h=new Error(p);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",message:p,thrown:h}),h;default:return t.assertNever(e)}var f=new chrome.cast.media.MediaInfo(null!==(r=this.params.meta.videoId)&&void 0!==r?r:i,a);f.contentUrl=i,f.streamType=n,f.metadata=new chrome.cast.media.GenericMediaMetadata;var v=this.params.meta,m=v.title,S=v.subtitle;return t.isNonNullable(m)&&(f.metadata.title=m),t.isNonNullable(S)&&(f.metadata.subtitle=S),f},e.prototype.createLoadRequest=function(t){var e,r=new chrome.cast.media.LoadRequest(t);r.autoplay=!1;var i=this.params.desiredState.seekPosition.getTransition();return r.currentTime=i?this.params.output.isLive$.getValue()?0:null!==(e=i.to)&&void 0!==e?e:0:0,r},e.prototype.loadMedia=function(e){var r=this,i=this.params.connection.session.loadMedia(e),a=new Promise((function(e,i){r.loadMediaTimeoutSubscription.add(t.timeout(7e3).subscribe((function(){return i("timeout(7000)")})))}));Promise.race([i,a]).then((function(){r.log({message:"[loadMedia] completed, format: "+r.params.format});var t=r.params.desiredState.seekPosition;t.getTransition()&&t.setState(void 0),r.handleRemoteReady()}),(function(t){var e="[prepare] loadMedia failed, format: "+r.params.format+", reason: "+t;r.log({message:e}),r.params.output.error$.next({id:"ChromecastProvider.loadMedia",message:e,thrown:t})})).finally((function(){r.loadMediaTimeoutSubscription.unsubscribe()}))},e.prototype.logRemoteEvent=function(t){this.log({message:"[remoteEvent] "+JSON.stringify(t)})},e}();!function(t){t.STOPPED="stopped",t.READY="ready",t.PLAYING="playing",t.PAUSED="paused"}(xt||(xt={}));var Nt,$t=function(){function e(e){var r=this;this.subscription=new t.Subscription,this.videoState=new tt(xt.STOPPED),this.trackUrls={},this.textTracksManager=new $,this.syncPlayback=function(){var e=r.videoState.getState(),i=r.params.desiredState.playbackState.getState(),a=r.params.desiredState.playbackState.getTransition();if(i!==exports.PlaybackState.STOPPED){if(!r.videoState.getTransition()){var n=r.params.desiredState.videoTrack.getTransition(),s=r.params.desiredState.seekPosition.getTransition();if(e===xt.STOPPED)return r.videoState.startTransitionTo(xt.READY),void r.prepare();if(n){var o=r.video.currentTime;return r.prepare(),void(s||r.params.desiredState.seekPosition.startTransitionTo(o))}var u=null==s?void 0:s.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&t.isNonNullable(u)&&r.seek(u),e){case xt.READY:return void(i===exports.PlaybackState.PAUSED?(r.videoState.setState(xt.PAUSED),O(r.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):i===exports.PlaybackState.PLAYING&&(r.videoState.startTransitionTo(xt.PLAYING),r.playIfAllowed()));case xt.PLAYING:return void(i===exports.PlaybackState.PAUSED?(r.videoState.startTransitionTo(xt.PAUSED),r.video.pause()):(null==a?void 0:a.to)===exports.PlaybackState.PLAYING&&O(r.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case xt.PAUSED:return void(i===exports.PlaybackState.PLAYING?(r.videoState.startTransitionTo(xt.PLAYING),r.playIfAllowed()):(null==a?void 0:a.to)===exports.PlaybackState.PAUSED&&O(r.params.desiredState.playbackState,exports.PlaybackState.PAUSED));default:return t.assertNever(e)}}}else e!==xt.STOPPED&&(r.videoState.startTransitionTo(xt.STOPPED),r.video.setAttribute("src",""),r.video.load(),r.params.output.position$.next(0),r.params.output.duration$.next(1/0),r.params.output.currentBuffer$.next(void 0),r.params.output.hostname$.next(void 0),r.videoState.setState(xt.STOPPED),O(r.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=e,this.video=D(e.container),this.params.output.element$.next(this.video),Object.entries(this.params.source).forEach((function(t,e){var i=v(t,2),a=i[0],n=i[1],s=e.toString(10);r.trackUrls[s]={track:{quality:a,id:s},url:n}})),this.params.output.availableVideoTracks$.next(Object.values(this.trackUrls).map((function(t){return t.track}))),this.params.output.isLive$.next(!1),this.subscribe()}return e.prototype.subscribe=function(){var e=this,r=this.params,i=r.output,a=r.desiredState,n=function(t){i.error$.next({id:"MpegProvider",message:"MpegProvider internal logic error",thrown:t})},s=L(this.video),o=function(t,r){return e.subscription.add(t.subscribe(r,n))};o(s.timeUpdate$,i.position$),o(s.durationChange$,i.duration$),o(s.ended$,i.endedEvent$),o(s.error$,i.error$),o(s.isBuffering$,i.isBuffering$),o(s.currentBuffer$,i.currentBuffer$),o(s.firstBytes$,i.firstBytesEvent$),o(s.firstFrame$,i.firstFrameEvent$),this.subscription.add(s.seeked$.subscribe((function(){return a.seekPosition.setState(void 0)}),n)),this.subscription.add(x(this.video,a.isLooped,n)),this.subscription.add(A(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$,n)),this.subscription.add(s.play$.subscribe((function(){e.videoState.setState(xt.PLAYING),O(a.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){e.videoState.setState(xt.PAUSED),O(a.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var r;(null===(r=e.videoState.getTransition())||void 0===r?void 0:r.to)===xt.READY&&e.videoState.setState(xt.READY);var i=e.params.desiredState.videoTrack.getTransition();i&&t.isNonNullable(i.to)&&(e.params.desiredState.videoTrack.setState(i.to),e.params.output.currentVideoTrack$.next(e.trackUrls[i.to].track)),e.videoState.getState()===xt.PLAYING&&e.playIfAllowed()}),n)),this.subscription.add(a.autoVideoTrackSwitching.stateChangeStarted$.subscribe((function(){return a.autoVideoTrackSwitching.setState(!1)}),n)),this.textTracksManager.connect(this.video,a,i);var u=t.merge(a.playbackState.stateChangeStarted$,a.videoTrack.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,t.observableFrom(["init"])).pipe(t.debounce(0));this.subscription.add(u.subscribe(this.syncPlayback,n))},e.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.trackUrls={},this.video.remove(),this.params.output.element$.next(void 0)},e.prototype.prepare=function(){var e,r,i=null!==(r=null===(e=this.params.desiredState.videoTrack.getTransition())||void 0===e?void 0:e.to)&&void 0!==r?r:this.params.desiredState.videoTrack.getState();t.assertNonNullable(i,"MpegProvider: track is not selected");var a=this.trackUrls[i].url;t.assertNonNullable(a,"MpegProvider: No url for "+i),this.video.setAttribute("src",a),this.video.load(),this.params.output.hostname$.next(X(a))},e.prototype.playIfAllowed=function(){var t=this;k(this.video).then((function(e){e||(t.videoState.setState(xt.PAUSED),O(t.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},e.prototype.seek=function(t){this.params.desiredState.seekPosition.setState(t),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.video.currentTime=t},e}(),Dt=function(){function e(t,e,r,i,a,n){void 0===e&&(e=[]),this._failoverIndex=0,this._failoverCount=0,this._xhr=null,this._retryTimeout=0,this._url=t,this._failoverHosts=e,this._completeCb=r,this._progressCb=i,this._headersCb=a,this._errorCb=n,this._request()}return e.prototype._request=function(){var e=this;this._xhr=new XMLHttpRequest,this._xhr.open("GET",this._url,!0),this._xhr.overrideMimeType("text/plain; charset=x-user-defined");var r=!1;this._xhr.onreadystatechange=function(){var i,a,n,s,o,u,d,c;if(t.assertNonNullable(e._xhr),(null===(i=e._xhr)||void 0===i?void 0:i.status)>=400)return null===(a=e._errorCb)||void 0===a||a.call(e,"Http"+(null===(n=e._xhr)||void 0===n?void 0:n.status),"XHR response code "+(null===(s=e._xhr)||void 0===s?void 0:s.status)),void e.abort();if(4!==e._xhr.readyState||0!==e._xhr.status)try{e._xhr.readyState>=2&&!r&&(r=!0,null===(o=e._headersCb)||void 0===o||o.call(e)),4===e._xhr.readyState&&(null===(u=e._completeCb)||void 0===u||u.call(e,e._xhr.response)),3===e._xhr.readyState&&(null===(d=e._progressCb)||void 0===d||d.call(e,e._xhr.response))}catch(t){throw null===(c=e._errorCb)||void 0===c||c.call(e,"XHR2CallbackError","xhr2 callback threw "+String(t),t),t}},this._xhr.onerror=function(){var t;null===(t=e._xhr)||void 0===t||t.abort(),e._retryTimeout=window.setTimeout((function(){var t,r,i;if(e._xhr)if(++e._failoverCount>=30)e._xhr=null,null===(t=e._errorCb)||void 0===t||t.call(e,"XHR2Failover","XHR failed, retrying failover host");else{var a=void 0;e._failoverIndex>=e._failoverHosts.length?(a=e._url,e._failoverIndex=0):(a=e._url.replace((r=e._url,(i=document.createElement("a")).href=r,i.host),e._failoverHosts[e._failoverIndex]),e._failoverIndex++),e._xhr.open("GET",a,!0),e._xhr.send(null)}}),500)},this._xhr.send(null)},e.prototype.abort=function(){window.clearTimeout(this._retryTimeout),this._completeCb=this._progressCb=this._errorCb=void 0,this._xhr&&(this._xhr.abort(),this._xhr=null)},e}(),_t=function(){function t(t){this._maxBufferDuration=Number.POSITIVE_INFINITY,this._isFull=!1,this._params=t,this._mediaSource=t.mediaSource,this._sourceBuffer=t.sourceBuffer,this._onDashCallback=t.onDashCallback}return t.prototype._appendBuffer=function(t,e){try{this._isFull=!1,(this._sourceBuffer.appendBuffer||this._sourceBuffer.append).bind(this._sourceBuffer)(t),null==e||e()}catch(t){if("QuotaExceededError"!==t.name)throw this._params.onError("AppendBuffer","Unknown Buffer error",t),t;this._isFull=!0;for(var r=this._sourceBuffer.buffered,i=0,a=0,n=r.length;a<n;a++)i+=r.end(a)-r.start(a);i&&(this._maxBufferDuration=Math.round(i))}},t.prototype.getMaxBufferDuration=function(){return this._maxBufferDuration},t.prototype.isFull=function(){return this._isFull},t.prototype.load=function(e,r,i,a,n,s,o){var u=this;this.abort((function(){var d=0,c=Date.now(),l=Date.now(),p=0,h=i-r+1,f=function(e){a(t._str2ua(e.substr(d))),d=e.length};u._lastXhr=new Dt(e.baseURL+"&bytes="+r+"-"+i,e.failoverHosts,(function(t){u._lastXhr=void 0,f(t);var e=Date.now()-c;u._params.onBandwidthChange({size:h,duration:e,speed:8*h/(e/1e3)}),u._onDashCallback("loading",{size:t.length,done:!0}),null==n||n()}),(function(t){t.length-d>o&&f(t);var e=t.length-p,r=Date.now()-l;p&&u._params.onBandwidthChange({size:e,duration:r,speed:8*e/(r/1e3)}),p=t.length,l=Date.now(),u._onDashCallback("loading",{size:t.length,done:!1})}),s,(function(t,e,r){return u._params.onError(t,e,r)}))}))},t.prototype.abort=function(t){var e,r=this;null===(e=this._lastXhr)||void 0===e||e.abort(),this._sbUpdatingStop(this._lastStreamUpdatingCallback),this._lastStreamUpdatingCallback=this._sbUpdatingWatch((function(){r._appendPromiseUint8Array&&(r._appendBuffer(r._appendPromiseUint8Array),r._appendPromiseUint8Array=void 0),r._lastStreamUpdatingCallback=r._sbUpdatingWatch((function(){"open"===r._mediaSource.readyState&&r._sourceBuffer.abort(),null==t||t()}))}))},t.prototype._sbUpdatingWatch=function(t){var e=this;if(this._sourceBuffer.updating){var r=function(){try{e._sbUpdatingStop(r),e._sbUpdatingWatch(t)}catch(t){throw e._params.onError("SourceBuffer","Source Buffer update error",t),t}};return this._sourceBuffer.addEventListener("updateend",r,!1),r}t()},t.prototype._sbUpdatingStop=function(t){t&&this._sourceBuffer.removeEventListener("updateend",t,!1)},t.prototype.append=function(e,r){var i=this;this._appendPromiseUint8Array?this._appendPromiseUint8Array=t._concatUint8(this._appendPromiseUint8Array,e):(this._appendPromiseUint8Array=e,this._lastStreamUpdatingCallback=this._sbUpdatingWatch((function(){i._appendPromiseUint8Array&&i._appendBuffer(i._appendPromiseUint8Array,(function(){i._appendPromiseUint8Array=void 0,r&&i._sbUpdatingWatch(r)}))})))},t.prototype.endOfStream=function(){var t=this;"open"===this._mediaSource.readyState&&this._sbUpdatingWatch((function(){return t._mediaSource.endOfStream()}))},t._concatUint8=function(t,e){var r=new Uint8Array(t.byteLength+e.byteLength);return r.set(t,0),r.set(e,t.byteLength),r},t._str2ua=function(t){for(var e=new Uint8Array(t.length),r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e},t.prototype.remove=function(t,e){var r=this;this._sbUpdatingWatch((function(){!r._sourceBuffer.updating&&r._sourceBuffer.remove&&r._sourceBuffer.remove(t,e),r._maxBufferDuration=Number.POSITIVE_INFINITY}))},t.prototype.destroy=function(){var t;null===(t=this._lastXhr)||void 0===t||t.abort(),this._sbUpdatingStop(this._lastStreamUpdatingCallback),"open"===this._mediaSource.readyState&&this._sourceBuffer.abort()},t}(),It=function(){function e(t){var e;this._representations=[],this._appendVector={},this._cachingPaused=!1,this._duration=0,this.STREAM_END_THRESHOLD=1,this._params=t,this._video=t.video,this._buffer=t.buffer,this._onDashCallback=null!==(e=t.onDashCallback)&&void 0!==e?e:function(){},this._config=t.config}return e.prototype._parseDurationFromISO8601=function(t){var e=function(t,e){var r=t?parseFloat(t.replace(",",".")):NaN;return(isNaN(r)?0:r)*e},r=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/.exec(t),i="-"===(null==r?void 0:r[1])?-1:1;e(null==r?void 0:r[2],i),e(null==r?void 0:r[3],i),e(null==r?void 0:r[4],i),e(null==r?void 0:r[5],i);return 3600*e(null==r?void 0:r[6],i)+60*e(null==r?void 0:r[7],i)+e(null==r?void 0:r[8],i)},e.prototype.getRepresentations=function(){return this._representations},e.prototype.attachSource=function(t,e){var r=this;new Dt(t,e,(function(i){var a,n;r.attachManifest(i,e,(a=t,(n=document.createElement("a")).href=a,n.origin))}),void 0,void 0,(function(t,e,i){return r._params.onError(t,e,i)}))},e.prototype.attachManifest=function(t,e,r){var i=this,a=(new DOMParser).parseFromString(t,"text/xml").documentElement,n=function(t,e){var r=t.attributes.getNamedItem(e);return r?r.value:null};this._duration=this._parseDurationFromISO8601(String(n(a,"mediaPresentationDuration")));var s=[],o=[];Array.prototype.forEach.call(a.getElementsByTagName("Representation"),(function(t){var i,a,u,d,c,l,p,h,f,v,m,S,b,g,y,T,E,P=t.getElementsByTagName("SegmentBase")[0],k=P&&n(P,"indexRange").split("-"),w=P&&P.getElementsByTagName("Initialization")[0],x=w&&n(w,"range").split("-");if(x&&k){var A=Number(null===(p=t.attributes.getNamedItem("bandwidth"))||void 0===p?void 0:p.value),N=(r?r+"/":"")+t.getElementsByTagName("BaseURL")[0].childNodes[0].data;s.push({width:Number(null===(h=t.attributes.getNamedItem("width"))||void 0===h?void 0:h.value),height:Number(null===(f=t.attributes.getNamedItem("height"))||void 0===f?void 0:f.value),bandwidth:A,baseURL:N,failoverHosts:e,indexFrom:Number(k[0]),indexTo:Number(k[1]),initFrom:Number(x[0]),initTo:Number(x[1]),codecs:null!==(m=null===(v=t.attributes.getNamedItem("codecs"))||void 0===v?void 0:v.value)&&void 0!==m?m:void 0,mimeType:null!==(b=null===(S=t.attributes.getNamedItem("mimeType"))||void 0===S?void 0:S.value)&&void 0!==b?b:void 0,bufferSize:.1*A/8,bufferLength:.1,name:null!==(y=null===(g=t.attributes.getNamedItem("okQuality"))||void 0===g?void 0:g.value)&&void 0!==y?y:void 0,id:null!==(E=null===(T=t.attributes.getNamedItem("id"))||void 0===T?void 0:T.value)&&void 0!==E?E:void 0})}else{var $=t.parentElement;if("text"===(null==$?void 0:$.getAttribute("contentType"))){var D=null!==(i=t.getAttribute("id"))&&void 0!==i?i:void 0,_=(r?r+"/":"")+(null===(c=null===(d=null===(u=null===(a=t.getElementsByTagName("BaseURL"))||void 0===a?void 0:a[0])||void 0===u?void 0:u.childNodes)||void 0===d?void 0:d[0])||void 0===c?void 0:c.data),I=null!==(l=$.getAttribute("lang"))&&void 0!==l?l:void 0;_&&o.push({id:D,url:_,language:I})}}})),s.length?(this._representations=s,o.forEach((function(t){var e=t.id,r=t.language,a=t.url,n=document.createElement("track");n.setAttribute("src",a),e&&n.setAttribute("id",e),r&&n.setAttribute("srclang",r),i._video.appendChild(n)})),this._representations.sort((function(t,e){return e.bandwidth-t.bandwidth})),this._params.onManifestReady(this._representations)):this._onDashCallback("error")},e.prototype._loadInitAndSidx=function(t,e){var r=this;if(t!==this._currentRepresentation)if(t.refs)this._stream.abort((function(){r._stream.append(t.initMessage,e)}));else{var i=Date.now();this._stream.load(t,t.initFrom,t.indexTo,(function(i){var a=t.initTo-t.initFrom+1;if(i.byteLength){t.initMessage=new Uint8Array(i.buffer,0,a);var n=new DataView(i.buffer);a+=12;var s=n.getUint32(a+4,!1);a+=8;var o=n.getUint32(a,!1),u=n.getUint32(a+4,!1)+(t.indexTo+1);a+=8;var d=n.getUint16(a+2,!1);a+=4,t.refs=[];for(var c=0;c<d;c+=1){var l=u+(2147483647&n.getUint32(a,!1)),p=o+n.getUint32(a+4,!1);a+=12,t.refs.push({fromTime:o/s,toTime:p/s,fromOffset:u,toOffset:l-1}),u=l,o=p}var h=t.refs[t.refs.length-1];h.toTime-h.fromTime<.3&&t.refs.pop(),r._stream.append(t.initMessage,e)}else r._params.onError("EmptyResponse","Empty response")}),void 0,(function(){r._params.onIdxRequestPing(Date.now()-i)}),t.indexTo-t.initFrom+1)}else e&&e()},e.prototype.startPlay=function(t){var e=this,r=window.MediaSource||window.WebKitMediaSource;if(r){var i=new r,a=void 0,n=void 0,s=function(){e._loopTimeout=window.setTimeout((function(){try{!function(){var r=e._findRef(e._video.currentTime);if(r&&!e._video.paused){if(!e._cachingPaused&&void 0!==e._lastLoadOffset&&e._lastLoadOffset-e._video.currentTime<e._config.FRONT_CACHE_DURATION&&e._lastLoadOffset-e._video.currentTime<e._stream.getMaxBufferDuration()){var i=e._stream.isFull()?e._findBufferRangeEnd(e._video.currentTime):e._lastLoadOffset;e._loadRef(e._params.selectRepresentation(e._representations),i)}var s,o=e._appendVector[String(r.fromTime)];if(o!==a&&(a=o,e._params.onRepresentationPlay(o)),e._findRef(r.toTime)){var u=e._buffer.getByTime(e._video.currentTime);if(!u)return void e._onDashCallback("buffering");(s=u.end-e._video.currentTime)<t.bufferLength&&(e._onDashCallback("buffering"),n!==u.end&&(n=u.end,window.setTimeout((function(){try{var t=e._buffer.getNextWithGap(u);t&&(e._video.currentTime=t.start)}catch(t){throw e._params.onError("GapSyncError","Seek Error "+String(t),t),t}}),1e3*s)))}}}()}catch(t){throw e._params.onError("LoopError","Dash Loop exception "+String(t),t),t}s()}),250)},o=function(){if(!e._stream)try{var r=i.addSourceBuffer(t.mimeType+'; codecs="'+t.codecs+'"');e._stream=new _t({mediaSource:i,sourceBuffer:r,onBandwidthChange:e._params.onBandwidthChange,onError:e._params.onError,onDashCallback:e._onDashCallback})}catch(t){throw e._params.onError("DashSourceOpen","Source open exception "+String(t),t),t}e._loadInitAndSidx(t),i.duration||(i.duration=e._duration),e._loopTimeout||s(),i.removeEventListener("sourceopen",o),i.removeEventListener("webkitsourceopen",o)};i.addEventListener("sourceopen",o,!1),i.addEventListener("webkitsourceopen",o,!1),this._video&&(this._video.src=window.URL.createObjectURL(i),this._video.addEventListener("waiting",(function(){var t=e._video&&e._video.played.length;t&&!e._video.currentTime&&e._video.loop?e._video.duration-e._video.played.end(t-1)<e.STREAM_END_THRESHOLD&&e.seek(0):e._video.duration-e._video.currentTime<e.STREAM_END_THRESHOLD&&e._stream.endOfStream()})))}else this._params.onError("MediaSourceNotSupported","MediaSource is not supported")},e.prototype._loadRef=function(t,e,r){var i=this;void 0===r&&(r=!1),this._lastLoadOffset=void 0,this._loadInitAndSidx(t,(function(){i._currentRepresentation=t;var a=i._findRef(e);if(a){if(r){i._isLastRef(a)&&e>=a.toTime&&(e=a.fromTime);var n=i._findRef(i._video.currentTime),s=Math.abs(i._video.currentTime-e),o=i._video.duration<i._config.SEEK_IN_SEGMENT_THRESHOLD/1e3||a===n||s<=i._config.SEEK_IN_SEGMENT_DELTA/1e3;i._video.currentTime=o?e:a.fromTime}i._appendVector[String(a.fromTime)]=t,i._stream.load(t,a.fromOffset,a.toOffset,(function(t,e){return i._stream.append(t,e)}),(function(){i._lastLoadOffset=a.toTime,i._video.duration-i._lastLoadOffset<i.STREAM_END_THRESHOLD&&i._stream.endOfStream()}),void 0,t.bufferSize)}}))},e.prototype.setQualityByRepresentation=function(t){var e=this,r=this._buffer.getByTime(this._video.currentTime),i=this._findRef(this._video.currentTime);if(r&&i){var a=.1;if(i.toTime<r.end+a){var n=this._findRef(i.toTime);n&&n.toTime<r.end+a?(this._buffer.smartRemove(i.fromTime-a,n.toTime+a,(function(t,r){return e._stream.remove(t,r)})),this._loadRef(t,n.toTime)):(this._buffer.smartRemove(i.fromTime-a,i.toTime+a,(function(t,r){return e._stream.remove(t,r)})),this._loadRef(t,i.toTime))}}},e.prototype.setQuality=function(t){return this.setQualityByRepresentation(this._representations[t])},e.prototype.pauseCaching=function(){this._cachingPaused=!0},e.prototype.resumeCaching=function(){this._cachingPaused=!1},e.prototype.seek=function(t,e){void 0===e&&(e=!1),this._stream&&this._buffer.getByTime(t)&&!e?this._video.currentTime=t:this._loadRef(this._params.selectRepresentation(this._representations),t,!0)},e.prototype.updateRefsForCurrentTime=function(){var e=this._video.currentTime;this._stream&&!t.isNullable(this._buffer.getByTime(e))||this._loadRef(this._params.selectRepresentation(this._representations),e,!1)},e.prototype._findRef=function(t){var e,r=null===(e=this._currentRepresentation)||void 0===e?void 0:e.refs;if(r){if(!Array.isArray(r)||0!==r.length){for(var i=void 0,a=0;a<r.length;a++){var n=r[a];if(n.fromTime<=t&&n.toTime>t)return n;n.fromTime>t&&(!i||n.fromTime<i.fromTime)&&(i=n)}if(!i){var s=r[r.length-1];if(t>s.toTime)return s}return i}this._params.onError("emptyrefs","Empty refs")}},e.prototype._isLastRef=function(t){var e,r=null===(e=this._currentRepresentation)||void 0===e?void 0:e.refs;if(!r)return!1;var i=r[r.length-1];return t.fromTime===i.fromTime},e.prototype._findBufferRangeEnd=function(t){for(var e=this._video.buffered.length;e-- >0;){var r=this._video.buffered.start(e),i=this._video.buffered.end(e);if(t>r&&t<i)return Math.round(10*i)/10}return t},e.prototype.destroy=function(){this._stream&&this._stream.destroy(),clearTimeout(this._loopTimeout),this._loopTimeout=void 0},e}();!function(t){t.STOPPED="stopped",t.MANIFEST_LOADED="manifest-loaded",t.INITIAL_REPRESENTATION_SELECTED="initial-representation-selected",t.METADATA_LOADED="metadata-loaded",t.READY="ready",t.PLAYING="playing",t.PAUSED="paused"}(Nt||(Nt={}));var Rt,Ct=[Nt.PAUSED,Nt.PLAYING],Lt=function(){function e(e){var r=this;this.videoState=new tt(Nt.STOPPED),this.subscription=new t.Subscription,this.representations$=new t.ValueSubject([]),this.currentRepresentation$=new t.ValueSubject(void 0),this.textTracksManager=new $,this.elementSize$=new t.ValueSubject(void 0),this.dashLiteEvents={idxRequestPing$:new t.Subject,manifestReady$:new t.Subject,representationPlay$:new t.Subject,error$:new t.Subject},this.handleManifestReady=function(t){var e,i,a,n,s=[];try{for(var o=f(t),u=o.next();!u.done;u=o.next()){var d=u.value,c=null!==(n=null!==(a=d.name)&&void 0!==a?a:d.id)&&void 0!==n?n:d.height.toString(10),l=q(d),p=d.bandwidth/1e3,h={width:d.width,height:d.height};if(l){var v={id:c,quality:l,bitrate:p,size:h};s.push({track:v,representation:d})}}}catch(t){e={error:t}}finally{try{u&&!u.done&&(i=o.return)&&i.call(o)}finally{if(e)throw e.error}}r.representations$.next(s),r.params.output.availableVideoTracks$.next(s.map((function(t){return t.track}))),r.videoState.setState(Nt.MANIFEST_LOADED)},this.handleRepresentationPlay=function(t){var e,i=null===(e=r.representations$.getValue().find((function(e){return e.representation===t})))||void 0===e?void 0:e.track;i&&(r.params.output.currentVideoTrack$.next(i),r.params.desiredState.videoTrack.getTransition()&&r.params.desiredState.videoTrack.setState(i.id))},this.selectRepresentation=function(){var e=r.currentRepresentation$.getValue();return t.assertNonNullable(e,"Can't select representation. something went wrong"),e},this.syncPlayback=function(){var e=r.videoState.getState(),i=r.videoState.getTransition(),a=r.params.desiredState.playbackState.getState(),n=r.params.desiredState.playbackState.getTransition(),s=r.params.desiredState.seekPosition.getTransition();if(r.log({message:"[syncPlayback] videoState: "+e+"; videoTransition: "+JSON.stringify(i)+"; desiredPlaybackState: "+a+"; seekPositionTransition: "+JSON.stringify(s)+";"}),a!==exports.PlaybackState.STOPPED){if(!i){var o=null==s?void 0:s.to;switch((null==n?void 0:n.to)!==exports.PlaybackState.PAUSED&&t.isNonNullable(o)&&Ct.includes(e)&&r.seek(o),e){case Nt.STOPPED:return r.videoState.startTransitionTo(Nt.MANIFEST_LOADED),void r.prepare();case Nt.MANIFEST_LOADED:return void r.videoState.startTransitionTo(Nt.INITIAL_REPRESENTATION_SELECTED);case Nt.INITIAL_REPRESENTATION_SELECTED:return r.videoState.startTransitionTo(Nt.METADATA_LOADED),void r.dash.startPlay(r.selectRepresentation());case Nt.METADATA_LOADED:return r.videoState.startTransitionTo(Nt.READY),void r.dash.seek(null!=o?o:0);case Nt.READY:return void(a===exports.PlaybackState.PAUSED?(r.videoState.setState(Nt.PAUSED),O(r.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):a===exports.PlaybackState.PLAYING&&(r.videoState.startTransitionTo(Nt.PLAYING),r.playIfAllowed()));case Nt.PLAYING:return void(a===exports.PlaybackState.PAUSED?(r.videoState.startTransitionTo(Nt.PAUSED),r.video.pause()):(null==n?void 0:n.to)===exports.PlaybackState.PLAYING&&O(r.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case Nt.PAUSED:return void(a===exports.PlaybackState.PLAYING?(r.videoState.startTransitionTo(Nt.PLAYING),r.playIfAllowed()):(null==n?void 0:n.to)===exports.PlaybackState.PAUSED&&O(r.params.desiredState.playbackState,exports.PlaybackState.PAUSED));default:return t.assertNever(e)}}}else e!==Nt.STOPPED&&(r.videoState.startTransitionTo(Nt.STOPPED),r.dash.destroy(),r.video.setAttribute("src",""),r.video.load(),r.params.output.position$.next(0),r.params.output.duration$.next(1/0),r.params.output.currentBuffer$.next(void 0),r.params.output.hostname$.next(void 0),r.videoState.setState(Nt.STOPPED),O(r.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=e,this.log=this.params.dependencies.logger.createComponentLog("DashProvider"),t.merge(this.videoState.stateChangeStarted$.pipe(t.map((function(t){return{transition:t,type:"start"}}))),this.videoState.stateChangeEnded$.pipe(t.map((function(t){return{transition:t,type:"end"}})))).subscribe((function(t){var e=t.transition,i=t.type;r.log({message:"[videoState change] "+i+": "+JSON.stringify(e)})})),this.video=D(e.container),this.params.output.element$.next(this.video),this.params.output.isLive$.next(!1),"url"===this.params.source.type&&this.params.output.hostname$.next(X(this.params.source.url)),this.buffer=new I(this.video),this.dash=new It({video:this.video,buffer:this.buffer,selectRepresentation:this.selectRepresentation,onIdxRequestPing:function(t){return r.dashLiteEvents.idxRequestPing$.next(t)},onManifestReady:function(t){return r.dashLiteEvents.manifestReady$.next(t)},onRepresentationPlay:function(t){return r.dashLiteEvents.representationPlay$.next(t)},onBandwidthChange:function(t){return r.params.dependencies.throughputEstimator.addRawSpeed(t.size,t.duration)},onError:function(t,e,i){r.log({message:"[DashLite error], "+t}),r.dashLiteEvents.error$.next({id:t,message:e,thrown:i})},config:{SEEK_IN_SEGMENT_THRESHOLD:this.params.tuning.dashSeekInSegmentDurationThreshold,SEEK_IN_SEGMENT_DELTA:this.params.tuning.dashSeekInSegmentAlwaysSeekDelta,FRONT_CACHE_DURATION:this.params.config.cacheDuration/1e3}}),this.subscribe()}return e.prototype.subscribe=function(){var e=this,r=this.params,i=r.output,a=r.desiredState,n=function(t){i.error$.next({id:"DashProvider",message:"DashProvider internal logic error",thrown:t})},s=L(this.video),o=function(t,r){return e.subscription.add(t.subscribe(r,n))};o(s.timeUpdate$,i.position$),o(s.durationChange$,i.duration$),o(s.ended$,i.endedEvent$),o(s.error$,i.error$),o(s.isBuffering$,i.isBuffering$),o(s.firstFrame$,i.firstFrameEvent$),this.subscription.add(s.seeking$.subscribe((function(){t.isNullable(e.params.desiredState.seekPosition.getTransition())&&(e.videoState.getState()===Nt.PLAYING||e.videoState.getState()===Nt.PAUSED)&&e.dash.updateRefsForCurrentTime()}))),this.subscription.add(s.seeked$.subscribe((function(){return a.seekPosition.setState(void 0)}))),this.subscription.add(x(this.video,a.isLooped,n)),this.subscription.add(A(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$)),this.textTracksManager.connect(this.video,a,i),o(Z(this.video),this.elementSize$),this.subscription.add(s.canplay$.subscribe((function(){var t;(null===(t=e.videoState.getTransition())||void 0===t?void 0:t.to)===Nt.READY&&e.videoState.setState(Nt.READY)}),n)).add(s.pause$.subscribe((function(){e.videoState.setState(Nt.PAUSED),O(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED)}))).add(s.play$.subscribe((function(){e.videoState.setState(Nt.PLAYING),O(e.params.desiredState.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.loadedMetadata$.subscribe((function(){e.videoState.setState(Nt.METADATA_LOADED)}),n)).add(s.currentBuffer$.subscribe((function(t){e.buffer.fill(),i.currentBuffer$.next(t)}),n)).add(this.dashLiteEvents.error$.pipe(t.map((function(t){return{id:"DashLite_"+t.id,message:t.message,thrown:t.thrown}}))).subscribe(this.params.output.error$)).add(t.merge(this.params.desiredState.videoTrack.transitionStarted$,this.params.desiredState.autoVideoTrackSwitching.transitionStarted$,this.representations$,this.params.dependencies.throughputEstimator.rttAdjustedThroughput$,this.params.output.element$,this.elementSize$).pipe(t.map((function(){var r,i,a,n=e.representations$.getValue(),s=e.params.desiredState.autoVideoTrackSwitching.getState(),o=e.params.desiredState.autoVideoTrackSwitching.getTransition(),u=e.params.desiredState.videoTrack.getState(),d=e.params.desiredState.videoTrack.getTransition(),c=e.params.dependencies.throughputEstimator.rttAdjustedThroughput$.getValue(),l=e.elementSize$.getValue(),p=o?o.to:s;if(o&&e.params.desiredState.autoVideoTrackSwitching.setState(o.to),!p&&t.isNonNullable(u))a=u;else{var h=K(e.video.buffered,1e3*e.video.currentTime),f=Math.min(h/e.params.tuning.dash.forwardBufferTarget,1);a=d?d.to:null===(r=J(n.map((function(t){return t.track})),{container:l,throughput:c,tuning:e.params.tuning.autoTrackSelection,forwardBufferHealth:f}))||void 0===r?void 0:r.id}return t.isNonNullable(a)?null===(i=n.find((function(t){return t.track.id===a})))||void 0===i?void 0:i.representation:void 0})),t.filterChanged()).subscribe(this.currentRepresentation$,n)).add(t.combine({needToSelectRepresentation:this.videoState.stateChangeStarted$.pipe(t.filter((function(t){return t.to===Nt.INITIAL_REPRESENTATION_SELECTED}))),currentRepresentationSelected:this.currentRepresentation$.pipe(t.filter(t.isNonNullable))}).pipe(t.once()).subscribe((function(){return e.videoState.setState(Nt.INITIAL_REPRESENTATION_SELECTED)}),n)).add(this.currentRepresentation$.pipe(t.filter(t.isNonNullable),t.filterChanged()).subscribe((function(t){e.dash.setQualityByRepresentation(t),e.params.output.hostname$.next(X(t.baseURL))}),n)).add(this.dashLiteEvents.idxRequestPing$.pipe(t.once()).subscribe(this.params.output.firstBytesEvent$)).add(this.dashLiteEvents.idxRequestPing$.subscribe((function(t){return e.params.dependencies.throughputEstimator.addRawRtt(t)}))).add(this.dashLiteEvents.manifestReady$.subscribe(this.handleManifestReady,n)).add(this.dashLiteEvents.representationPlay$.pipe(t.filter(t.isNonNullable)).subscribe(this.handleRepresentationPlay,n)).add(t.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,t.observableFrom(["init"])).pipe(t.debounce(0)).subscribe(this.syncPlayback,n))},e.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0),this.buffer.destroy(),this.dash.destroy()},e.prototype.prepare=function(){var e=this.params.source;switch(e.type){case"url":this.dash.attachSource(e.url);break;case"raw":this.dash.attachManifest(e.raw);break;default:return t.assertNever(e)}},e.prototype.seek=function(t){this.log({message:"[seek] position: "+t}),this.params.desiredState.seekPosition.setState(t),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.dash.seek(t)},e.prototype.playIfAllowed=function(){var t=this;k(this.video).then((function(e){e||(t.videoState.setState(Nt.PAUSED),O(t.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},e}(),Ot=function(t){return t.range?t.range.split("-").map((function(t){return parseInt(t,10)})):[NaN,NaN]},Mt=function(){function t(t){this.params=t,this.dashJsRequestQueue=new Map,this.activeRequests=new Map}return t.prototype.setMetrics=function(t){this.dashMetrics=t},t.prototype.queueDashJSRequest=function(t){var e,r=t.request.url,i=null!==(e=this.dashJsRequestQueue.get(r))&&void 0!==e?e:[];i.push(t),this.dashJsRequestQueue.set(r,i)},t.prototype.executeNextRequests=function(){return p(this,void 0,void 0,(function(){var t,e,r,i,a,n,s,o,u,d,c,l,p;return h(this,(function(h){try{for(t=f(this.dashJsRequestQueue.entries()),e=t.next();!e.done;e=t.next()){if(r=v(e.value,2),i=r[0],a=r[1],n=this.activeRequests.get(i)){if(a.length&&this.onBigRequestProgress(n),!(s=a[0])||!s.request.range)continue;if(o=v(Ot(s.request),2),u=o[0],d=o[1],u>=n.from&&d<=n.to)continue;this.activeRequests.delete(i)}a.length&&(c=this.sendBigRequest(i,a.map((function(t){return t.request}))),this.activeRequests.set(i,c))}}catch(t){l={error:t}}finally{try{e&&!e.done&&(p=t.return)&&p.call(t)}finally{if(l)throw l.error}}return[2]}))}))},t.prototype.abort=function(t){var e,r,i;if(t){var a=t.request,n=(null!==(i=this.dashJsRequestQueue.get(a.url))&&void 0!==i?i:[]).includes(t),s=this.activeRequests.get(a.url);n&&s&&s.abortController.abort()}else try{for(var o=f(this.activeRequests.values()),u=o.next();!u.done;u=o.next()){u.value.abortController.abort()}}catch(t){e={error:t}}finally{try{u&&!u.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}},t.prototype.destroy=function(){this.abort(),this.dashMetrics=void 0,this.dashJsRequestQueue.clear(),this.activeRequests.clear()},t.prototype.sendBigRequest=function(e,r){for(var i=this,a=r.map(Ot),n=a[0][0],s=a[0][1],o=1;o<a.length&&s<this.params.minDataSize;o++){var u=a[o][1];u-n<=2*this.params.minDataSize&&(s=Math.max(s,u))}s=0===n?Math.max(s,n+this.params.minInitSize):Math.max(s,n+this.params.minDataSize);var d=new URL(e,location.href);d.searchParams.append("bytes",n+"-"+s);var c=d.toString(),l=new AbortController,f=l.signal,m={url:e,from:n,to:s,loaded:0,data:null,abortController:l};f.addEventListener("abort",(function(){return i.onBigRequestAbort(m)}));var S=function(t){var e,r;throw null===(r=(e=i.params).onError)||void 0===r||r.call(e,{id:"BigRequestParsing",message:"Error parsing response data",thrown:t}),t};return fetch(c,{signal:f}).then((function(e){var r,a,n;if(e.ok&&e.body){var s=v(e.body.tee(),2),o=s[0],u=s[1];null===(a=(r=i.params).onDownloadStream)||void 0===a||a.call(r,u);var d=o.getReader(),c=parseInt(null!==(n=e.headers.get("Content-Length"))&&void 0!==n?n:"",10);m.data=new ArrayBuffer(c);var l=new Uint8Array(m.data),f=function(e){var r=e.done,a=e.value;return p(i,void 0,void 0,(function(){return h(this,(function(e){switch(e.label){case 0:return r?(this.onBigRequestProgress(m),[3,3]):[3,1];case 1:return a?(l.set(a,m.loaded),m.loaded+=a.byteLength,this.onBigRequestProgress(m),[4,null==d?void 0:d.read().then(f,t.suppressStreamErrors).catch(S)]):[3,3];case 2:e.sent(),e.label=3;case 3:return[2]}}))}))};null==d||d.read().then(f,t.suppressStreamErrors).catch(S)}else i.onBigRequestError(m)}),t.suppressAbort).catch((function(t){return i.onBigRequestError(m,t)})),m},t.prototype.onBigRequestProgress=function(t){var e,r,i,a,n,s,o,u,d,c=t.url,l=t.from,p=t.to,h=t.loaded,m=t.data;if(this.activeRequests.has(c)&&m){var S=null!==(i=this.dashJsRequestQueue.get(c))&&void 0!==i?i:[],b=function(t){var e=t.request,r=v(Ot(e),2),i=r[0],f=r[1],S=i>=l&&f<=l+h,b=l>=i&&l+h<f,y=m.slice(i-l,Math.min(f-l+1,h));(S||b)&&(e.requestStartDate=null!==(a=e.requestStartDate)&&void 0!==a?a:new Date,e.firstByteDate=null!==(n=e.firstByteDate)&&void 0!==n?n:new Date,e.bytesLoaded=y.byteLength,e.bytesTotal=p-l),S?(e.requestEndDate=new Date,g.dashJsRequestQueue.set(c,(null!==(s=g.dashJsRequestQueue.get(c))&&void 0!==s?s:[]).filter((function(e){return e!==t}))),null===(o=t.success)||void 0===o||o.call(t,y,"",c),null===(u=g.dashMetrics)||void 0===u||u.addHttpRequest(e,c,200,{},[])):b&&(null===(d=t.progress)||void 0===d||d.call(t,{loaded:h,total:p-l,lengthComputable:!0,stream:!0}))},g=this;try{for(var y=f(S),T=y.next();!T.done;T=y.next()){b(T.value)}}catch(t){e={error:t}}finally{try{T&&!T.done&&(r=y.return)&&r.call(y)}finally{if(e)throw e.error}}}},t.prototype.onBigRequestError=function(t,e){var r,i,a,n,s,o,u=t.url,d=t.from,c=t.to;if(null===(n=(a=this.params).onError)||void 0===n||n.call(a,{id:"BigRequest",message:"Download error",thrown:e}),this.activeRequests.has(u)){var l=null!==(s=this.dashJsRequestQueue.get(u))&&void 0!==s?s:[];try{for(var p=f(l),h=p.next();!h.done;h=p.next()){var m=h.value,S=v(Ot(m.request),2),b=S[0],g=S[1];(b>=d&&b<c||g>d&&g<=c)&&(null===(o=null==m?void 0:m.error)||void 0===o||o.call(m,m.request,String(e)))}}catch(t){r={error:t}}finally{try{h&&!h.done&&(i=p.return)&&i.call(p)}finally{if(r)throw r.error}}if(this.activeRequests.delete(u),e)throw e}},t.prototype.onBigRequestAbort=function(t){var e,r,i,a,n=t.url,s=t.from,o=t.to;if(this.activeRequests.has(n)){var u=null!==(i=this.dashJsRequestQueue.get(n))&&void 0!==i?i:[];try{for(var d=f(u),c=d.next();!c.done;c=d.next()){var l=c.value,p=v(Ot(l.request),2),h=p[0],m=p[1];(h>=s&&h<o||m>s&&m<=o)&&(null===(a=null==l?void 0:l.abort)||void 0===a||a.call(l,l.request))}}catch(t){e={error:t}}finally{try{c&&!c.done&&(r=d.return)&&r.call(d)}finally{if(e)throw e.error}}this.activeRequests.delete(n)}},t.suppressAbort=function(t){if(!(t instanceof DOMException)||"AbortError"!==t.name&&20!==t.code)throw t},t.suppressStreamErrors=function(){},t}(),Vt=function(){function t(t,e,r){this.baseLoader=t,this.config=r,this.bigRequest=e,e.setMetrics(r.dashMetrics)}return t.shouldDelegateToBase=function(t){return"download"!==t.action||"text"===t.mediaType||!t.range||"arraybuffer"!==t.responseType},t.prototype.load=function(e){var r=e.request;if(t.shouldDelegateToBase(r))return this.baseLoader.load(e);this.bigRequest.queueDashJSRequest(e),this.bigRequest.executeNextRequests()},t.prototype.abort=function(e){if(!e)return this.baseLoader.abort(),void this.bigRequest.abort();var r=e.request;t.shouldDelegateToBase(r)?this.baseLoader.abort(e):this.bigRequest.abort(e)},t}(),Bt=function(t,e){var r=new Mt(e);return t.extend("SchemeLoaderFactory",(function(){var t=this.parent.getLoader;return{getLoader:function(e){return function(t,e){return function(r){return{create:function(i){var a=t(r).create(i);return new Vt(a,e,i)}}}}(t(e),r)}}}),!0),function(){return r.destroy()}},Ut=function(e){var r=new t.ValueSubject(1/0),i=new t.Subject,a=NaN,n=!1,s=function(e){var i,a,n;if(e.getAllResponseHeaders().includes("x-playback-duration")){var s=parseInt(null!==(i=e.getResponseHeader("X-Playback-Duration"))&&void 0!==i?i:"",10),o=parseInt(null!==(a=e.getResponseHeader("X-Playback-Duration-Millis"))&&void 0!==a?a:"",10),u=null!==(n=null!=o?o:1e3*s)&&void 0!==n?n:NaN;t.isNonNullable(u)&&!isNaN(u)&&r.next(u)}},o=function(t){t.readyState>=2&&!n&&(n=!0,i.next(Date.now()-a))};return e.extend("XHRLoader",(function(){var t=this.parent,e=t.load.bind(t);return{load:function(t){if("MPD"===t.request.type){var r=t.onload,i=t.progress;t.onload=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return s(this),r.apply(void 0,m([],v(t),!1))},t.progress=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return o(this),i.apply(void 0,m([],v(t),!1))},a=Date.now(),n=!1}return e(t)}}}),!0),{playbackDuration$:r,ping$:i}},Ft=function(){function t(){this.pausedTime=0,this.streamOffset=0,this.pauseTimestamp=0}return t.prototype.getTotalPausedTime=function(){return this.pausedTime+this.getCurrentPausedTime()},t.prototype.getCurrentPausedTime=function(){return this.pauseTimestamp>0?Date.now()-this.pauseTimestamp:0},t.prototype.getStreamOffset=function(){return this.streamOffset},t.prototype.getTotalOffset=function(){return this.getTotalPausedTime()+this.streamOffset},t.prototype.pause=function(){0===this.pauseTimestamp&&(this.pauseTimestamp=Date.now())},t.prototype.resume=function(){this.pauseTimestamp>0&&(this.pausedTime+=this.getCurrentPausedTime(),this.pauseTimestamp=0)},t.prototype.resetTo=function(t){this.streamOffset=t,this.pauseTimestamp=0,this.pausedTime=0},t}(),qt={};!function(t){t.DOWNLOADING_LIB="downloading_lib",t.STOPPED="stopped",t.STREAM_INITIALIZED="stream_initialized",t.READY="ready",t.PLAYING="playing",t.PAUSED="paused"}(Rt||(Rt={}));var Ht=function(e,r){return new t.Observable((function(t){var i=function(e){return t.next(e)};return e.on(r,i),function(){return e.off(r,i)}}))},Gt=function(){function e(e){var r=this;this.subscription=new t.Subscription,this.videoState=new tt(Rt.DOWNLOADING_LIB),this.textTracksManager=new $,this.videoTracks=[],this.isLive$=new t.ValueSubject(void 0),this.maxSeekBackTime$=new t.ValueSubject(1/0),this.availableFrom$=new t.ValueSubject(void 0),this.liveOffset=new Ft,this.syncPlayback=function(){var e=r.videoState.getState(),i=r.params.desiredState.playbackState.getState(),a=r.params.desiredState.playbackState.getTransition(),n=r.params.desiredState.seekPosition.getTransition(),s=r.isLive$.getValue();if(!r.videoState.getTransition()&&e!==Rt.DOWNLOADING_LIB&&e!==Rt.STREAM_INITIALIZED){var o=null==n?void 0:n.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&t.isNonNullable(o)&&e!==Rt.STOPPED&&i!==exports.PlaybackState.STOPPED&&(s?r.seek(o+Yt(r.liveOffset.getTotalPausedTime())):r.seek(o)),i){case exports.PlaybackState.STOPPED:switch(e){case Rt.STOPPED:break;case Rt.PLAYING:case Rt.PAUSED:case Rt.READY:r.stop();break;default:t.assertNever(e)}break;case exports.PlaybackState.PLAYING:switch(e){case Rt.PLAYING:break;case Rt.PAUSED:s&&(r.liveOffset.getTotalPausedTime()<r.params.config.maxPausedTime&&r.liveOffset.getTotalOffset()<r.maxSeekBackTime$.getValue()?(r.liveOffset.resume(),r.params.output.position$.next(Yt(r.liveOffset.getTotalOffset()))):r.seek(Yt(r.liveOffset.getTotalOffset()))),r.play();break;case Rt.READY:r.play();break;case Rt.STOPPED:r.prepare();break;default:t.assertNever(e)}break;case exports.PlaybackState.PAUSED:switch(e){case Rt.PLAYING:r.pause(),r.liveOffset.pause();break;case Rt.PAUSED:break;case Rt.READY:r.videoState.setState(Rt.PAUSED),O(r.params.desiredState.playbackState,exports.PlaybackState.PAUSED);break;case Rt.STOPPED:r.prepare();break;default:t.assertNever(e)}break;default:t.assertNever(i)}}},this.video=D(e.container),this.params=e,this.params.output.element$.next(this.video),this.params.output.availableVideoTracks$.next([]),this.params.output.hostname$.next(X(this.params.source.url)),this.loadDashJs()}return e.prototype.loadDashJs=function(){var t=this,e=!1,i=function(r){var i,a;e||t.params.output.error$.next({id:"timeout"===r?"DashJSTimedOut":"DashJSLoadingError",message:"Dash.js failed to load: "+(null===(a=null===(i=r)||void 0===i?void 0:i.toString)||void 0===a?void 0:a.call(i)),thrown:r}),e=!0},a=window.setTimeout((function(){return i("timeout")}),5e3);Promise.resolve().then((function(){return r(require("dashjs/dist/dash.mediaplayer.min.js"))})).then((function(r){e||(qt.MediaPlayer=r.MediaPlayer,qt.Debug=r.Debug,t.init())}),i).finally((function(){window.clearTimeout(a),e=!0}))},e.prototype.init=function(){var e=this;t.assertNonNullable(qt.MediaPlayer,"dashjs not loaded"),t.assertNonNullable(qt.Debug,"dashjs not loaded"),this.player=qt.MediaPlayer().create(),this.player.updateSettings({debug:{logLevel:3},streaming:{buffer:{fastSwitchEnabled:!0},abr:{limitBitrateByPortal:this.params.tuning.autoTrackSelection.limitByContainer,usePixelRatioInLimitBitrateByPortal:this.params.tuning.autoTrackSelection.usePixelRatio,additionalAbrRules:{insufficientBufferRule:!1}},utcSynchronization:{useManifestDateHeaderTimeSource:!0}}}),(this.params.format===exports.VideoFormat.DASH_WEBM||this.params.format===exports.VideoFormat.DASH_LIVE_WEBM)&&this.params.tuning.useWebmBigRequest?this.destroyBigRequest=Bt(this.player,{minInitSize:this.params.tuning.bigRequestMinInitSize,minDataSize:this.params.tuning.bigRequestMinDataSize,onError:function(t){return e.params.output.error$.next(t)},onDownloadStream:function(t){return e.params.dependencies.throughputEstimator.trackStream(t)}}):this.params.tuning.stripRangeHeader&&this.player.extend("HTTPLoader",(function(){var t=this.parent.load;return{load:function(e){if(e.request&&e.request.range){var r=v(e.request.range.split("-").map((function(t){return parseInt(t,10)})),2),i=r[0],a=r[1],n=new URL(e.request.url,location.href);n.searchParams.append("bytes",i+"-"+a),e.request.url=n.toString(),e.request.range=void 0}t(e)}}}),!0),this.player.clearDefaultUTCTimingSources(),this.subscribe(),this.videoState.setState(Rt.STOPPED)},e.prototype.subscribe=function(){var e=this,r=this.params,i=r.output,a=r.desiredState,n=function(t){i.error$.next({id:"DashIFProvider",message:"DashIFProvider internal logic error",thrown:t})},s=function(t,r){return e.subscription.add(t.subscribe(r,n))};s(Ht(this.player,"error").pipe(t.map((function(t){return{id:"DashJS#"+("object"==typeof t.error?t.error.code:t.error),message:"object"==typeof t.error?t.error.message:void 0}}))),i.error$),s(Ht(this.player,"playbackError").pipe(t.map((function(t){return{id:"DashJSPlayback",message:t.error}}))),i.error$);var o=Ht(this.player,"qualityChangeRendered").pipe(t.filter((function(t){return"video"===t.mediaType})),t.map((function(t){var r,i=t.newQuality;return null===(r=e.videoTracks.find((function(t){return t.bitrateInfo.qualityIndex===i})))||void 0===r?void 0:r.track})));o.pipe(t.filter(t.isNonNullable)).subscribe(i.currentVideoTrack$),this.subscription.add(this.videoState.transitionEnded$.pipe(t.filter((function(t){return t.to===Rt.STREAM_INITIALIZED})),t.once()).subscribe((function(){e.subscription.add(w(a.videoTrack,(function(){var t,r,i=e.player.getQualityFor("video");return null===(r=null===(t=e.videoTracks.find((function(t){return t.bitrateInfo.qualityIndex===i})))||void 0===t?void 0:t.track)||void 0===r?void 0:r.id}),(function(r){var i;if(!t.isNullable(r)){var a=null===(i=e.videoTracks.find((function(t){return t.track.id===r})))||void 0===i?void 0:i.bitrateInfo;a&&e.player.setQualityFor("video",a.qualityIndex)}}),{changed$:o.pipe(t.map((function(t){return null==t?void 0:t.id}))),onError:n}))}),n)),this.subscription.add(w(a.autoVideoTrackSwitching,(function(){var t,r,i;return null===(i=null===(r=null===(t=e.player.getSettings().streaming)||void 0===t?void 0:t.abr)||void 0===r?void 0:r.autoSwitchBitrate)||void 0===i?void 0:i.video}),(function(t){return e.player.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:t}}}})}),{onError:n})),s(Ht(this.player,"bufferStateChanged").pipe(t.filter((function(t){return"video"===t.mediaType})),t.map((function(t){return"bufferStalled"===t.state}))),i.isBuffering$),s(Ht(this.player,"fragmentLoadingStarted").pipe(t.map((function(t){return X(t.request.url)}))),i.hostname$),s(Ht(this.player,"streamInitialized"),(function(t){var r,a,n=t.streamInfo,s=n.duration,o=n.manifestInfo,u=o.isDynamic,d=o.availableFrom;e.isLive$.next(u),e.availableFrom$.next(d.getTime()),u||i.duration$.next(s),e.videoTracks=[];var c,l=e.player.getQualityFor("video");try{for(var p=f(e.player.getBitrateInfoListFor("video")),h=p.next();!h.done;h=p.next()){var v=h.value,m=v.qualityIndex.toString(10),S=q(v),b=v.bitrate/1e3,g={width:v.width,height:v.height};if(S){var y={id:m,quality:S,bitrate:b,size:g};e.videoTracks.push({track:y,bitrateInfo:v}),v.qualityIndex===l&&(c=y)}}}catch(t){r={error:t}}finally{try{h&&!h.done&&(a=p.return)&&a.call(p)}finally{if(r)throw r.error}}i.availableVideoTracks$.next(e.videoTracks.map((function(t){return t.track}))),c&&i.currentVideoTrack$.next(c),e.videoState.setState(Rt.STREAM_INITIALIZED),e.videoState.startTransitionTo(Rt.READY)})),s(Ht(this.player,"fragmentLoadingCompleted"),(function(t){var r=t.request;if(r.requestEndDate&&r.firstByteDate&&r.bytesLoaded){var i=r.requestEndDate.getTime()-r.firstByteDate.getTime(),a=r.bytesLoaded;e.params.dependencies.throughputEstimator.addRawSpeed(a,i)}})),s(this.params.dependencies.throughputEstimator.throughput$,(function(t){if(e.params.desiredState.autoVideoTrackSwitching.getState()&&e.videoTracks.length){var r=J(e.videoTracks.map((function(t){return t.track})),{container:{width:e.video.offsetWidth,height:e.video.offsetHeight},throughput:t,tuning:e.params.tuning.autoTrackSelection}),i=e.videoTracks.find((function(t){return t.track===r}));(null==i?void 0:i.bitrateInfo)&&e.player.setQualityFor("video",null==i?void 0:i.bitrateInfo.qualityIndex,!1)}})),s(t.combine({maxSeekBackTime:this.maxSeekBackTime$,isLive:this.isLive$.pipe(t.filter(t.isNonNullable))}).pipe(t.filter((function(t){return t.isLive})),t.map((function(t){var e=t.maxSeekBackTime;return Yt(e)}))),this.params.output.duration$);var u=Ht(this.player,"playbackTimeUpdated").pipe(t.map((function(t){var e=t.time;return null!=e?e:0})));s(t.combine({availableFrom:this.availableFrom$.pipe(t.filter(t.isNonNullable)),currentTime:u}),(function(t){var r=t.availableFrom,i=t.currentTime;return e.params.output.liveTime$.next(r+1e3*i)})),s(u.pipe(t.filter((function(){return!1===e.isLive$.getValue()}))),i.position$),s(Ht(this.player,"playbackSeeked"),(function(){return a.seekPosition.setState(void 0)})),s(Ht(this.player,"playbackEnded"),i.endedEvent$),s(Ht(this.player,"playbackProgress").pipe(t.map((function(){return R(e.video.buffered,e.video.currentTime)}))),i.currentBuffer$),s(Ht(this.player,"playbackPlaying"),(function(){e.videoState.setState(Rt.PLAYING),O(a.playbackState,exports.PlaybackState.PLAYING)})),s(Ht(this.player,"playbackNotAllowed"),(function(){e.player.isMuted()?(e.player.setMute(!1),e.videoState.setState(Rt.PAUSED),O(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0)):(e.player.setMute(!0),e.player.play())})),s(Ht(this.player,"playbackPaused"),(function(){e.videoState.setState(Rt.PAUSED),O(a.playbackState,exports.PlaybackState.PAUSED)})),s(Ht(this.player,"canPlay"),(function(){var t;(null===(t=e.videoState.getTransition())||void 0===t?void 0:t.to)===Rt.READY&&e.videoState.setState(Rt.READY)})),s(this.isLive$,i.isLive$),s(Z(this.video),(function(){e.player.isReady()&&e.player.updatePortalSize()})),s(t.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,t.observableFrom(["init"])).pipe(t.debounce(0)),this.syncPlayback);var d=Ut(this.player),c=d.playbackDuration$,l=d.ping$;s(c,this.maxSeekBackTime$),s(l.pipe(t.once()),i.firstBytesEvent$),this.params.tuning.flushShortLoopedBuffers&&s(t.combine({isLive:this.isLive$,isShort:i.duration$.pipe(t.map((function(t){return t<30})))}),(function(t){var r=t.isLive,i=t.isShort,a=!r&&i;e.player.updateSettings({streaming:{buffer:{flushBufferAtTrackSwitch:a}}})})),s(u.pipe(t.filter((function(t){return t>e.params.tuning.insufficientBufferRuleMargin})),t.once()),(function(){return e.player.updateSettings({streaming:{abr:{additionalAbrRules:{insufficientBufferRule:!0}}}})})),this.textTracksManager.connect(this.video,a,i),this.subscription.add(Ht(this.player,"manifestLoaded").pipe(t.once()).subscribe((function(){var r=Date.now();e.subscription.add(Ht(e.player,"playbackPlaying").pipe(t.once()).subscribe((function(){return i.firstFrameEvent$.next(Date.now()-r)}),n))}),n)),this.subscription.add(x(this.video,a.isLooped,n));var p=L(this.video).volumeState$;this.subscription.add(A(this.video,a.volume,p,n)),this.subscription.add(p.subscribe(i.volume$,n))},e.prototype.stop=function(){this.params.output.position$.next(0),this.params.output.duration$.next(1/0),this.params.output.currentBuffer$.next(void 0),this.params.output.hostname$.next(void 0),this.player.attachSource(null),this.player.attachView(null),this.player.initialize(),this.player.clearDefaultUTCTimingSources(),this.videoState.setState(Rt.STOPPED),O(this.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0)},e.prototype.prepare=function(){this.videoState.startTransitionTo(Rt.STREAM_INITIALIZED),this.player.initialize(),this.player.clearDefaultUTCTimingSources(),this.player.attachView(this.video),this.player.attachSource(this.params.source.url)},e.prototype.seek=function(t){if(this.params.desiredState.seekPosition.setState(t),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.isLive$.getValue()){var e=-Math.round(1e3*t),r=e<this.maxSeekBackTime$.getValue()?e:0;this.liveOffset.resetTo(r),this.params.output.position$.next(Yt(r));var i=wt(this.params.source.url,this.liveOffset.getTotalOffset()/1e3,yt.PLAYBACK_SHIFT);this.player.attachSource(i)}else this.player.seek(t)},e.prototype.play=function(){this.videoState.startTransitionTo(Rt.PLAYING),this.player.play()},e.prototype.pause=function(){this.videoState.startTransitionTo(Rt.PAUSED),this.video.pause()},e.prototype.destroy=function(){var t,e;this.subscription.unsubscribe(),this.textTracksManager.destroy();try{null===(t=this.player)||void 0===t||t.destroy()}catch(t){}this.video.remove(),this.params.output.element$.next(void 0),null===(e=this.destroyBigRequest)||void 0===e||e.call(this)},e}(),Yt=function(t){return-t/1e3};function jt(){return window.performance?window.performance.now():Date.now()}function zt(t){return jt()-t}function Qt(t){var e=t.split("/"),r=e.slice(0,e.length-1).join("/"),i=/^([a-z]+:)?\/\//i;return{resolve:function(t,e,a){void 0===a&&(a=!1),function(t){return i.test(t)}(t)||(t.startsWith("/")||(t="/"+t),t=r+t);var n=t.indexOf("?")>-1?"&":"?";return a&&(t+=n+"lowLat=1",n="&"),e&&(t+=n+"_rnd="+Math.floor(999999999*Math.random())),t}}}function Wt(e,r,i,a){var n,s,o,u,d,c=window.XMLHttpRequest,l=!1,p=0,h=!1,f="arraybuffer",v=7e3,m=2e3,S=function(){if(!l){t.assertNonNullable(u);var e=zt(u);e<m?setTimeout(S,m-e):((m*=2)>v&&(m=v),s&&s.abort(),s=new c,g())}},b=function(){if(!l){if(--p>=0)return S(),void(a&&a());l=!0,d&&d(),i&&i()}},g=function(){u=jt(),(s=new c).open("get",e);var i,a=0,p=0,v=function(){return t.assertNonNullable(u),Math.max(u,Math.max(i||0,p||0))};if(n&&s.addEventListener("progress",(function(t){var e=jt();n.updateChunk&&t.loaded>a&&(n.updateChunk(v(),t.loaded-a),a=t.loaded,i=e)})),o&&(s.timeout=o,s.addEventListener("timeout",(function(){return b()}))),s.addEventListener("load",(function(){if(!l){t.assertNonNullable(s);var e=s.status;if(e>=200&&e<300){if(s.response.byteLength&&n){var i=s.response.byteLength-a;i&&n.updateChunk&&n.updateChunk(v(),i)}d&&d(),s&&r(s.response)}else b()}})),s.addEventListener("error",(function(){b()})),h){var m=function(){t.assertNonNullable(s),s.readyState===XMLHttpRequest.HEADERS_RECEIVED&&(p=jt(),s.removeEventListener("readystatechange",m))};s.addEventListener("readystatechange",m)}return s.responseType=f,s.send(),y},y={withBitrateReporting:function(t){return n=t,y},withParallel:function(t){return h=t,y},withJSONResponse:function(){return f="json",y},withRetryCount:function(t){return p=t,y},withRetryInterval:function(e,r){return t.isNonNullable(e)&&(m=e),t.isNonNullable(r)&&(v=r),y},withTimeout:function(t){return o=t,y},withFinally:function(t){return d=t,y},send:g,abort:function(){s&&(s.abort(),s=void 0),l=!0,d&&d()}};return y}var Jt,Kt=function(){function t(t){this.intervals=[],this.currentRate=0,this.logger=t}return t.prototype._updateRate=function(t){var e=.2;this.currentRate&&(t<.1*this.currentRate?e=.8:t<.5*this.currentRate?e=.5:t<.7*this.currentRate&&(e=.3)),t=Math.max(1,Math.min(t,104857600)),this.currentRate=this.currentRate?this.currentRate*(1-e)+t*e:t},t.prototype._createInterval=function(t,e,r){return{start:t,end:e,bytes:r}},t.prototype._doMergeIntervals=function(t,e){t.start=Math.min(e.start,t.start),t.end=Math.max(e.end,t.end),t.bytes+=e.bytes},t.prototype._mergeIntervals=function(t,e){return t.start<=e.end&&e.start<=t.end&&(this._doMergeIntervals(t,e),!0)},t.prototype._flushIntervals=function(){if(!this.intervals.length)return!1;var t=this.intervals[0].start,e=this.intervals[this.intervals.length-1].end-500;if(e-t>2e3){for(var r=0,i=0;this.intervals.length>0;){var a=this.intervals[0];if(a.end<=e)r+=a.end-a.start,i+=a.bytes,this.intervals.splice(0,1);else{if(a.start>=e)break;var n=e-a.start,s=a.end-a.start;r+=n;var o=a.bytes*n/s;i+=o,a.start=e,a.bytes-=o}}if(i>0&&r>0){var u=8*i/(r/1e3);return this._updateRate(u),this.logger("rate updated, new="+Math.round(u/1024)+"K; average="+Math.round(this.currentRate/1024)+"K bytes/ms="+Math.round(i)+"/"+Math.round(r)+" interval="+Math.round(e-t)),!0}}return!1},t.prototype._joinIntervals=function(){var t;do{t=!1;for(var e=0;e<this.intervals.length-1;++e)this._mergeIntervals(this.intervals[e],this.intervals[e+1])&&(this.intervals.splice(e+1,1),t=!0)}while(t)},t.prototype.addInterval=function(t,e,r){return this.intervals.push(this._createInterval(t,e,r)),this._joinIntervals(),this.intervals.length>100&&(this.logger("too many intervals ("+this.intervals.length+"); will merge",{type:"warn"}),this._doMergeIntervals(this.intervals[1],this.intervals[0]),this.intervals.splice(0,1)),this._flushIntervals()},t.prototype.getBitRate=function(){return this.currentRate},t}(),Xt=function(){function t(t,e,r,i,a){this.pendingQueue=[],this.activeRequests={},this.completeRequests={},this.averageSegmentDuration=2e3,this.lastPrefetchStart=0,this.throttleTimeout=null,this.RETRY_COUNT=t,this.TIMEOUT=e,this.BITRATE_ESTIMATOR=r,this.MAX_PARALLEL_REQUESTS=i,this.logger=a}return t.prototype.limitCompleteCount=function(){for(var t;(t=Object.keys(this.completeRequests)).length>this._getParallelRequestCount()+2;){var e=t[Math.floor(Math.random()*t.length)];this.logger("Dropping completed request for url "+e,{type:"warn"}),delete this.completeRequests[e]}},t.prototype._sendRequest=function(t,e){var r=this,i=jt();t._request=Wt(e,(function(a){t._complete=1,t._responseData=a,t._downloadTime=jt()-i,delete r.activeRequests[e],r._sendPending(),t._cb?t._cb(a,t._downloadTime):(r.limitCompleteCount(),r.completeRequests[e]=t)}),(function(){return i="error",delete r.activeRequests[e],r.limitCompleteCount(),r.completeRequests[e]=t,r._sendPending(),t._error=1,t._errorMsg=i,void(t._errorCB?t._errorCB(i):(r.limitCompleteCount(),r.completeRequests[e]=t));var i}),(function(){t._retry=1,t._retryCB&&t._retryCB()})),t._request.withRetryCount(this.RETRY_COUNT).withTimeout(this.TIMEOUT).withBitrateReporting(this.BITRATE_ESTIMATOR).withParallel(this._getParallelRequestCount()>1).withFinally((function(){t._finallyCB&&t._finallyCB()})),this.activeRequests[e]=t,t._request.send(),this.lastPrefetchStart=jt()},t.prototype._getParallelRequestCount=function(){return Math.min(this.MAX_PARALLEL_REQUESTS,this.averageSegmentDuration<3e3?3:2)},t.prototype._getPrefetchDelay=function(){return Math.max(100,Math.min(5e3,this.averageSegmentDuration/3))},t.prototype._canSendPending=function(){var t=this,e=this._getParallelRequestCount(),r=jt();if(Object.keys(this.activeRequests).length>=e)return!1;var i=this._getPrefetchDelay()-(r-this.lastPrefetchStart);return this.throttleTimeout&&clearTimeout(this.throttleTimeout),!(i>0)||(this.throttleTimeout=window.setTimeout((function(){return t._sendPending()}),i),!1)},t.prototype._sendPending=function(){for(;this._canSendPending();){var t=this.pendingQueue.pop();if(!t)return;this.activeRequests[t]||this.completeRequests[t]||(this.logger("Submitting pending request url="+t),this._sendRequest({},t))}},t.prototype._removeFromActive=function(t){delete this.completeRequests[t],delete this.activeRequests[t]},t.prototype.abortAll=function(){Object.values(this.activeRequests).forEach((function(t){t&&t._request&&t._request.abort()})),this.activeRequests={},this.pendingQueue=[],this.completeRequests={}},t.prototype.requestData=function(t,e,r,i){var a=this,n={send:function(){var s=a.activeRequests[t]||a.completeRequests[t];if(s)s._cb=e,s._errorCB=r,s._retryCB=i,s._finallyCB=n._finallyCB,s._error||s._complete?(a._removeFromActive(t),setTimeout((function(){s._complete?(a.logger("Requested url already prefetched, url="+t),e(s._responseData,s._downloadTime)):(a.logger("Requested url already prefetched with error, url="+t),r(s._errorMsg)),n._finallyCB&&n._finallyCB()}),0)):a.logger("Attached to active request, url="+t);else{var o=a.pendingQueue.indexOf(t);-1!==o&&a.pendingQueue.splice(o,1),a.logger("Request not prefetched, starting new request, url="+t+(-1===o?"":"; removed pending")),a._sendRequest(n,t)}}};return n._cb=e,n._errorCB=r,n._retryCB=i,n.abort=function(){n.request&&n.request.abort()},n.withFinally=function(t){return n._finallyCB=t,n},n},t.prototype.prefetch=function(t){this.activeRequests[t]||this.completeRequests[t]?this.logger("Request already active for url="+t):(this.logger("Added to pending queue; url="+t),this.pendingQueue.unshift(t),this._sendPending())},t.prototype.optimizeForSegDuration=function(t){this.averageSegmentDuration=t},t}(),Zt=function(){function e(t){this.paused=!1,this.autoQuality=!0,this.buffering=!0,this.destroyed=!1,this.videoPlayStarted=!1,this.lowLatency=!1,this.bitrate=0,this.manifest=[],this.sourceBuffer=0,this.bufferStates=[],this.sourceJitter=-1,this.params=t,this.chunkRateEstimator=new Kt(this.params.logger),this._initVideo()}return e.prototype.attachSource=function(t){this.manifestUrl=t,this.urlResolver=Qt(t),this.bitrateSwitcher=this._initBitrateSwitcher(),this._initManifest()},e.prototype.setAutoQualityEnabled=function(t){this.autoQuality=t},e.prototype.switchByName=function(t){for(var e,r=0;r<this.manifest.length;++r)if((e=this.manifest[r]).name===t)return void this._switchToQuality(e)},e.prototype.catchUp=function(){this.rep&&this.rep.stop(),this.currentManifestEntry&&(this.paused=!1,this._initPlayerWith(this.currentManifestEntry),this._notifyBuffering(!0))},e.prototype.stop=function(){this.params.videoElement.pause(),this.rep&&(this.rep.stop(),this.rep=null)},e.prototype.pause=function(){this.paused=!0,this.params.videoElement.pause(),this.videoPlayStarted=!1,this._notifyBuffering(!1)},e.prototype.play=function(t){this.paused=!1;var e=this.lowLatency&&this._getBufferSizeSec()>this.sourceJitter+5;this.rep&&!e?(this.bufferStates=[],this.videoPlayStarted=!1,this.shouldPlay()?this._playVideoElement(t):this._notifyBuffering(!0)):this.catchUp()},e.prototype.startPlay=function(t,e){this.autoQuality=e,this._initPlayerWith(t)},e.prototype.destroy=function(){this.destroyed=!0,this.rep&&(this.rep.stop(),this.rep=null),this.manifestRequest&&this.manifestRequest.abort(),this.manifestRefetchTimer&&(clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=void 0)},e.prototype.reinit=function(t){this.manifestUrl=t,this.urlResolver=Qt(t),this.catchUp()},e.prototype._handleNetworkError=function(){this.params.logger("Fatal network error"),this.params.playerCallback({name:"error",type:"network"})},e.prototype._retryCallback=function(){this.params.playerCallback({name:"retry"})},e.prototype._getBufferSizeSec=function(){var t=this.params.videoElement,e=0,r=t.buffered.length;return 0!==r&&(e=t.buffered.end(r-1)-Math.max(t.currentTime,t.buffered.start(0))),e},e.prototype._notifyBuffering=function(t){this.destroyed||(this.params.logger("buffering: "+t),this.params.playerCallback({name:"buffering",isBuffering:t}),this.buffering=t)},e.prototype._initVideo=function(){var t=this,e=this.params,r=e.videoElement,i=e.logger;r.addEventListener("error",(function(e){var a;t.destroyed||(i("Video element error: "+(null===(a=r.error)||void 0===a?void 0:a.code)),t.params.playerCallback({name:"error",type:"media"}))})),r.addEventListener("timeupdate",(function(){var e=t._getBufferSizeSec();!t.paused&&e<.3?t.buffering||(t.buffering=!0,window.setTimeout((function(){!t.paused&&t.buffering&&t._notifyBuffering(!0),r.pause(),t.videoPlayStarted=!1}),1e3*(e+.1))):t.buffering&&t.videoPlayStarted&&t._notifyBuffering(!1)})),r.addEventListener("playing",(function(){i("playing")})),r.addEventListener("stalled",(function(){return t._fixupStall()})),r.addEventListener("waiting",(function(){return t._fixupStall()}))},e.prototype._fixupStall=function(){var t,e=this.params,r=e.logger,i=e.videoElement,a=i.buffered.length;0!==a&&(t=i.buffered.start(a-1),i.currentTime<t&&(r("Fixup stall"),i.currentTime=t))},e.prototype._selectQuality=function(t){for(var e,r,i,a=this.params.videoElement,n=a&&1.62*(window.devicePixelRatio||1)*a.offsetHeight||520,s=0;s<this.manifest.length;++s)(i=this.manifest[s]).bitrate<t&&n>Math.min(i.video.height,i.video.width)?(!r||i.bitrate>r.bitrate)&&(r=i):(!e||e.bitrate>i.bitrate)&&(e=i);return r||e},e.prototype.shouldPlay=function(){if(this.paused)return!1;var e=this._getBufferSizeSec()-Math.max(1,this.sourceJitter);return e>3||t.isNonNullable(this.downloadRate)&&(this.downloadRate>1.5&&e>2||this.downloadRate>2&&e>1)},e.prototype._setVideoSrc=function(e,r){var i=this,a=this.params,n=a.logger,s=a.videoElement,o=a.playerCallback;this.mediaSource=new window.MediaSource,n("setting video src"),s.src=URL.createObjectURL(this.mediaSource),this.mediaSource.addEventListener("sourceopen",(function(){t.assertNonNullable(i.mediaSource),i.sourceBuffer=i.mediaSource.addSourceBuffer(e.codecs),i.bufferStates=[],r()})),this.videoPlayStarted=!1,s.addEventListener("canplay",(function(){i.shouldPlay()&&(i.videoPlayStarted=!0,i._playVideoElement())}));var u=function(){var t,e,r,i;e="progress",r=function(){s.buffered.length?(s.currentTime=s.buffered.start(0),o({name:"playing"})):u()},i=function(){for(var a=[],n=0;n<arguments.length;n++)a[n]=arguments[n];r.apply(null,a),t.removeEventListener(e,i)},(t=s).addEventListener(e,i)};u()},e.prototype._initPlayerWith=function(t){var e=this;this.bitrate=0,this.rep=0,this.sourceBuffer=0,this.bufferStates=[],this.filesFetcher&&this.filesFetcher.abortAll(),this.filesFetcher=new Xt(3,1e4,this.bitrateSwitcher,this.params.config.MAX_PARALLEL_REQUESTS,this.params.logger),this._setVideoSrc(t,(function(){return e._switchToQuality(t)}))},e.prototype._representation=function(e){var r=this,i=this.params,a=i.logger,n=i.videoElement,s=i.playerCallback,o=!1,u=null,d=null,c=null,l=null,p=!1,h=function(){var t=o&&(!p||p===r.rep);return t||a("Not running!"),t},f=function(t){var e=n.playbackRate;n.playbackRate!==t&&(a("Playback rate switch: "+e+"=>"+t),n.playbackRate=t)},v=function(){if(r.lowLatency){var t=r._getBufferSizeSec();if(r.bufferStates.length<5)return void f(1);for(var e=jt()-6e4,i=0,n=0;n<r.bufferStates.length;n++){var s=r.bufferStates[n];t=Math.min(t,s.buf),s.ts<e&&i++}r.bufferStates.splice(0,i),a("update playback rate; minBuffer="+t+" drop="+i+" jitter="+r.sourceJitter);var o=t-1;r.sourceJitter>=0?o-=r.sourceJitter/2:r.sourceJitter-=1,f(o>3?1.15:o>1?1.1:o>.3?1.01:1)}else f(1)},m=function(e){var i,n=function(){return i&&i.start?i.start.length:0},o=function(t){return i.start[t]/1e3},u=function(t){return i.dur[t]/1e3},d=function(t){return i.fragIndex+t},c=function(t,e){return{chunkIdx:d(t),startTS:o(t),dur:u(t),discontinuity:e}},p=function(){var t=0;if(i&&i.dur){var e=Math.max(r.sourceJitter,1);for(r.lowLatency||(e+=2),t=i.dur.length-1;t>=0&&!((e-=i.dur[t]/1e3)<=0);--t);}return c(t,!0)};return{seek:function(u,d){!function(t,e,i){l&&l.abort(),l=Wt(r.urlResolver.resolve(t,!0,r.lowLatency),e,i,(function(){return r._retryCallback()})).withTimeout(1e4).withRetryCount(3).withFinally((function(){l=null})).withJSONResponse().send()}(e,(function(e){if(h()){i=e;var l,f=Boolean(i.lowLatency);f!==r.lowLatency&&(l=f,r.lowLatency=l,a("lowLatency changed to "+l),v());for(var m=0,S=0;S<i.dur.length;++S)m+=i.dur[S];m>0&&(t.assertNonNullable(r.filesFetcher),r.filesFetcher.optimizeForSegDuration(m/i.dur.length)),s({name:"index",zeroTime:i.zeroTime,shiftDuration:i.shiftDuration}),r.sourceJitter=i.hasOwnProperty("jitter")?Math.min(10,Math.max(.01,i.jitter/1e3)):1,u(function(e){var r=n();if(!(r<=0)){if(t.isNonNullable(e))for(var i=0;i<r;i++)if(o(i)>e)return c(i);return p()}}(d))}}),(function(){return r._handleNetworkError()}))},nextChunk:function(t){var e=n(),r=t?t.chunkIdx+1:0,s=r-i.fragIndex;if(!(e<=0)){if(!t||s<0||s-e>10)return a("Resync: offset="+s+" bChunks="+e+" chunk="+JSON.stringify(t)),p();if(!(s>=e))return c(r-i.fragIndex,!1)}}}},S=function(){o=!1,d&&d.abort(),c&&c.abort(),l&&l.abort(),t.assertNonNullable(r.filesFetcher),r.filesFetcher.abortAll()};return p={start:function(i){var a,n,s,p,f,b,g,y,T,E,P=r.params,k=P.videoElement,w=P.logger,x=m(e.jidxUrl),A=0,N=function(){f&&(clearTimeout(f),f=void 0);var t=Math.max(500,1e3*(r._getBufferSizeSec()-r.sourceJitter-5)),e=A+t,i=jt(),a=Math.min(1e4,e-i);A=i;var n=function(){l||h()&&x.seek((function(){h()&&(A=jt(),$(),N())}))};a>0?f=window.setTimeout((function(){r.paused?N():n()}),a):n()},$=function(){for(var t;t=x.nextChunk(p);)p=t,C(t);var i=x.nextChunk(s);if(i){if(s&&i.discontinuity)return w("Detected discontinuity; restarting playback"),void(r.paused?N():(S(),r._initPlayerWith(e)));R(i)}else N()},D=function(t,e){if(h()&&r.sourceBuffer){var i,a,n=function(r){window.setTimeout((function(){h()&&D(t,e)}),r)};if(r.sourceBuffer.updating)w("Source buffer is updating; delaying appendBuffer"),n(100);else{var s=jt(),o=k.currentTime;!r.paused&&k.buffered.length>1&&b===o&&s-g>500&&(w("Stall suspected; trying to fix"),r._fixupStall()),b!==o&&(b=o,g=s);var u=r._getBufferSizeSec();if(u>30)w("Buffered "+u+" seconds; delaying appendBuffer"),n(2e3);else try{r.sourceBuffer.appendBuffer(t),r.videoPlayStarted?(r.bufferStates.push({ts:s,buf:u}),v(),r.bufferStates.length>200&&r.bufferStates.shift()):r.shouldPlay()&&(r.videoPlayStarted=!0,r._playVideoElement()),e&&e()}catch(t){if("QuotaExceededError"!==t.name)throw t;w("QuotaExceededError; delaying appendBuffer"),0!==r.sourceBuffer.buffered.length&&(a=o)-(i=r.sourceBuffer.buffered.start(0))>4&&r.sourceBuffer.remove(i,a-3),n(1e3)}}}},_=function(){n&&a&&(w(["Appending chunk, sz="+n.byteLength+":",JSON.stringify(s)]),D(n,(function(){n=null,$()})))},I=function(t){return e.fragUrlTemplate.replace("%%id%%",t.chunkIdx)},R=function(e){var i,a,o;h()&&(i=I(e),a=function(t,i){if(h()){if(i/=1e3,n=t,s=e,u=e.startTS,i){var a=Math.min(10,e.dur/i);r.downloadRate=r.downloadRate?.7*r.downloadRate+.3*a:a}_()}},o=function(){return r._handleNetworkError()},t.assertNonNullable(r.filesFetcher),null==d||d.abort(),d=r.filesFetcher.requestData(r.urlResolver.resolve(i,!1),a,o,(function(){return r._retryCallback()})).withFinally((function(){d=null})).send())},C=function(e){h()&&(t.assertNonNullable(r.filesFetcher),r.filesFetcher.prefetch(r.urlResolver.resolve(I(e),!1)))},L=function(t){h()&&(e.cachedHeader=t,D(t,(function(){a=!0,_()})))};o=!0,x.seek((function(e){h()&&(A=jt(),e?(p=e,!t.isNullable(i)||e.startTS>i?R(e):(s=e,$())):N())}),i),e.cachedHeader?L(e.cachedHeader):(y=e.headerUrl,T=L,E=function(){return r._handleNetworkError()},c&&c.abort(),c=Wt(r.urlResolver.resolve(y,!1),T,E,(function(){return r._retryCallback()})).withTimeout(1e4).withBitrateReporting(r.bitrateSwitcher).withRetryCount(3).withFinally((function(){c=null})).send())},stop:S,getTimestampSec:function(){return u}}},e.prototype._switchToQuality=function(e){var r,i=this.params,a=i.logger,n=i.playerCallback;e.bitrate!==this.bitrate&&(this.rep&&(r=this.rep.getTimestampSec(),t.isNonNullable(r)&&(r+=.1),this.rep.stop()),this.currentManifestEntry=e,this.rep=this._representation(e),a("switch to quality: codecs="+e.codecs+"; headerUrl="+e.headerUrl+"; bitrate="+e.bitrate),this.bitrate=e.bitrate,t.assertNonNullable(this.bitrateSwitcher),this.bitrateSwitcher.notifySwitch(this.bitrate),this.rep.start(r),n({name:"qualitySwitch",quality:e}))},e.prototype._qualityAvailable=function(e){return t.isNonNullable(this.manifest.find((function(t){return t.name===e})))},e.prototype._initBitrateSwitcher=function(){var t,e=this,r=this.params,i=r.logger,a=r.playerCallback,n={updateChunk:function(t,r){var i=jt();if(e.chunkRateEstimator.addInterval(t,i,r)){var n=e.chunkRateEstimator.getBitRate();return a({name:"bandwidth",size:r,duration:i-t,speed:n}),!0}},get:function(){var t=e.chunkRateEstimator.getBitRate();return t?.85*t:0}},s=-1/0,o=!0,u=function(){var r=n.get();if(r&&t&&e.autoQuality){if(o&&r>t&&zt(s)<3e4)return;!function(t){var r,a,n;e.autoQuality&&(e.currentManifestEntry&&e._qualityAvailable(e.currentManifestEntry.name)&&t<e.bitrate&&(a=e._getBufferSizeSec(),n=t/e.bitrate,a>10&&n>.8||a>15&&n>.5||a>20&&n>.3)?i("Not switching: buffer="+Math.floor(a)+"; bitrate="+e.bitrate+"; newRate="+Math.floor(t)):(r=e._selectQuality(t))?e._switchToQuality(r):i("Could not find quality by bitrate "+t))}(r)}o=e.autoQuality};return{updateChunk:function(t,e){var r=n.updateChunk(t,e);return r&&u(),r},notifySwitch:function(e){var r=jt();e<t&&(s=r),t=e}}},e.prototype._fetchManifest=function(t,e,r){var i=this;this.manifestRequest=Wt(this.urlResolver.resolve(t,!0),e,r,(function(){return i._retryCallback()})).withJSONResponse().withTimeout(1e4).withRetryCount(3).withRetryInterval(300,2e3).send().withFinally((function(){i.manifestRequest=void 0}))},e.prototype._playVideoElement=function(t){var e=this.params.videoElement;k(e).then((function(e){e||null==t||t()}))},e.prototype._handleManifestUpdate=function(t){var e=this,r=this.params,i=r.logger,a=r.playerCallback,n=r.videoElement;this.manifest=function(t){var r=[];return(null==t?void 0:t.length)?(t.forEach((function(t,e){t.video&&n.canPlayType(t.codecs).replace(/no/,"")&&window.MediaSource.isTypeSupported(t.codecs)&&(t.index=e,r.push(t))})),r.sort((function(t,e){return t.video&&e.video?e.video.height-t.video.height:e.bitrate-t.bitrate})),r):(e.params.playerCallback({name:"error",type:"partial_metadata"}),[])}(t),i("Valid manifest entries: "+this.manifest.length+"/"+t.length),a({name:"manifest",manifest:this.manifest})},e.prototype._refetchManifest=function(t){var e=this;this.destroyed||(this.manifestRefetchTimer&&clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=window.setTimeout((function(){e._fetchManifest(t,(function(r){e.destroyed||(e._handleManifestUpdate(r),e._refetchManifest(t))}),(function(){return e._refetchManifest(t)}))}),6e4))},e.prototype._initManifest=function(){var t=this;this._fetchManifest(this.manifestUrl,(function(e){t.destroyed||(t._handleManifestUpdate(e),t._refetchManifest(t.manifestUrl))}),(function(){return t._handleNetworkError()}))},e}();!function(t){t.STOPPED="stopped",t.MANIFEST_READY="manifest_ready",t.READY="ready",t.PLAYING="playing",t.PAUSED="paused"}(Jt||(Jt={}));var te,ee=[Jt.PAUSED,Jt.PLAYING,Jt.READY],re=[Jt.PAUSED,Jt.PLAYING,Jt.READY],ie=function(){function e(e){var r=this;this.subscription=new t.Subscription,this.videoState=new tt(Jt.STOPPED),this.representations$=new t.ValueSubject([]),this.textTracksManager=new $,this.maxSeekBackTime$=new t.ValueSubject(1/0),this.zeroTime$=new t.ValueSubject(void 0),this.liveOffset=new Ft,this._dashCb=function(e){var i,a,n,s,o;switch(e.name){case"buffering":var u=e.isBuffering;r.params.output.isBuffering$.next(u);break;case"error":r.params.output.error$.next({id:"DashLiveProviderInternal:"+e.type,message:"LiveDashPlayer reported error"});break;case"manifest":var d=e.manifest,c=[];try{for(var p=f(d),h=p.next();!h.done;h=p.next()){var v=h.value,m=null!==(n=v.name)&&void 0!==n?n:v.index.toString(10),S=q(v.video),b=v.bitrate/1e3,g=l({},v.video);if(S){var y={id:m,quality:S,bitrate:b,size:g};c.push({track:y,representation:v})}}}catch(t){i={error:t}}finally{try{h&&!h.done&&(a=p.return)&&a.call(p)}finally{if(i)throw i.error}}r.representations$.next(c),r.params.output.availableVideoTracks$.next(c.map((function(t){return t.track}))),(null===(s=r.videoState.getTransition())||void 0===s?void 0:s.to)===Jt.MANIFEST_READY&&r.videoState.setState(Jt.MANIFEST_READY);break;case"qualitySwitch":var T=e.quality;y=null===(o=r.representations$.getValue().find((function(t){return t.representation===T})))||void 0===o?void 0:o.track;r.params.output.hostname$.next(new URL(T.headerUrl,r.params.source.url).hostname),t.isNonNullable(y)&&r.params.output.currentVideoTrack$.next(y);break;case"bandwidth":g=e.size;var E=e.duration;r.params.dependencies.throughputEstimator.addRawSpeed(g,E);break;case"index":r.maxSeekBackTime$.next(e.shiftDuration),r.zeroTime$.next(e.zeroTime)}},this.syncPlayback=function(){var e,i=r.videoState.getState(),a=r.videoState.getTransition(),n=r.params.desiredState.playbackState.getState(),s=r.params.desiredState.playbackState.getTransition(),o=r.params.desiredState.seekPosition.getTransition();if(r.log({message:"[syncPlayback] videoState: "+i+"; videoTransition: "+JSON.stringify(a)+"; desiredPlaybackState: "+n+"; seekPositionTransition: "+JSON.stringify(o)+";"}),n!==exports.PlaybackState.STOPPED){if(!a){if(re.includes(i)){var u=null===(e=r.params.desiredState.videoTrack.getTransition())||void 0===e?void 0:e.to;t.isNonNullable(u)&&r.setVideoTrack(u);var d=r.params.desiredState.autoVideoTrackSwitching.getTransition();d&&r.setAutoQuality(d.to)}var c=null==o?void 0:o.to;if((null==s?void 0:s.to)!==exports.PlaybackState.PAUSED&&t.isNonNullable(c)&&ee.includes(i))r.seek(c+ae(r.liveOffset.getTotalPausedTime()));else switch(i){case Jt.STOPPED:return r.videoState.startTransitionTo(Jt.MANIFEST_READY),void r.dash.attachSource(wt(r.params.source.url));case Jt.MANIFEST_READY:r.videoState.startTransitionTo(Jt.READY),r.prepare();break;case Jt.READY:return void(n===exports.PlaybackState.PAUSED?r.videoState.setState(Jt.PAUSED):n===exports.PlaybackState.PLAYING&&(r.videoState.startTransitionTo(Jt.PLAYING),r.dash.play((function(){r.liveOffset.pause(),r.videoState.setState(Jt.PAUSED)}))));case Jt.PLAYING:return void(n===exports.PlaybackState.PAUSED&&(r.videoState.startTransitionTo(Jt.PAUSED),r.liveOffset.pause(),r.dash.pause()));case Jt.PAUSED:return void(n===exports.PlaybackState.PLAYING&&(r.videoState.startTransitionTo(Jt.PLAYING),r.liveOffset.getTotalPausedTime()<r.params.config.maxPausedTime&&r.liveOffset.getTotalOffset()<r.maxSeekBackTime$.getValue()?(r.liveOffset.resume(),r.dash.play((function(){r.liveOffset.pause(),r.videoState.setState(Jt.PAUSED)})),r.params.output.position$.next(ae(r.liveOffset.getTotalOffset()))):r.seek(ae(r.liveOffset.getTotalOffset()))));default:return t.assertNever(i)}}}else i!==Jt.STOPPED&&(r.videoState.startTransitionTo(Jt.STOPPED),r.dash.destroy(),r.video.setAttribute("src",""),r.video.load(),r.videoState.setState(Jt.STOPPED))},this.params=e,this.log=this.params.dependencies.logger.createComponentLog("DashLiveProvider");var i=function(t){e.output.error$.next({id:"DashLiveProvider",message:"DashLiveProvider internal logic error",thrown:t})};t.merge(this.videoState.stateChangeStarted$.pipe(t.map((function(t){return{transition:t,type:"start"}}))),this.videoState.stateChangeEnded$.pipe(t.map((function(t){return{transition:t,type:"end"}})))).subscribe((function(t){var e=t.transition,i=t.type;r.log({message:"[videoState change] "+i+": "+JSON.stringify(e)})})),this.video=D(e.container),this.params.output.element$.next(this.video),this.dash=this.createLiveDashPlayer(),this.params.output.duration$.next(1/0),this.params.output.position$.next(0),this.params.output.isLive$.next(!0),this.params.output.hostname$.next(X(this.params.source.url)),this.textTracksManager.connect(this.video,this.params.desiredState,this.params.output);var a=L(this.video);this.subscription.add(a.canplay$.subscribe((function(){var t;(null===(t=r.videoState.getTransition())||void 0===t?void 0:t.to)===Jt.READY&&r.videoState.setState(Jt.READY)}),i)).add(a.pause$.subscribe((function(){r.videoState.setState(Jt.PAUSED)}),i)).add(a.play$.subscribe((function(){r.videoState.setState(Jt.PLAYING)}),i)).add(a.error$.subscribe(this.params.output.error$)).add(this.maxSeekBackTime$.pipe(t.filterChanged(),t.map(ae)).subscribe(this.params.output.duration$)).add(t.combine({zeroTime:this.zeroTime$.pipe(t.filter(t.isNonNullable)),position:a.timeUpdate$}).subscribe((function(t){var e=t.zeroTime,i=t.position;return r.params.output.liveTime$.next(e+1e3*i)}),i)).add(x(this.video,this.params.desiredState.isLooped,i)).add(A(this.video,this.params.desiredState.volume,a.volumeState$,i)).add(a.volumeState$.subscribe(this.params.output.volume$,i)).add(C(this.video).subscribe(this.params.output.firstBytesEvent$)).add(_(this.video).subscribe(this.params.output.firstFrameEvent$)).add(this.videoState.stateChangeEnded$.subscribe((function(e){switch(e.to){case Jt.STOPPED:r.params.output.position$.next(0),r.params.output.duration$.next(1/0),r.params.desiredState.playbackState.setState(exports.PlaybackState.STOPPED);break;case Jt.MANIFEST_READY:case Jt.READY:break;case Jt.PAUSED:r.params.desiredState.playbackState.setState(exports.PlaybackState.PAUSED);break;case Jt.PLAYING:r.params.desiredState.playbackState.setState(exports.PlaybackState.PLAYING);break;default:return t.assertNever(e.to)}}),i)).add(t.merge(e.desiredState.playbackState.stateChangeStarted$,e.desiredState.seekPosition.stateChangeStarted$,e.desiredState.videoTrack.stateChangeStarted$,e.desiredState.autoVideoTrackSwitching.stateChangeStarted$,this.videoState.stateChangeEnded$,t.observableFrom(["init"])).pipe(t.debounce(0)).subscribe(this.syncPlayback,i))}return e.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0),this.dash.destroy()},e.prototype.createLiveDashPlayer=function(){var t=this,e=new Zt({videoElement:this.video,config:{CHUNK_DURATION:this.params.config.chunkDuration,BUFFER_OPTIMAL_DURATION:this.params.config.optimalBufferDuration,MAX_PARALLEL_REQUESTS:this.params.config.maxParallelRequests},playerCallback:this._dashCb,logger:function(e){t.params.dependencies.logger.log({message:String(e),component:"LiveDashPlayer"})}});return e.pause(),e},e.prototype.prepare=function(){var e,r,i,a,n,s,o=this.representations$.getValue(),u=null!==(r=null===(e=this.params.desiredState.videoTrack.getTransition())||void 0===e?void 0:e.to)&&void 0!==r?r:this.params.desiredState.videoTrack.getState(),d=null!==(a=null===(i=this.params.desiredState.autoVideoTrackSwitching.getTransition())||void 0===i?void 0:i.to)&&void 0!==a?a:this.params.desiredState.autoVideoTrackSwitching.getState(),c=!d&&t.isNonNullable(u)?u:null===(n=J(o.map((function(t){return t.track})),{container:{width:this.video.offsetWidth,height:this.video.offsetHeight},throughput:this.params.dependencies.throughputEstimator.throughput$.getValue(),tuning:this.params.tuning.autoTrackSelection}))||void 0===n?void 0:n.id,l=null===(s=o.find((function(t){return t.track.id===c})))||void 0===s?void 0:s.representation;t.assertNonNullable(l),this.dash.startPlay(l,d),this.params.desiredState.videoTrack.getTransition()&&this.params.desiredState.videoTrack.setState(c),this.params.desiredState.autoVideoTrackSwitching.getTransition()&&this.params.desiredState.autoVideoTrackSwitching.setState(d)},e.prototype.setVideoTrack=function(e){var r,i=null===(r=this.representations$.getValue().find((function(t){return t.track.id===e})))||void 0===r?void 0:r.representation;t.assertNonNullable(i),this.dash.switchByName(i.name),this.params.desiredState.videoTrack.setState(e)},e.prototype.setAutoQuality=function(t){this.dash.setAutoQualityEnabled(t),this.params.desiredState.autoVideoTrackSwitching.setState(t)},e.prototype.seek=function(t){this.log({message:"[seek] position: "+t}),this.params.desiredState.seekPosition.setState(t),this.params.desiredState.seekPosition.startTransitionTo(void 0);var e=-Math.round(1e3*t),r=e<this.maxSeekBackTime$.getValue()?e:0;this.liveOffset.resetTo(r),this.params.output.position$.next(ae(r)),this.dash.reinit(wt(this.params.source.url,r)),this.params.desiredState.seekPosition.setState(void 0)},e}(),ae=function(t){return-t/1e3},ne=function(t){if(t.QUALITY)switch(t.QUALITY){case"mobile":return exports.VideoQuality.Q_144P;case"lowest":return exports.VideoQuality.Q_240P;case"low":return exports.VideoQuality.Q_360P;case"sd":case"medium":return exports.VideoQuality.Q_480P;case"hd":case"high":return exports.VideoQuality.Q_720P;case"fullhd":case"full":return exports.VideoQuality.Q_1080P;case"quadhd":case"quad":return exports.VideoQuality.Q_1440P;case"ultrahd":case"ultra":return exports.VideoQuality.Q_2160P}if(t.RESOLUTION){var e=v(t.RESOLUTION.split("x").map((function(t){return parseInt(t,10)})),2),r=e[0],i=e[1],a=q({width:r,height:i});if(a)return a}return null},se=function(t,e){return void 0===e&&(e=t),p(void 0,void 0,void 0,(function(){var r,i,a,n,s,o,u,d,c,l,p,f,m,S,b,g;return h(this,(function(h){switch(h.label){case 0:return[4,fetch(t)];case 1:return[4,h.sent().text()];case 2:for(r=h.sent(),i=r.split("\n"),a=[],n=0;n<i.length;n++)s=i[n],(o=s.match(/^#EXT-X-STREAM-INF:(.+)/))&&(u=Object.fromEntries(o[1].split(",").map((function(t){return t.split("=")}))),d=null!==(g=u.QUALITY)&&void 0!==g?g:"stream-"+u.BANDWIDTH,c=ne(u),l=void 0,u.BANDWIDTH&&(l=parseInt(u.BANDWIDTH,10)/1e3||void 0),!l&&u["AVERAGE-BANDWIDTH"]&&(l=parseInt(u["AVERAGE-BANDWIDTH"],10)/1e3||void 0),p=void 0,u.RESOLUTION&&(f=v(u.RESOLUTION.split("x").map((function(t){return parseInt(t,10)})),2),m=f[0],S=f[1],m&&S&&(p={width:m,height:S})),b=new URL(i[++n],e).toString(),c&&a.push({id:d,quality:c,url:b,bandwidth:l,size:p}));return[2,a]}}))}))};!function(t){t.STOPPED="stopped",t.READY="ready",t.PLAYING="playing",t.CHANGING_MANIFEST="changing_manifest",t.PAUSED="paused"}(te||(te={}));var oe,ue=function(){function e(e){var r=this;this.subscription=new t.Subscription,this.videoState=new tt(te.STOPPED),this.textTracksManager=new $,this.manifests$=new t.ValueSubject([]),this.syncPlayback=function(){var e=r.videoState.getState(),i=r.params.desiredState.playbackState.getState(),a=r.params.desiredState.playbackState.getTransition(),n=r.params.desiredState.videoTrack.getTransition(),s=r.params.desiredState.autoVideoTrackSwitching.getTransition();if(i!==exports.PlaybackState.STOPPED){if(!r.videoState.getTransition()){var o=r.params.desiredState.seekPosition.getTransition();if(e===te.STOPPED)return r.videoState.startTransitionTo(te.READY),void r.prepare();if(n||s){var u=r.videoState.getState();r.videoState.setState(te.CHANGING_MANIFEST),r.videoState.startTransitionTo(u);var d=r.video.currentTime;return r.prepare(),void(o&&!t.isNullable(o.to)||r.params.desiredState.seekPosition.startTransitionTo(d))}var c=null==o?void 0:o.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&t.isNonNullable(c)&&r.seek(c),e){case te.READY:return void(i===exports.PlaybackState.PAUSED?(r.videoState.setState(te.PAUSED),O(r.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):i===exports.PlaybackState.PLAYING&&(r.videoState.startTransitionTo(te.PLAYING),r.playIfAllowed()));case te.PLAYING:return void(i===exports.PlaybackState.PAUSED?(r.videoState.startTransitionTo(te.PAUSED),r.video.pause()):(null==a?void 0:a.to)===exports.PlaybackState.PLAYING&&O(r.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case te.PAUSED:return void(i===exports.PlaybackState.PLAYING?(r.videoState.startTransitionTo(te.PLAYING),r.playIfAllowed()):(null==a?void 0:a.to)===exports.PlaybackState.PAUSED&&O(r.params.desiredState.playbackState,exports.PlaybackState.PAUSED));case te.CHANGING_MANIFEST:break;default:return t.assertNever(e)}}}else e!==te.STOPPED&&(r.videoState.startTransitionTo(te.STOPPED),r.video.setAttribute("src",""),r.video.load(),r.params.output.position$.next(0),r.params.output.duration$.next(1/0),r.params.output.currentBuffer$.next(void 0),r.params.output.hostname$.next(void 0),r.videoState.setState(te.STOPPED),O(r.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=e,this.video=D(e.container),this.params.output.element$.next(this.video);var i={id:"master",quality:exports.VideoQuality.INVARIANT,url:this.params.source.url};this.manifests$.next([i]),this.params.output.isLive$.next(!1),this.params.output.hostname$.next(X(this.params.source.url)),se(this.params.source.url).then((function(t){r.manifests$.next(m([i],v(t),!1))}),(function(t){return r.params.output.error$.next({id:"ExtractHlsQualities",message:"Error fetching manifest and extracting qualities",thrown:t})})),this.subscribe()}return e.prototype.selectManifest=function(){var t,e,r=this.params.desiredState,i=r.autoVideoTrackSwitching,a=r.videoTrack,n=i.getState(),s=a.getTransition(),o=null!==(e=null!==(t=null==s?void 0:s.to)&&void 0!==t?t:a.getState())&&void 0!==e?e:"master",u=this.manifests$.getValue();if(u){var d=n?"master":o;return n&&!s&&a.startTransitionTo("master"),u.find((function(t){return t.id===d}))}},e.prototype.subscribe=function(){var e=this,r=this.params,i=r.output,a=r.desiredState,n=function(t){i.error$.next({id:"HlsProvider",message:"HlsProvider internal logic error",thrown:t})},s=L(this.video),o=function(t,r){return e.subscription.add(t.subscribe(r))};o(s.timeUpdate$,i.position$),o(s.durationChange$,i.duration$),o(s.ended$,i.endedEvent$),o(s.error$,i.error$),o(s.isBuffering$,i.isBuffering$),o(s.currentBuffer$,i.currentBuffer$),o(s.firstBytes$,i.firstBytesEvent$),o(s.firstFrame$,i.firstFrameEvent$),this.subscription.add(s.seeked$.subscribe((function(){return a.seekPosition.setState(void 0)}),n)),this.subscription.add(x(this.video,a.isLooped,n)),this.subscription.add(A(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$,n)),this.textTracksManager.connect(this.video,a,i),this.subscription.add(s.play$.subscribe((function(){e.videoState.setState(te.PLAYING),O(a.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){e.videoState.setState(te.PAUSED),O(a.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var t;(null===(t=e.videoState.getTransition())||void 0===t?void 0:t.to)===te.READY&&e.videoState.setState(te.READY),e.videoState.getState()===te.PLAYING&&e.playIfAllowed()}),n).add(s.loadedMetadata$.subscribe((function(){var r=e.params.desiredState.seekPosition.getTransition(),i=e.videoState.getTransition(),a=e.params.desiredState.videoTrack.getTransition(),n=e.params.desiredState.autoVideoTrackSwitching.getTransition();if(a&&t.isNonNullable(a.to)){var s=a.to;e.params.desiredState.videoTrack.setState(s);var o=e.manifests$.getValue().find((function(t){return t.id===s}));o&&(e.params.output.currentVideoTrack$.next(o),e.params.output.hostname$.next(X(o.url)))}n&&e.params.desiredState.autoVideoTrackSwitching.setState(n.to),i&&i.from===te.CHANGING_MANIFEST&&e.videoState.setState(i.to),r&&t.isNonNullable(r.to)&&e.seek(r.to)}),n))),this.subscription.add(this.manifests$.pipe(t.map((function(t){return t.map((function(t){return{id:t.id,quality:t.quality,size:t.size,bitrate:t.bandwidth}}))}))).subscribe(this.params.output.availableVideoTracks$,n));var u=t.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,a.videoTrack.stateChangeStarted$,a.autoVideoTrackSwitching.stateChangeStarted$,this.videoState.stateChangeEnded$,t.observableFrom(["init"])).pipe(t.debounce(0));this.subscription.add(u.subscribe(this.syncPlayback,n))},e.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0)},e.prototype.prepare=function(){var e=this.selectManifest();t.isNullable(e)||(this.video.setAttribute("src",e.url),this.video.load())},e.prototype.playIfAllowed=function(){var t=this;k(this.video).then((function(e){e||(t.videoState.setState(te.PAUSED),O(t.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},e.prototype.seek=function(t){this.params.desiredState.seekPosition.setState(t),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.video.currentTime=t},e}();!function(t){t.STOPPED="stopped",t.READY="ready",t.PLAYING="playing",t.CHANGING_MANIFEST="changing_manifest",t.PAUSED="paused"}(oe||(oe={}));var de,ce=function(){function e(e){var r,i=this;this.subscription=new t.Subscription,this.videoState=new tt(oe.STOPPED),this.textTracksManager=new $,this.manifests$=new t.ValueSubject([]),this.liveOffset=new Ft,this.manifestStartTime$=new t.ValueSubject(void 0),this.syncPlayback=function(){var e=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition(),n=i.params.desiredState.videoTrack.getTransition(),s=i.params.desiredState.autoVideoTrackSwitching.getTransition();if(r!==exports.PlaybackState.STOPPED){if(!i.videoState.getTransition()){var o=i.params.desiredState.seekPosition.getTransition();if(e===oe.STOPPED)return i.videoState.startTransitionTo(oe.READY),void i.prepare();if(n||s){var u=i.videoState.getState();i.videoState.setState(oe.CHANGING_MANIFEST),i.videoState.startTransitionTo(u);var d=le(i.liveOffset.getTotalOffset());return i.prepare(),void(o&&!t.isNullable(o.to)||i.params.desiredState.seekPosition.startTransitionTo(d))}var c=null==o?void 0:o.to;if((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&t.isNonNullable(c))return i.videoState.startTransitionTo(oe.READY),i.seek(c+le(i.liveOffset.getTotalPausedTime())),void i.prepare();switch(e){case oe.READY:return void(r===exports.PlaybackState.PAUSED?(i.videoState.setState(oe.PAUSED),i.liveOffset.pause(),O(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):r===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(oe.PLAYING),i.playIfAllowed()));case oe.PLAYING:return void(r===exports.PlaybackState.PAUSED?(i.videoState.startTransitionTo(oe.PAUSED),i.liveOffset.pause(),i.video.pause()):(null==a?void 0:a.to)===exports.PlaybackState.PLAYING&&O(i.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case oe.PAUSED:return void(r===exports.PlaybackState.PLAYING?(i.videoState.startTransitionTo(oe.PLAYING),i.liveOffset.getTotalPausedTime()<i.params.config.maxPausedTime&&i.liveOffset.getTotalOffset()<i.maxSeekBackTime$.getValue()?(i.liveOffset.resume(),i.playIfAllowed(),i.params.output.position$.next(le(i.liveOffset.getTotalOffset()))):i.seek(le(i.liveOffset.getTotalOffset()))):(null==a?void 0:a.to)===exports.PlaybackState.PAUSED&&(O(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED),i.liveOffset.pause()));case oe.CHANGING_MANIFEST:break;default:return t.assertNever(e)}}}else e!==oe.STOPPED&&(i.videoState.startTransitionTo(oe.STOPPED),i.video.setAttribute("src",""),i.video.load(),i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.output.currentBuffer$.next(void 0),i.params.output.hostname$.next(void 0),i.videoState.setState(oe.STOPPED),O(i.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=e,this.video=D(e.container),this.params.output.element$.next(this.video);var a={id:"master",quality:exports.VideoQuality.INVARIANT,url:this.params.source.url};this.manifests$.next([a]),se(wt(this.params.source.url)).then((function(t){i.manifests$.next(m([a],v(t),!1))}),(function(t){return i.params.output.error$.next({id:"ExtractHlsQualities",message:"Error fetching manifest and extracting qualities",thrown:t})})),this.params.output.isLive$.next(!0),this.params.output.hostname$.next(X(this.params.source.url)),this.maxSeekBackTime$=new t.ValueSubject(null!==(r=e.source.maxSeekBackTime)&&void 0!==r?r:1/0),this.subscribe()}return e.prototype.selectManifest=function(){var t,e,r=this.params.desiredState,i=r.autoVideoTrackSwitching,a=r.videoTrack,n=i.getState(),s=a.getTransition(),o=null!==(e=null!==(t=null==s?void 0:s.to)&&void 0!==t?t:a.getState())&&void 0!==e?e:"master",u=this.manifests$.getValue();if(u){var d=n?"master":o;return n&&!s&&a.startTransitionTo("master"),u.find((function(t){return t.id===d}))}},e.prototype.subscribe=function(){var e=this,r=this.params,i=r.output,a=r.desiredState,n=function(t){i.error$.next({id:"HlsLiveProvider",message:"HlsLiveProvider internal logic error",thrown:t})},s=L(this.video),o=function(t,r){return e.subscription.add(t.subscribe(r,n))};o(s.ended$,i.endedEvent$),o(s.error$,i.error$),o(s.isBuffering$,i.isBuffering$),o(s.currentBuffer$,i.currentBuffer$),o(s.firstBytes$,i.firstBytesEvent$),o(s.firstFrame$,i.firstFrameEvent$),this.subscription.add(a.isLooped.stateChangeStarted$.subscribe((function(){return a.isLooped.setState(!1)}),n)),this.subscription.add(A(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$,n)),this.textTracksManager.connect(this.video,a,i),this.subscription.add(s.play$.subscribe((function(){e.videoState.setState(oe.PLAYING),O(a.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){e.videoState.setState(oe.PAUSED),O(a.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var t;(null===(t=e.videoState.getTransition())||void 0===t?void 0:t.to)===oe.READY&&e.videoState.setState(oe.READY),e.videoState.getState()===oe.PLAYING&&e.playIfAllowed()}),n)),this.subscription.add(this.maxSeekBackTime$.pipe(t.filterChanged(),t.map(le)).subscribe(this.params.output.duration$,n)),this.subscription.add(s.loadedMetadata$.subscribe((function(){var r=e.params.desiredState.seekPosition.getTransition(),i=e.videoState.getTransition(),a=e.params.desiredState.videoTrack.getTransition(),n=e.params.desiredState.autoVideoTrackSwitching.getTransition();if(a&&t.isNonNullable(a.to)){var s=a.to;e.params.desiredState.videoTrack.setState(s);var o=e.manifests$.getValue().find((function(t){return t.id===s}));o&&(e.params.output.currentVideoTrack$.next(o),e.params.output.hostname$.next(X(o.url)))}n&&e.params.desiredState.autoVideoTrackSwitching.setState(n.to),i&&i.from===oe.CHANGING_MANIFEST&&e.videoState.setState(i.to),r&&t.isNonNullable(r.to)&&e.seek(r.to)}),n)),this.subscription.add(s.loadedData$.subscribe((function(){var t,r,i=null===(r=null===(t=e.video)||void 0===t?void 0:t.getStartDate())||void 0===r?void 0:r.getTime();e.manifestStartTime$.next(i||void 0)}),n)),this.subscription.add(t.combine({startTime:this.manifestStartTime$.pipe(t.filter(t.isNonNullable)),currentTime:s.timeUpdate$}).subscribe((function(t){var r=t.startTime,i=t.currentTime;return e.params.output.liveTime$.next(r+1e3*i)}),n)),this.subscription.add(this.manifests$.pipe(t.map((function(t){return t.map((function(t){return{id:t.id,quality:t.quality,size:t.size,bitrate:t.bandwidth}}))}))).subscribe(this.params.output.availableVideoTracks$,n));var u=t.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,a.videoTrack.stateChangeStarted$,a.autoVideoTrackSwitching.stateChangeStarted$,t.observableFrom(["init"])).pipe(t.debounce(0));this.subscription.add(u.subscribe(this.syncPlayback,n))},e.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0)},e.prototype.prepare=function(){var e=this,r=this.selectManifest();if(!t.isNullable(r)){var i,a=wt(r.url,this.liveOffset.getTotalOffset());this.video.setAttribute("src",a),this.video.load(),(i=a,p(void 0,void 0,void 0,(function(){var t;return h(this,(function(e){switch(e.label){case 0:return[4,fetch(i,{method:"HEAD"})];case 1:return[2,(t=e.sent()).headers.has("X-Playback-Duration")?parseInt(t.headers.get("X-Playback-Duration"),10):void 0]}}))}))).then((function(r){t.isNullable(r)||e.maxSeekBackTime$.next(r)}))}},e.prototype.playIfAllowed=function(){var t=this;k(this.video).then((function(e){e||(t.videoState.setState(oe.PAUSED),t.liveOffset.pause(),O(t.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},e.prototype.seek=function(t){this.params.desiredState.seekPosition.setState(t),this.params.desiredState.seekPosition.startTransitionTo(void 0);var e=-Math.round(1e3*t),r=e<this.maxSeekBackTime$.getValue()?e:0;this.liveOffset.resetTo(r),this.params.output.position$.next(le(r)),this.params.desiredState.seekPosition.setState(void 0)},e}(),le=function(t){return-t/1e3},pe={};!function(t){t.INITIALIZING="initializing",t.STOPPED="stopped",t.READY="ready",t.PLAYING="playing",t.PAUSED="paused"}(de||(de={}));var he,fe,ve,me,Se,be,ge,ye,Te,Ee,Pe,ke,we,xe,Ae,Ne,$e,De,_e,Ie,Re=function(e,r){return new t.Observable((function(t){var i=function(e,r){return t.next(r)};return e.on(r,i),function(){return e.off(r,i)}}))},Ce=function(){function e(e){var r=this;this.subscription=new t.Subscription,this.videoState=new tt(de.INITIALIZING),this.textTracksManager=new $,this.trackLevels=new Map,this.syncPlayback=function(){var e=r.videoState.getState(),i=r.params.desiredState.playbackState.getState(),a=r.params.desiredState.playbackState.getTransition(),n=r.params.desiredState.seekPosition.getTransition();if(e!==de.INITIALIZING){var s=null==n?void 0:n.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&t.isNonNullable(s)&&r.seek(s),i){case exports.PlaybackState.STOPPED:switch(e){case de.STOPPED:break;case de.READY:case de.PLAYING:case de.PAUSED:r.stop();break;default:t.assertNever(e)}break;case exports.PlaybackState.PLAYING:switch(e){case de.PLAYING:break;case de.STOPPED:r.prepare();break;case de.READY:case de.PAUSED:r.playIfAllowed();break;default:t.assertNever(e)}break;case exports.PlaybackState.PAUSED:switch(e){case de.PAUSED:break;case de.STOPPED:r.prepare();break;case de.READY:r.videoState.setState(de.PAUSED),O(r.params.desiredState.playbackState,exports.PlaybackState.PAUSED);break;case de.PLAYING:r.pause();break;default:t.assertNever(e)}break;default:t.assertNever(i)}}},this.video=D(e.container),this.params=e,this.params.output.element$.next(this.video),this.params.output.isLive$.next(!1),this.params.output.hostname$.next(X(this.params.source.url)),this.loadHlsJs()}return e.prototype.destroy=function(){var t,e;this.subscription.unsubscribe(),this.trackLevels.clear(),this.textTracksManager.destroy(),null===(t=this.hls)||void 0===t||t.detachMedia(),null===(e=this.hls)||void 0===e||e.destroy(),this.video.remove(),this.params.output.element$.next(void 0)},e.prototype.loadHlsJs=function(){var t=this,e=!1,i=function(r){e||t.params.output.error$.next({id:"timeout"===r?"HlsJsTimeout":"HlsJsLoadError",message:"Failed to load Hls.js",thrown:r}),e=!0},a=window.setTimeout((function(){return i("timeout")}),5e3);Promise.resolve().then((function(){return r(require("hls.js"))})).then((function(r){e||(pe.Hls=r.default,pe.Events=r.default.Events,t.init())}),i).finally((function(){window.clearTimeout(a),e=!0}))},e.prototype.init=function(){t.assertNonNullable(pe.Hls,"hls.js not loaded"),this.hls=new pe.Hls({fragLoadingMaxRetry:5,levelLoadingMaxRetry:2,manifestLoadingMaxRetry:2,fragLoadingMaxRetryTimeout:16e3,manifestLoadingMaxRetryTimeout:2e3,levelLoadingMaxRetryTimeout:2e3}),this.subscribe(),this.videoState.setState(de.STOPPED)},e.prototype.subscribe=function(){var e=this;t.assertNonNullable(pe.Events,"hls.js not loaded");var r=this.params,i=r.desiredState,a=r.output,n=function(t){a.error$.next({id:"HlsJsProvider",message:"HlsJsProvider internal logic error",thrown:t})},s=L(this.video),o=function(t,r){return e.subscription.add(t.subscribe(r,n))};o(s.timeUpdate$,a.position$),o(s.durationChange$,a.duration$),o(s.ended$,a.endedEvent$),o(s.error$,a.error$),o(s.isBuffering$,a.isBuffering$),o(s.currentBuffer$,a.currentBuffer$),o(s.firstBytes$,a.firstBytesEvent$),o(s.firstFrame$,a.firstFrameEvent$),this.subscription.add(s.seeked$.subscribe((function(){return i.seekPosition.setState(void 0)}),n)),this.subscription.add(x(this.video,i.isLooped,n)),this.subscription.add(A(this.video,i.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$)),this.subscription.add(Re(this.hls,pe.Events.ERROR).subscribe((function(t){var e;t.fatal&&a.error$.next({id:["HlsJsFatal",t.type,t.details].join("_"),message:"HlsJs fatal "+t.type+" "+t.details+", "+(null===(e=t.err)||void 0===e?void 0:e.message)+" "+t.reason,thrown:t.error})}))),this.subscription.add(s.play$.subscribe((function(){e.videoState.setState(de.PLAYING),O(i.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){e.videoState.setState(de.PAUSED),O(i.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var t;(null===(t=e.videoState.getTransition())||void 0===t?void 0:t.to)===de.READY&&e.videoState.setState(de.READY),e.videoState.getState()===de.PLAYING&&e.playIfAllowed()}),n)),o(Re(this.hls,pe.Events.MANIFEST_PARSED).pipe(t.map((function(t){return t.levels.reduce((function(t,r){var i=r.name||r.height.toString(10),a=r.width,n=r.height,s=q({width:a,height:n});if(!s)return t;var o={id:i.toString(),quality:s,bitrate:r.bitrate/1e3,size:{width:a,height:n}};return e.trackLevels.set(i,{track:o,level:r}),t.push(o),t}),[])}))),a.availableVideoTracks$),o(Re(this.hls,pe.Events.LEVEL_LOADING).pipe(t.map((function(t){var e=t.url;return X(e)}))),a.hostname$),this.subscription.add(w(i.autoVideoTrackSwitching,(function(){return e.hls.autoLevelEnabled}),(function(t){e.hls.nextLevel=t?-1:e.hls.currentLevel,e.hls.loadLevel=t?-1:e.hls.loadLevel}),{onError:n}));var u=function(t){var r;return null===(r=Array.from(e.trackLevels.values()).find((function(e){return e.level===t})))||void 0===r?void 0:r.track},d=Re(this.hls,pe.Events.LEVEL_SWITCHED).pipe(t.map((function(t){var r=t.level;return u(e.hls.levels[r])})));d.pipe(t.filter(t.isNonNullable)).subscribe(a.currentVideoTrack$,n),this.subscription.add(w(i.videoTrack,(function(){var t;return null===(t=u(e.hls.levels[e.hls.currentLevel]))||void 0===t?void 0:t.id}),(function(r){var i;if(!t.isNullable(r)){var a=null===(i=e.trackLevels.get(r))||void 0===i?void 0:i.level;if(a){var n=e.hls.levels.indexOf(a),s=e.hls.currentLevel,o=e.hls.levels[s];!o||a.bitrate>o.bitrate?e.hls.nextLevel=n:(e.hls.loadLevel=n,e.hls.loadLevel=n)}}}),{changed$:d.pipe(t.map((function(t){return null==t?void 0:t.id}))),onError:n})),o(s.progress$,(function(){e.params.dependencies.throughputEstimator.addRawThroughput(e.hls.bandwidthEstimate/1e3)})),this.textTracksManager.connect(this.video,i,a);var c=t.merge(i.playbackState.stateChangeStarted$,i.videoTrack.stateChangeStarted$,i.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,t.observableFrom(["init"])).pipe(t.debounce(0));this.subscription.add(c.subscribe(this.syncPlayback,n))},e.prototype.prepare=function(){this.videoState.startTransitionTo(de.READY),this.hls.attachMedia(this.video),this.hls.loadSource(this.params.source.url)},e.prototype.playIfAllowed=function(){return p(this,void 0,void 0,(function(){return h(this,(function(t){switch(t.label){case 0:return this.videoState.startTransitionTo(de.PLAYING),[4,k(this.video)];case 1:return t.sent()||(this.videoState.setState(de.PAUSED),O(this.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0)),[2]}}))}))},e.prototype.pause=function(){this.videoState.startTransitionTo(de.PAUSED),this.video.pause()},e.prototype.seek=function(t){this.params.desiredState.seekPosition.setState(t),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.video.currentTime=t},e.prototype.stop=function(){this.params.output.position$.next(0),this.params.output.duration$.next(1/0),this.params.output.currentBuffer$.next(void 0),this.params.output.hostname$.next(void 0),this.hls.stopLoad(),this.hls.detachMedia(),this.video.setAttribute("src",""),this.video.load(),this.videoState.setState(de.STOPPED),O(this.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0)},e}(),Le=function(){function t(t){this.iterator=t[Symbol.iterator](),this.next()}return t.prototype.next=function(){this.current=this.iterator.next()},t.prototype.getValue=function(){if(this.current.done)throw new Error("Iterable is completed");return this.current.value},t.prototype.isCompleted=function(){return Boolean(this.current.done)},t}(),Oe=(_e=window.navigator.userAgent,!/chrome/i.test(_e)&&/webkit|safari|khtml/i.test(_e)),Me=(null===(fe=null===(he=navigator)||void 0===he?void 0:he.userAgentData)||void 0===fe?void 0:fe.mobile)||/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(navigator.appVersion),Ve=document.createElement("video"),Be={mse:Boolean(window.MediaSource&&window.MediaStreamTrack&&(null===(me=null===(ve=window.SourceBuffer)||void 0===ve?void 0:ve.prototype)||void 0===me?void 0:me.appendBuffer)),hls:Boolean((null===(Se=Ve.canPlayType)||void 0===Se?void 0:Se.call(Ve,"application/x-mpegurl"))||(null===(be=Ve.canPlayType)||void 0===be?void 0:be.call(Ve,"vnd.apple.mpegURL")))},Ue={mp4:Boolean(null===(ge=Ve.canPlayType)||void 0===ge?void 0:ge.call(Ve,"video/mp4")),webm:Boolean(null===(ye=Ve.canPlayType)||void 0===ye?void 0:ye.call(Ve,"video/webm"))},Fe={h264:Boolean(null===(Ee=null===(Te=window.MediaSource)||void 0===Te?void 0:Te.isTypeSupported)||void 0===Ee?void 0:Ee.call(Te,'video/mp4; codecs="avc1.42000a,mp4a.40.2"')),h265:Boolean(null===(ke=null===(Pe=window.MediaSource)||void 0===Pe?void 0:Pe.isTypeSupported)||void 0===ke?void 0:ke.call(Pe,'video/mp4; codecs="hev1.1.6.L93.B0"')),vp9:Boolean(null===(xe=null===(we=window.MediaSource)||void 0===we?void 0:we.isTypeSupported)||void 0===xe?void 0:xe.call(we,'video/webm; codecs="vp9"')),aac:Boolean(null===(Ne=null===(Ae=window.MediaSource)||void 0===Ae?void 0:Ae.isTypeSupported)||void 0===Ne?void 0:Ne.call(Ae,'audio/mp4; codecs="mp4a.40.2"')),opus:Boolean(null===(De=null===($e=window.MediaSource)||void 0===$e?void 0:$e.isTypeSupported)||void 0===De?void 0:De.call($e,'audio/webm; codecs="opus"'))},qe=(Fe.h264||Fe.h265)&&Fe.aac,He=!Oe,Ge=Me||Oe,Ye=!Be.hls||!Ge,je=3e4,ze=18e4,Qe=3,We=100,Je={cacheDuration:12e4},Ke={maxPausedTime:3e4,chunkDuration:5e3,optimalBufferDuration:1e4,maxParallelRequests:5},Xe={maxPausedTime:3e4},Ze={maxPausedTime:3e4},tr=function(){function e(e){this.current$=new t.ValueSubject({type:void 0}),this.providerError$=new t.Subject,this.noAvailableProvidersError$=new t.Subject,this.providerOutput={position$:new t.ValueSubject(0),duration$:new t.ValueSubject(1/0),volume$:new t.ValueSubject({muted:!1,volume:1}),currentVideoTrack$:new t.ValueSubject(void 0),availableVideoTracks$:new t.ValueSubject([]),currentBuffer$:new t.ValueSubject(void 0),isBuffering$:new t.ValueSubject(!0),error$:new t.Subject,endedEvent$:new t.Subject,firstBytesEvent$:new t.Subject,firstFrameEvent$:new t.Subject,isLive$:new t.ValueSubject(void 0),liveTime$:new t.ValueSubject(void 0),availableTextTracks$:new t.ValueSubject([]),currentTextTrack$:new t.ValueSubject(void 0),hostname$:new t.ValueSubject(void 0),element$:new t.ValueSubject(void 0)},this.subscription=new t.Subscription,this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ProviderContainer");var r=this.params.tuning.formatsToAvoid,i=r.length?m(m([],v(e.screenFormatsPriority.filter((function(t){return!r.includes(t)}))),!1),v(e.screenFormatsPriority.filter((function(t){return r.includes(t)}))),!1):e.screenFormatsPriority;this.screenFormatsIterator=new Le(i.filter((function(r){return t.isNonNullable(e.sources[r])})).filter((function(e){switch(e){case exports.VideoFormat.DASH:return Be.mse&&Ue.mp4&&qe&&He;case exports.VideoFormat.DASH_SEP:return Be.mse&&Ue.mp4&&qe;case exports.VideoFormat.DASH_WEBM:case exports.VideoFormat.DASH_WEBM_VK:case exports.VideoFormat.DASH_LIVE_WEBM:return Be.mse&&Ue.webm&&Fe.vp9&&Fe.opus;case exports.VideoFormat.DASH_LIVE:case exports.VideoFormat.DASH_ONDEMAND:return Be.mse&&Ue.mp4&&qe;case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_LIVE:case exports.VideoFormat.HLS_ONDEMAND:return Be.hls&&Ue.mp4&&Ge;case exports.VideoFormat.HLS_JS:return Be.mse&&Ue.mp4&&qe&&Ye;case exports.VideoFormat.MPEG:return Ue.mp4;default:return t.assertNever(e)}}))),this.chromecastFormatsIterator=new Le(e.chromecastFormatsPriority.filter((function(r){return t.isNonNullable(e.sources[r])})))}return e.prototype.init=function(){var t=this;this.subscription.add(this.initProviderErrorHandling()),this.subscription.add(this.params.dependencies.chromecastInitializer.connection$.subscribe((function(){t.reinitProvider()})))},e.prototype.destroy=function(){this.destroyProvider(),this.current$.next({type:void 0}),this.subscription.unsubscribe()},e.prototype.initProvider=function(){var e=this.chooseDestination(),r=this.chooseFormat(e);if(t.isNullable(r))this.handleNoFormatsError(e);else{var i=this.createProvider(e,r);this.current$.next({type:r,provider:i,destination:e})}},e.prototype.reinitProvider=function(){this.destroyProvider(),this.initProvider()},e.prototype.switchToNextProvider=function(){this.destroyProvider();var e=this.current$.getValue().destination;t.assertNonNullable(e),this.skipFormat(e),this.initProvider()},e.prototype.destroyProvider=function(){var t=this.current$.getValue().provider;if(t){this.log({message:"destroyProvider"});var e=this.params.desiredState.seekPosition;e.getTransition()||e.startTransitionTo(this.providerOutput.position$.getValue()),t.destroy();var r=this.providerOutput.isBuffering$;r.getValue()||r.next(!0)}},e.prototype.createProvider=function(e,r){switch(this.log({message:"createProvider: "+e+":"+r}),e){case n.SCREEN:return this.createScreenProvider(r);case n.CHROMECAST:return this.createChromecastProvider(r);default:return t.assertNever(e)}},e.prototype.createScreenProvider=function(e){var r=this.params,i=r.sources,a=r.container,n=r.desiredState,s=this.providerOutput;switch(e){case exports.VideoFormat.DASH:var o=i[e];return t.assertNonNullable(o),new Lt({container:a,source:o,desiredState:n,output:s,config:Je,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.DASH_WEBM_VK:o=i[e];return t.assertNonNullable(o),new Pt({container:a,source:o,desiredState:n,output:s,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.DASH_SEP:case exports.VideoFormat.DASH_WEBM:case exports.VideoFormat.DASH_ONDEMAND:case exports.VideoFormat.DASH_LIVE_WEBM:o=i[e];return t.assertNonNullable(o),new Gt({container:a,source:o,desiredState:n,output:s,format:e,config:Ze,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_ONDEMAND:o=i[e];return t.assertNonNullable(o),new ue({container:a,source:o,desiredState:n,output:s,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.HLS_LIVE:o=i[e];return t.assertNonNullable(o),new ce({container:a,source:o,desiredState:n,output:s,config:Xe,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.HLS_JS:o=i[e];return t.assertNonNullable(o),new Ce({container:a,source:o,desiredState:n,output:s,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.MPEG:o=i[e];return t.assertNonNullable(o),new $t({container:a,source:o,desiredState:n,output:s,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.DASH_LIVE:o=i[e];return t.assertNonNullable(o),new ie({container:a,source:o,desiredState:n,output:s,config:Ke,dependencies:this.params.dependencies,tuning:this.params.tuning});default:return t.assertNever(e)}},e.prototype.createChromecastProvider=function(e){var r=this.params,i=r.sources,a=r.container,n=r.desiredState,s=r.meta,o=this.providerOutput,u=this.params.dependencies.chromecastInitializer.connection$.getValue();return t.assertNonNullable(u),new At({connection:u,meta:s,container:a,source:i,format:e,desiredState:n,output:o,dependencies:this.params.dependencies,tuning:this.params.tuning})},e.prototype.chooseDestination=function(){return this.params.dependencies.chromecastInitializer.connection$.getValue()?n.CHROMECAST:n.SCREEN},e.prototype.chooseFormat=function(e){switch(e){case n.SCREEN:return this.screenFormatsIterator.isCompleted()?void 0:this.screenFormatsIterator.getValue();case n.CHROMECAST:return this.chromecastFormatsIterator.isCompleted()?void 0:this.chromecastFormatsIterator.getValue();default:return t.assertNever(e)}},e.prototype.skipFormat=function(e){switch(e){case n.SCREEN:return this.screenFormatsIterator.next();case n.CHROMECAST:return this.chromecastFormatsIterator.next();default:return t.assertNever(e)}},e.prototype.handleNoFormatsError=function(e){switch(e){case n.SCREEN:return this.noAvailableProvidersError$.next(),void this.current$.next({type:void 0});case n.CHROMECAST:return void this.params.dependencies.chromecastInitializer.disconnect();default:return t.assertNever(e)}},e.prototype.initProviderErrorHandling=function(){var e,r=this,i=[],a=0,s=new t.Subscription;return s.add(t.merge(this.providerOutput.error$,(e={desiredPlaybackState$:this.params.desiredState.playbackState,maxTransitionInterval:je,position$:this.providerOutput.position$,providerChanged$:this.current$},new t.Observable((function(r){var i=new t.Subscription,a=t.timeout(e.maxTransitionInterval),n=new t.ValueSubject(void 0);t.merge(e.desiredPlaybackState$.stateChangeStarted$.pipe(t.mapTo(a)),e.desiredPlaybackState$.stateChangeEnded$.pipe(t.mapTo(void 0)),e.providerChanged$.pipe(t.map((function(){return n.getValue()})))).subscribe(n);var s=new t.Subscription;return i.add(s),i.add(n.subscribe((function(t){s.unsubscribe(),t&&s.add(t.subscribe(r))}))),i}))).pipe(t.mapTo({id:"ProviderHangup",message:"An operation failed to complete within reasonable time"}))).subscribe(this.providerError$)),s.add(this.providerError$.pipe(t.throttle(We,{leading:!1,trailing:!0})).subscribe((function(){var e=Date.now();r.current$.getValue().destination===n.CHROMECAST?(r.destroyProvider(),r.params.dependencies.chromecastInitializer.stopMedia().then((function(){r.switchToNextProvider()}),(function(){r.params.dependencies.chromecastInitializer.disconnect()}))):t.isNonNullable(i[a])&&e<i[a]+ze?(i=[],r.switchToNextProvider()):(i[a]=e,r.reinitProvider()),a=(a+1)%Qe}))),s},e}(),er=function(t,e,r){return r*e+(1-r)*t},rr=function(){function e(e){var r;this.prevReported=void 0,this.params=e,this.slow=this.fast=this.smoothed=this.prevReported=e.initial,this.smoothed$=new t.ValueSubject(e.initial),this.debounced$=new t.ValueSubject(e.initial);var i=null!==(r=e.label)&&void 0!==r?r:"value"+Math.random().toString(16).substring(2,6);this.rawSeries$=new Q("raw_"+i),this.smoothedSeries$=new Q("smoothed_"+i),this.reportedSeries$=new Q("reported_"+i)}return e.prototype.next=function(e){this.slow=er(this.slow,e,this.params.emaAlphaSlow),this.fast=er(this.fast,e,this.params.emaAlphaFast);var r=this.params.fastDirection>0?Math.max:Math.min;this.smoothed=r(this.slow,this.fast),this.smoothed$.next(this.smoothed),(t.isNullable(this.prevReported)||Math.abs(this.smoothed-this.prevReported)/this.prevReported>=this.params.changeThreshold)&&(this.prevReported=this.smoothed,this.debounced$.next(this.smoothed),this.reportedSeries$.next(this.smoothed)),this.rawSeries$.next(e),this.smoothedSeries$.next(this.smoothed)},e}();!function(t){t[t.LOCAL_STORAGE=0]="LOCAL_STORAGE",t[t.SESSION_STORAGE=1]="SESSION_STORAGE",t[t.RUNTIME=2]="RUNTIME"}(Ie||(Ie={}));var ir=new Map,ar=Ie.RUNTIME,nr="vk-videoplayer-dummy-key-"+Math.random();!function(){try{localStorage.setItem(nr,"test"),localStorage.removeItem(nr),ar=Ie.LOCAL_STORAGE}catch(t){if(!(t instanceof DOMException))throw t;try{sessionStorage.getItem(nr),ar=Ie.SESSION_STORAGE}catch(t){if(!(t instanceof DOMException))throw t;ar=Ie.RUNTIME}}}();var sr=function(e,r){switch(ar){case Ie.LOCAL_STORAGE:return localStorage.setItem(e,r);case Ie.SESSION_STORAGE:return sessionStorage.setItem(e,r);case Ie.RUNTIME:return void ir.set(e,r);default:t.assertNever(ar)}},or=function(){function t(){this.subscriptions=[]}return t.prototype.unsubscribe=function(){var t=this.subscriptions;this.subscriptions=[],t.forEach((function(t){return"function"==typeof t?t():t.unsubscribe()}))},t.prototype.add=function(t){return this.subscriptions.push(t),this},t}(),ur=function(){};function dr(t){return null!=t}!function(t){function e(e){var r=t.call(this)||this;return r.value=e,r}c(e,t),e.prototype.next=function(e){t.prototype.next.call(this,this.value=e)},e.prototype.error=function(e){t.prototype.error.call(this,this.value=e)},e.prototype.getValue=function(){return this.value},e.prototype._subscribe=function(e){var r=t.prototype._subscribe.call(this,e);return e.next(this.value),r}}(function(t){function e(){var e=t.call(this)||this;return e.keyCounter=0,e.subscribers=new Map,e}return c(e,t),e.prototype.next=function(t){this.subscribers.forEach((function(e){return e.next(t)}))},e.prototype.error=function(t){this.subscribers.forEach((function(e){var r;return null===(r=e.error)||void 0===r?void 0:r.call(e,t)}))},e.prototype._subscribe=function(t){var e=this,r=this.keyCounter++;return this.subscribers.set(r,t),(new or).add((function(){return e.subscribers.delete(r)}))},e}(function(){function t(t){t&&(this._subscribe=t)}return t.prototype.subscribe=function(t,e){var r;r=e?"function"==typeof e?{next:e,error:ur}:{next:function(t){return e.next(t)},error:function(t){var r;return null===(r=e.error)||void 0===r?void 0:r.call(e,t)}}:{next:ur,error:ur};var i="function"==typeof t?{next:t,error:function(t){return r.next(t)}}:{next:function(e){return t.next(e)},error:function(e){return t.error?t.error(e):r.next(e)}},a=this._subscribe(i);return(new or).add((function(){switch(i.next=ur,i.error=ur,typeof a){case"function":return void a();case"object":return void a.unsubscribe();case"undefined":return;default:return function(t){throw new Error(t+" is value of unexpected type")}(a)}}))},t.prototype.pipe=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return t.reduce((function(t,e){return e(t)}),this)},t.prototype._subscribe=function(t){},t}()));var cr,lr=function(){var t,e;return null!==(e=null===(t=window.performance)||void 0===t?void 0:t.now())&&void 0!==e?e:Date.now()},pr=window.navigator.connection,hr=function(){var t=null==pr?void 0:pr.downlink;if(dr(t)&&10!==t)return 1e3*t},fr=function(){var t=null==pr?void 0:pr.rtt;if(dr(t)&&3e3!==t)return t},vr=function(t,e,r){var i=8*r;return i/(i/t+e)},mr=function(){function e(r){var i,a,n=this;this.subscription=new t.Subscription,this.tuningConfig=r;var s=e.load("one_video_throughput")||(r.useBrowserEstimation?hr():void 0)||5e3,o=null!==(a=null!==(i=e.load("one_video_rtt"))&&void 0!==i?i:r.useBrowserEstimation?fr():void 0)&&void 0!==a?a:0;if(this.throughput$=new t.ValueSubject(s),this.rtt$=new t.ValueSubject(o),this.rttAdjustedThroughput$=new t.ValueSubject(vr(s,o,r.rttPenaltyRequestSize)),this.throughput=new rr({initial:s,emaAlphaSlow:r.emaAlphaSlow,emaAlphaFast:r.emaAlphaFast,changeThreshold:r.changeThreshold,fastDirection:-1,label:"throughput"}),this.rtt=new rr({initial:o,emaAlphaSlow:r.emaAlphaSlow,emaAlphaFast:r.emaAlphaFast,changeThreshold:r.changeThreshold,fastDirection:1,label:"rtt"}),r.useBrowserEstimation){var u=function(){var t=hr();t&&n.throughput.next(t);var e=fr();dr(e)&&n.rtt.next(e)};pr&&"onchange"in pr&&this.subscription.add(t.fromEvent(pr,"change").subscribe(u)),u()}this.subscription.add(this.throughput.smoothed$.subscribe((function(t){sr("one_video_throughput",t.toFixed(0))}))),this.subscription.add(this.rtt.smoothed$.subscribe((function(t){sr("one_video_rtt",t.toFixed(0))}))),this.subscription.add(this.throughput.debounced$.subscribe(this.throughput$)),this.subscription.add(this.rtt.debounced$.subscribe(this.rtt$)),this.subscription.add(t.combine({throughput:this.throughput.smoothed$,rtt:this.rtt.smoothed$}).pipe(t.map((function(t){var e=t.throughput,i=t.rtt;return vr(e,i,r.rttPenaltyRequestSize)})),t.filterChanged((function(t,e){return Math.abs(t-e)/e<r.changeThreshold}))).subscribe(this.rttAdjustedThroughput$))}return e.prototype.destroy=function(){this.subscription.unsubscribe()},e.prototype.trackXHR=function(e){var r=this,i=0,a=lr(),n=new t.Subscription;switch(this.subscription.add(n),e.readyState){case 4:break;case 3:case 2:n.add(t.fromEvent(e,"progress").pipe(t.once()).subscribe((function(t){i=t.loaded,a=lr()})));break;case 1:case 0:n.add(t.fromEvent(e,"loadstart").subscribe((function(){i=0,a=lr()})))}n.add(t.fromEvent(e,"loadend").subscribe((function(t){if(200===e.status){var s=t.loaded,o=lr(),u=s-i,d=o-a;r.addRawSpeed(u,d)}n.unsubscribe()})))},e.prototype.trackStream=function(t){var e=this,r=t.getReader();if(r){var i=0,a=lr(),n=0,s=lr(),o=function(e){r.releaseLock(),t.cancel("Throughput Estimator error: "+e).catch((function(){}))},u=function(t){var d=t.done,c=t.value;return p(e,void 0,void 0,(function(){return h(this,(function(t){switch(t.label){case 0:return d?(this.addRawSpeed(i,lr()-a),[3,3]):[3,1];case 1:return c?(i+=c.byteLength,(n+=c.byteLength)>=this.tuningConfig.streamMinSampleSize&&lr()-s>=this.tuningConfig.streamMinSampleTime&&(this.addRawSpeed(n,lr()-s),n=0,s=lr()),[4,null==r?void 0:r.read().then(u,o)]):[3,3];case 2:t.sent(),t.label=3;case 3:return[2]}}))}))};null==r||r.read().then(u,o)}else t.cancel("Could not get reader")},e.prototype.addRawSpeed=function(t,r){if(e.sanityCheck(t,r)){var i=8*t/r;this.throughput.next(i)}},e.prototype.addRawThroughput=function(t){this.throughput.next(t)},e.prototype.addRawRtt=function(t){this.rtt.next(t)},e.sanityCheck=function(t,e){var r=8*t/e;return!(!r||!isFinite(r))&&(!(r>1e6)&&(!(r<30)&&(!(t<1024)&&!(e<=50))))},e.load=function(e){var r,i=function(e){var r,i;switch(ar){case Ie.LOCAL_STORAGE:return null!==(r=localStorage.getItem(e))&&void 0!==r?r:void 0;case Ie.SESSION_STORAGE:return null!==(i=sessionStorage.getItem(e))&&void 0!==i?i:void 0;case Ie.RUNTIME:return ir.get(e);default:t.assertNever(ar)}}(e);if(dr(i))return null!==(r=parseInt(i,10))&&void 0!==r?r:void 0},e}(),Sr=function(e){return void 0===e&&(e=function(t){return t}),function(r){var i=r.playbackState,a=r.seekPosition,n=r.playbackAbort$,s=r.position$;return new t.Observable((function(r){var o,u=i.transitionEnded$.pipe(t.filter((function(t){return(t.from===exports.PlaybackState.PAUSED||t.from===exports.PlaybackState.STOPPED)&&t.to===exports.PlaybackState.PLAYING}))),d=i.stateChangeEnded$.pipe(t.filter((function(t){return t.from===exports.PlaybackState.PLAYING&&t.to===exports.PlaybackState.PAUSED}))),c=a.stateChangeEnded$.pipe(t.filter((function(e){var r,a;return t.isNonNullable(e.to)&&(null!==(a=null===(r=i.getTransition())||void 0===r?void 0:r.from)&&void 0!==a?a:i.getState())===exports.PlaybackState.PLAYING}))),l=a.stateChangeEnded$.pipe(t.filter((function(e){var r,a;return t.isNullable(e.to)&&(null!==(a=null===(r=i.getTransition())||void 0===r?void 0:r.from)&&void 0!==a?a:i.getState())===exports.PlaybackState.PLAYING}))),p=t.merge(u,l).pipe(t.map((function(){return e(s.getValue())}))),h=t.merge(d,c,n).pipe(t.map((function(){return e(s.getValue())})));return(new t.Subscription).add(p.subscribe((function(t){o=e(t)}))).add(h.subscribe((function(i){if(!t.isNullable(o)){var a={start:o,end:e(i)};o=void 0,r.next(a)}})))}))}},br=Sr((function(t){return t})),gr=Sr((function(t){return Math.round(1e3*t)+Date.now()})),yr=((cr={})[n.SCREEN]={vod:[exports.VideoFormat.HLS,exports.VideoFormat.HLS_ONDEMAND,exports.VideoFormat.DASH_WEBM_VK,exports.VideoFormat.DASH_WEBM,exports.VideoFormat.DASH,exports.VideoFormat.DASH_SEP,exports.VideoFormat.DASH_ONDEMAND,exports.VideoFormat.HLS_JS,exports.VideoFormat.MPEG],live:[exports.VideoFormat.HLS_LIVE,exports.VideoFormat.DASH_LIVE,exports.VideoFormat.DASH_LIVE_WEBM]},cr[n.CHROMECAST]={vod:[exports.VideoFormat.DASH_WEBM_VK,exports.VideoFormat.DASH_WEBM,exports.VideoFormat.DASH_SEP,exports.VideoFormat.DASH_ONDEMAND,exports.VideoFormat.HLS,exports.VideoFormat.HLS_ONDEMAND,exports.VideoFormat.MPEG],live:[exports.VideoFormat.HLS_LIVE]},cr),Tr=function(){function e(e){var r=this;if(void 0===e&&(e={}),this.subscription=new t.Subscription,this.logger=new t.Logger,this.isPlaybackStarted=!1,this.desiredState={playbackState:new tt(exports.PlaybackState.STOPPED),seekPosition:new tt(void 0),volume:new tt({volume:1,muted:!1}),videoTrack:new tt(void 0),autoVideoTrackSwitching:new tt(!0),isLooped:new tt(!1),externalTextTracks:new tt([]),currentTextTrack:new tt(void 0),textTrackCuesSettings:new tt({})},this.info={playbackState$:new t.ValueSubject(exports.PlaybackState.STOPPED),position$:new t.ValueSubject(0),duration$:new t.ValueSubject(1/0),muted$:new t.ValueSubject(!1),volume$:new t.ValueSubject(1),availableQualities$:new t.ValueSubject([]),currentQuality$:new t.ValueSubject(void 0),isAutoQualityEnabled$:new t.ValueSubject(!0),currentBuffer$:new t.ValueSubject(void 0),isBuffering$:new t.ValueSubject(!0),isEnded$:new t.ValueSubject(!1),isLooped$:new t.ValueSubject(!1),isLive$:new t.ValueSubject(void 0),liveTime$:new t.ValueSubject(void 0),currentFormat$:new t.ValueSubject(void 0),availableTextTracks$:new t.ValueSubject([]),currentTextTrack$:new t.ValueSubject(void 0),throughputEstimation$:new t.ValueSubject(void 0),rttEstimation$:new t.ValueSubject(void 0),videoBitrate$:new t.ValueSubject(void 0),hostname$:new t.ValueSubject(void 0),chromecastState$:new t.ValueSubject(exports.ChromecastState.NOT_AVAILABLE),chromecastDeviceName$:new t.ValueSubject(void 0)},this.events={started$:new t.Subject,startAttempt$:new t.Subject,willPause$:new t.Subject,willResume$:new t.Subject,willDestruct$:new t.Subject,watchCoverageRecord$:new t.Subject,watchCoverageLive$:new t.Subject,managedError$:new t.Subject,fatalError$:new t.Subject,ended$:new t.Subject,seeked$:new t.Subject,willSeek$:new t.Subject,firstBytes$:new t.Subject,firstFrame$:new t.Subject,log$:new t.Subject},this.experimental={element$:new t.ValueSubject(void 0),enableDebugTelemetry$:new t.ValueSubject(!1),dumpTelemetry:j},this.initLogs(),this.tuning=function(t){var e,r,i={};try{for(var a=f(Object.keys(g)),n=a.next();!n.done;n=a.next()){var s=n.value,o=g[s],u=t[s];Array.isArray(o)&&Array.isArray(u)?i[s]=u:i[s]="object"==typeof o&&"object"==typeof u?l(l({},o),u):null!=u?u:o}}catch(t){e={error:t}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(e)throw e.error}}return i}(e),this.chromecastInitializer=new y({receiverApplicationId:e.chromecastReceiverId,isDisabled:e.disableChromecast,dependencies:{logger:this.logger}}),this.throughputEstimator=new mr(this.tuning.throughputEstimator),this.initChromecastSubscription(),this.initDesiredStateSubscriptions(),Proxy&&Reflect)return new Proxy(this,{get:function(t,e,i){var a=Reflect.get(t,e,i);return"function"!=typeof a?a:function(){for(var i=[],n=0;n<arguments.length;n++)i[n]=arguments[n];try{return a.apply(t,i)}catch(t){var s=i.map((function(t){return JSON.stringify(t,(function(t,e){var r=typeof e;return["number","string","boolean"].includes(r)?e:null===e?null:"<"+r+">"}))})),o="Player."+String(e),u="Exception calling "+o+" ("+s.join(", ")+")";throw r.events.fatalError$.next({id:o,message:u,thrown:t}),t}}}})}return e.prototype.initVideo=function(e){var r,i;return this.config=e,this.domContainer=function(e){var r="string"==typeof e.container?document.getElementById(e.container):e.container;return t.assertNonNullable(r,"Wrong container or containerId {"+e.container+"}"),r}(e),this.chromecastInitializer.contentId=null===(r=e.meta)||void 0===r?void 0:r.videoId,this.providerContainer=new tr({screenFormatsPriority:m(m([],v(yr[n.SCREEN].live),!1),v(yr[n.SCREEN].vod),!1),chromecastFormatsPriority:m(m([],v(yr[n.CHROMECAST].live),!1),v(yr[n.CHROMECAST].vod),!1),sources:e.sources,meta:null!==(i=e.meta)&&void 0!==i?i:{},container:this.domContainer,desiredState:this.desiredState,dependencies:{throughputEstimator:this.throughputEstimator,chromecastInitializer:this.chromecastInitializer,logger:this.logger},tuning:this.tuning}),this.initProviderContainerSubscription(this.providerContainer),this.initStartingVideoTrack(this.providerContainer),this.providerContainer.init(),this.initDebugTelemetry(),this},e.prototype.destroy=function(){var t;this.events.willDestruct$.next(),null===(t=this.providerContainer)||void 0===t||t.destroy(),this.throughputEstimator.destroy(),this.chromecastInitializer.destroy(),this.subscription.unsubscribe()},e.prototype.play=function(){var t=this.desiredState.playbackState;return t.getState()!==exports.PlaybackState.PLAYING&&t.startTransitionTo(exports.PlaybackState.PLAYING),this},e.prototype.pause=function(){var t=this.desiredState.playbackState;return t.getState()!==exports.PlaybackState.PAUSED&&t.startTransitionTo(exports.PlaybackState.PAUSED),this},e.prototype.stop=function(){var t=this.desiredState.playbackState;return t.getState()!==exports.PlaybackState.STOPPED&&t.startTransitionTo(exports.PlaybackState.STOPPED),this},e.prototype.seekTime=function(t){return this.events.willSeek$.next({from:this.getExactTime(),to:t}),this.desiredState.seekPosition.startTransitionTo(t),this},e.prototype.seekPercent=function(t){var e=this.info.duration$.getValue();return isFinite(e)&&this.seekTime(Math.abs(e)*t),this},e.prototype.setVolume=function(t){return this.chromecastInitializer.castState$.getValue()===exports.ChromecastState.CONNECTED?this.chromecastInitializer.setVolume(t):this.desiredState.volume.startTransitionTo({volume:t,muted:this.desiredState.volume.getState().muted}),this},e.prototype.setMuted=function(t){return this.chromecastInitializer.castState$.getValue()===exports.ChromecastState.CONNECTED?this.chromecastInitializer.setMuted(t):this.desiredState.volume.startTransitionTo({volume:this.desiredState.volume.getState().volume,muted:t}),this},e.prototype.setQuality=function(e){t.assertNonNullable(this.providerContainer);var r=this.providerContainer.providerOutput.availableVideoTracks$.getValue();r.length||(this.explicitInitialQuality=e);var i=r.find((function(t){return t.quality===e}));return i&&this.desiredState.videoTrack.startTransitionTo(i.id),this},e.prototype.setAutoQuality=function(t){return this.desiredState.autoVideoTrackSwitching.startTransitionTo(t),this},e.prototype.setExternalTextTracks=function(t){return this.desiredState.externalTextTracks.startTransitionTo(t.map((function(t){return l({type:"external"},t)}))),this},e.prototype.selectTextTrack=function(t){var e;return(void 0===t||(null===(e=this.providerContainer)||void 0===e?void 0:e.providerOutput.availableTextTracks$.getValue().find((function(e){return e.id===t}))))&&this.desiredState.currentTextTrack.startTransitionTo(t),this},e.prototype.setTextTrackCueSettings=function(t){return this.desiredState.textTrackCuesSettings.startTransitionTo(t),this},e.prototype.setLooped=function(t){return this.desiredState.isLooped.startTransitionTo(t),this},e.prototype.toggleChromecast=function(){this.chromecastInitializer.toggleConnection()},e.prototype.getExactTime=function(){var e;t.assertNonNullable(this.providerContainer);var r=this.providerContainer.providerOutput.element$.getValue();if(t.isNullable(r))return this.info.position$.getValue();var i=this.desiredState.seekPosition.getTransition(),a=null!==(e=null==i?void 0:i.to)&&void 0!==e?e:null==i?void 0:i.from;return t.isNonNullable(a)?a:r.currentTime},e.prototype.getAllLogs=function(){return this.logger.getAllLogs()},e.prototype.initDesiredStateSubscriptions=function(){var e=this;this.subscription.add(t.merge(this.desiredState.playbackState.stateChangeStarted$,this.desiredState.playbackState.forceChanged$).pipe(t.map((function(t){return t.to}))).subscribe(this.info.playbackState$)).add(this.desiredState.isLooped.stateChangeEnded$.pipe(t.map((function(t){return t.to}))).subscribe(this.info.isLooped$)).add(this.desiredState.autoVideoTrackSwitching.stateChangeEnded$.pipe(t.map((function(t){return t.to}))).subscribe(this.info.isAutoQualityEnabled$)).add(this.desiredState.seekPosition.stateChangeEnded$.pipe(t.filter((function(t){return void 0===t.to})),t.mapTo(void 0)).subscribe(this.events.seeked$));var r=new t.Subscription;this.subscription.add(r),this.subscription.add(this.desiredState.playbackState.stateChangeStarted$.pipe(t.filter((function(t){return t.to===exports.PlaybackState.PLAYING}))).subscribe((function(){r.unsubscribe(),r.add(e.desiredState.playbackState.stateChangeEnded$.pipe(t.filter((function(t){return t.to===exports.PlaybackState.PLAYING||t.to===exports.PlaybackState.PAUSED})),t.once()).subscribe((function(t){var r=t.to===exports.PlaybackState.PLAYING,i=e.info.muted$.getValue(),a=r?i?exports.StartStatus.SuccessWithoutSound:exports.StartStatus.SuccessWithSound:exports.StartStatus.Failed;e.events.startAttempt$.next(a)})))}))),this.subscription.add(this.desiredState.playbackState.stateChangeEnded$.pipe(t.filter((function(t){return t.to===exports.PlaybackState.PLAYING}))).subscribe((function(){e.isPlaybackStarted||(e.isPlaybackStarted=!0,e.events.started$.next())}))).add(this.desiredState.playbackState.stateChangeStarted$.subscribe((function(t){switch(t.to){case exports.PlaybackState.PAUSED:e.events.willPause$.next();break;case exports.PlaybackState.PLAYING:e.isPlaybackStarted&&e.events.willResume$.next()}})))},e.prototype.initProviderContainerSubscription=function(e){var r=this;this.subscription.add(e.current$.pipe(t.map((function(t){return t.type}))).subscribe(this.info.currentFormat$)).add(e.current$.pipe(t.map((function(t){return t.destination})),t.filterChanged()).subscribe((function(){r.isPlaybackStarted=!1}))).add(e.providerOutput.availableVideoTracks$.pipe(t.map((function(t){return t.map((function(t){return t.quality})).sort((function(t,e){return H(t)?1:H(e)?-1:B(e,t)?1:-1}))}))).subscribe(this.info.availableQualities$)).add(e.providerOutput.currentVideoTrack$.subscribe((function(t){r.info.currentQuality$.next(null==t?void 0:t.quality),r.info.videoBitrate$.next(null==t?void 0:t.bitrate)}))).add(e.providerOutput.hostname$.pipe(t.filterChanged()).subscribe(this.info.hostname$)).add(e.providerOutput.currentTextTrack$.subscribe(this.info.currentTextTrack$)).add(e.providerOutput.availableTextTracks$.subscribe(this.info.availableTextTracks$)).add(e.providerOutput.currentBuffer$.subscribe(this.info.currentBuffer$)).add(e.providerOutput.duration$.subscribe(this.info.duration$)).add(e.providerOutput.isBuffering$.subscribe(this.info.isBuffering$)).add(e.providerOutput.isLive$.subscribe(this.info.isLive$)).add(e.providerOutput.liveTime$.subscribe(this.info.liveTime$)).add(e.providerOutput.volume$.pipe(t.map((function(t){return t.muted})),t.filterChanged()).subscribe(this.info.muted$)).add(e.providerOutput.volume$.pipe(t.map((function(t){return t.volume})),t.filterChanged()).subscribe(this.info.volume$)).add(function(e){var r=e.seekPosition,i=e.position$;return t.merge(r.stateChangeStarted$.pipe(t.map((function(t){return t.to})),t.filter(t.isNonNullable)),i.pipe(t.filter((function(){return t.isNullable(r.getState())&&t.isNullable(r.getTransition())}))))}({seekPosition:this.desiredState.seekPosition,position$:e.providerOutput.position$}).subscribe(this.info.position$)).add(t.merge(e.providerOutput.endedEvent$.pipe(t.mapTo(!0)),this.desiredState.seekPosition.stateChangeEnded$.pipe(t.filter((function(t){return void 0!==t.from})),t.mapTo(!1))).pipe(t.filterChanged()).subscribe(this.info.isEnded$)).add(e.providerOutput.endedEvent$.subscribe(this.events.ended$)).add(e.providerError$.subscribe(this.events.managedError$)).add(e.noAvailableProvidersError$.pipe(t.map((function(t){return{id:"NoProviders",message:"No suitable providers or all providers failed"}}))).subscribe(this.events.fatalError$)).add(e.providerOutput.element$.subscribe(this.experimental.element$)).add(e.providerOutput.firstBytesEvent$.subscribe(this.events.firstBytes$)).add(e.providerOutput.firstFrameEvent$.subscribe(this.events.firstFrame$)).add(this.throughputEstimator.throughput$.subscribe(this.info.throughputEstimation$)).add(this.throughputEstimator.rtt$.subscribe(this.info.rttEstimation$));var i=new t.Subscription;this.subscription.add(i);var a=t.merge(this.events.willDestruct$,e.current$.pipe(t.filter((function(t){return Boolean(null==t?void 0:t.provider)}))));e.providerOutput.isLive$.pipe(t.filterChanged()).subscribe((function(e){switch(t.assertNonNullable(r.providerContainer),i.unsubscribe(),e){case!0:i.add(gr({seekPosition:r.desiredState.seekPosition,playbackState:r.desiredState.playbackState,playbackAbort$:a,position$:r.providerContainer.providerOutput.position$}).subscribe(r.events.watchCoverageLive$));break;case!1:i.add(br({seekPosition:r.desiredState.seekPosition,playbackState:r.desiredState.playbackState,playbackAbort$:a,position$:r.providerContainer.providerOutput.position$}).subscribe(r.events.watchCoverageRecord$))}}))},e.prototype.initChromecastSubscription=function(){this.subscription.add(this.chromecastInitializer.castState$.subscribe(this.info.chromecastState$)),this.subscription.add(this.chromecastInitializer.connection$.pipe(t.map((function(t){return null==t?void 0:t.castDevice.friendlyName}))).subscribe(this.info.chromecastDeviceName$)),this.subscription.add(this.chromecastInitializer.errorEvent$.subscribe(this.events.managedError$))},e.prototype.initStartingVideoTrack=function(e){var r=this,i=new t.Subscription;this.subscription.add(i),this.subscription.add(e.current$.pipe(t.filterChanged((function(t,e){return t.provider===e.provider}))).subscribe((function(){i.unsubscribe(),i.add(e.providerOutput.availableVideoTracks$.pipe(t.filter((function(t){return t.length>0})),t.once()).subscribe((function(t){r.setStartingVideoTrack(t)})))})))},e.prototype.setStartingVideoTrack=function(t){var e,r=this;this.explicitInitialQuality&&(e=t.find((function(t){return t.quality===r.explicitInitialQuality})),this.explicitInitialQuality=void 0),e||(e=J(t,{container:this.domContainer.getBoundingClientRect(),throughput:this.throughputEstimator.throughput$.getValue(),tuning:this.tuning.autoTrackSelection,forwardBufferHealth:0})),this.desiredState.videoTrack.startTransitionTo(e.id),this.info.currentQuality$.next(e.quality),this.info.videoBitrate$.next(e.bitrate)},e.prototype.initLogs=function(){this.subscription.add(t.merge(this.desiredState.videoTrack.stateChangeStarted$.pipe(t.map((function(t){return{transition:t,entity:"quality",type:"start"}}))),this.desiredState.videoTrack.stateChangeEnded$.pipe(t.map((function(t){return{transition:t,entity:"quality",type:"end"}}))),this.desiredState.autoVideoTrackSwitching.stateChangeStarted$.pipe(t.map((function(t){return{transition:t,entity:"autoQualityEnabled",type:"start"}}))),this.desiredState.autoVideoTrackSwitching.stateChangeEnded$.pipe(t.map((function(t){return{transition:t,entity:"autoQualityEnabled",type:"end"}}))),this.desiredState.seekPosition.stateChangeStarted$.pipe(t.map((function(t){return{transition:t,entity:"seekPosition",type:"start"}}))),this.desiredState.seekPosition.stateChangeEnded$.pipe(t.map((function(t){return{transition:t,entity:"seekPosition",type:"end"}}))),this.desiredState.playbackState.stateChangeStarted$.pipe(t.map((function(t){return{transition:t,entity:"playbackState",type:"start"}}))),this.desiredState.playbackState.stateChangeEnded$.pipe(t.map((function(t){return{transition:t,entity:"playbackState",type:"end"}})))).pipe(t.map((function(t){return{component:"desiredState",message:"["+t.entity+" change] "+t.type+": "+JSON.stringify(t.transition)}}))).subscribe(this.logger.log)),this.subscription.add(this.logger.log$.subscribe(this.events.log$))},e.prototype.initDebugTelemetry=function(){var e,r=this,i=null===(e=this.providerContainer)||void 0===e?void 0:e.providerOutput;t.assertNonNullable(this.providerContainer),t.assertNonNullable(i),Y={},this.experimental.enableDebugTelemetry$.next(this.tuning.enableTelemetryAtStart),[this.experimental.enableDebugTelemetry$.subscribe((function(t){G=t})),this.providerContainer.current$.subscribe((function(t){var e=t.type;return z("provider",e)})),i.duration$.subscribe((function(t){return z("duration",t)})),i.availableVideoTracks$.pipe(t.filter((function(t){return!!t.length})),t.once()).subscribe((function(t){return z("tracks",t)})),this.events.fatalError$.subscribe(new Q("fatalError")),this.events.managedError$.subscribe(new Q("managedError")),i.position$.subscribe(new Q("position")),i.currentVideoTrack$.pipe(t.map((function(t){return null==t?void 0:t.quality}))).subscribe(new Q("quality")),i.currentBuffer$.subscribe(new Q("buffer")),i.isBuffering$.subscribe(new Q("isBuffering"))].forEach((function(t){return r.subscription.add(t)})),z("codecs",Object.keys(Fe).filter((function(t){return Fe[t]})))},e}();Object.defineProperty(exports,"Observable",{enumerable:!0,get:function(){return t.Observable}}),Object.defineProperty(exports,"Subject",{enumerable:!0,get:function(){return t.Subject}}),Object.defineProperty(exports,"Subscription",{enumerable:!0,get:function(){return t.Subscription}}),Object.defineProperty(exports,"ValueSubject",{enumerable:!0,get:function(){return t.ValueSubject}}),exports.Player=Tr,exports.SDK_VERSION="@vkontakte/videoplayer-core@2.0.37";