@flowplayer/player 3.40.1 → 3.41.0-rc
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core.js +1 -1
- package/default.js +1 -1
- package/embed.js +2 -2
- package/flowplayer.css +1 -1
- package/index.d.ts +5 -0
- package/package.json +1 -1
- package/plugins/ads.d.ts +5 -0
- package/plugins/ads.js +1 -1
- package/plugins/airplay.d.ts +5 -0
- package/plugins/analytics.d.ts +5 -0
- package/plugins/analytics.js +1 -1
- package/plugins/asel.d.ts +5 -0
- package/plugins/audio.d.ts +5 -0
- package/plugins/chapters.d.ts +5 -0
- package/plugins/chromecast.d.ts +5 -0
- package/plugins/comscore.d.ts +5 -0
- package/plugins/consent.d.ts +5 -0
- package/plugins/context-menu.d.ts +5 -0
- package/plugins/cuepoints.d.ts +5 -0
- package/plugins/dash.d.ts +5 -0
- package/plugins/drm.d.ts +5 -0
- package/plugins/endscreen.d.ts +5 -0
- package/plugins/fas.d.ts +5 -0
- package/plugins/float-on-scroll.d.ts +5 -0
- package/plugins/ga4.d.ts +5 -0
- package/plugins/gemius.d.ts +5 -0
- package/plugins/google-analytics.d.ts +5 -0
- package/plugins/hls.d.ts +5 -0
- package/plugins/id3.d.ts +5 -0
- package/plugins/iframe.d.ts +5 -0
- package/plugins/keyboard.d.ts +5 -0
- package/plugins/media-session.d.ts +5 -0
- package/plugins/message.d.ts +5 -0
- package/plugins/ovp.d.ts +5 -0
- package/plugins/playlist.d.ts +5 -0
- package/plugins/preview.d.ts +5 -0
- package/plugins/qsel.d.ts +5 -0
- package/plugins/qul.d.ts +5 -0
- package/plugins/rts.d.ts +5 -0
- package/plugins/rts.js +1 -1
- package/plugins/share.d.ts +5 -0
- package/plugins/speed.d.ts +5 -0
- package/plugins/ssai.d.ts +5 -0
- package/plugins/ssai.js +1 -1
- package/plugins/subtitles.d.ts +5 -0
- package/plugins/thumbnails.d.ts +5 -0
- package/plugins/tizen.d.ts +5 -0
- package/plugins/ui-redesign.d.ts +5 -0
- package/plugins/ui-redesign.js +2 -2
- package/plugins/vtsel.d.ts +5 -0
- package/plugins/webos.d.ts +5 -0
- package/util/loader.d.ts +5 -0
package/plugins/ads.js
CHANGED
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
* https://github.com/lancedikson/bowser
|
|
5
5
|
* MIT License | (c) Dustin Diaz 2012-2015
|
|
6
6
|
* MIT License | (c) Denis Demchenko 2015-2019
|
|
7
|
-
*/const Se=class Bowser{static getParser(t,e=!1){if("string"!=typeof t)throw new Error("UserAgent should be a string");return new Parser(t,e)}static parse(t){return new Parser(t).getResult()}static get BROWSER_MAP(){return me}static get ENGINE_MAP(){return ve}static get OS_MAP(){return fe}static get PLATFORMS_MAP(){return _e}}.parse(window.navigator.userAgent),{platform:Te,os:Le,browser:Oe}=Se,Re=t=>t&&t.toLowerCase();var Me={rnd:Math.random().toString(36).substr(2,32),os:Re(Le.name+(Le.versionName?` ${Le.versionName}`:"")),device:Re(Te.type),browser:Re(Oe.name),browser_version:(Oe&&Oe.version?Oe.version:"unknown").split(".").shift(),plugin_version:"3.40.1"};const Pe="https://fp-eu-w1-aai.flowplayer.com/in",ke="POST",De=[y,v,A,E,w,q,O],Ie=["event_type","ad_tag_id","media_id","player_id","site_id","sitegroup_id","rnd","os","device","browser","browser_version","plugin_version","player_version"],Ce=["vast_error","reason","request_load_time","ad_type","vast_ad_id"],Ne=vt("ads/analytics"),Ue=RequestQueue.of(),xe=(...t)=>Object.assign({},...t);class Analytics{static of(t,e){return new Analytics(t,e)}static ensure_required_keys(t,e){return t.required_keys.filter(t=>!(t in e))}static pluck_valid_keys(t,e){return((t,...e)=>Object.keys(t).filter(t=>~e.indexOf(t)).reduce((e,s)=>Object.assign(e,{[s]:t[s]}),{}))(e,...t.valid_keys)}static mergeMetadata(t,e={}){return t.metadata=Analytics.pluck_valid_keys(t,xe(t.metadata,e,{player_version:"3.40.1"})),t}constructor(t,e={}){this.emitter=t,this.metadata=xe(Me,e.metadata||{}),this.emitter=t,this.events=e.events||[],this.required_keys=e.required_keys||[],this.optional_keys=e.optional_keys||[],this.valid_keys=this.required_keys.slice(0).concat(this.optional_keys),Ne(this),this.wireup()}wireup(){this.events.forEach(t=>{this.emitter.on(t,e=>{const s=e.detail,i=xe(this.metadata,{event_type:t},s),r=Analytics.pluck_valid_keys(this,i),a=Analytics.ensure_required_keys(this,r);if(Ne(`Event[${t}]`,{payload:r,observation:s}),a.length)return Ne(`Analytics.validate_metadata() failed for\n Event[${t}]\n missing keys: ${a}`,r);RequestQueue.rpush(Ue,[Pe,ke,r])})})}destroy(){const t=this;t.emitter=t.metadata=t.events=t.required_keys=t.optional_keys=t.valid_keys=void 0}}class EventBus{constructor(t=document.createElement("div"),e=[]){this._bus=t,this._listeners=e}removeAllListeners(){this._listeners.length=0,this._bus=document.createElement("div")}emit(t,e){const s=new CustomEvent(t,{detail:e||{}});this._bus.dispatchEvent(s)}on(t,e){this._listeners.push([t,e]),this._bus.addEventListener(t,e,{passive:!0})}once(t,e){this._bus.addEventListener(t,e,{once:!0})}removeListener(t,e){this._bus.removeEventListener(t,e)}}const Fe=vt("ads/controller"),Be={show_all_ads_on_seek:!1,timeout:5e3,preload_advance:5};class AdsController extends EventBus{constructor(t={}){var e;super(),this.adapter=function(t,e){return t.adapter?new t.adapter(e):new IMA(e)}(t,this),this.opts=Object.assign(Object.assign({},Be),t),this.analytics=(e=this,Analytics.of(e,{required_keys:Ie,optional_keys:Ce,events:De})),this._state=AdsState.of(),this._schedule=void 0,this._lastAd=void 0,this._macros=new Macros(t.parameters||{}),this.wireup(),this.content_processing_src=!1}reset(){return this.removeAllListeners(),this.wireup(),this.analytics&&this.analytics.wireup(),this._state.reset(),this.adapter.reset(),this}destroy(){this.removeAllListeners(),this.analytics&&this.analytics.destroy(),this.adapter&&this.adapter.destroy();const t=this;t.analytics=void 0,t.opts=void 0,t.adapter=void 0,t._state=void 0,t._schedule=void 0,t._lastAd=void 0,t._macros=void 0}stop(){this.adapter&&this.adapter.stop()}onContentNewSrc(){var t;this._state.reset(),this.adapter.destroyManager(),this.adapter.contentComplete(),null===(t=this.videoTag)||void 0===t||t.root.classList.remove(bt)}wireup(){const t=()=>{var t,e;this.adapter.onAdRequestEnd(),null===(t=this.videoTag)||void 0===t||t.setState("ad-paused",!1),null===(e=this.videoTag)||void 0===e||e.setState("ad-playing",!0),this._state.toggleState(he.PLAYING,!0)};this.on(B,t),this.on(w,t),this.on(T,t);const e=t=>{var e,s;(null==t?void 0:t.type)!==v&&this.adapter.onAdRequestEnd(),null===(e=this.videoTag)||void 0===e||e.setState("ad-paused",(null==t?void 0:t.type)===S),null===(s=this.videoTag)||void 0===s||s.setState("ad-playing",!1),this.adPlaying&&this._state.toggleState(he.PLAYING,!1)};this.on(k,e),this.on(_,e),this.on(m,e),this.on(v,e),this.on(S,e),this.on(O,e),this.on(E,e),this.on(k,()=>{this._state.toggleState(he.BREAK_ACTIVE,!1)}),this.on(F,()=>{console.error("Adapter init failed"),e(),this._state.toggleState(he.FATAL_ERROR,!0)}),this.on(j,async t=>{if(Fe("Ads.on(RELOAD_AD_REQUESTED)",t),this._schedule){if(e(),t)return this._schedule.reset(this._schedule.getAds());this._state.hasAny(he.AD_AVAILABLE)&&(this._schedule.decrement(),this._state.toggleState(he.AD_AVAILABLE,!1))}})}async initialize(t,e={},s){return Fe("Ads.initialize():",t,e,s),this._state.toggleState(he.INITIALIZING,!0),Object.assign(this.opts,e),Array.isArray(t)&&this.setSchedule(t),await this.adapter.init(this.opts),this._macros=this._macros.fork(Object.assign({},e.parameters||{},{autoplay:e.autoplay,muted:e.muted})),this.adapter.isReady()&&await this.adapterInitialized(s),this}get videoTag(){return this.adapter.getVideoTag()}get adInfo(){return this.adapter.getAdInfo()}async setVideoTag(t){Fe("Ads.setVideoTag():",t),await this.adapter.setVideoTag(t),this.trigger(f,t),this.adapter.isReady()&&await this.adapterInitialized(),t.on(H,()=>this.adapter.pause()),t.on(V,()=>this.adapter.resume()),t.on(z,()=>t.toggleMute()),t.on(Z,()=>{this.adapter.volume(t.muted?0:0==t.volume?.1:t.volume)}),t.on("src",()=>{if(t.currentSrc){if(!t.hasState("ad-playing")&&!t.hasState("ad-paused"))return this.onContentNewSrc();if(this.stop(),!this.adapter.isLinearAd())return this.onContentNewSrc();this.setIsContentProcessingNewSrc(!0),this.once(k,()=>{setTimeout(()=>{this.setIsContentProcessingNewSrc(!1),this.onContentNewSrc()},0)})}})}waitForVideoTag(){return new Promise(t=>{const e=this.adapter.getVideoTag();if(e)return t(e);this.on(f,e=>{this.once(g,()=>t(e))})})}async adapterInitialized(t){Fe("Ads.adapterInitialized()"),this._state.toggleState(he.INITIALIZING,!1),this._state.toggleState(he.BREAK_ACTIVE,!!this.hasPreroll()),await this.setCurrentTime(0,t),t||(this.checkIfBreakComplete(),this.adapter.isAdPod()||this.trigger(_))}async fetchNextAd(t,e=0){var s,i;if(!this._schedule||this.getIsContentProcessingNewSrc())return;if(!this.adapter.isReady())return;if(e>50)throw this._state.toggleState(he.FATAL_ERROR,!0),this._state.toggleState(he.FETCHING_AD,!1),new Error("Ads.fetchNextAd() :max_recursion_depth");const r=(null===(s=this._schedule)||void 0===s?void 0:s.getNextAd())||(null===(i=this._schedule)||void 0===i?void 0:i.getPostroll());if(!r||this.adapter.canDismissNonLinear()||-1===t)if(this._schedule.waitForLoad(t,r,this.opts.preload_ads))this._state.toggleState(he.FETCHING_AD,!1);else if(r!==this._schedule.getPostroll()||(this._schedule.setPostrollActive(),-1===t))if(this._schedule.isDrained()||this._schedule.increment(),r){Fe("Ads.fetchNextAd",r),this._state.toggleState(he.FETCHING_AD,!0);try{return await this.requestAd(r),this._state.toggleState(he.AD_AVAILABLE,!0),void this._state.toggleState(he.FETCHING_AD,!1)}catch(s){return Fe("Ads.fetchNextAd(err: %o, ad: %o)",s,r),this.setLastAd(r),r!==this._schedule.getPostroll()?await this.fetchNextAd(t,++e):void this._state.toggleState(he.FETCHING_AD,!1)}}else this._state.toggleState(he.FETCHING_AD,!1);else this._state.toggleState(he.FETCHING_AD,!1)}skipAdsOnSeek(t){if(!this._schedule)return;let e=this._schedule.getNextAd();for(;e&&e.time<t;)this._schedule.increment(),e=this._schedule.getNextAd()}async setCurrentTime(t,e=!1,s=!1){if(!this._schedule)return;if(!this.adapter.isReady())return;if(this._state.hasAny(he.FETCHING_AD))return;if(this._state.hasAny(he.BREAK_ACTIVE)&&this.adapter.isLinearAd())return;if(this._state.hasAny(he.PLAYING)&&this.adapter.isLinearAd())return;const i=0===t&&0===this._schedule.getNextIndex();try{if(s&&!this.opts.show_all_ads_on_seek&&this.skipAdsOnSeek(t),this._state.hasAny(he.AD_AVAILABLE)||await this.fetchNextAd(t),!this._state.hasAny(he.AD_AVAILABLE)||!this.shallPlayAd(t))return;await this.playAd(),await this.setCurrentTime(t),this.checkIfBreakComplete()}catch(t){Fe("setCurrentTime: Error(from: setCurrentTime, message: %s)",t.message)}finally{i&&this.trigger(I)}}async playAd(){var t;if(!this._state.hasAny(he.AD_AVAILABLE))return;this._state.toggleState(he.AD_AVAILABLE,!1),this._state.toggleState(he.BREAK_ACTIVE,!0);const e=null===(t=this._schedule)||void 0===t?void 0:t.getCurrentAd();try{await this.adapter.playAd()}catch(t){console.error("Ads.playAd: error",t)}finally{e&&this.setLastAd(e)}}checkIfBreakComplete(){if(!this._state.hasAny(he.BREAK_ACTIVE))return Fe("Ads.checkIfBreakComplete(:bail, ad: %o)",this.getLastAd());Fe("Ads.checkIfBreakComplete(:run, ad: %o)",this.getLastAd()),this._state.toggleState(he.BREAK_ACTIVE,!1),this.adapter.isAdPod()||this.trigger(k)}resetScheduleCounter(){this._schedule&&this._schedule.resetCounter()}setSchedule(t,e){if(e&&!isNaN(e)&&this._schedule&&this._schedule.updateContentDuration(e),this._schedule&&this._schedule.getNextIndex()>0)return this._schedule.setAds(t);this._schedule=new Schedule(t,{preload_advance:this.opts.preload_advance,content_duration:e?0:e})}toJSON(){return this._schedule?this._schedule.toJSON():[]}trigger(t,e={}){var s;if(!this.adapter.getVideoTag())return;if(!this._state)return;if(t===k&&this._state.hasAny(he.BREAK_ACTIVE)&&!this.adapter.isAdPod()&&!e.force)return Fe("skipping AD_BREAK_COMPLETE reason: %s pod=%s",this._state.toString(),this.adapter.isAdPod());if(null===(i=e)||"object"!=typeof i||ce(i)!==le)return this.dispatch(t,e);var i;const r=Object.assign({},this.adapter.getOpts()||{},(null===(s=this._schedule)||void 0===s?void 0:s.getCurrentAd())||{},{ad_type:this.ad_type},e);return this.dispatch(t,r)}dispatch(t,e){const s=this.adapter.getVideoTag();if(s){Fe(":dispatch",t,e),this.adapter.isAdPod()&&"object"==typeof e&&"time"in e&&"preroll"!==e.ad_type&&(e.time=this.adapter.getAdBreakTime());try{const i={event:"ads/"+t,detail:{outstream:e.outstream,ad_type:e.ad_type,ad_break_time:e.time,ad_remaining_seconds:e.remaining,ad_muted:e.muted,ad_duration_seconds:e.duration,ad_error_reason:e.reason,ad_vast_error:e.vast_error,ad_vast_error_type:e.vast_error_type,ad_request_load_type:e.request_load_time}};s.dispatchEvent(new CustomEvent("health:record",{detail:i}))}catch(t){Fe(":error",t)}this.emit(t,e),lt(s,t,e)}}get ad_type(){if(!this.videoTag)return;if(!this.adapter.isAdPod())return this._schedule&&this._schedule.getCurrentType();const t=this.adapter.getAdBreakTime();return-1===t?"postroll":this.videoTag.hasState(nt)||t<1?"preroll":"midroll"}shouldRestartContent(t){var e,s;if(!(null===(e=this.videoTag)||void 0===e?void 0:e.root.classList.contains(wt)))return!1;if(t===_&&!(null===(s=this.videoTag)||void 0===s?void 0:s.hasState(at)))return!1;if(this.getIsContentProcessingNewSrc())return!1;if(this.adapter.isAdPod())return!0;const i=this.getLastAd();return!i||!i.outstream&&!1!==i.restart}async finished(t){if(this._schedule&&(Fe("Ads.finished"),!(this.adapter.isCustomPlaybackEnabled()&&this._state.hasAny(he.PLAYING)&&this.adapter.isLinearAd()))){Fe("Ads.finished: trying to play postroll");try{if(!this._schedule.getPostroll())return Fe("Ads.finished: no postroll found"),await this.adapter.contentComplete();this._state.hasAny(he.AD_AVAILABLE)||await this.fetchNextAd(-1),await this.playAd(),this.adapter.contentComplete()}catch(t){Fe("Ads.finished: postroll failed:",t)}finally{this.trigger(D),this.checkIfBreakComplete(),"function"==typeof t&&t()}}}hasPreroll(){return this._schedule&&Schedule.hasPreroll(this._schedule.getAds())}shallPlayAd(t){var e,s;return!!(null===(e=this.videoTag)||void 0===e?void 0:e.root.classList.contains(wt))&&((!this.adapter||!this.adapter.isAdPod())&&(!(!this._state||this._state.hasAny(he.FATAL_ERROR))&&!!(null===(s=this._schedule)||void 0===s?void 0:s.shallPlayAd(t))))}setLastAd(t){return this._lastAd=t,this}setIsContentProcessingNewSrc(t){this.content_processing_src=t}getLastAd(){return this._lastAd}getIsContentProcessingNewSrc(){return this.content_processing_src}mergeMacros(t={}){return this._macros=this._macros.fork(Object.assign({},t)),this}get paused(){return this.adapter&&this.adapter.isPaused()}pause(){this.adapter&&this.adapter.pause()}resume(){this.adapter&&this.adapter.resume()}resize(t){this.adapter&&this.adapter.onResize(t)}async requestAd(t,e=0,s=this.opts.timeout){if(!this._state)return;Fe("Ads.requestAd(ad: %o)",{ad:t,timeout:s,idx:e});const i=await de(t);if(void 0===i[e])return setTimeout(()=>this.trigger(_),0),Promise.reject(new Error("Ad failed, no fallbacks left"));if(!i[e])return await this.requestAd(i,e+1,s);this.trigger(y,t);const r=this._macros.compile(i[e],ae(this.opts,this.adapter.getDimensions()));try{return void await this.adapter.initAd(r,s)}catch(t){return Fe(`Ads.requestAd(:fallback, idx: ${e}, length: ${i.length}, adTag: ${i[e]})\nError `,{adTag:i,err:t}),this.requestAd(i,e+1,s)}}resetSchedule(t){this._schedule&&this._schedule.reset(t)}get adPlaying(){return this._state&&this._state.hasAny(he.PLAYING)}get adBreak(){return this._state&&this._state.hasAny(he.BREAK_ACTIVE)}get adRequesting(){return this._state.hasAny(he.FETCHING_AD)}get adLinear(){return this.adBreak&&this.adapter.isLinearAd()}}var je=new Blob([new Uint8Array([255,227,24,196,0,0,0,3,72,1,64,0,0,4,132,16,31,227,192,225,76,255,67,12,255,221,27,255,228,97,73,63,255,195,131,69,192,232,223,255,255,207,102,239,255,255,255,101,158,206,70,20,59,255,254,95,70,149,66,4,16,128,0,2,2,32,240,138,255,36,106,183,255,227,24,196,59,11,34,62,80,49,135,40,0,253,29,191,209,200,141,71,7,255,252,152,74,15,130,33,185,6,63,255,252,195,70,203,86,53,15,255,255,247,103,76,121,64,32,47,255,34,227,194,209,138,76,65,77,69,51,46,57,55,170,170,170,170,170,170,170,170,170,170,255,227,24,196,73,13,153,210,100,81,135,56,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170])],{type:"audio/mpeg"}),qe=new Blob([new Uint8Array([0,0,0,28,102,116,121,112,105,115,111,109,0,0,2,0,105,115,111,109,105,115,111,50,109,112,52,49,0,0,0,8,102,114,101,101,0,0,2,239,109,100,97,116,33,16,5,32,164,27,255,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,33,16,5,32,164,27,255,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,167,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,2,194,109,111,111,118,0,0,0,108,109,118,104,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,232,0,0,0,47,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,236,116,114,97,107,0,0,0,92,116,107,104,100,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,101,100,116,115,0,0,0,28,101,108,115,116,0,0,0,0,0,0,0,1,0,0,0,47,0,0,0,0,0,1,0,0,0,0,1,100,109,100,105,97,0,0,0,32,109,100,104,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,68,0,0,8,0,85,196,0,0,0,0,0,45,104,100,108,114,0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0,0,0,1,15,109,105,110,102,0,0,0,16,115,109,104,100,0,0,0,0,0,0,0,0,0,0,0,36,100,105,110,102,0,0,0,28,100,114,101,102,0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1,0,0,0,211,115,116,98,108,0,0,0,103,115,116,115,100,0,0,0,0,0,0,0,1,0,0,0,87,109,112,52,97,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,16,0,0,0,0,172,68,0,0,0,0,0,51,101,115,100,115,0,0,0,0,3,128,128,128,34,0,2,0,4,128,128,128,20,64,21,0,0,0,0,1,244,0,0,1,243,249,5,128,128,128,2,18,16,6,128,128,128,1,2,0,0,0,24,115,116,116,115,0,0,0,0,0,0,0,1,0,0,0,2,0,0,4,0,0,0,0,28,115,116,115,99,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,28,115,116,115,122,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,115,0,0,1,116,0,0,0,20,115,116,99,111,0,0,0,0,0,0,0,1,0,0,0,44,0,0,0,98,117,100,116,97,0,0,0,90,109,101,116,97,0,0,0,0,0,0,0,33,104,100,108,114,0,0,0,0,0,0,0,0,109,100,105,114,97,112,112,108,0,0,0,0,0,0,0,0,0,0,0,0,45,105,108,115,116,0,0,0,37,169,116,111,111,0,0,0,29,100,97,116,97,0,0,0,1,0,0,0,0,76,97,118,102,53,54,46,52,48,46,49,48,49])],{type:"video/mp4"});function He(t){return Object.assign({muted:!1,timeout:250,inline:!1},t)}function Ve(t,e){var s=t.muted,i=t.timeout,r=t.inline,a=e(),n=a.element,o=a.source,d=void 0,l=void 0,c=void 0;return n.muted=s,!0===s&&n.setAttribute("muted","muted"),!0===r&&n.setAttribute("playsinline","playsinline"),n.src=o,new Promise(function(t){d=n.play(),l=setTimeout(function(){c(!1,new Error("Timeout "+i+" ms has been reached"))},i),c=function(e){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;n.remove(),n.srcObject=null,clearTimeout(l),t({result:e,error:s})},void 0!==d?d.then(function(){return c(!0)}).catch(function(t){return c(!1,t)}):c(!0)})}var ze={audio:function(t){return Ve(t=He(t),function(){return{element:document.createElement("audio"),source:URL.createObjectURL(je)}})},video:function(t){return Ve(t=He(t),function(){return{element:document.createElement("video"),source:URL.createObjectURL(qe)}})}};let Ge;async function We(t=!0){return Ge||(Ge=await ze.video({timeout:500,muted:t}),Ge)}var Qe=Object.freeze({__proto__:null,STICKY_CONTROLS:1,NO_FULLSCREEN:2,NO_AD_INDICATOR:4,AD_ATTRIBUTION:8,AD_CHOICES:16,REMAINING_TIME:32,VOLUME_BAR:64});const $e=["progress","duration","remaining"];class AdUI extends HTMLElement{static get observedAttributes(){return $e}constructor(t){super(),this.player=t,this.className="fp-ad-ui",this.append(...t.createComponents(St,Tt)),t.on(Q,t=>{let{ui_flags:e}=t.detail;if(e=e||0,(8&e)>0){const t=document.createElement("div");t.classList.add("ad-attribution"),t.textContent=this.player.i18n("ads.advertisement","Advertisement"),this.append(t)}})}}const Ke=vt("fpads:native:outstream"),Ye={OUTSTREAM:"is-outstream",HIDDEN:"is-outstream-hidden",SHOWING:"is-outstream-visible",DONE:"is-outstream-done"};var Ze,Je;!function(t){t.OUTSTREAM_VISIBLE="ads-outstream-visible",t.OUTSTREAM_VIEWPORT_UPDATE="ads-outstream-viewport-update",t.OUTSTREAM_TEARDOWN="ads-outstream-teardown",t.OUTSTREAM_ENDSCREEN_READY="ads-outstream-endscreen-ready"}(Ze||(Ze={})),function(t){t[t.None=0]="None",t[t.Booting=1]="Booting",t[t.Ready=2]="Ready",t[t.Disposed=3]="Disposed"}(Je||(Je={}));class Outstream{constructor({ads:t,root:e,content:s,ima:i}){this.state=Je.None,Ke("creating Outstream instance"),this.content=s,this.ads=t,this.root=e,this.ima=i,this.aspectRatio=s.videoHeight/s.videoWidth,this.dimensions=function(t){if(t.clientWidth>0||t.clientHeight)return h(t);const e={height:t.style.height};p(t,"opacity",0),p(t,"display","absolute"),p(t,"display","inline-block"),p(t,"height","auto");const s=h(t);return p(t,"height",e.height),p(t,"opacity",1),s}(this.root),this.adUi=new AdUI(s),this.initialVolumeState={},e.classList.add(Ye.OUTSTREAM),e.classList.add(wt),e.append(this.adUi),this.hide(),this.ads.on(b,t=>{var e;if(this.state==Je.Disposed)return;const s=!!(null===(e=t.detail)||void 0===e?void 0:e.linear);this.ads.resize(Object.assign(Object.assign({},this.dimensions),{linear:s}))}),s.on(Y,t=>{if(this.state==Je.Disposed)return;const e=t.detail;e&&(this.dimensions={width:e.contentRect.width,height:e.contentRect.height},this.ads.resize(this.dimensions))});let r=1,a=!0;s.on("intersectionchange",t=>{if(this.state==Je.Disposed)return;const e=t.detail;if(e)switch(this.state){case Je.Booting:return Ke(":boot skipping intersectionchange");case Je.None:return this.state=Je.Booting,this.begin_life_cycle();case Je.Ready:if(r=e.ratio,e.ratio>=.5&&this.ads.adPlaying)return;e.ratio>=.5&&a&&this.ads.resume(),e.ratio<.5&&this.ads.pause()}}),this.content.on(S,()=>a=r<.5),this.setup(),setTimeout(()=>(this.state=Je.Booting,this.begin_life_cycle()),0)}hide(){return this}restore_aspect_ratio(){return Ke(`Outstream.restore_aspect_ratio(${this.aspectRatio})`),this.content.setOpts({ratio:this.aspectRatio}),this}show(){this.root.classList.remove(Outstream.CLASS.HIDDEN),this.root.classList.add(Outstream.CLASS.SHOWING),this.content.setState("ad-linear",!0)}async begin_life_cycle(){var t;this.state=Je.Ready;const{error:e,result:s}=await We(!1),{result:i}=await We(!0);this.content.emit(Q,{ui_flags:null===(t=this.content.opts.ads)||void 0===t?void 0:t.ui}),this.attach_ad_listeners(),this.initialVolumeState={can_autoplay:!(!s&&!i),muted:!s},Ke(`Outstream.show() :autoplay >> sound=${s}`),e&&this.content&&!s&&(this.content.muted=!0,this.content.volume=0),await this.ads.setVideoTag(this.content),await It({ads:this.ads,content:this.content,adContainer:this.adUi,ima:this.ima,state:{listening:!1},config:this.content.opts}),Ft({content:this.content,ads:this.ads}),this.state=Je.Ready}attach_ad_listeners(){this.ads.once(b,()=>{this.show(),this.ads.adPlaying&&this.ads.pause()});const t=()=>{kt.forEach(e=>this.ads.removeListener(e,t));const e=new CustomEvent(Ze.OUTSTREAM_TEARDOWN);Ke("Outstream(:teardown)",e),this.content.dispatchEvent(e)};kt.forEach(e=>this.ads.once(e,t)),this.content.once(Ze.OUTSTREAM_TEARDOWN,t=>{setTimeout(()=>{if(t.defaultPrevented)return this.handle_endscreen();this.dispose()},0)})}handle_endscreen(){this.reset_ui(),this.ads.reset(),Ut({config:this.content.opts,ui:this.adUi,ads:this.ads,adContainer:this.adUi,ima:this.ima,content:this.content,root:this.content.root,state:{started:!0,listening:!1},initial:{muted:!0,volume:1}})}empty_src(){this.content.setSrc({type:"video/mp4",src:URL.createObjectURL(Ot)})}setup(){this.root.classList.add(Outstream.CLASS.OUTSTREAM),this.root.classList.add(Outstream.CLASS.HIDDEN),this.content.setState("ad-linear",!1),this.empty_src()}reset_ui(){const t=this.root;t.classList.remove(Outstream.CLASS.SHOWING),t.classList.remove(Outstream.CLASS.OUTSTREAM)}dispose(){if(this.state==Je.Disposed)return;const t=this.root,e=this.content;this.reset_ui(),t.classList.add(Outstream.CLASS.OUTSTREAM),t.classList.add(Outstream.CLASS.DONE);const s=this;s.video=s.container=s.ads=0,this.state=Je.Disposed,e.destroy(),t.innerHTML=""}}function Xe(t){return t&&"number"==typeof t.time}function ts(t){return t&&"number"==typeof t.percentage&&"number"!=typeof t.time}Outstream.CLASS=Ye;const es=vt("ads/ima/sdk");var ss,is;async function rs(t,e){var s;const i=null===(s=null===window||void 0===window?void 0:window.google)||void 0===s?void 0:s.ima;if(e?null==i?void 0:i.dai:i)return void es(":noop");const r=e?"https://imasdk.googleapis.com/js/sdkloader/ima3_dai.js":t._storage.getItem("ima/debug")?"https://imasdk.googleapis.com/js/sdkloader/ima3_debug.js":"https://imasdk.googleapis.com/js/sdkloader/ima3.js";try{return await async function(t){return new Promise((e,s)=>{let i=document.querySelector(`script[src='${t}']`);if(i)return as(i,e,s);i=document.createElement("script"),i.setAttribute("state",ss.LOADING),as(i,e,s),i.src=t,document.head.appendChild(i)})}(r),void es(":loaded")}catch(t){es(`:error ${t.message}`,t)}}function as(t,e,s){const i=t.getAttribute("state");if(i&&[ss.ERROR,ss.LOADED].includes(i))return e(void 0);t.addEventListener("load",()=>{t.setAttribute("state",ss.LOADED),e(void 0)},{once:!0}),["error","abort"].forEach(e=>{t.addEventListener(e,()=>{t.setAttribute("state",ss.ERROR),s("script failed to load")},{once:!0})})}!function(t){t.LOADING="loading",t.LOADED="loaded",t.ERROR="error"}(ss||(ss={})),function(t){t.LOADING="loading",t.LOADED="loaded",t.ERROR="error"}(is||(is={}));const ns=vt("ads/ima/sdk"),os="https://cdn.jsdelivr.net/npm/prebid.js@latest/dist/not-for-prod/prebid.js",ds=os;async function ls(t){var e;const s=t._storage.getItem("prebid/debug")?os:ds;if(null===(e=null===window||void 0===window?void 0:window.pbjs)||void 0===e?void 0:e.version)ns(":noop");else if(!document.querySelector(`script[src='${s}']`))try{return await async function(t){return new Promise((e,s)=>{let i=document.querySelector(`script[src='${t}']`);i||(i=document.createElement("script")),i.setAttribute("state",is.LOADING);const r=i.getAttribute("state");if(r&&[is.ERROR,is.LOADED].includes(r))return e(void 0);i.addEventListener("load",()=>{i.setAttribute("state",is.LOADED),e(void 0)},{once:!0}),["error","abort"].forEach(t=>{i.addEventListener(t,()=>{i.setAttribute("state",is.ERROR),s("script failed to load")},{once:!0})}),i.src=t,document.head.appendChild(i)})}(s),void ns(":loaded")}catch(t){console.warn(`:error / failed to load prebid.js / ${t.message}`,t)}}const cs=window.pbjs=window.pbjs||{};cs.que=cs.que||[];class PrebidAdController{constructor(t,e){this.player=t,this.config=e,this.player=t,this.bestOffer="",cs.que.push(()=>{var s,i;const r=this.createAdUnit();cs.addAdUnits(r);const a=(null===(i=null===(s=e.ads)||void 0===s?void 0:s.prebid)||void 0===i?void 0:i.pbjs)||{};cs.setConfig(Object.assign({enableSendAllBids:!0},a)),t.emit($,{pbjs:cs}),cs.requestBids({bidsBackHandler:t=>{var s,i,a,n,o;const d=null===(s=t[this.prebidCode()])||void 0===s?void 0:s.bids;if(!d)return;if(0==d.length)return;const l=d[0];if(l&&l.vastUrl)return this.bestOffer=l.vastUrl;const c=cs.adServers.dfp.buildVideoUrl({adUnit:r,params:{iu:null===(a=null===(i=e.ads)||void 0===i?void 0:i.prebid)||void 0===a?void 0:a.iu,cust_params:null===(o=null===(n=e.ads)||void 0===n?void 0:n.prebid)||void 0===o?void 0:o.custom_params,output:"vast"}});this.bestOffer=c}})})}prebidCode(){var t,e;return(null===(e=null===(t=this.config.ads)||void 0===t?void 0:t.prebid)||void 0===e?void 0:e.code)||this.player.root.id}videoInfo(){var t,e;return(null===(e=null===(t=this.config.ads)||void 0===t?void 0:t.prebid)||void 0===e?void 0:e.video)||{context:"instream",playerSize:[[this.player.videoWidth||640,this.player.videoHeight||480]]}}createAdUnit(){var t,e;return{code:this.prebidCode(),mediaTypes:{video:this.videoInfo()},bids:null===(e=null===(t=this.config.ads)||void 0===t?void 0:t.prebid)||void 0===e?void 0:e.bidders}}vastGenerator(){return async()=>this.bestOffer}}function us(t,e){var s,i;const r=null===(s=e.ads)||void 0===s?void 0:s.prebid;if(!r)return;if((null===(i=t.prebidController)||void 0===i?void 0:i.config)===e)return;!function(t,{feature_name:e,behavior:s,sample_rate:i}){e&&(i||(i=mt),t.emit("flowplayer:feature",{feature_name:e,behavior:s,sample_rate:i}))}(t,{feature_name:"prebid",behavior:"used"}),t.prebidController||(t.prebidController=new PrebidAdController(t,e),ls(t));const a=t.prebidController;if(a){const e=r.breaks.map(t=>({adTag:a.vastGenerator(),time:t}));t.setOpts({ima:{ads:e}})}}const hs=vt("ads/index");async function ps(t,e,s){var i;let r;if(s.on("config",()=>{var e,i,a;void 0===r&&t.autoplay&&(Wt(a=t.ima)&&(null==a?void 0:a.ads.find(t=>!t.time||"percentage"in t&&0===t.percentage)))&&!s.currentSrc&&(i=t.autoplay,r=!0===i?ct.ON:!1===i?ct.OFF:i,t.autoplay=0),(null===(e=t.ads)||void 0===e?void 0:e.prebid)&&us(s,t),Wt(t.ima)&&Gt(s)&&Object.assign(t,{hls:{native:!0}}),s.ads&&d()}),s.once("loadstart",()=>{setTimeout(async()=>{if(void 0!==r&&(await rs(s),!("google"in window))){if(t.autoplay=r,s.setState(ot,!0),!s.hasState(dt))return s.once(st,()=>s.togglePlay(!0));s.togglePlay(!0)}},0)}),await rs(s),!("google"in window))return console.warn("google.ima unavailable");let a=!1;const n=s.ads=new AdsController,o=n.analytics;function d(){if(!Wt(t.ima))return;const i=t.ima,d=t.duration||s.duration;if(i.ads=function(t,e){return Array.isArray(t)?t.filter(t=>Xe(t)||ts(t)).reduce((t,s)=>{if(Xe(s))return t.push(s),t;if(s.lazy)return t.push(s),t;if(ts(s)){const i=Object.assign({},s),r=s.percentage?s.percentage*e:0;return isNaN(r)||(i.time=r<0||r===e?-1:r),t.push(i),t}return t},[]):(console.warn("AdSchedule was not an Array"),[])}(i.ads,d),n.setSchedule(i.ads,d),t.metadata&&Analytics.mergeMetadata(o,t.metadata),t.metadata&&n.mergeMacros(t.metadata),t.metadata&&i.parameters&&(i.parameters=Object.assign(Object.assign({},i.parameters),t.metadata)),Analytics.mergeMetadata(o,{muted:t.muted||!1,autoplay:t.autoplay||!1}),!a){if(a=!0,t.lang&&!i.Locale&&(i.Locale=t.lang),Schedule.isOutstream(i.ads))return hs("is outstream, returning"),new Outstream({root:e,content:s,ads:n,ima:i});Dt({config:Object.assign(Object.assign({},t),{autoplay:r}),root:e,content:s,ads:n,ima:i})}}n.resize(h(e)),n.on(D,()=>{n.adapter.isCustomPlaybackEnabled()&&n.once(k,()=>{s.src=s.original_src,s.once("canplay",()=>{s.togglePlay(!1)}),s.webkitExitFullscreen()})}),s.on("reap",function(){n&&n.destroy()}),(null===(i=t.ads)||void 0===i?void 0:i.prebid)&&us(s,t),d()}class AdControls extends HTMLElement{constructor(t){super(),this.player=t,this.classList.add("fp-ad-controls"),this.append(this.adRemainingTime(),yt(this.player,Lt),this.playbackButtons(),this.volumeBtn(),yt(this.player,"flowplayer-volume-bar"),...this.fullscreenIcons(),this.adChoices()),t.on(Q,this.applyStyleFlags.bind(this))}fullscreenIcons(){return this.player.createComponents("flowplayer-fullscreen-enter-icon","flowplayer-fullscreen-exit-icon").map(t=>(t.onclick=()=>this.player.toggleFullScreen(),t))}volumeBtn(){const t=yt(this.player,"flowplayer-volume-icon");return t.onclick=()=>this.player.emit(z),t}playbackButtons(){const t=document.createElement("div");t.classList.add("ad-playback-controls");const e=yt(this.player,"flowplayer-small-play-icon"),s=yt(this.player,"flowplayer-small-pause-icon");return e.addEventListener("click",()=>{this.player.emit(V),setTimeout(function(){s.focus&&s.focus()},100)}),s.addEventListener("click",()=>{this.player.emit(H),setTimeout(function(){e.focus&&e.focus()},100)}),t.append(e,s),t}adChoices(){const t=document.createElement("div");return t.classList.add("fp-ad-choices"),t.textContent=this.player.i18n("ads.adchoices","AdChoices"),t.addEventListener("click",t=>{t.preventDefault(),this.player.togglePlay(!1),window.open("https://adssettings.google.com","_blank")}),t}adRemainingTime(){const t=document.createElement("div");return t.classList.add("fp-ad-remaining","fp-color-text"),this.prepend(t),this.player.on(L,e=>{const s=e.detail.remaining;t.textContent=function(t){if(isNaN(t)||t>=Number.MAX_SAFE_INTEGER)return"";const e=t<0?"-":"";t=Math.round(Math.abs(t));const s=Math.floor(t/3600);let i=Math.floor(t/60);return t-=60*i,s>=1?(i-=60*s,e+s+":"+ut(i)+":"+ut(t)):e+ut(i)+":"+ut(t)}(parseFloat(s+""))}),t}applyStyleFlags(t){var e;const s=null!==(e=t.detail.ui_flags)&&void 0!==e?e:0;this.classList.toggle("is-ad-controls-sticky",(1&s)>0),this.classList.toggle("no-indicator",(4&s)>0),this.classList.toggle("is-ad-choices",(16&s)>0),this.classList.toggle("no-volume-bar",!(64&s)),this.classList.toggle("is-ad-remaining",(32&s)>0),this.classList.toggle("no-fullscreen",(2&s)>0)}}class AdCountdown extends HTMLElement{static get observedAttributes(){return["remaining"]}constructor(t){super(),this.player=t,this.className="fp-ad-countdown",t.on(L,t=>{const{duration:e,remaining:s}=t.detail;this.setAttribute("duration",e+""),this.setAttribute("remaining",s+"")}),t.on(w,t=>{t.detail.linear&&(this.style.setProperty("--ad-percent-previous","0"),this.style.setProperty("--ad-percent-complete","0"))}),this.addEventListener("animationend",()=>{const t=this.style.getPropertyValue("--ad-percent-complete")||"0";this.style.setProperty("--ad-percent-previous",t)})}attributeChangedCallback(t,e,s){if("remaining"===t)return this.onRemaining(s)}onRemaining(t){const e=parseFloat(this.getAttribute("duration")||"0");t||(t=e+"");const s=parseFloat(t),i=this.style.getPropertyValue("--ad-percent-complete")||"0";this.style.setProperty("--ad-percent-previous",i),this.classList.remove("go");const r=((e-s)/e*100).toFixed(3);requestAnimationFrame(()=>{this.style.setProperty("--ad-percent-complete",r),this.classList.add("go")})}}class AdIndicator extends HTMLElement{static get observedAttributes(){return["position","totals"]}constructor(t){super(),this.player=t,this.render(),t.on(w,t=>{const{position:e,totals:s}=t.detail.ad;this.setAttribute("position",e+""),this.setAttribute("totals",s+"")})}attributeChangedCallback(t,e){switch(t){case"position":case"totals":return this.updateText()}}updateText(){if(!this.element)return;const t=parseFloat(this.getAttribute("position")||"0"),e=parseFloat(this.getAttribute("totals")||"0");this.element.textContent=`${this.player.i18n("ads.indicator","ADS")} ${t} / ${e}`}render(){this.element=document.createElement("div"),this.element.classList.add("ad-indicator","fp-color-text"),this.element.textContent=this.player.i18n("ads.indicator","ADS"),this.append(this.element)}}var gs,ms=Object.freeze({__proto__:null,SINGlE_INLINE_LINEAR:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dlinear&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=",SINGLE_SKIPPABLE_INLINE:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_preroll_skippable&sz=640x480&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=",SINGLE_REDIRECT_LINEAR:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dredirectlinear&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=",SINGLE_REDIRECT_ERROR:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dredirecterror&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=",SINGLE_REDIRECT_BROKEN:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dredirecterror&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&nofb=1&correlator=",SINGLE_VPAID_20_LINEAR:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dlinearvpaid2js&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=",SINGLE_VPAID_20_NON_LINEAR:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dnonlinearvpaid2js&ciu_szs=728x90%2C300x250&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=",SINGLE_NON_LINEAR_INLINE:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/nonlinear_ad_samples&sz=480x70&cust_params=sample_ct%3Dnonlinear&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=",VMAP_SESSION_AD_RULE_PREROLL:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/vmap_ad_samples&sz=640x480&cust_params=sar%3Da0f2&ciu_szs=300x250&ad_rule=1&gdfp_req=1&output=vmap&unviewed_position_start=1&env=vp&impl=s&correlator=",VMAP_PREROLL:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/vmap_ad_samples&sz=640x480&cust_params=sample_ar%3Dpreonly&ciu_szs=300x250%2C728x90&gdfp_req=1&ad_rule=1&output=vmap&unviewed_position_start=1&env=vp&impl=s&correlator=",VMAP_PREROLL_BUMPER:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/vmap_ad_samples&sz=640x480&cust_params=sample_ar%3Dpreonlybumper&ciu_szs=300x250&gdfp_req=1&ad_rule=1&output=vmap&unviewed_position_start=1&env=vp&impl=s&correlator=",VMAP_POSTROLL:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/vmap_ad_samples&sz=640x480&cust_params=sample_ar%3Dpostonly&ciu_szs=300x250&gdfp_req=1&ad_rule=1&output=vmap&unviewed_position_start=1&env=vp&impl=s&correlator=",VMAP_POSTROLL_BUMPER:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/vmap_ad_samples&sz=640x480&cust_params=sample_ar%3Dpostonlybumper&ciu_szs=300x250&gdfp_req=1&ad_rule=1&output=vmap&unviewed_position_start=1&env=vp&impl=s&correlator="});const{samsung_tv:_s}=u(),fs=(gs=class Ads{constructor(t){this.umd=t,At(t,Et,AdUI),At(t,St,AdControls),At(t,Tt,AdCountdown),At(t,Lt,AdIndicator)}init(t,e,s){if(c.from_token(t.token||"").is_granted(c.permissions.ADS)&&!_s)return ps(t,e,s)}},gs.pluginName="ads",gs.events=K,gs.ui=Qe,gs.tags=ms,gs);return function(t,e){if("object"==typeof exports&&"undefined"!=typeof module)return e;if(null===document.currentScript)return e;"flowplayer"in t||(t.flowplayer={extensions:[]});const s=t.flowplayer;return"function"==typeof s?(s(e),e):(Array.isArray(s.extensions)||(s.extensions=[]),~s.extensions.indexOf(e)||s.extensions.push(e),e)}(window,fs)});
|
|
7
|
+
*/const Se=class Bowser{static getParser(t,e=!1){if("string"!=typeof t)throw new Error("UserAgent should be a string");return new Parser(t,e)}static parse(t){return new Parser(t).getResult()}static get BROWSER_MAP(){return me}static get ENGINE_MAP(){return ve}static get OS_MAP(){return fe}static get PLATFORMS_MAP(){return _e}}.parse(window.navigator.userAgent),{platform:Te,os:Le,browser:Oe}=Se,Re=t=>t&&t.toLowerCase();var Me={rnd:Math.random().toString(36).substr(2,32),os:Re(Le.name+(Le.versionName?` ${Le.versionName}`:"")),device:Re(Te.type),browser:Re(Oe.name),browser_version:(Oe&&Oe.version?Oe.version:"unknown").split(".").shift(),plugin_version:"3.41.0-rc"};const Pe="https://fp-eu-w1-aai.flowplayer.com/in",ke="POST",De=[y,v,A,E,w,q,O],Ie=["event_type","ad_tag_id","media_id","player_id","site_id","sitegroup_id","rnd","os","device","browser","browser_version","plugin_version","player_version"],Ce=["vast_error","reason","request_load_time","ad_type","vast_ad_id"],Ne=vt("ads/analytics"),Ue=RequestQueue.of(),xe=(...t)=>Object.assign({},...t);class Analytics{static of(t,e){return new Analytics(t,e)}static ensure_required_keys(t,e){return t.required_keys.filter(t=>!(t in e))}static pluck_valid_keys(t,e){return((t,...e)=>Object.keys(t).filter(t=>~e.indexOf(t)).reduce((e,s)=>Object.assign(e,{[s]:t[s]}),{}))(e,...t.valid_keys)}static mergeMetadata(t,e={}){return t.metadata=Analytics.pluck_valid_keys(t,xe(t.metadata,e,{player_version:"3.41.0-rc"})),t}constructor(t,e={}){this.emitter=t,this.metadata=xe(Me,e.metadata||{}),this.emitter=t,this.events=e.events||[],this.required_keys=e.required_keys||[],this.optional_keys=e.optional_keys||[],this.valid_keys=this.required_keys.slice(0).concat(this.optional_keys),Ne(this),this.wireup()}wireup(){this.events.forEach(t=>{this.emitter.on(t,e=>{const s=e.detail,i=xe(this.metadata,{event_type:t},s),r=Analytics.pluck_valid_keys(this,i),a=Analytics.ensure_required_keys(this,r);if(Ne(`Event[${t}]`,{payload:r,observation:s}),a.length)return Ne(`Analytics.validate_metadata() failed for\n Event[${t}]\n missing keys: ${a}`,r);RequestQueue.rpush(Ue,[Pe,ke,r])})})}destroy(){const t=this;t.emitter=t.metadata=t.events=t.required_keys=t.optional_keys=t.valid_keys=void 0}}class EventBus{constructor(t=document.createElement("div"),e=[]){this._bus=t,this._listeners=e}removeAllListeners(){this._listeners.length=0,this._bus=document.createElement("div")}emit(t,e){const s=new CustomEvent(t,{detail:e||{}});this._bus.dispatchEvent(s)}on(t,e){this._listeners.push([t,e]),this._bus.addEventListener(t,e,{passive:!0})}once(t,e){this._bus.addEventListener(t,e,{once:!0})}removeListener(t,e){this._bus.removeEventListener(t,e)}}const Fe=vt("ads/controller"),Be={show_all_ads_on_seek:!1,timeout:5e3,preload_advance:5};class AdsController extends EventBus{constructor(t={}){var e;super(),this.adapter=function(t,e){return t.adapter?new t.adapter(e):new IMA(e)}(t,this),this.opts=Object.assign(Object.assign({},Be),t),this.analytics=(e=this,Analytics.of(e,{required_keys:Ie,optional_keys:Ce,events:De})),this._state=AdsState.of(),this._schedule=void 0,this._lastAd=void 0,this._macros=new Macros(t.parameters||{}),this.wireup(),this.content_processing_src=!1}reset(){return this.removeAllListeners(),this.wireup(),this.analytics&&this.analytics.wireup(),this._state.reset(),this.adapter.reset(),this}destroy(){this.removeAllListeners(),this.analytics&&this.analytics.destroy(),this.adapter&&this.adapter.destroy();const t=this;t.analytics=void 0,t.opts=void 0,t.adapter=void 0,t._state=void 0,t._schedule=void 0,t._lastAd=void 0,t._macros=void 0}stop(){this.adapter&&this.adapter.stop()}onContentNewSrc(){var t;this._state.reset(),this.adapter.destroyManager(),this.adapter.contentComplete(),null===(t=this.videoTag)||void 0===t||t.root.classList.remove(bt)}wireup(){const t=()=>{var t,e;this.adapter.onAdRequestEnd(),null===(t=this.videoTag)||void 0===t||t.setState("ad-paused",!1),null===(e=this.videoTag)||void 0===e||e.setState("ad-playing",!0),this._state.toggleState(he.PLAYING,!0)};this.on(B,t),this.on(w,t),this.on(T,t);const e=t=>{var e,s;(null==t?void 0:t.type)!==v&&this.adapter.onAdRequestEnd(),null===(e=this.videoTag)||void 0===e||e.setState("ad-paused",(null==t?void 0:t.type)===S),null===(s=this.videoTag)||void 0===s||s.setState("ad-playing",!1),this.adPlaying&&this._state.toggleState(he.PLAYING,!1)};this.on(k,e),this.on(_,e),this.on(m,e),this.on(v,e),this.on(S,e),this.on(O,e),this.on(E,e),this.on(k,()=>{this._state.toggleState(he.BREAK_ACTIVE,!1)}),this.on(F,()=>{console.error("Adapter init failed"),e(),this._state.toggleState(he.FATAL_ERROR,!0)}),this.on(j,async t=>{if(Fe("Ads.on(RELOAD_AD_REQUESTED)",t),this._schedule){if(e(),t)return this._schedule.reset(this._schedule.getAds());this._state.hasAny(he.AD_AVAILABLE)&&(this._schedule.decrement(),this._state.toggleState(he.AD_AVAILABLE,!1))}})}async initialize(t,e={},s){return Fe("Ads.initialize():",t,e,s),this._state.toggleState(he.INITIALIZING,!0),Object.assign(this.opts,e),Array.isArray(t)&&this.setSchedule(t),await this.adapter.init(this.opts),this._macros=this._macros.fork(Object.assign({},e.parameters||{},{autoplay:e.autoplay,muted:e.muted})),this.adapter.isReady()&&await this.adapterInitialized(s),this}get videoTag(){return this.adapter.getVideoTag()}get adInfo(){return this.adapter.getAdInfo()}async setVideoTag(t){Fe("Ads.setVideoTag():",t),await this.adapter.setVideoTag(t),this.trigger(f,t),this.adapter.isReady()&&await this.adapterInitialized(),t.on(H,()=>this.adapter.pause()),t.on(V,()=>this.adapter.resume()),t.on(z,()=>t.toggleMute()),t.on(Z,()=>{this.adapter.volume(t.muted?0:0==t.volume?.1:t.volume)}),t.on("src",()=>{if(t.currentSrc){if(!t.hasState("ad-playing")&&!t.hasState("ad-paused"))return this.onContentNewSrc();if(this.stop(),!this.adapter.isLinearAd())return this.onContentNewSrc();this.setIsContentProcessingNewSrc(!0),this.once(k,()=>{setTimeout(()=>{this.setIsContentProcessingNewSrc(!1),this.onContentNewSrc()},0)})}})}waitForVideoTag(){return new Promise(t=>{const e=this.adapter.getVideoTag();if(e)return t(e);this.on(f,e=>{this.once(g,()=>t(e))})})}async adapterInitialized(t){Fe("Ads.adapterInitialized()"),this._state.toggleState(he.INITIALIZING,!1),this._state.toggleState(he.BREAK_ACTIVE,!!this.hasPreroll()),await this.setCurrentTime(0,t),t||(this.checkIfBreakComplete(),this.adapter.isAdPod()||this.trigger(_))}async fetchNextAd(t,e=0){var s,i;if(!this._schedule||this.getIsContentProcessingNewSrc())return;if(!this.adapter.isReady())return;if(e>50)throw this._state.toggleState(he.FATAL_ERROR,!0),this._state.toggleState(he.FETCHING_AD,!1),new Error("Ads.fetchNextAd() :max_recursion_depth");const r=(null===(s=this._schedule)||void 0===s?void 0:s.getNextAd())||(null===(i=this._schedule)||void 0===i?void 0:i.getPostroll());if(!r||this.adapter.canDismissNonLinear()||-1===t)if(this._schedule.waitForLoad(t,r,this.opts.preload_ads))this._state.toggleState(he.FETCHING_AD,!1);else if(r!==this._schedule.getPostroll()||(this._schedule.setPostrollActive(),-1===t))if(this._schedule.isDrained()||this._schedule.increment(),r){Fe("Ads.fetchNextAd",r),this._state.toggleState(he.FETCHING_AD,!0);try{return await this.requestAd(r),this._state.toggleState(he.AD_AVAILABLE,!0),void this._state.toggleState(he.FETCHING_AD,!1)}catch(s){return Fe("Ads.fetchNextAd(err: %o, ad: %o)",s,r),this.setLastAd(r),r!==this._schedule.getPostroll()?await this.fetchNextAd(t,++e):void this._state.toggleState(he.FETCHING_AD,!1)}}else this._state.toggleState(he.FETCHING_AD,!1);else this._state.toggleState(he.FETCHING_AD,!1)}skipAdsOnSeek(t){if(!this._schedule)return;let e=this._schedule.getNextAd();for(;e&&e.time<t;)this._schedule.increment(),e=this._schedule.getNextAd()}async setCurrentTime(t,e=!1,s=!1){if(!this._schedule)return;if(!this.adapter.isReady())return;if(this._state.hasAny(he.FETCHING_AD))return;if(this._state.hasAny(he.BREAK_ACTIVE)&&this.adapter.isLinearAd())return;if(this._state.hasAny(he.PLAYING)&&this.adapter.isLinearAd())return;const i=0===t&&0===this._schedule.getNextIndex();try{if(s&&!this.opts.show_all_ads_on_seek&&this.skipAdsOnSeek(t),this._state.hasAny(he.AD_AVAILABLE)||await this.fetchNextAd(t),!this._state.hasAny(he.AD_AVAILABLE)||!this.shallPlayAd(t))return;await this.playAd(),await this.setCurrentTime(t),this.checkIfBreakComplete()}catch(t){Fe("setCurrentTime: Error(from: setCurrentTime, message: %s)",t.message)}finally{i&&this.trigger(I)}}async playAd(){var t;if(!this._state.hasAny(he.AD_AVAILABLE))return;this._state.toggleState(he.AD_AVAILABLE,!1),this._state.toggleState(he.BREAK_ACTIVE,!0);const e=null===(t=this._schedule)||void 0===t?void 0:t.getCurrentAd();try{await this.adapter.playAd()}catch(t){console.error("Ads.playAd: error",t)}finally{e&&this.setLastAd(e)}}checkIfBreakComplete(){if(!this._state.hasAny(he.BREAK_ACTIVE))return Fe("Ads.checkIfBreakComplete(:bail, ad: %o)",this.getLastAd());Fe("Ads.checkIfBreakComplete(:run, ad: %o)",this.getLastAd()),this._state.toggleState(he.BREAK_ACTIVE,!1),this.adapter.isAdPod()||this.trigger(k)}resetScheduleCounter(){this._schedule&&this._schedule.resetCounter()}setSchedule(t,e){if(e&&!isNaN(e)&&this._schedule&&this._schedule.updateContentDuration(e),this._schedule&&this._schedule.getNextIndex()>0)return this._schedule.setAds(t);this._schedule=new Schedule(t,{preload_advance:this.opts.preload_advance,content_duration:e?0:e})}toJSON(){return this._schedule?this._schedule.toJSON():[]}trigger(t,e={}){var s;if(!this.adapter.getVideoTag())return;if(!this._state)return;if(t===k&&this._state.hasAny(he.BREAK_ACTIVE)&&!this.adapter.isAdPod()&&!e.force)return Fe("skipping AD_BREAK_COMPLETE reason: %s pod=%s",this._state.toString(),this.adapter.isAdPod());if(null===(i=e)||"object"!=typeof i||ce(i)!==le)return this.dispatch(t,e);var i;const r=Object.assign({},this.adapter.getOpts()||{},(null===(s=this._schedule)||void 0===s?void 0:s.getCurrentAd())||{},{ad_type:this.ad_type},e);return this.dispatch(t,r)}dispatch(t,e){const s=this.adapter.getVideoTag();if(s){Fe(":dispatch",t,e),this.adapter.isAdPod()&&"object"==typeof e&&"time"in e&&"preroll"!==e.ad_type&&(e.time=this.adapter.getAdBreakTime());try{const i={event:"ads/"+t,detail:{outstream:e.outstream,ad_type:e.ad_type,ad_break_time:e.time,ad_remaining_seconds:e.remaining,ad_muted:e.muted,ad_duration_seconds:e.duration,ad_error_reason:e.reason,ad_vast_error:e.vast_error,ad_vast_error_type:e.vast_error_type,ad_request_load_type:e.request_load_time}};s.dispatchEvent(new CustomEvent("health:record",{detail:i}))}catch(t){Fe(":error",t)}this.emit(t,e),lt(s,t,e)}}get ad_type(){if(!this.videoTag)return;if(!this.adapter.isAdPod())return this._schedule&&this._schedule.getCurrentType();const t=this.adapter.getAdBreakTime();return-1===t?"postroll":this.videoTag.hasState(nt)||t<1?"preroll":"midroll"}shouldRestartContent(t){var e,s;if(!(null===(e=this.videoTag)||void 0===e?void 0:e.root.classList.contains(wt)))return!1;if(t===_&&!(null===(s=this.videoTag)||void 0===s?void 0:s.hasState(at)))return!1;if(this.getIsContentProcessingNewSrc())return!1;if(this.adapter.isAdPod())return!0;const i=this.getLastAd();return!i||!i.outstream&&!1!==i.restart}async finished(t){if(this._schedule&&(Fe("Ads.finished"),!(this.adapter.isCustomPlaybackEnabled()&&this._state.hasAny(he.PLAYING)&&this.adapter.isLinearAd()))){Fe("Ads.finished: trying to play postroll");try{if(!this._schedule.getPostroll())return Fe("Ads.finished: no postroll found"),await this.adapter.contentComplete();this._state.hasAny(he.AD_AVAILABLE)||await this.fetchNextAd(-1),await this.playAd(),this.adapter.contentComplete()}catch(t){Fe("Ads.finished: postroll failed:",t)}finally{this.trigger(D),this.checkIfBreakComplete(),"function"==typeof t&&t()}}}hasPreroll(){return this._schedule&&Schedule.hasPreroll(this._schedule.getAds())}shallPlayAd(t){var e,s;return!!(null===(e=this.videoTag)||void 0===e?void 0:e.root.classList.contains(wt))&&((!this.adapter||!this.adapter.isAdPod())&&(!(!this._state||this._state.hasAny(he.FATAL_ERROR))&&!!(null===(s=this._schedule)||void 0===s?void 0:s.shallPlayAd(t))))}setLastAd(t){return this._lastAd=t,this}setIsContentProcessingNewSrc(t){this.content_processing_src=t}getLastAd(){return this._lastAd}getIsContentProcessingNewSrc(){return this.content_processing_src}mergeMacros(t={}){return this._macros=this._macros.fork(Object.assign({},t)),this}get paused(){return this.adapter&&this.adapter.isPaused()}pause(){this.adapter&&this.adapter.pause()}resume(){this.adapter&&this.adapter.resume()}resize(t){this.adapter&&this.adapter.onResize(t)}async requestAd(t,e=0,s=this.opts.timeout){if(!this._state)return;Fe("Ads.requestAd(ad: %o)",{ad:t,timeout:s,idx:e});const i=await de(t);if(void 0===i[e])return setTimeout(()=>this.trigger(_),0),Promise.reject(new Error("Ad failed, no fallbacks left"));if(!i[e])return await this.requestAd(i,e+1,s);this.trigger(y,t);const r=this._macros.compile(i[e],ae(this.opts,this.adapter.getDimensions()));try{return void await this.adapter.initAd(r,s)}catch(t){return Fe(`Ads.requestAd(:fallback, idx: ${e}, length: ${i.length}, adTag: ${i[e]})\nError `,{adTag:i,err:t}),this.requestAd(i,e+1,s)}}resetSchedule(t){this._schedule&&this._schedule.reset(t)}get adPlaying(){return this._state&&this._state.hasAny(he.PLAYING)}get adBreak(){return this._state&&this._state.hasAny(he.BREAK_ACTIVE)}get adRequesting(){return this._state.hasAny(he.FETCHING_AD)}get adLinear(){return this.adBreak&&this.adapter.isLinearAd()}}var je=new Blob([new Uint8Array([255,227,24,196,0,0,0,3,72,1,64,0,0,4,132,16,31,227,192,225,76,255,67,12,255,221,27,255,228,97,73,63,255,195,131,69,192,232,223,255,255,207,102,239,255,255,255,101,158,206,70,20,59,255,254,95,70,149,66,4,16,128,0,2,2,32,240,138,255,36,106,183,255,227,24,196,59,11,34,62,80,49,135,40,0,253,29,191,209,200,141,71,7,255,252,152,74,15,130,33,185,6,63,255,252,195,70,203,86,53,15,255,255,247,103,76,121,64,32,47,255,34,227,194,209,138,76,65,77,69,51,46,57,55,170,170,170,170,170,170,170,170,170,170,255,227,24,196,73,13,153,210,100,81,135,56,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170])],{type:"audio/mpeg"}),qe=new Blob([new Uint8Array([0,0,0,28,102,116,121,112,105,115,111,109,0,0,2,0,105,115,111,109,105,115,111,50,109,112,52,49,0,0,0,8,102,114,101,101,0,0,2,239,109,100,97,116,33,16,5,32,164,27,255,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,33,16,5,32,164,27,255,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,167,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,2,194,109,111,111,118,0,0,0,108,109,118,104,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,232,0,0,0,47,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,236,116,114,97,107,0,0,0,92,116,107,104,100,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,101,100,116,115,0,0,0,28,101,108,115,116,0,0,0,0,0,0,0,1,0,0,0,47,0,0,0,0,0,1,0,0,0,0,1,100,109,100,105,97,0,0,0,32,109,100,104,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,68,0,0,8,0,85,196,0,0,0,0,0,45,104,100,108,114,0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0,0,0,1,15,109,105,110,102,0,0,0,16,115,109,104,100,0,0,0,0,0,0,0,0,0,0,0,36,100,105,110,102,0,0,0,28,100,114,101,102,0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1,0,0,0,211,115,116,98,108,0,0,0,103,115,116,115,100,0,0,0,0,0,0,0,1,0,0,0,87,109,112,52,97,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,16,0,0,0,0,172,68,0,0,0,0,0,51,101,115,100,115,0,0,0,0,3,128,128,128,34,0,2,0,4,128,128,128,20,64,21,0,0,0,0,1,244,0,0,1,243,249,5,128,128,128,2,18,16,6,128,128,128,1,2,0,0,0,24,115,116,116,115,0,0,0,0,0,0,0,1,0,0,0,2,0,0,4,0,0,0,0,28,115,116,115,99,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,28,115,116,115,122,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,115,0,0,1,116,0,0,0,20,115,116,99,111,0,0,0,0,0,0,0,1,0,0,0,44,0,0,0,98,117,100,116,97,0,0,0,90,109,101,116,97,0,0,0,0,0,0,0,33,104,100,108,114,0,0,0,0,0,0,0,0,109,100,105,114,97,112,112,108,0,0,0,0,0,0,0,0,0,0,0,0,45,105,108,115,116,0,0,0,37,169,116,111,111,0,0,0,29,100,97,116,97,0,0,0,1,0,0,0,0,76,97,118,102,53,54,46,52,48,46,49,48,49])],{type:"video/mp4"});function He(t){return Object.assign({muted:!1,timeout:250,inline:!1},t)}function Ve(t,e){var s=t.muted,i=t.timeout,r=t.inline,a=e(),n=a.element,o=a.source,d=void 0,l=void 0,c=void 0;return n.muted=s,!0===s&&n.setAttribute("muted","muted"),!0===r&&n.setAttribute("playsinline","playsinline"),n.src=o,new Promise(function(t){d=n.play(),l=setTimeout(function(){c(!1,new Error("Timeout "+i+" ms has been reached"))},i),c=function(e){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;n.remove(),n.srcObject=null,clearTimeout(l),t({result:e,error:s})},void 0!==d?d.then(function(){return c(!0)}).catch(function(t){return c(!1,t)}):c(!0)})}var ze={audio:function(t){return Ve(t=He(t),function(){return{element:document.createElement("audio"),source:URL.createObjectURL(je)}})},video:function(t){return Ve(t=He(t),function(){return{element:document.createElement("video"),source:URL.createObjectURL(qe)}})}};let Ge;async function We(t=!0){return Ge||(Ge=await ze.video({timeout:500,muted:t}),Ge)}var Qe=Object.freeze({__proto__:null,STICKY_CONTROLS:1,NO_FULLSCREEN:2,NO_AD_INDICATOR:4,AD_ATTRIBUTION:8,AD_CHOICES:16,REMAINING_TIME:32,VOLUME_BAR:64});const $e=["progress","duration","remaining"];class AdUI extends HTMLElement{static get observedAttributes(){return $e}constructor(t){super(),this.player=t,this.className="fp-ad-ui",this.append(...t.createComponents(St,Tt)),t.on(Q,t=>{let{ui_flags:e}=t.detail;if(e=e||0,(8&e)>0){const t=document.createElement("div");t.classList.add("ad-attribution"),t.textContent=this.player.i18n("ads.advertisement","Advertisement"),this.append(t)}})}}const Ke=vt("fpads:native:outstream"),Ye={OUTSTREAM:"is-outstream",HIDDEN:"is-outstream-hidden",SHOWING:"is-outstream-visible",DONE:"is-outstream-done"};var Ze,Je;!function(t){t.OUTSTREAM_VISIBLE="ads-outstream-visible",t.OUTSTREAM_VIEWPORT_UPDATE="ads-outstream-viewport-update",t.OUTSTREAM_TEARDOWN="ads-outstream-teardown",t.OUTSTREAM_ENDSCREEN_READY="ads-outstream-endscreen-ready"}(Ze||(Ze={})),function(t){t[t.None=0]="None",t[t.Booting=1]="Booting",t[t.Ready=2]="Ready",t[t.Disposed=3]="Disposed"}(Je||(Je={}));class Outstream{constructor({ads:t,root:e,content:s,ima:i}){this.state=Je.None,Ke("creating Outstream instance"),this.content=s,this.ads=t,this.root=e,this.ima=i,this.aspectRatio=s.videoHeight/s.videoWidth,this.dimensions=function(t){if(t.clientWidth>0||t.clientHeight)return h(t);const e={height:t.style.height};p(t,"opacity",0),p(t,"display","absolute"),p(t,"display","inline-block"),p(t,"height","auto");const s=h(t);return p(t,"height",e.height),p(t,"opacity",1),s}(this.root),this.adUi=new AdUI(s),this.initialVolumeState={},e.classList.add(Ye.OUTSTREAM),e.classList.add(wt),e.append(this.adUi),this.hide(),this.ads.on(b,t=>{var e;if(this.state==Je.Disposed)return;const s=!!(null===(e=t.detail)||void 0===e?void 0:e.linear);this.ads.resize(Object.assign(Object.assign({},this.dimensions),{linear:s}))}),s.on(Y,t=>{if(this.state==Je.Disposed)return;const e=t.detail;e&&(this.dimensions={width:e.contentRect.width,height:e.contentRect.height},this.ads.resize(this.dimensions))});let r=1,a=!0;s.on("intersectionchange",t=>{if(this.state==Je.Disposed)return;const e=t.detail;if(e)switch(this.state){case Je.Booting:return Ke(":boot skipping intersectionchange");case Je.None:return this.state=Je.Booting,this.begin_life_cycle();case Je.Ready:if(r=e.ratio,e.ratio>=.5&&this.ads.adPlaying)return;e.ratio>=.5&&a&&this.ads.resume(),e.ratio<.5&&this.ads.pause()}}),this.content.on(S,()=>a=r<.5),this.setup(),setTimeout(()=>(this.state=Je.Booting,this.begin_life_cycle()),0)}hide(){return this}restore_aspect_ratio(){return Ke(`Outstream.restore_aspect_ratio(${this.aspectRatio})`),this.content.setOpts({ratio:this.aspectRatio}),this}show(){this.root.classList.remove(Outstream.CLASS.HIDDEN),this.root.classList.add(Outstream.CLASS.SHOWING),this.content.setState("ad-linear",!0)}async begin_life_cycle(){var t;this.state=Je.Ready;const{error:e,result:s}=await We(!1),{result:i}=await We(!0);this.content.emit(Q,{ui_flags:null===(t=this.content.opts.ads)||void 0===t?void 0:t.ui}),this.attach_ad_listeners(),this.initialVolumeState={can_autoplay:!(!s&&!i),muted:!s},Ke(`Outstream.show() :autoplay >> sound=${s}`),e&&this.content&&!s&&(this.content.muted=!0,this.content.volume=0),await this.ads.setVideoTag(this.content),await It({ads:this.ads,content:this.content,adContainer:this.adUi,ima:this.ima,state:{listening:!1},config:this.content.opts}),Ft({content:this.content,ads:this.ads}),this.state=Je.Ready}attach_ad_listeners(){this.ads.once(b,()=>{this.show(),this.ads.adPlaying&&this.ads.pause()});const t=()=>{kt.forEach(e=>this.ads.removeListener(e,t));const e=new CustomEvent(Ze.OUTSTREAM_TEARDOWN);Ke("Outstream(:teardown)",e),this.content.dispatchEvent(e)};kt.forEach(e=>this.ads.once(e,t)),this.content.once(Ze.OUTSTREAM_TEARDOWN,t=>{setTimeout(()=>{if(t.defaultPrevented)return this.handle_endscreen();this.dispose()},0)})}handle_endscreen(){this.reset_ui(),this.ads.reset(),Ut({config:this.content.opts,ui:this.adUi,ads:this.ads,adContainer:this.adUi,ima:this.ima,content:this.content,root:this.content.root,state:{started:!0,listening:!1},initial:{muted:!0,volume:1}})}empty_src(){this.content.setSrc({type:"video/mp4",src:URL.createObjectURL(Ot)})}setup(){this.root.classList.add(Outstream.CLASS.OUTSTREAM),this.root.classList.add(Outstream.CLASS.HIDDEN),this.content.setState("ad-linear",!1),this.empty_src()}reset_ui(){const t=this.root;t.classList.remove(Outstream.CLASS.SHOWING),t.classList.remove(Outstream.CLASS.OUTSTREAM)}dispose(){if(this.state==Je.Disposed)return;const t=this.root,e=this.content;this.reset_ui(),t.classList.add(Outstream.CLASS.OUTSTREAM),t.classList.add(Outstream.CLASS.DONE);const s=this;s.video=s.container=s.ads=0,this.state=Je.Disposed,e.destroy(),t.innerHTML=""}}function Xe(t){return t&&"number"==typeof t.time}function ts(t){return t&&"number"==typeof t.percentage&&"number"!=typeof t.time}Outstream.CLASS=Ye;const es=vt("ads/ima/sdk");var ss,is;async function rs(t,e){var s;const i=null===(s=null===window||void 0===window?void 0:window.google)||void 0===s?void 0:s.ima;if(e?null==i?void 0:i.dai:i)return void es(":noop");const r=e?"https://imasdk.googleapis.com/js/sdkloader/ima3_dai.js":t._storage.getItem("ima/debug")?"https://imasdk.googleapis.com/js/sdkloader/ima3_debug.js":"https://imasdk.googleapis.com/js/sdkloader/ima3.js";try{return await async function(t){return new Promise((e,s)=>{let i=document.querySelector(`script[src='${t}']`);if(i)return as(i,e,s);i=document.createElement("script"),i.setAttribute("state",ss.LOADING),as(i,e,s),i.src=t,document.head.appendChild(i)})}(r),void es(":loaded")}catch(t){es(`:error ${t.message}`,t)}}function as(t,e,s){const i=t.getAttribute("state");if(i&&[ss.ERROR,ss.LOADED].includes(i))return e(void 0);t.addEventListener("load",()=>{t.setAttribute("state",ss.LOADED),e(void 0)},{once:!0}),["error","abort"].forEach(e=>{t.addEventListener(e,()=>{t.setAttribute("state",ss.ERROR),s("script failed to load")},{once:!0})})}!function(t){t.LOADING="loading",t.LOADED="loaded",t.ERROR="error"}(ss||(ss={})),function(t){t.LOADING="loading",t.LOADED="loaded",t.ERROR="error"}(is||(is={}));const ns=vt("ads/ima/sdk"),os="https://cdn.jsdelivr.net/npm/prebid.js@latest/dist/not-for-prod/prebid.js",ds=os;async function ls(t){var e;const s=t._storage.getItem("prebid/debug")?os:ds;if(null===(e=null===window||void 0===window?void 0:window.pbjs)||void 0===e?void 0:e.version)ns(":noop");else if(!document.querySelector(`script[src='${s}']`))try{return await async function(t){return new Promise((e,s)=>{let i=document.querySelector(`script[src='${t}']`);i||(i=document.createElement("script")),i.setAttribute("state",is.LOADING);const r=i.getAttribute("state");if(r&&[is.ERROR,is.LOADED].includes(r))return e(void 0);i.addEventListener("load",()=>{i.setAttribute("state",is.LOADED),e(void 0)},{once:!0}),["error","abort"].forEach(t=>{i.addEventListener(t,()=>{i.setAttribute("state",is.ERROR),s("script failed to load")},{once:!0})}),i.src=t,document.head.appendChild(i)})}(s),void ns(":loaded")}catch(t){console.warn(`:error / failed to load prebid.js / ${t.message}`,t)}}const cs=window.pbjs=window.pbjs||{};cs.que=cs.que||[];class PrebidAdController{constructor(t,e){this.player=t,this.config=e,this.player=t,this.bestOffer="",cs.que.push(()=>{var s,i;const r=this.createAdUnit();cs.addAdUnits(r);const a=(null===(i=null===(s=e.ads)||void 0===s?void 0:s.prebid)||void 0===i?void 0:i.pbjs)||{};cs.setConfig(Object.assign({enableSendAllBids:!0},a)),t.emit($,{pbjs:cs}),cs.requestBids({bidsBackHandler:t=>{var s,i,a,n,o;const d=null===(s=t[this.prebidCode()])||void 0===s?void 0:s.bids;if(!d)return;if(0==d.length)return;const l=d[0];if(l&&l.vastUrl)return this.bestOffer=l.vastUrl;const c=cs.adServers.dfp.buildVideoUrl({adUnit:r,params:{iu:null===(a=null===(i=e.ads)||void 0===i?void 0:i.prebid)||void 0===a?void 0:a.iu,cust_params:null===(o=null===(n=e.ads)||void 0===n?void 0:n.prebid)||void 0===o?void 0:o.custom_params,output:"vast"}});this.bestOffer=c}})})}prebidCode(){var t,e;return(null===(e=null===(t=this.config.ads)||void 0===t?void 0:t.prebid)||void 0===e?void 0:e.code)||this.player.root.id}videoInfo(){var t,e;return(null===(e=null===(t=this.config.ads)||void 0===t?void 0:t.prebid)||void 0===e?void 0:e.video)||{context:"instream",playerSize:[[this.player.videoWidth||640,this.player.videoHeight||480]]}}createAdUnit(){var t,e;return{code:this.prebidCode(),mediaTypes:{video:this.videoInfo()},bids:null===(e=null===(t=this.config.ads)||void 0===t?void 0:t.prebid)||void 0===e?void 0:e.bidders}}vastGenerator(){return async()=>this.bestOffer}}function us(t,e){var s,i;const r=null===(s=e.ads)||void 0===s?void 0:s.prebid;if(!r)return;if((null===(i=t.prebidController)||void 0===i?void 0:i.config)===e)return;!function(t,{feature_name:e,behavior:s,sample_rate:i}){e&&(i||(i=mt),t.emit("flowplayer:feature",{feature_name:e,behavior:s,sample_rate:i}))}(t,{feature_name:"prebid",behavior:"used"}),t.prebidController||(t.prebidController=new PrebidAdController(t,e),ls(t));const a=t.prebidController;if(a){const e=r.breaks.map(t=>({adTag:a.vastGenerator(),time:t}));t.setOpts({ima:{ads:e}})}}const hs=vt("ads/index");async function ps(t,e,s){var i;let r;if(s.on("config",()=>{var e,i,a;void 0===r&&t.autoplay&&(Wt(a=t.ima)&&(null==a?void 0:a.ads.find(t=>!t.time||"percentage"in t&&0===t.percentage)))&&!s.currentSrc&&(i=t.autoplay,r=!0===i?ct.ON:!1===i?ct.OFF:i,t.autoplay=0),(null===(e=t.ads)||void 0===e?void 0:e.prebid)&&us(s,t),Wt(t.ima)&&Gt(s)&&Object.assign(t,{hls:{native:!0}}),s.ads&&d()}),s.once("loadstart",()=>{setTimeout(async()=>{if(void 0!==r&&(await rs(s),!("google"in window))){if(t.autoplay=r,s.setState(ot,!0),!s.hasState(dt))return s.once(st,()=>s.togglePlay(!0));s.togglePlay(!0)}},0)}),await rs(s),!("google"in window))return console.warn("google.ima unavailable");let a=!1;const n=s.ads=new AdsController,o=n.analytics;function d(){if(!Wt(t.ima))return;const i=t.ima,d=t.duration||s.duration;if(i.ads=function(t,e){return Array.isArray(t)?t.filter(t=>Xe(t)||ts(t)).reduce((t,s)=>{if(Xe(s))return t.push(s),t;if(s.lazy)return t.push(s),t;if(ts(s)){const i=Object.assign({},s),r=s.percentage?s.percentage*e:0;return isNaN(r)||(i.time=r<0||r===e?-1:r),t.push(i),t}return t},[]):(console.warn("AdSchedule was not an Array"),[])}(i.ads,d),n.setSchedule(i.ads,d),t.metadata&&Analytics.mergeMetadata(o,t.metadata),t.metadata&&n.mergeMacros(t.metadata),t.metadata&&i.parameters&&(i.parameters=Object.assign(Object.assign({},i.parameters),t.metadata)),Analytics.mergeMetadata(o,{muted:t.muted||!1,autoplay:t.autoplay||!1}),!a){if(a=!0,t.lang&&!i.Locale&&(i.Locale=t.lang),Schedule.isOutstream(i.ads))return hs("is outstream, returning"),new Outstream({root:e,content:s,ads:n,ima:i});Dt({config:Object.assign(Object.assign({},t),{autoplay:r}),root:e,content:s,ads:n,ima:i})}}n.resize(h(e)),n.on(D,()=>{n.adapter.isCustomPlaybackEnabled()&&n.once(k,()=>{s.src=s.original_src,s.once("canplay",()=>{s.togglePlay(!1)}),s.webkitExitFullscreen()})}),s.on("reap",function(){n&&n.destroy()}),(null===(i=t.ads)||void 0===i?void 0:i.prebid)&&us(s,t),d()}class AdControls extends HTMLElement{constructor(t){super(),this.player=t,this.classList.add("fp-ad-controls"),this.append(this.adRemainingTime(),yt(this.player,Lt),this.playbackButtons(),this.volumeBtn(),yt(this.player,"flowplayer-volume-bar"),...this.fullscreenIcons(),this.adChoices()),t.on(Q,this.applyStyleFlags.bind(this))}fullscreenIcons(){return this.player.createComponents("flowplayer-fullscreen-enter-icon","flowplayer-fullscreen-exit-icon").map(t=>(t.onclick=()=>this.player.toggleFullScreen(),t))}volumeBtn(){const t=yt(this.player,"flowplayer-volume-icon");return t.onclick=()=>this.player.emit(z),t}playbackButtons(){const t=document.createElement("div");t.classList.add("ad-playback-controls");const e=yt(this.player,"flowplayer-small-play-icon"),s=yt(this.player,"flowplayer-small-pause-icon");return e.addEventListener("click",()=>{this.player.emit(V),setTimeout(function(){s.focus&&s.focus()},100)}),s.addEventListener("click",()=>{this.player.emit(H),setTimeout(function(){e.focus&&e.focus()},100)}),t.append(e,s),t}adChoices(){const t=document.createElement("div");return t.classList.add("fp-ad-choices"),t.textContent=this.player.i18n("ads.adchoices","AdChoices"),t.addEventListener("click",t=>{t.preventDefault(),this.player.togglePlay(!1),window.open("https://adssettings.google.com","_blank")}),t}adRemainingTime(){const t=document.createElement("div");return t.classList.add("fp-ad-remaining","fp-color-text"),this.prepend(t),this.player.on(L,e=>{const s=e.detail.remaining;t.textContent=function(t){if(isNaN(t)||t>=Number.MAX_SAFE_INTEGER)return"";const e=t<0?"-":"";t=Math.round(Math.abs(t));const s=Math.floor(t/3600);let i=Math.floor(t/60);return t-=60*i,s>=1?(i-=60*s,e+s+":"+ut(i)+":"+ut(t)):e+ut(i)+":"+ut(t)}(parseFloat(s+""))}),t}applyStyleFlags(t){var e;const s=null!==(e=t.detail.ui_flags)&&void 0!==e?e:0;this.classList.toggle("is-ad-controls-sticky",(1&s)>0),this.classList.toggle("no-indicator",(4&s)>0),this.classList.toggle("is-ad-choices",(16&s)>0),this.classList.toggle("no-volume-bar",!(64&s)),this.classList.toggle("is-ad-remaining",(32&s)>0),this.classList.toggle("no-fullscreen",(2&s)>0)}}class AdCountdown extends HTMLElement{static get observedAttributes(){return["remaining"]}constructor(t){super(),this.player=t,this.className="fp-ad-countdown",t.on(L,t=>{const{duration:e,remaining:s}=t.detail;this.setAttribute("duration",e+""),this.setAttribute("remaining",s+"")}),t.on(w,t=>{t.detail.linear&&(this.style.setProperty("--ad-percent-previous","0"),this.style.setProperty("--ad-percent-complete","0"))}),this.addEventListener("animationend",()=>{const t=this.style.getPropertyValue("--ad-percent-complete")||"0";this.style.setProperty("--ad-percent-previous",t)})}attributeChangedCallback(t,e,s){if("remaining"===t)return this.onRemaining(s)}onRemaining(t){const e=parseFloat(this.getAttribute("duration")||"0");t||(t=e+"");const s=parseFloat(t),i=this.style.getPropertyValue("--ad-percent-complete")||"0";this.style.setProperty("--ad-percent-previous",i),this.classList.remove("go");const r=((e-s)/e*100).toFixed(3);requestAnimationFrame(()=>{this.style.setProperty("--ad-percent-complete",r),this.classList.add("go")})}}class AdIndicator extends HTMLElement{static get observedAttributes(){return["position","totals"]}constructor(t){super(),this.player=t,this.render(),t.on(w,t=>{const{position:e,totals:s}=t.detail.ad;this.setAttribute("position",e+""),this.setAttribute("totals",s+"")})}attributeChangedCallback(t,e){switch(t){case"position":case"totals":return this.updateText()}}updateText(){if(!this.element)return;const t=parseFloat(this.getAttribute("position")||"0"),e=parseFloat(this.getAttribute("totals")||"0");this.element.textContent=`${this.player.i18n("ads.indicator","ADS")} ${t} / ${e}`}render(){this.element=document.createElement("div"),this.element.classList.add("ad-indicator","fp-color-text"),this.element.textContent=this.player.i18n("ads.indicator","ADS"),this.append(this.element)}}var gs,ms=Object.freeze({__proto__:null,SINGlE_INLINE_LINEAR:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dlinear&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=",SINGLE_SKIPPABLE_INLINE:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_preroll_skippable&sz=640x480&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=",SINGLE_REDIRECT_LINEAR:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dredirectlinear&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=",SINGLE_REDIRECT_ERROR:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dredirecterror&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=",SINGLE_REDIRECT_BROKEN:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dredirecterror&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&nofb=1&correlator=",SINGLE_VPAID_20_LINEAR:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dlinearvpaid2js&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=",SINGLE_VPAID_20_NON_LINEAR:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dnonlinearvpaid2js&ciu_szs=728x90%2C300x250&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=",SINGLE_NON_LINEAR_INLINE:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/nonlinear_ad_samples&sz=480x70&cust_params=sample_ct%3Dnonlinear&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=",VMAP_SESSION_AD_RULE_PREROLL:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/vmap_ad_samples&sz=640x480&cust_params=sar%3Da0f2&ciu_szs=300x250&ad_rule=1&gdfp_req=1&output=vmap&unviewed_position_start=1&env=vp&impl=s&correlator=",VMAP_PREROLL:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/vmap_ad_samples&sz=640x480&cust_params=sample_ar%3Dpreonly&ciu_szs=300x250%2C728x90&gdfp_req=1&ad_rule=1&output=vmap&unviewed_position_start=1&env=vp&impl=s&correlator=",VMAP_PREROLL_BUMPER:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/vmap_ad_samples&sz=640x480&cust_params=sample_ar%3Dpreonlybumper&ciu_szs=300x250&gdfp_req=1&ad_rule=1&output=vmap&unviewed_position_start=1&env=vp&impl=s&correlator=",VMAP_POSTROLL:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/vmap_ad_samples&sz=640x480&cust_params=sample_ar%3Dpostonly&ciu_szs=300x250&gdfp_req=1&ad_rule=1&output=vmap&unviewed_position_start=1&env=vp&impl=s&correlator=",VMAP_POSTROLL_BUMPER:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/vmap_ad_samples&sz=640x480&cust_params=sample_ar%3Dpostonlybumper&ciu_szs=300x250&gdfp_req=1&ad_rule=1&output=vmap&unviewed_position_start=1&env=vp&impl=s&correlator="});const{samsung_tv:_s}=u(),fs=(gs=class Ads{constructor(t){this.umd=t,At(t,Et,AdUI),At(t,St,AdControls),At(t,Tt,AdCountdown),At(t,Lt,AdIndicator)}init(t,e,s){if(c.from_token(t.token||"").is_granted(c.permissions.ADS)&&!_s)return ps(t,e,s)}},gs.pluginName="ads",gs.events=K,gs.ui=Qe,gs.tags=ms,gs);return function(t,e){if("object"==typeof exports&&"undefined"!=typeof module)return e;if(null===document.currentScript)return e;"flowplayer"in t||(t.flowplayer={extensions:[]});const s=t.flowplayer;return"function"==typeof s?(s(e),e):(Array.isArray(s.extensions)||(s.extensions=[]),~s.extensions.indexOf(e)||s.extensions.push(e),e)}(window,fs)});
|
package/plugins/airplay.d.ts
CHANGED
|
@@ -931,6 +931,7 @@ declare class I18n implements Plugin_2 {
|
|
|
931
931
|
timeline_aria_label: string;
|
|
932
932
|
unmute: string;
|
|
933
933
|
volume: string;
|
|
934
|
+
options: string;
|
|
934
935
|
close: string;
|
|
935
936
|
"skip-next": string;
|
|
936
937
|
"skip-prev": string;
|
|
@@ -963,6 +964,10 @@ declare class I18n implements Plugin_2 {
|
|
|
963
964
|
button_txt: string;
|
|
964
965
|
menu_title: string;
|
|
965
966
|
};
|
|
967
|
+
spins: {
|
|
968
|
+
more: string;
|
|
969
|
+
less: string;
|
|
970
|
+
};
|
|
966
971
|
};
|
|
967
972
|
init(config: Config, _root: never, video: Player): void;
|
|
968
973
|
/* Excluded from this release type: _nonLanguageFields */
|
package/plugins/analytics.d.ts
CHANGED
|
@@ -925,6 +925,7 @@ declare class I18n implements Plugin_2 {
|
|
|
925
925
|
timeline_aria_label: string;
|
|
926
926
|
unmute: string;
|
|
927
927
|
volume: string;
|
|
928
|
+
options: string;
|
|
928
929
|
close: string;
|
|
929
930
|
"skip-next": string;
|
|
930
931
|
"skip-prev": string;
|
|
@@ -957,6 +958,10 @@ declare class I18n implements Plugin_2 {
|
|
|
957
958
|
button_txt: string;
|
|
958
959
|
menu_title: string;
|
|
959
960
|
};
|
|
961
|
+
spins: {
|
|
962
|
+
more: string;
|
|
963
|
+
less: string;
|
|
964
|
+
};
|
|
960
965
|
};
|
|
961
966
|
init(config: Config, _root: never, video: Player): void;
|
|
962
967
|
/* Excluded from this release type: _nonLanguageFields */
|
package/plugins/analytics.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):((e="undefined"!=typeof globalThis?globalThis:e||self).flowplayer=e.flowplayer||{},e.flowplayer.analytics=t())}(this,function(){"use strict";const e=(...e)=>e.reduce((e,t)=>Object.assign(Object.assign({},e),t),{}),t=(e,t)=>{const r=e.lastIndexOf(t);return~r&&e.splice(r,1),e};class RequestQueue{static of(){return new RequestQueue}static is_empty(e){return 0==e.pending.length}static is_high_water(e){return e.open.length==RequestQueue.MAX_OPEN_REQUESTS}static maybe_spawn_req(e){if(RequestQueue.is_empty(e))return e;if(RequestQueue.is_high_water(e))return e;try{const t=RequestQueue.lpop(e);t&&RequestQueue.request(e,t)}catch(e){}}static increment_failures(e){return e.stats.failures++,e.stats.failures>RequestQueue.MAX_FAILURE_COUNT&&(e.stats.ttl=Date.now()+RequestQueue.REQUEST_TTL_MS),e}static handle_error(e,t){RequestQueue.rm(e,t),RequestQueue.increment_failures(e)}static request(e,[t,r,n]){if(Date.now()<e.stats.ttl)return;const i=new XMLHttpRequest;e.open.push(i),i.timeout=RequestQueue.REQUEST_TIMEOUT_MS,i.ontimeout=function(){RequestQueue.handle_error(e,i)},i.onerror=function(t){RequestQueue.handle_error(e,i)},i.onreadystatechange=function(){i.readyState==XMLHttpRequest.DONE&&RequestQueue.rm(e,i),Math.floor(i.status/100)},i.onload=function(){RequestQueue.rm(e,i),e.stats.failures&&e.stats.failures--},i.open(r,t),i.setRequestHeader("Content-Type","text/plain;charset=UTF-8");try{i.send(JSON.stringify(n))}catch(e){}}static rpush(e,...t){return t.forEach(t=>{e.pending.length>=RequestQueue.MAX_PENDING||(e.pending.push(t),RequestQueue.maybe_spawn_req(e))}),e}static lpop(e){return e.pending.shift()}static rm(e,r){return t(e.open,r),e}constructor(){this.pending=[],this.open=[],this.stats={failures:0,ttl:0}}}RequestQueue.MAX_OPEN_REQUESTS=3,RequestQueue.MAX_PENDING=5,RequestQueue.REQUEST_TIMEOUT_MS=4e3,RequestQueue.REQUEST_TTL_MS=5e3,RequestQueue.MAX_FAILURE_COUNT=3;var r=RequestQueue.of();const n=/:([a-zA-Z_]+)/g;class Log{static prepare(e,t){const r=document.createEvent("Event");return r.initEvent(e,!1,!0),r.ns=e,r.data=t,r}static of(e){return new Log(e)}constructor(e){this.emitter=e}info(e){this.emitter.dispatchEvent(Log.prepare(Log.NAMESPACE.INFO,e))}error(e){this.emitter.dispatchEvent(Log.prepare(Log.NAMESPACE.ERROR,e))}warn(e){this.emitter.dispatchEvent(Log.prepare(Log.NAMESPACE.WARN,e))}}var i;Log.NAMESPACE={INFO:"tracker:info",ERROR:"tracker:err",WARN:"tracker:warn"},function(e){e.POST="POST",e.PUT="PUT",e.GET="GET"}(i||(i={}));class Tracker{static of(e,t){return new Tracker(e,t)}static ensure_required_keys(e,t){return e.required_keys.filter(e=>!(e in t))}static pluck_valid_keys(t,r){return((t,...r)=>Object.keys(t).filter(e=>~r.indexOf(e)).reduce((r,n)=>e(r,{[n]:t[n]}),{}))(r,...t.valid_keys)}static merge_metadata(t,r={}){return t.metadata=Tracker.pluck_valid_keys(t,e(t.metadata,r)),t}static assert_emitter_api(e){if("function"!=typeof(e||{}).addEventListener)throw new Error("Tracker() received an emitter that does not implement the addEventListener method");if("function"!=typeof(e||{}).removeEventListener)throw new Error("Tracker() received an emitter that does not implement the removeEventListener method")}static create_listener(e,t,r){var n;e.listeners.push([t,r]),null===(n=e.emitter)||void 0===n||n.addEventListener(t,r)}constructor(t,i={}){const o=this;if(this.emitter=t,this.url=i.url,this.log=Log.of(this.emitter),this.verb=i.verb,this.metadata=e({},i.metadata||{}),this.rq=i.rq||r,this.events=i.events||[],this.required_keys=i.required_keys||[],this.optional_keys=i.optional_keys||[],this.listeners=[],this.valid_keys=this.required_keys.slice(0).concat(this.optional_keys),Tracker.assert_emitter_api(this.emitter),void 0===Tracker.verb[this.verb])throw new Error(`invalid HTTP verb[${this.verb}] passed`);if("string"!=typeof this.url)throw new Error(`invalid API url[${this.url}] passed`);Tracker.TRACKERS.push(this),o.events.forEach(t=>{Tracker.create_listener(this,t,(r={})=>{var i;if(null===(i=this.emitter)||void 0===i?void 0:i.hasState("consent-no-tracking"))return;const a=e(o.metadata,{event_type:t},r.data||r),s=function(e,t){return e.replace(n,e=>{const r=e.slice(1,e.length);return r in t?t[r].toString():e})}(o.url,a),u=Tracker.pluck_valid_keys(o,a),d=Tracker.ensure_required_keys(o,u);if(d.length)return o.log.error(`Tracker.validate_metadata() failed for\n Event[${t}]\n missing keys: ${d}\n payload:\n ${JSON.stringify(u,null,2)}`);this.rq&&RequestQueue.rpush(this.rq,[s,this.verb,u])})})}destroy(){this.listeners.forEach(([e,t])=>{var r;return null===(r=this.emitter)||void 0===r?void 0:r.removeEventListener(e,t)}),delete this.rq,delete this.emitter,t(Tracker.TRACKERS,this)}put(e={}){return Tracker.merge_metadata(this,e),this}}var o;Tracker.TRACKERS=[],Tracker.QUEUE=r,Tracker.verb=i,function(e){e[e.ADS=2]="ADS",e[e.ANALYTICS=4]="ANALYTICS",e[e.NO_METERING=8]="NO_METERING",e[e.DEVELOPER_PLAN=16]="DEVELOPER_PLAN",e[e.WOWZA_VIDEO=32]="WOWZA_VIDEO"}(o||(o={}));const a=["localhost","127.0.0.1","0.0.0.0","s.codepen.io","cdpn.io","try.flowplayer.com"];function s(e,t){return!!~a.indexOf(e)||e.indexOf(t)===e.length-t.length}s.check_whitelist=function(e){return!!~a.indexOf(e)};function u(e){this.message=e}u.prototype=new Error,u.prototype.name="InvalidCharacterError";var d="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new u("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,i=0,o=0,a="";n=t.charAt(o++);~n&&(r=i%4?64*r+n:n,i++%4)?a+=String.fromCharCode(255&r>>(-2*i&6)):0)n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(n);return a};var c=function(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(e){return decodeURIComponent(d(e).replace(/(.)/g,function(e,t){var r=t.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(t)}catch(e){return d(t)}};function l(e){this.message=e}l.prototype=new Error,l.prototype.name="InvalidTokenError";var f=function(e,t){if("string"!=typeof e)throw new l("Invalid token specified");var r=!0===(t=t||{}).header?0:1;try{return JSON.parse(c(e.split(".")[r]))}catch(e){throw new l("Invalid token specified: "+e.message)}};f.InvalidTokenError=l;const p="production";function _(e,t){const r={valid_jwt:!1,raw:"",data:{acl:0},exp:0};let n={c:"{}",exp:0};t=t||{};try{n=f(e),r.valid_jwt=!0}catch(e){}return r.raw=e,r.data=JSON.parse(n.c),r.exp=n.exp,t.require_valid_token&&_.validate(r),r}function h(e){return{grant:e,is_granted:t=>(e&t)===t}}function m(e,t,r){const n=function(e){return Array.isArray(e)?e.slice(0):e.split(".")}(t);for(;n.length;){if(null==e)return r;const t=n.shift();if("string"!=typeof t)return r;e=e[t]}return null==e?r:e}_.validate=function(e){if("string"==typeof e&&(e=_(e)),!e||!e.raw){if(s.check_whitelist(window.location.hostname)||"dev"===p.toString())return!0;throw new Error("No token provided in configuration")}if(!e.valid_jwt)throw new Error("Invalid token provided");const t=window.location.hostname,r=s.bind(null,t);if("dev"!==p.toString()&&e.data.domain&&e.data.domain.length&&!e.data.domain.some(r))throw new Error("Domain not allowed");if("dev"!==p.toString()&&1e3*e.exp-Date.now()<0)throw new Error("Expired token");return!0},_.id=function(e){if(e)return"string"==typeof e&&(e=_(e)),e.data.id},h.of=h,h.from_token=function(e){const t=_(e,{require_valid_token:!0});return h.of(t.data.acl)},h.permissions=o;var v="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};var y="ping",k="display",g="view";const w=["sitegroup_id","session_id","media_id","site_id","player_id","video_type"],E=["created","position"],T=["player_version","created","source","category","category_id","autoplay","muted","customer_user_id"];const R="is-seeking";const q=100,A=1e3;function S(e,t){return e.duration/1===e.duration&&Object.assign(t,function(e){const t=e/q;return{segment_duration:t,breakpoints:Array(...Array(q)).map(function(e,r){return Math.floor(r*t*A)/A})}}(e.duration))}function O(e,t,r,n){if(!t.segment_duration&&!S(e,t))return;const i=function(e,t,r,n){const i=t.last_idx,o=r?100:b(e,t,n);return t.last_idx=o,o<=i?[]:t.breakpoints.slice(i,o).map(function(e){return t.breakpoints.indexOf(e)})}(e,t,r,n);0!=i.length&&e.emit(y,{position:i})}function b(e,t,r){const n=void 0!==r?r:e.currentTime;return Math.min(100,Math.max(0,Math.floor(n/t.segment_duration-.8)+1))}function N(){try{const e=window.location!==window.parent.location?document.referrer:document.location.href;return"string"==typeof e&&e.slice(0,200)}catch(e){return!1}}var Q;const x="vod",L="live",I=[k,y,g];function M(e,t,r,n){switch(null==t?void 0:t.kind){case"live":return function(e,t){const r=Date.now();r-t.last_tracked_ts<6e4||(t.last_tracked_ts=r,++t.ticks,e.emit(y,{position:60*t.ticks}))}(e,t);case"vod":return O(e,t,"boolean"==typeof r&&r,n)}}function P(e){const t=e.ads;return void 0!==t&&(void 0!==t.schedule&&("function"==typeof t.hasPreroll&&(t.currentRequests?t.currentRequests:!!t.adPlaying||!(!t.hasPreroll()||0!=t.nextIndex))))}const C=((Q=class Analytics{init(e,t,r){if(!h.from_token(e.token||"").is_granted(h.permissions.ANALYTICS))return;if(r.analytics)return;const n=r.analytics={ticker:void 0,last_media_id:"",ended:!1,played:!1},i={locked:void 0,ttl:6e3,task:()=>{r.hasState(R)||M(r,n.ticker)}};const o={session_id:r.deviceId(),autoplay:r.autoplay,muted:r.muted,player_id:e.player_id,customer_user_id:e.customer_user_id,player_version:"3.40.1"},a=Tracker.of(r,{verb:Tracker.verb.POST,url:"https://ptm.flowplayer.com/:video_type/:sitegroup_id/:event_type",events:I,required_keys:w,optional_keys:T.concat(E).slice(0),metadata:o});r.on("reap",function(){a&&a.destroy()});let s=0,u=0;r.on("config",function(t){if(!a)return;const i=m(t,"data.metadata",{});if(!i.media_id&&i.stream_target_id&&(i.media_id=i.stream_target_id),!i.media_id)return n.last_media_id="";if(n.last_media_id===i.media_id)return;n.played=!1,n.last_media_id=i.media_id;const o=m(e,"analytics",{});a.put(i),a.put(o);const u=m(e,"metadata.live_start_time",e.live)?L:x;a.put({video_type:u,source:e.source||N()||""}),n.ticker=m(e,"metadata.live_start_time",e.live)?{ticks:0,last_tracked_ts:Date.now(),kind:"live"}:{last_idx:0,segment_duration:0,breakpoints:[],kind:"vod"},s=0,n.ended=!1,r.emit(k)}),r.on("playing",function(){if(!a)return;if(u||n.played||!n.last_media_id)return;a.put({muted:r.muted});const e=P(r);if(e)return u=Promise.resolve(e).then(function(){n.played=!0,r.emit(g),u=0}).catch(function(){u=0});n.played=!0,r.emit(g)}),r.on("timeupdate",function(){var t;a&&(s=r.currentTime,u||P(r)||n.ended||!n.last_media_id||r.hasState(R)||(!e.live&&r.currentTime+.25>=r.duration&&M(r,n.ticker,!0),(t=i).locked||(t.locked=setTimeout(function(){return t.task(),function(e){return e.locked=void 0,e}(t)},t.ttl))))}),r.on("seeked",function(){var e;a&&n.last_media_id&&(n.ended&&(n.ended=!1,s=0,"vod"===(null===(e=n.ticker)||void 0===e?void 0:e.kind)&&(n.ticker.last_idx=0)),n.ticker&&"vod"==n.ticker.kind&&function(e,t){S(e,t),t.last_idx=b(e,t)}(r,n.ticker))}),r.on("timeline/gesture/start",function(){M(r,n.ticker,!1,s)}),r.on("ended",function(){a&&n.last_media_id&&function(e,t){t.ended||(t.ended=!0,M(e,t.ticker))}(r,n)})}}).pluginName="analytics",Q),U=function(e,t){if("object"==typeof exports&&"undefined"!=typeof module)return t;if(null===document.currentScript)return t;"flowplayer"in e||(e.flowplayer={extensions:[]});const r=e.flowplayer;return"function"==typeof r?(r(t),t):(Array.isArray(r.extensions)||(r.extensions=[]),~r.extensions.indexOf(t)||r.extensions.push(t),t)}("undefined"!=typeof window?window:void 0!==v?v:{},C);return U});
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):((e="undefined"!=typeof globalThis?globalThis:e||self).flowplayer=e.flowplayer||{},e.flowplayer.analytics=t())}(this,function(){"use strict";const e=(...e)=>e.reduce((e,t)=>Object.assign(Object.assign({},e),t),{}),t=(e,t)=>{const r=e.lastIndexOf(t);return~r&&e.splice(r,1),e};class RequestQueue{static of(){return new RequestQueue}static is_empty(e){return 0==e.pending.length}static is_high_water(e){return e.open.length==RequestQueue.MAX_OPEN_REQUESTS}static maybe_spawn_req(e){if(RequestQueue.is_empty(e))return e;if(RequestQueue.is_high_water(e))return e;try{const t=RequestQueue.lpop(e);t&&RequestQueue.request(e,t)}catch(e){}}static increment_failures(e){return e.stats.failures++,e.stats.failures>RequestQueue.MAX_FAILURE_COUNT&&(e.stats.ttl=Date.now()+RequestQueue.REQUEST_TTL_MS),e}static handle_error(e,t){RequestQueue.rm(e,t),RequestQueue.increment_failures(e)}static request(e,[t,r,n]){if(Date.now()<e.stats.ttl)return;const i=new XMLHttpRequest;e.open.push(i),i.timeout=RequestQueue.REQUEST_TIMEOUT_MS,i.ontimeout=function(){RequestQueue.handle_error(e,i)},i.onerror=function(t){RequestQueue.handle_error(e,i)},i.onreadystatechange=function(){i.readyState==XMLHttpRequest.DONE&&RequestQueue.rm(e,i),Math.floor(i.status/100)},i.onload=function(){RequestQueue.rm(e,i),e.stats.failures&&e.stats.failures--},i.open(r,t),i.setRequestHeader("Content-Type","text/plain;charset=UTF-8");try{i.send(JSON.stringify(n))}catch(e){}}static rpush(e,...t){return t.forEach(t=>{e.pending.length>=RequestQueue.MAX_PENDING||(e.pending.push(t),RequestQueue.maybe_spawn_req(e))}),e}static lpop(e){return e.pending.shift()}static rm(e,r){return t(e.open,r),e}constructor(){this.pending=[],this.open=[],this.stats={failures:0,ttl:0}}}RequestQueue.MAX_OPEN_REQUESTS=3,RequestQueue.MAX_PENDING=5,RequestQueue.REQUEST_TIMEOUT_MS=4e3,RequestQueue.REQUEST_TTL_MS=5e3,RequestQueue.MAX_FAILURE_COUNT=3;var r=RequestQueue.of();const n=/:([a-zA-Z_]+)/g;class Log{static prepare(e,t){const r=document.createEvent("Event");return r.initEvent(e,!1,!0),r.ns=e,r.data=t,r}static of(e){return new Log(e)}constructor(e){this.emitter=e}info(e){this.emitter.dispatchEvent(Log.prepare(Log.NAMESPACE.INFO,e))}error(e){this.emitter.dispatchEvent(Log.prepare(Log.NAMESPACE.ERROR,e))}warn(e){this.emitter.dispatchEvent(Log.prepare(Log.NAMESPACE.WARN,e))}}var i;Log.NAMESPACE={INFO:"tracker:info",ERROR:"tracker:err",WARN:"tracker:warn"},function(e){e.POST="POST",e.PUT="PUT",e.GET="GET"}(i||(i={}));class Tracker{static of(e,t){return new Tracker(e,t)}static ensure_required_keys(e,t){return e.required_keys.filter(e=>!(e in t))}static pluck_valid_keys(t,r){return((t,...r)=>Object.keys(t).filter(e=>~r.indexOf(e)).reduce((r,n)=>e(r,{[n]:t[n]}),{}))(r,...t.valid_keys)}static merge_metadata(t,r={}){return t.metadata=Tracker.pluck_valid_keys(t,e(t.metadata,r)),t}static assert_emitter_api(e){if("function"!=typeof(e||{}).addEventListener)throw new Error("Tracker() received an emitter that does not implement the addEventListener method");if("function"!=typeof(e||{}).removeEventListener)throw new Error("Tracker() received an emitter that does not implement the removeEventListener method")}static create_listener(e,t,r){var n;e.listeners.push([t,r]),null===(n=e.emitter)||void 0===n||n.addEventListener(t,r)}constructor(t,i={}){const o=this;if(this.emitter=t,this.url=i.url,this.log=Log.of(this.emitter),this.verb=i.verb,this.metadata=e({},i.metadata||{}),this.rq=i.rq||r,this.events=i.events||[],this.required_keys=i.required_keys||[],this.optional_keys=i.optional_keys||[],this.listeners=[],this.valid_keys=this.required_keys.slice(0).concat(this.optional_keys),Tracker.assert_emitter_api(this.emitter),void 0===Tracker.verb[this.verb])throw new Error(`invalid HTTP verb[${this.verb}] passed`);if("string"!=typeof this.url)throw new Error(`invalid API url[${this.url}] passed`);Tracker.TRACKERS.push(this),o.events.forEach(t=>{Tracker.create_listener(this,t,(r={})=>{var i;if(null===(i=this.emitter)||void 0===i?void 0:i.hasState("consent-no-tracking"))return;const a=e(o.metadata,{event_type:t},r.data||r),s=function(e,t){return e.replace(n,e=>{const r=e.slice(1,e.length);return r in t?t[r].toString():e})}(o.url,a),u=Tracker.pluck_valid_keys(o,a),d=Tracker.ensure_required_keys(o,u);if(d.length)return o.log.error(`Tracker.validate_metadata() failed for\n Event[${t}]\n missing keys: ${d}\n payload:\n ${JSON.stringify(u,null,2)}`);this.rq&&RequestQueue.rpush(this.rq,[s,this.verb,u])})})}destroy(){this.listeners.forEach(([e,t])=>{var r;return null===(r=this.emitter)||void 0===r?void 0:r.removeEventListener(e,t)}),delete this.rq,delete this.emitter,t(Tracker.TRACKERS,this)}put(e={}){return Tracker.merge_metadata(this,e),this}}var o;Tracker.TRACKERS=[],Tracker.QUEUE=r,Tracker.verb=i,function(e){e[e.ADS=2]="ADS",e[e.ANALYTICS=4]="ANALYTICS",e[e.NO_METERING=8]="NO_METERING",e[e.DEVELOPER_PLAN=16]="DEVELOPER_PLAN",e[e.WOWZA_VIDEO=32]="WOWZA_VIDEO"}(o||(o={}));const a=["localhost","127.0.0.1","0.0.0.0","s.codepen.io","cdpn.io","try.flowplayer.com"];function s(e,t){return!!~a.indexOf(e)||e.indexOf(t)===e.length-t.length}s.check_whitelist=function(e){return!!~a.indexOf(e)};function u(e){this.message=e}u.prototype=new Error,u.prototype.name="InvalidCharacterError";var d="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new u("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,i=0,o=0,a="";n=t.charAt(o++);~n&&(r=i%4?64*r+n:n,i++%4)?a+=String.fromCharCode(255&r>>(-2*i&6)):0)n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(n);return a};var c=function(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(e){return decodeURIComponent(d(e).replace(/(.)/g,function(e,t){var r=t.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(t)}catch(e){return d(t)}};function l(e){this.message=e}l.prototype=new Error,l.prototype.name="InvalidTokenError";var f=function(e,t){if("string"!=typeof e)throw new l("Invalid token specified");var r=!0===(t=t||{}).header?0:1;try{return JSON.parse(c(e.split(".")[r]))}catch(e){throw new l("Invalid token specified: "+e.message)}};f.InvalidTokenError=l;const p="production";function _(e,t){const r={valid_jwt:!1,raw:"",data:{acl:0},exp:0};let n={c:"{}",exp:0};t=t||{};try{n=f(e),r.valid_jwt=!0}catch(e){}return r.raw=e,r.data=JSON.parse(n.c),r.exp=n.exp,t.require_valid_token&&_.validate(r),r}function h(e){return{grant:e,is_granted:t=>(e&t)===t}}function m(e,t,r){const n=function(e){return Array.isArray(e)?e.slice(0):e.split(".")}(t);for(;n.length;){if(null==e)return r;const t=n.shift();if("string"!=typeof t)return r;e=e[t]}return null==e?r:e}_.validate=function(e){if("string"==typeof e&&(e=_(e)),!e||!e.raw){if(s.check_whitelist(window.location.hostname)||"dev"===p.toString())return!0;throw new Error("No token provided in configuration")}if(!e.valid_jwt)throw new Error("Invalid token provided");const t=window.location.hostname,r=s.bind(null,t);if("dev"!==p.toString()&&e.data.domain&&e.data.domain.length&&!e.data.domain.some(r))throw new Error("Domain not allowed");if("dev"!==p.toString()&&1e3*e.exp-Date.now()<0)throw new Error("Expired token");return!0},_.id=function(e){if(e)return"string"==typeof e&&(e=_(e)),e.data.id},h.of=h,h.from_token=function(e){const t=_(e,{require_valid_token:!0});return h.of(t.data.acl)},h.permissions=o;var v="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};var y="ping",k="display",g="view";const w=["sitegroup_id","session_id","media_id","site_id","player_id","video_type"],E=["created","position"],T=["player_version","created","source","category","category_id","autoplay","muted","customer_user_id"];const R="is-seeking";const q=100,A=1e3;function S(e,t){return e.duration/1===e.duration&&Object.assign(t,function(e){const t=e/q;return{segment_duration:t,breakpoints:Array(...Array(q)).map(function(e,r){return Math.floor(r*t*A)/A})}}(e.duration))}function O(e,t,r,n){if(!t.segment_duration&&!S(e,t))return;const i=function(e,t,r,n){const i=t.last_idx,o=r?100:b(e,t,n);return t.last_idx=o,o<=i?[]:t.breakpoints.slice(i,o).map(function(e){return t.breakpoints.indexOf(e)})}(e,t,r,n);0!=i.length&&e.emit(y,{position:i})}function b(e,t,r){const n=void 0!==r?r:e.currentTime;return Math.min(100,Math.max(0,Math.floor(n/t.segment_duration-.8)+1))}function N(){try{const e=window.location!==window.parent.location?document.referrer:document.location.href;return"string"==typeof e&&e.slice(0,200)}catch(e){return!1}}var Q;const x="vod",L="live",I=[k,y,g];function M(e,t,r,n){switch(null==t?void 0:t.kind){case"live":return function(e,t){const r=Date.now();r-t.last_tracked_ts<6e4||(t.last_tracked_ts=r,++t.ticks,e.emit(y,{position:60*t.ticks}))}(e,t);case"vod":return O(e,t,"boolean"==typeof r&&r,n)}}function P(e){const t=e.ads;return void 0!==t&&(void 0!==t.schedule&&("function"==typeof t.hasPreroll&&(t.currentRequests?t.currentRequests:!!t.adPlaying||!(!t.hasPreroll()||0!=t.nextIndex))))}const C=((Q=class Analytics{init(e,t,r){if(!h.from_token(e.token||"").is_granted(h.permissions.ANALYTICS))return;if(r.analytics)return;const n=r.analytics={ticker:void 0,last_media_id:"",ended:!1,played:!1},i={locked:void 0,ttl:6e3,task:()=>{r.hasState(R)||M(r,n.ticker)}};const o={session_id:r.deviceId(),autoplay:r.autoplay,muted:r.muted,player_id:e.player_id,customer_user_id:e.customer_user_id,player_version:"3.41.0-rc"},a=Tracker.of(r,{verb:Tracker.verb.POST,url:"https://ptm.flowplayer.com/:video_type/:sitegroup_id/:event_type",events:I,required_keys:w,optional_keys:T.concat(E).slice(0),metadata:o});r.on("reap",function(){a&&a.destroy()});let s=0,u=0;r.on("config",function(t){if(!a)return;const i=m(t,"data.metadata",{});if(!i.media_id&&i.stream_target_id&&(i.media_id=i.stream_target_id),!i.media_id)return n.last_media_id="";if(n.last_media_id===i.media_id)return;n.played=!1,n.last_media_id=i.media_id;const o=m(e,"analytics",{});a.put(i),a.put(o);const u=m(e,"metadata.live_start_time",e.live)?L:x;a.put({video_type:u,source:e.source||N()||""}),n.ticker=m(e,"metadata.live_start_time",e.live)?{ticks:0,last_tracked_ts:Date.now(),kind:"live"}:{last_idx:0,segment_duration:0,breakpoints:[],kind:"vod"},s=0,n.ended=!1,r.emit(k)}),r.on("playing",function(){if(!a)return;if(u||n.played||!n.last_media_id)return;a.put({muted:r.muted});const e=P(r);if(e)return u=Promise.resolve(e).then(function(){n.played=!0,r.emit(g),u=0}).catch(function(){u=0});n.played=!0,r.emit(g)}),r.on("timeupdate",function(){var t;a&&(s=r.currentTime,u||P(r)||n.ended||!n.last_media_id||r.hasState(R)||(!e.live&&r.currentTime+.25>=r.duration&&M(r,n.ticker,!0),(t=i).locked||(t.locked=setTimeout(function(){return t.task(),function(e){return e.locked=void 0,e}(t)},t.ttl))))}),r.on("seeked",function(){var e;a&&n.last_media_id&&(n.ended&&(n.ended=!1,s=0,"vod"===(null===(e=n.ticker)||void 0===e?void 0:e.kind)&&(n.ticker.last_idx=0)),n.ticker&&"vod"==n.ticker.kind&&function(e,t){S(e,t),t.last_idx=b(e,t)}(r,n.ticker))}),r.on("timeline/gesture/start",function(){M(r,n.ticker,!1,s)}),r.on("ended",function(){a&&n.last_media_id&&function(e,t){t.ended||(t.ended=!0,M(e,t.ticker))}(r,n)})}}).pluginName="analytics",Q),U=function(e,t){if("object"==typeof exports&&"undefined"!=typeof module)return t;if(null===document.currentScript)return t;"flowplayer"in e||(e.flowplayer={extensions:[]});const r=e.flowplayer;return"function"==typeof r?(r(t),t):(Array.isArray(r.extensions)||(r.extensions=[]),~r.extensions.indexOf(t)||r.extensions.push(t),t)}("undefined"!=typeof window?window:void 0!==v?v:{},C);return U});
|
package/plugins/asel.d.ts
CHANGED
|
@@ -1042,6 +1042,7 @@ declare class I18n implements Plugin_2 {
|
|
|
1042
1042
|
timeline_aria_label: string;
|
|
1043
1043
|
unmute: string;
|
|
1044
1044
|
volume: string;
|
|
1045
|
+
options: string;
|
|
1045
1046
|
close: string;
|
|
1046
1047
|
"skip-next": string;
|
|
1047
1048
|
"skip-prev": string;
|
|
@@ -1074,6 +1075,10 @@ declare class I18n implements Plugin_2 {
|
|
|
1074
1075
|
button_txt: string;
|
|
1075
1076
|
menu_title: string;
|
|
1076
1077
|
};
|
|
1078
|
+
spins: {
|
|
1079
|
+
more: string;
|
|
1080
|
+
less: string;
|
|
1081
|
+
};
|
|
1077
1082
|
};
|
|
1078
1083
|
init(config: Config, _root: never, video: Player): void;
|
|
1079
1084
|
/* Excluded from this release type: _nonLanguageFields */
|
package/plugins/audio.d.ts
CHANGED
|
@@ -925,6 +925,7 @@ declare class I18n implements Plugin_2 {
|
|
|
925
925
|
timeline_aria_label: string;
|
|
926
926
|
unmute: string;
|
|
927
927
|
volume: string;
|
|
928
|
+
options: string;
|
|
928
929
|
close: string;
|
|
929
930
|
"skip-next": string;
|
|
930
931
|
"skip-prev": string;
|
|
@@ -957,6 +958,10 @@ declare class I18n implements Plugin_2 {
|
|
|
957
958
|
button_txt: string;
|
|
958
959
|
menu_title: string;
|
|
959
960
|
};
|
|
961
|
+
spins: {
|
|
962
|
+
more: string;
|
|
963
|
+
less: string;
|
|
964
|
+
};
|
|
960
965
|
};
|
|
961
966
|
init(config: Config, _root: never, video: Player): void;
|
|
962
967
|
/* Excluded from this release type: _nonLanguageFields */
|
package/plugins/chapters.d.ts
CHANGED
|
@@ -934,6 +934,7 @@ declare class I18n implements Plugin_2 {
|
|
|
934
934
|
timeline_aria_label: string;
|
|
935
935
|
unmute: string;
|
|
936
936
|
volume: string;
|
|
937
|
+
options: string;
|
|
937
938
|
close: string;
|
|
938
939
|
"skip-next": string;
|
|
939
940
|
"skip-prev": string;
|
|
@@ -966,6 +967,10 @@ declare class I18n implements Plugin_2 {
|
|
|
966
967
|
button_txt: string;
|
|
967
968
|
menu_title: string;
|
|
968
969
|
};
|
|
970
|
+
spins: {
|
|
971
|
+
more: string;
|
|
972
|
+
less: string;
|
|
973
|
+
};
|
|
969
974
|
};
|
|
970
975
|
init(config: Config, _root: never, video: Player): void;
|
|
971
976
|
/* Excluded from this release type: _nonLanguageFields */
|
package/plugins/chromecast.d.ts
CHANGED
|
@@ -988,6 +988,7 @@ declare class I18n implements Plugin_2 {
|
|
|
988
988
|
timeline_aria_label: string;
|
|
989
989
|
unmute: string;
|
|
990
990
|
volume: string;
|
|
991
|
+
options: string;
|
|
991
992
|
close: string;
|
|
992
993
|
"skip-next": string;
|
|
993
994
|
"skip-prev": string;
|
|
@@ -1020,6 +1021,10 @@ declare class I18n implements Plugin_2 {
|
|
|
1020
1021
|
button_txt: string;
|
|
1021
1022
|
menu_title: string;
|
|
1022
1023
|
};
|
|
1024
|
+
spins: {
|
|
1025
|
+
more: string;
|
|
1026
|
+
less: string;
|
|
1027
|
+
};
|
|
1023
1028
|
};
|
|
1024
1029
|
init(config: Config, _root: never, video: Player): void;
|
|
1025
1030
|
/* Excluded from this release type: _nonLanguageFields */
|
package/plugins/comscore.d.ts
CHANGED
|
@@ -925,6 +925,7 @@ declare class I18n implements Plugin_2 {
|
|
|
925
925
|
timeline_aria_label: string;
|
|
926
926
|
unmute: string;
|
|
927
927
|
volume: string;
|
|
928
|
+
options: string;
|
|
928
929
|
close: string;
|
|
929
930
|
"skip-next": string;
|
|
930
931
|
"skip-prev": string;
|
|
@@ -957,6 +958,10 @@ declare class I18n implements Plugin_2 {
|
|
|
957
958
|
button_txt: string;
|
|
958
959
|
menu_title: string;
|
|
959
960
|
};
|
|
961
|
+
spins: {
|
|
962
|
+
more: string;
|
|
963
|
+
less: string;
|
|
964
|
+
};
|
|
960
965
|
};
|
|
961
966
|
init(config: Config, _root: never, video: Player): void;
|
|
962
967
|
/* Excluded from this release type: _nonLanguageFields */
|
package/plugins/consent.d.ts
CHANGED
|
@@ -951,6 +951,7 @@ declare class I18n implements Plugin_2 {
|
|
|
951
951
|
timeline_aria_label: string;
|
|
952
952
|
unmute: string;
|
|
953
953
|
volume: string;
|
|
954
|
+
options: string;
|
|
954
955
|
close: string;
|
|
955
956
|
"skip-next": string;
|
|
956
957
|
"skip-prev": string;
|
|
@@ -983,6 +984,10 @@ declare class I18n implements Plugin_2 {
|
|
|
983
984
|
button_txt: string;
|
|
984
985
|
menu_title: string;
|
|
985
986
|
};
|
|
987
|
+
spins: {
|
|
988
|
+
more: string;
|
|
989
|
+
less: string;
|
|
990
|
+
};
|
|
986
991
|
};
|
|
987
992
|
init(config: Config, _root: never, video: Player): void;
|
|
988
993
|
/* Excluded from this release type: _nonLanguageFields */
|
|
@@ -932,6 +932,7 @@ declare class I18n implements Plugin_2 {
|
|
|
932
932
|
timeline_aria_label: string;
|
|
933
933
|
unmute: string;
|
|
934
934
|
volume: string;
|
|
935
|
+
options: string;
|
|
935
936
|
close: string;
|
|
936
937
|
"skip-next": string;
|
|
937
938
|
"skip-prev": string;
|
|
@@ -964,6 +965,10 @@ declare class I18n implements Plugin_2 {
|
|
|
964
965
|
button_txt: string;
|
|
965
966
|
menu_title: string;
|
|
966
967
|
};
|
|
968
|
+
spins: {
|
|
969
|
+
more: string;
|
|
970
|
+
less: string;
|
|
971
|
+
};
|
|
967
972
|
};
|
|
968
973
|
init(config: Config, _root: never, video: Player): void;
|
|
969
974
|
/* Excluded from this release type: _nonLanguageFields */
|
package/plugins/cuepoints.d.ts
CHANGED
|
@@ -1049,6 +1049,7 @@ declare class I18n implements Plugin_2 {
|
|
|
1049
1049
|
timeline_aria_label: string;
|
|
1050
1050
|
unmute: string;
|
|
1051
1051
|
volume: string;
|
|
1052
|
+
options: string;
|
|
1052
1053
|
close: string;
|
|
1053
1054
|
"skip-next": string;
|
|
1054
1055
|
"skip-prev": string;
|
|
@@ -1081,6 +1082,10 @@ declare class I18n implements Plugin_2 {
|
|
|
1081
1082
|
button_txt: string;
|
|
1082
1083
|
menu_title: string;
|
|
1083
1084
|
};
|
|
1085
|
+
spins: {
|
|
1086
|
+
more: string;
|
|
1087
|
+
less: string;
|
|
1088
|
+
};
|
|
1084
1089
|
};
|
|
1085
1090
|
init(config: Config, _root: never, video: Player): void;
|
|
1086
1091
|
/* Excluded from this release type: _nonLanguageFields */
|
package/plugins/dash.d.ts
CHANGED
|
@@ -998,6 +998,7 @@ declare class I18n implements Plugin_2 {
|
|
|
998
998
|
timeline_aria_label: string;
|
|
999
999
|
unmute: string;
|
|
1000
1000
|
volume: string;
|
|
1001
|
+
options: string;
|
|
1001
1002
|
close: string;
|
|
1002
1003
|
"skip-next": string;
|
|
1003
1004
|
"skip-prev": string;
|
|
@@ -1030,6 +1031,10 @@ declare class I18n implements Plugin_2 {
|
|
|
1030
1031
|
button_txt: string;
|
|
1031
1032
|
menu_title: string;
|
|
1032
1033
|
};
|
|
1034
|
+
spins: {
|
|
1035
|
+
more: string;
|
|
1036
|
+
less: string;
|
|
1037
|
+
};
|
|
1033
1038
|
};
|
|
1034
1039
|
init(config: Config, _root: never, video: Player): void;
|
|
1035
1040
|
/* Excluded from this release type: _nonLanguageFields */
|
package/plugins/drm.d.ts
CHANGED
|
@@ -1028,6 +1028,7 @@ declare class I18n implements Plugin_2 {
|
|
|
1028
1028
|
timeline_aria_label: string;
|
|
1029
1029
|
unmute: string;
|
|
1030
1030
|
volume: string;
|
|
1031
|
+
options: string;
|
|
1031
1032
|
close: string;
|
|
1032
1033
|
"skip-next": string;
|
|
1033
1034
|
"skip-prev": string;
|
|
@@ -1060,6 +1061,10 @@ declare class I18n implements Plugin_2 {
|
|
|
1060
1061
|
button_txt: string;
|
|
1061
1062
|
menu_title: string;
|
|
1062
1063
|
};
|
|
1064
|
+
spins: {
|
|
1065
|
+
more: string;
|
|
1066
|
+
less: string;
|
|
1067
|
+
};
|
|
1063
1068
|
};
|
|
1064
1069
|
init(config: Config, _root: never, video: Player): void;
|
|
1065
1070
|
/* Excluded from this release type: _nonLanguageFields */
|
package/plugins/endscreen.d.ts
CHANGED
|
@@ -932,6 +932,7 @@ declare class I18n implements Plugin_2 {
|
|
|
932
932
|
timeline_aria_label: string;
|
|
933
933
|
unmute: string;
|
|
934
934
|
volume: string;
|
|
935
|
+
options: string;
|
|
935
936
|
close: string;
|
|
936
937
|
"skip-next": string;
|
|
937
938
|
"skip-prev": string;
|
|
@@ -964,6 +965,10 @@ declare class I18n implements Plugin_2 {
|
|
|
964
965
|
button_txt: string;
|
|
965
966
|
menu_title: string;
|
|
966
967
|
};
|
|
968
|
+
spins: {
|
|
969
|
+
more: string;
|
|
970
|
+
less: string;
|
|
971
|
+
};
|
|
967
972
|
};
|
|
968
973
|
init(config: Config, _root: never, video: Player): void;
|
|
969
974
|
/* Excluded from this release type: _nonLanguageFields */
|
package/plugins/fas.d.ts
CHANGED
|
@@ -979,6 +979,7 @@ declare class I18n implements Plugin_2 {
|
|
|
979
979
|
timeline_aria_label: string;
|
|
980
980
|
unmute: string;
|
|
981
981
|
volume: string;
|
|
982
|
+
options: string;
|
|
982
983
|
close: string;
|
|
983
984
|
"skip-next": string;
|
|
984
985
|
"skip-prev": string;
|
|
@@ -1011,6 +1012,10 @@ declare class I18n implements Plugin_2 {
|
|
|
1011
1012
|
button_txt: string;
|
|
1012
1013
|
menu_title: string;
|
|
1013
1014
|
};
|
|
1015
|
+
spins: {
|
|
1016
|
+
more: string;
|
|
1017
|
+
less: string;
|
|
1018
|
+
};
|
|
1014
1019
|
};
|
|
1015
1020
|
init(config: Config, _root: never, video: Player): void;
|
|
1016
1021
|
/* Excluded from this release type: _nonLanguageFields */
|
|
@@ -1003,6 +1003,7 @@ declare class I18n implements Plugin_2 {
|
|
|
1003
1003
|
timeline_aria_label: string;
|
|
1004
1004
|
unmute: string;
|
|
1005
1005
|
volume: string;
|
|
1006
|
+
options: string;
|
|
1006
1007
|
close: string;
|
|
1007
1008
|
"skip-next": string;
|
|
1008
1009
|
"skip-prev": string;
|
|
@@ -1035,6 +1036,10 @@ declare class I18n implements Plugin_2 {
|
|
|
1035
1036
|
button_txt: string;
|
|
1036
1037
|
menu_title: string;
|
|
1037
1038
|
};
|
|
1039
|
+
spins: {
|
|
1040
|
+
more: string;
|
|
1041
|
+
less: string;
|
|
1042
|
+
};
|
|
1038
1043
|
};
|
|
1039
1044
|
init(config: Config, _root: never, video: Player): void;
|
|
1040
1045
|
/* Excluded from this release type: _nonLanguageFields */
|
package/plugins/ga4.d.ts
CHANGED
|
@@ -925,6 +925,7 @@ declare class I18n implements Plugin_2 {
|
|
|
925
925
|
timeline_aria_label: string;
|
|
926
926
|
unmute: string;
|
|
927
927
|
volume: string;
|
|
928
|
+
options: string;
|
|
928
929
|
close: string;
|
|
929
930
|
"skip-next": string;
|
|
930
931
|
"skip-prev": string;
|
|
@@ -957,6 +958,10 @@ declare class I18n implements Plugin_2 {
|
|
|
957
958
|
button_txt: string;
|
|
958
959
|
menu_title: string;
|
|
959
960
|
};
|
|
961
|
+
spins: {
|
|
962
|
+
more: string;
|
|
963
|
+
less: string;
|
|
964
|
+
};
|
|
960
965
|
};
|
|
961
966
|
init(config: Config, _root: never, video: Player): void;
|
|
962
967
|
/* Excluded from this release type: _nonLanguageFields */
|
package/plugins/gemius.d.ts
CHANGED
|
@@ -950,6 +950,7 @@ declare class I18n implements Plugin_2 {
|
|
|
950
950
|
timeline_aria_label: string;
|
|
951
951
|
unmute: string;
|
|
952
952
|
volume: string;
|
|
953
|
+
options: string;
|
|
953
954
|
close: string;
|
|
954
955
|
"skip-next": string;
|
|
955
956
|
"skip-prev": string;
|
|
@@ -982,6 +983,10 @@ declare class I18n implements Plugin_2 {
|
|
|
982
983
|
button_txt: string;
|
|
983
984
|
menu_title: string;
|
|
984
985
|
};
|
|
986
|
+
spins: {
|
|
987
|
+
more: string;
|
|
988
|
+
less: string;
|
|
989
|
+
};
|
|
985
990
|
};
|
|
986
991
|
init(config: Config, _root: never, video: Player): void;
|
|
987
992
|
/* Excluded from this release type: _nonLanguageFields */
|
|
@@ -925,6 +925,7 @@ declare class I18n implements Plugin_2 {
|
|
|
925
925
|
timeline_aria_label: string;
|
|
926
926
|
unmute: string;
|
|
927
927
|
volume: string;
|
|
928
|
+
options: string;
|
|
928
929
|
close: string;
|
|
929
930
|
"skip-next": string;
|
|
930
931
|
"skip-prev": string;
|
|
@@ -957,6 +958,10 @@ declare class I18n implements Plugin_2 {
|
|
|
957
958
|
button_txt: string;
|
|
958
959
|
menu_title: string;
|
|
959
960
|
};
|
|
961
|
+
spins: {
|
|
962
|
+
more: string;
|
|
963
|
+
less: string;
|
|
964
|
+
};
|
|
960
965
|
};
|
|
961
966
|
init(config: Config, _root: never, video: Player): void;
|
|
962
967
|
/* Excluded from this release type: _nonLanguageFields */
|