@castlabs/prestoplay 6.23.1 → 6.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/cjs/cl.adobe.js +3 -3
  3. package/cjs/cl.airplay.js +3 -3
  4. package/cjs/cl.broadpeak.js +7 -7
  5. package/cjs/cl.cast.js +116 -116
  6. package/cjs/cl.conviva.js +32 -32
  7. package/cjs/cl.core.js +607 -591
  8. package/cjs/cl.crypto.js +9 -9
  9. package/cjs/cl.dash.js +88 -86
  10. package/cjs/cl.externs.js +105 -54
  11. package/cjs/cl.freewheel.js +25 -24
  12. package/cjs/cl.hls.js +77 -71
  13. package/cjs/cl.hlssmpte.js +6 -6
  14. package/cjs/cl.htmlcue.js +30 -30
  15. package/cjs/cl.ima.js +24 -23
  16. package/cjs/cl.mse.js +352 -342
  17. package/cjs/cl.muxdata.js +15 -15
  18. package/cjs/cl.onboard.js +3 -3
  19. package/cjs/cl.persistent.js +15 -14
  20. package/cjs/cl.playlist.js +6 -6
  21. package/cjs/cl.sessions.js +16 -16
  22. package/cjs/cl.simid.js +15 -15
  23. package/cjs/cl.smooth.js +72 -72
  24. package/cjs/cl.thumbnails.js +26 -26
  25. package/cjs/cl.tizen.js +72 -72
  26. package/cjs/cl.ttml.js +29 -29
  27. package/cjs/cl.verimatrix.js +5 -5
  28. package/cjs/cl.vimond.js +12 -12
  29. package/cjs/cl.vr.js +19 -19
  30. package/cjs/cl.vtt.js +14 -14
  31. package/cjs/cl.yospace.js +4 -4
  32. package/cjs/cl.youbora.js +37 -37
  33. package/cl.adobe.js +3 -3
  34. package/cl.airplay.js +3 -3
  35. package/cl.broadpeak.js +5 -5
  36. package/cl.cast.js +88 -88
  37. package/cl.conviva.js +27 -27
  38. package/cl.core.js +491 -478
  39. package/cl.crypto.js +9 -9
  40. package/cl.dash.js +82 -80
  41. package/cl.externs.js +105 -54
  42. package/cl.freewheel.js +19 -19
  43. package/cl.hls.js +79 -74
  44. package/cl.hlssmpte.js +5 -5
  45. package/cl.htmlcue.js +26 -26
  46. package/cl.ima.js +18 -17
  47. package/cl.mse.js +310 -306
  48. package/cl.muxdata.js +13 -13
  49. package/cl.onboard.js +4 -4
  50. package/cl.persistent.js +10 -10
  51. package/cl.playlist.js +5 -5
  52. package/cl.sessions.js +10 -10
  53. package/cl.simid.js +13 -13
  54. package/cl.smooth.js +60 -59
  55. package/cl.thumbnails.js +19 -19
  56. package/cl.tizen.js +57 -57
  57. package/cl.ttml.js +22 -22
  58. package/cl.verimatrix.js +4 -4
  59. package/cl.vimond.js +8 -8
  60. package/cl.vr.js +14 -14
  61. package/cl.vtt.js +12 -12
  62. package/cl.yospace.js +3 -3
  63. package/cl.youbora.js +28 -28
  64. package/package.json +1 -1
  65. package/typings.d.ts +54 -25
package/cl.muxdata.js CHANGED
@@ -1,13 +1,13 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var VA=function(a){switch(a.type){case 1:return SA;case 2:return TA;case 3:return UA}},XA=function(a){const b=Object.keys(a).find(c=>WA.includes(c.toLowerCase()));return void 0!==b?a[b]:void 0},ZA=function(a){let b={debug:!0,data:YA(a)};a.f&&a.f.muxOptionsOverride&&_.ch(a.f.muxOptionsOverride)&&(b=_.Zg(b,a.f.muxOptionsOverride));b=_.Zg(b,{getPlayheadTime:()=>1E3*a.m.getPosition(),getStateData:()=>{{a.g.debug("getStateData()");var c=a.m.getLoadedSource(),d=a.m.getTrackManager();const f=
2
- a.m.getSurface();var e={player_is_paused:a.m.isPaused(),player_is_fullscreen:f.isFullscreen(),video_source_duration:1E3*a.m.getDuration(),player_autoplay_on:!!a.m.getConfiguration().autoplay};if(c){const k=new _.sm(c.url);e.video_source_url=_.Tj(k);e.video_source_mime_type=c.type;c.name&&(e.video_title=c.name)}if(c=f.getContainer())e.player_width=c.offsetWidth,e.player_height=c.offsetHeight;(c=a.m.getSurface().getMedia())?c={videoWidth:c.videoWidth,videoHeight:c.videoHeight}:(c=a.m.getTrackManager().la(),
3
- c={videoWidth:c.width,videoHeight:c.height});const {videoWidth:g,videoHeight:h}=c;a.g.debug(`Video dimensions: ${g}x${h}`);g&&h&&(e.video_source_height=g,e.video_source_width=h);(d=d.oa())&&d.language&&(e.player_language_code=d.language)}return e}});a.g.debug("Mux SDK options",b);return b},$A=function(a){_.Ah(a.a);a.j.od(a.F);a.j.Qe(a.C)},YA=function(a){const b={env_key:a.f.envKey,video_title:a.o&&a.o.name||"",player_name:_.qa,player_software_name:_.qa,player_software_version:_.ea,player_mux_plugin_name:"CastlabsPlayer built-in Mux Plugin",
4
- player_mux_plugin_version:_.ea};(a=a.m.getConfiguration().viewerId)&&(b.viewer_user_id=a);return b},aB=function(a){a.a.on(a.m,_.bg,()=>{const b={player_playhead_time:1E3*a.m.getPosition()};a.emit(_.bg,b)});a.a.on(a.m,_.Ze,()=>a.emit(_.Ze));a.a.on(a.m,_.Tc,a.G.bind(a));a.a.on(a.m,_.Sf,a.I.bind(a));a.a.on(a.m,_.lg,()=>a.emit(_.Kf));a.a.on(a.m,_.kg,()=>a.emit(_.Jf));a.a.on(a.m,_.r,a.H.bind(a));a.a.on(a.m,_.cc,()=>a.emit("adbreakstart"));a.a.on(a.m,_.ec,()=>a.emit("adbreakend"));a.a.on(a.m,_.uc,()=>{a.emit("adplay");
5
- a.emit("adplaying")});a.a.on(a.m,_.pc,()=>a.emit("adpause"));a.a.on(a.m,_.rc,()=>{a.emit("adplay");a.emit("adplaying")});a.a.on(a.m,_.xc,()=>a.emit("adended"));a.a.on(a.m,_.ic,()=>a.emit("adfirstquartile"));a.a.on(a.m,_.oc,()=>a.emit("admidpoint"));a.a.on(a.m,_.yc,()=>a.emit("adthirdquartile"));a.j.xc(a.F);a.j.fe(a.C);a.a.on(a.m,_.r,b=>{if((b=b.detail)&&1===b.category){var c=b.data;c=c&&c.request;if(void 0!==c&&!0===(1===c.type||2===c.type||3===c.type))if(7001===b.code){b=c;c=b.requestStartTimestamp;
6
- var d=new _.sm(b.uris[b.uriIndex]);b={request_start:c,request_type:VA(b),request_hostname:d.a};a.g.debug("onRequestCanceled()","Track event: requestcanceled",b);a.emit("requestcanceled",b)}else{{d=c.requestStartTimestamp;const f=new _.sm(c.uris[c.uriIndex]);var e=b.data;e=void 0===e?-1:void 0!==e.response?e.response.status:void 0!==e.status?e.status:-1;b={request_start:d,request_type:VA(c),request_hostname:f.a,request_error:`${VA(c)}${"LoadError"}`,request_error_code:e,request_error_text:b.toString()};
7
- a.g.debug("onRequestFailed()","Track event: requestfailed",b);a.emit("requestfailed",b)}}}})},bB=function(a,b){a.trigger(new _.E(_.r,{detail:b}))},cB=function(a){return!_.B(a)&&typeof a.init===_.fe&&typeof a.emit===_.fe},SA="manifest",TA="media",UA="encryption",WA=["x-request-id","cf-ray","x-amz-cf-id","x-akamai-request-id"];var dB=class{constructor(a,b){this.m=a;this.o=this.f=null;this.B=("000000"+(Math.random()*Math.pow(36,6)<<0).toString(36)).slice(-6);this.a=new _.xt;this.g=b;this.A=this.l=this.h=!1;this.w=null;this.j=a.getNetworkEngine();this.F=this.J.bind(this);this.C=this.K.bind(this)}initialize(a,b,c){this.f=a;this.o=b;this.w=c;if(!this.h){try{this.h=!0,this.w.init(this.B,ZA(this))}catch(d){throw this.h=!1,$A(this),new _.H(1,9,9302,null,d);}this.emit("playerready")}this.l&&!this.A&&(a=YA(this),this.emit("videochange",
8
- a),this.l=!1);aB(this)}release(){this.g.debug("release()");this.l?this.g.debug(_.ia):($A(this),this.l=!0,this.o=this.f=null)}destroy(){this.g.debug(_.Jd);this.A?this.g.debug(_.ha):(this.A=!0,this.emit("destroy"))}emit(a,b){if(null===this.w)throw new _.H(1,9,9301);this.w.emit(this.B,a,b)}G(a){this.g.debug(_.Le);var b=a.detail;a=this.m.getTrackManager();b&&b.bandwidth&&(b=b.bandwidth,(a=a.Wa())&&a.bandwidth&&(b+=a.bandwidth),this.emit("renditionchange",{video_source_bitrate:b}))}I(a){this.g.debug(_.Qe);
9
- switch(a.detail.currentState){case _.Zo:this.m.getConfiguration().autoplay&&this.emit(_.Ze);break;case _.ap:this.emit(_.kf);break;case _.$o:this.emit(_.Ve);break;case _.Qo:this.emit(_.be)}}H(a){this.g.debug(_.Ne);if(this.h&&(a=a.detail||null))if(10003===a.code)this.emit("aderror");else if(a.severity===_.F){var b=a.message||"Player error";if(1===a.category||6100===a.code||6007===a.code)b="Download error",6100===a.code?b="Certificate request error":6007===a.code&&(b="License request error"),b=`${b} castlabs-error-data:${JSON.stringify(a.data)}`;
10
- this.emit(_.r,{player_error_code:a.code,player_error_message:b})}}J(a){var b=a.request;if(b=void 0!==b&&!0===(1===b.type||2===b.type||3===b.type))b=a.status,b=void 0!==b&&200<=b&&299>=b;if(b){{b=a.request;const e=a.headers,f=b.bytesLoaded,g=b.requestStartTimestamp;var c=b.startTime,d=b.endTime;const h=g+a.responseStartMs;a=g+a.timeMs;c=c&&d?d-c:void 0;d=new _.sm(b.uris[b.uriIndex]);a={request_start:g,request_type:VA(b),request_hostname:d.a,request_id:XA(e),request_bytes_loaded:f,request_response_start:h,
11
- request_response_end:a,request_response_headers:e,request_media_duration:c,request_url:_.Tj(d)};this.g.debug("onRequestCompleted()","Track event: requestcompleted",a);this.emit("requestcompleted",a)}}}K(a){a.requestStartTimestamp=Date.now()}};var eB=class extends _.Fv{constructor(){super();this.f=this.m=null;this.a=!1;this.g=new _.S("clpp.muxdata")}onPlayerCreated(a){this.m=a;this.f=new dB(a,this.g)}onContentWillLoad(a,b){var c=a.getConfiguration();c=_.$g(c.muxdata);try{var d=[];typeof c===_.Ke&&(c.envKey||d.push("envKey"));if(0<d.length)throw new _.H(1,9,9300,{missingKeys:d});{const f=a.getConfiguration();d=null;if(this.a=!_.B(f.muxdata)&&typeof f.muxdata===_.Ke){const g=f.muxdata;d=cB(g.muxLib)?g.muxLib:window.mux;if(!cB(d)){this.g.warn("Mux SDK is not loaded. Will do nothing.");
12
- this.a=!1;const h=new _.H(1,9,9301);bB(a,h)}}else this.g.debug("Mux plugin is loaded but not configured. Will do nothing.");var e=d}null!==e&&this.f.initialize(c,b,e)}catch(f){this.a=!1,bB(a,f)}}onContentLoaded(){}onPlayerWillDestroy(){this.a&&(this.f.destroy(),this.m=this.f=null)}onPlayerWillRelease(){this.a&&this.f.release()}id(){return"mux"}emit(a,b){try{this.f.emit(a,b)}catch(c){throw null!==this.m&&bB(this.m,c),c;}}};_.z("clpp.muxdata.MuxDataPlugin",eB);eB.prototype.emit=eB.prototype.emit;
13
- eB.Id="mux";_.ur(new class{create(){return new eB}});};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var oB=function(a){switch(a.type){case 1:return lB;case 2:return mB;case 3:return nB}},qB=function(a){const b=Object.keys(a).find(c=>pB.includes(c.toLowerCase()));return void 0!==b?a[b]:void 0},sB=function(a){let b={debug:!0,data:rB(a)};a.f&&a.f.muxOptionsOverride&&_.ph(a.f.muxOptionsOverride)&&(b=_.lh(b,a.f.muxOptionsOverride));b=_.lh(b,{getPlayheadTime:()=>1E3*a.m.getPosition(),getStateData:()=>{{a.g.debug("getStateData()");var c=a.m.getLoadedSource(),d=a.m.getTrackManager();const f=
2
+ a.m.getSurface();var e={player_is_paused:a.m.isPaused(),player_is_fullscreen:f.isFullscreen(),video_source_duration:1E3*a.m.getDuration(),player_autoplay_on:!!a.m.getConfiguration().autoplay};if(c){const k=new _.Bm(c.url);e.video_source_url=_.Zj(k);e.video_source_mime_type=c.type;c.name&&(e.video_title=c.name)}if(c=f.getContainer())e.player_width=c.offsetWidth,e.player_height=c.offsetHeight;(c=a.m.getSurface().getMedia())?c={videoWidth:c.videoWidth,videoHeight:c.videoHeight}:(c=a.m.getTrackManager().oa(),
3
+ c={videoWidth:c.width,videoHeight:c.height});const {videoWidth:g,videoHeight:h}=c;a.g.debug(`Video dimensions: ${g}x${h}`);g&&h&&(e.video_source_height=g,e.video_source_width=h);(d=d.ra())&&d.language&&(e.player_language_code=d.language)}return e}});a.g.debug("Mux SDK options",b);return b},tB=function(a){_.Th(a.a);a.j.vd(a.F);a.j.We(a.C)},rB=function(a){const b={env_key:a.f.envKey,video_title:a.o&&a.o.name||"",player_name:_.qa,player_software_name:_.qa,player_software_version:_.ea,player_mux_plugin_name:"CastlabsPlayer built-in Mux Plugin",
4
+ player_mux_plugin_version:_.ea};(a=a.m.getConfiguration().viewerId)&&(b.viewer_user_id=a);return b},uB=function(a){a.a.on(a.m,_.og,()=>{const b={player_playhead_time:1E3*a.m.getPosition()};a.emit(_.og,b)});a.a.on(a.m,_.gf,()=>a.emit(_.gf));a.a.on(a.m,_.Zc,a.G.bind(a));a.a.on(a.m,_.$f,a.I.bind(a));a.a.on(a.m,_.Cg,()=>a.emit(_.Sf));a.a.on(a.m,_.Bg,()=>a.emit(_.Rf));a.a.on(a.m,_.q,a.H.bind(a));a.a.on(a.m,_.jc,()=>a.emit("adbreakstart"));a.a.on(a.m,_.kc,()=>a.emit("adbreakend"));a.a.on(a.m,_.zc,()=>{a.emit("adplay");
5
+ a.emit("adplaying")});a.a.on(a.m,_.vc,()=>a.emit("adpause"));a.a.on(a.m,_.xc,()=>{a.emit("adplay");a.emit("adplaying")});a.a.on(a.m,_.Cc,()=>a.emit("adended"));a.a.on(a.m,_.oc,()=>a.emit("adfirstquartile"));a.a.on(a.m,_.uc,()=>a.emit("admidpoint"));a.a.on(a.m,_.Dc,()=>a.emit("adthirdquartile"));a.j.Ec(a.F);a.j.me(a.C);a.a.on(a.m,_.q,b=>{if((b=b.detail)&&1===b.category){var c=b.data;c=c&&c.request;if(void 0!==c&&!0===(1===c.type||2===c.type||3===c.type))if(7001===b.code){b=c;c=b.requestStartTimestamp;
6
+ var d=new _.Bm(b.uris[b.uriIndex]);b={request_start:c,request_type:oB(b),request_hostname:d.a};a.g.debug("onRequestCanceled()","Track event: requestcanceled",b);a.emit("requestcanceled",b)}else{{d=c.requestStartTimestamp;const f=new _.Bm(c.uris[c.uriIndex]);var e=b.data;e=void 0===e?-1:void 0!==e.response?e.response.status:void 0!==e.status?e.status:-1;b={request_start:d,request_type:oB(c),request_hostname:f.a,request_error:`${oB(c)}${"LoadError"}`,request_error_code:e,request_error_text:b.toString()};
7
+ a.g.debug("onRequestFailed()","Track event: requestfailed",b);a.emit("requestfailed",b)}}}})},vB=function(a,b){a.trigger(new _.D(_.q,{detail:b}))},wB=function(a){return!_.B(a)&&typeof a.init===_.ne&&typeof a.emit===_.ne},lB="manifest",mB="media",nB="encryption",pB=["x-request-id","cf-ray","x-amz-cf-id","x-akamai-request-id"];var xB=class{constructor(a,b){this.m=a;this.o=this.f=null;this.B=("000000"+(Math.random()*Math.pow(36,6)<<0).toString(36)).slice(-6);this.a=new _.St;this.g=b;this.A=this.l=this.h=!1;this.w=null;this.j=a.getNetworkEngine();this.F=this.J.bind(this);this.C=this.K.bind(this)}initialize(a,b,c){this.f=a;this.o=b;this.w=c;if(!this.h){try{this.h=!0,this.w.init(this.B,sB(this))}catch(d){throw this.h=!1,tB(this),new _.I(1,9,9302,null,d);}this.emit("playerready")}this.l&&!this.A&&(a=rB(this),this.emit("videochange",
8
+ a),this.l=!1);uB(this)}release(){this.g.debug("release()");this.l?this.g.debug(_.ia):(tB(this),this.l=!0,this.o=this.f=null)}destroy(){this.g.debug(_.Qd);this.A?this.g.debug(_.ha):(this.A=!0,this.emit("destroy"))}emit(a,b){if(null===this.w)throw new _.I(1,9,9301);this.w.emit(this.B,a,b)}G(a){this.g.debug(_.Te);var b=a.detail;a=this.m.getTrackManager();b&&b.bandwidth&&(b=b.bandwidth,(a=a.Ra())&&a.bandwidth&&(b+=a.bandwidth),this.emit("renditionchange",{video_source_bitrate:b}))}I(a){this.g.debug(_.Ye);
9
+ switch(a.detail.currentState){case _.ip:this.m.getConfiguration().autoplay&&this.emit(_.gf);break;case _.kp:this.emit(_.sf);break;case _.jp:this.emit(_.cf);break;case _.$o:this.emit(_.je)}}H(a){this.g.debug(_.Ve);if(this.h&&(a=a.detail||null))if(10003===a.code)this.emit("aderror");else if(a.severity===_.F){var b=a.message||"Player error";if(1===a.category||6100===a.code||6007===a.code)b="Download error",6100===a.code?b="Certificate request error":6007===a.code&&(b="License request error"),b=`${b} castlabs-error-data:${JSON.stringify(a.data)}`;
10
+ this.emit(_.q,{player_error_code:a.code,player_error_message:b})}}J(a){var b=a.request;if(b=void 0!==b&&!0===(1===b.type||2===b.type||3===b.type))b=a.status,b=void 0!==b&&200<=b&&299>=b;if(b){{b=a.request;const e=a.headers,f=b.bytesLoaded,g=b.requestStartTimestamp;var c=b.startTime,d=b.endTime;const h=g+a.responseStartMs;a=g+a.timeMs;c=c&&d?d-c:void 0;d=new _.Bm(b.uris[b.uriIndex]);a={request_start:g,request_type:oB(b),request_hostname:d.a,request_id:qB(e),request_bytes_loaded:f,request_response_start:h,
11
+ request_response_end:a,request_response_headers:e,request_media_duration:c,request_url:_.Zj(d)};this.g.debug("onRequestCompleted()","Track event: requestcompleted",a);this.emit("requestcompleted",a)}}}K(a){a.requestStartTimestamp=Date.now()}};var yB=class extends _.Zv{constructor(){super();this.f=this.m=null;this.a=!1;this.g=new _.S("clpp.muxdata")}onPlayerCreated(a){this.m=a;this.f=new xB(a,this.g)}onContentWillLoad(a,b){var c=a.getConfiguration();c=_.mh(c.muxdata);try{var d=[];typeof c===_.Se&&(c.envKey||d.push("envKey"));if(0<d.length)throw new _.I(1,9,9300,{missingKeys:d});{const f=a.getConfiguration();d=null;if(this.a=!_.B(f.muxdata)&&typeof f.muxdata===_.Se){const g=f.muxdata;d=wB(g.muxLib)?g.muxLib:window.mux;if(!wB(d)){this.g.warn("Mux SDK is not loaded. Will do nothing.");
12
+ this.a=!1;const h=new _.I(1,9,9301);vB(a,h)}}else this.g.debug("Mux plugin is loaded but not configured. Will do nothing.");var e=d}null!==e&&this.f.initialize(c,b,e)}catch(f){this.a=!1,vB(a,f)}}onContentLoaded(){}onPlayerWillDestroy(){this.a&&(this.f.destroy(),this.m=this.f=null)}onPlayerWillRelease(){this.a&&this.f.release()}id(){return"mux"}emit(a,b){try{this.f.emit(a,b)}catch(c){throw null!==this.m&&vB(this.m,c),c;}}};_.z("clpp.muxdata.MuxDataPlugin",yB);yB.prototype.emit=yB.prototype.emit;
13
+ yB.Id="mux";_.Nr(new class{create(){return new yB}});};f.call(g, window);
package/cl.onboard.js CHANGED
@@ -1,4 +1,4 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var RA=function(a,b){let c=b.baseUrl;_.Zi(c,"/")||(c+="/");const d=g=>g&&(_.Yi(g,"https://")||_.Yi(g,"http://")||_.Yi(g,"//"))?g:`${c}${g}`,e=d(b.widevineUrl||"widevine"),f=d(b.playreadyUrl||"playready");b=d(b.fairplayUrl||"fairplay");a=new _.ou(a);a.Ya(_.Cd,{licenseUrl:e,videoRobustness:[_.Cb,void 0],audioRobustness:[_.Bb,void 0],persistentStateRequired:!1,distinctiveIdentifierRequired:!1,serverCertificate:null,modifiers:{licenseRequest:_.Km,licenseResponse:_.Lm}});a.Ya(_.wd,{licenseUrl:b,
2
- certificateUrl:b,modifiers:{licenseRequest:_.Nm,licenseResponse:_.Om,extractContentId:_.Pm,certificateRequest:_.Qm}});a.Ya(_.Ad,{licenseUrl:f,modifiers:{licenseRequest:_.Km}});_.Xl(a)};
3
- _.z("clpp.onboard.OnboardComponent",class extends _.pv{constructor(){super();this.g=new _.S("clpp.onboard");this.j=new Set}a(){for(const a of this.j)delete _.Wl[a];this.j.clear()}h(a){a=a.getConfiguration().drm;var b;if(b=!(!a||!a.env))b=a&&a.customData,b=!(!b||!b.baseUrl);b&&(b=a.env,a=a.customData,a={baseUrl:a.baseUrl,widevineUrl:a.widevineUrl,playreadyUrl:a.playreadyUrl,fairplayUrl:a.fairplayUrl},this.g.info(`Registering the DRMtoday Onboard environment, name='${b}'`),RA(b,a),this.j.add(b))}id(){return"onboard"}});
4
- _.z("clpp.onboard.register",RA);};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var kB=function(a,b){let c=b.baseUrl;_.qj(c,"/")||(c+="/");const d=g=>g&&(_.pj(g,"https://")||_.pj(g,"http://")||_.pj(g,"//"))?g:`${c}${g}`,e=d(b.widevineUrl||"widevine"),f=d(b.playreadyUrl||"playready");b=d(b.fairplayUrl||"fairplay");a=new _.Iu(a);a.cb(_.Jd,{licenseUrl:e,videoRobustness:[_.Db,void 0],audioRobustness:[_.Cb,void 0],persistentStateRequired:!1,distinctiveIdentifierRequired:!1,serverCertificate:null,modifiers:{licenseRequest:_.Tm,licenseResponse:_.Um}});a.cb(_.Ed,{licenseUrl:b,
2
+ certificateUrl:b,modifiers:{licenseRequest:_.Wm,licenseResponse:_.Xm,extractContentId:_.Ym,certificateRequest:_.Zm}});a.cb(_.Hd,{licenseUrl:f,modifiers:{licenseRequest:_.Tm}});_.fm(a)};
3
+ _.z("clpp.onboard.OnboardComponent",class extends _.Kv{constructor(){super();this.g=new _.S("clpp.onboard");this.j=new Set}a(){for(const a of this.j)delete _.em[a];this.j.clear()}h(a){a=a.getConfiguration().drm;var b;if(b=!(!a||!a.env))b=a&&a.customData,b=!(!b||!b.baseUrl);b&&(b=a.env,a=a.customData,a={baseUrl:a.baseUrl,widevineUrl:a.widevineUrl,playreadyUrl:a.playreadyUrl,fairplayUrl:a.fairplayUrl},this.g.info(`Registering the DRMtoday Onboard environment, name='${b}'`),kB(b,a),this.j.add(b))}id(){return"onboard"}});
4
+ _.z("clpp.onboard.register",kB);};f.call(g, window);
package/cl.persistent.js CHANGED
@@ -1,11 +1,11 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var BA="A persistent DRM session already exists for: ",CA="No DRM configuration.",DA="clpp.persistent",EA="clpp.persistent.SimpleSessionStorage",FA=function(a,b){const c=[];for(const d of a)c.push(b(d));return c},HA=function(a,b,c,d,e,f){a.K=GA;const g=new Map,h=_.Fn(b);g.set(h,{audioCapabilities:e,videoCapabilities:f,distinctiveIdentifier:_.Se,persistentState:_.Cf,sessionTypes:[_.Xe],label:h,drmInfos:[{keySystem:b,licenseServerUri:c,distinctiveIdentifierRequired:!1,persistentStateRequired:!0,
2
- audioRobustness:"",videoRobustness:"",serverCertificate:d,initData:null,keyIds:null}]});return _.Xn(a,g)},JA=function(a,b){a.K=IA;a.L=[];a.G=!0;return _.Yn(a,b)},KA=function(a,b){return _.x(function*(){const c=yield _.po(a,b);if(c){var d=[],e=a.h.get(c);e&&a.C&&(e.ec=new _.hn,d.push(e.ec));a.g.debug("Attempting to remove session",b);d.push(c.remove());return Promise.all(d)}a.g.debug("Ignoring attempt to remove missing session",b)})},LA=function(a){a=a.h.keys();a=FA(a,b=>b.sessionId);return Array.from(a)},
3
- MA=function(a,b){const c=_.Zl(a),d=_.Gl({drm:a});d.drm=a;a=new _.jp({rb:b,onError:()=>{},Ge:()=>{},Fe:()=>{},onEvent:()=>{},getConfiguration:()=>d,Hc:()=>null});a.f=c;return a},PA=function(a,b,c){return _.x(function*(){const d=NA;if(a){var e=a.offlineId;if(0!==e.length){var f=yield d.get(e);if(f)OA.debug(BA,e);else{var g=MA(a,c);try{yield JA(g,b);yield _.no(g);yield _.qo(g);const h=g.getDrmInfo(),k=b.map(l=>({contentType:_.vk(l.video.mimeType,l.video.codecs),robustness:h.videoRobustness}));f={sessionIds:LA(g),
4
- keySystem:h.keySystem,licenseServerUri:h.licenseServerUri,serverCertificate:h.serverCertificate,audioCapabilities:[],videoCapabilities:k,drmConfig:a};yield d.store(e,f)}catch(h){throw OA.error(`Error while persisting DRM session ${e}`),new _.H(1,6,6200,null,h);}finally{yield g.destroy()}}}}else OA.debug(CA)})},IA=1,GA=2,QA=class{constructor(){this.g=new _.S(EA)}store(a,b){return _.x(function*(){{var c=JSON.stringify(b.sessionIds);var d=b.serverCertificate?Array.from(b.serverCertificate):null;d=JSON.stringify(d);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var VA="A persistent DRM session already exists for: ",WA="No DRM configuration.",XA="clpp.persistent",YA="clpp.persistent.SimpleSessionStorage",ZA=function(a,b){const c=[];for(const d of a)c.push(b(d));return c},aB=function(a,b,c,d,e,f){a.K=$A;const g=new Map,h=_.Pn(b);g.set(h,{audioCapabilities:e,videoCapabilities:f,distinctiveIdentifier:_.$e,persistentState:_.Kf,sessionTypes:[_.ef],label:h,drmInfos:[{keySystem:b,licenseServerUri:c,distinctiveIdentifierRequired:!1,persistentStateRequired:!0,
2
+ audioRobustness:"",videoRobustness:"",serverCertificate:d,initData:null,keyIds:null}]});return _.ho(a,g)},cB=function(a,b){a.K=bB;a.L=[];a.G=!0;return _.io(a,b)},dB=function(a,b){return _.x(function*(){const c=yield _.zo(a,b);if(c){var d=[],e=a.h.get(c);e&&a.C&&(e.kc=new _.rn,d.push(e.kc));a.g.debug("Attempting to remove session",b);d.push(c.remove());return Promise.all(d)}a.g.debug("Ignoring attempt to remove missing session",b)})},eB=function(a){a=a.h.keys();a=ZA(a,b=>b.sessionId);return Array.from(a)},
3
+ fB=function(a,b){const c=_.hm(a),d=_.Il({drm:a});d.drm=a;a=new _.rp({yb:b,onError:()=>{},Ne:()=>{},Me:()=>{},onEvent:()=>{},getConfiguration:()=>d,Oc:()=>null});a.f=c;return a},iB=function(a,b,c){return _.x(function*(){const d=gB;if(a){var e=a.offlineId;if(0!==e.length){var f=yield d.get(e);if(f)hB.debug(VA,e);else{var g=fB(a,c);try{yield cB(g,b);yield _.xo(g);yield _.Ao(g);const h=g.getDrmInfo(),k=b.map(l=>({contentType:_.Bk(l.video.mimeType,l.video.codecs),robustness:h.videoRobustness}));f={sessionIds:eB(g),
4
+ keySystem:h.keySystem,licenseServerUri:h.licenseServerUri,serverCertificate:h.serverCertificate,audioCapabilities:[],videoCapabilities:k,drmConfig:a};yield d.store(e,f)}catch(h){throw hB.error(`Error while persisting DRM session ${e}`),new _.I(1,6,6200,null,h);}finally{yield g.destroy()}}}}else hB.debug(WA)})},bB=1,$A=2,jB=class{constructor(){this.g=new _.S(YA)}store(a,b){return _.x(function*(){{var c=JSON.stringify(b.sessionIds);var d=b.serverCertificate?Array.from(b.serverCertificate):null;d=JSON.stringify(d);
5
5
  const e=JSON.stringify(b.audioCapabilities),f=JSON.stringify(b.videoCapabilities);c=JSON.stringify({sessionIds:c,keySystem:b.keySystem,licenseServerUri:encodeURIComponent(b.licenseServerUri),serverCertificate:d,audioCapabilities:e,videoCapabilities:f,drmConfig:JSON.stringify(b.drmConfig)})}window.localStorage.setItem(encodeURIComponent(a),btoa(c))})}get(a){const b=this;return _.x(function*(){const c=window.localStorage.getItem(encodeURIComponent(a));if(c)try{{const e=JSON.parse(atob(c)),f=JSON.parse(e.sessionIds),
6
- g=e.audioCapabilities||[],h=e.videoCapabilities||[],k=e.serverCertificate||[],l=e.drmConfig||{};var d={sessionIds:f,keySystem:e.keySystem,licenseServerUri:decodeURIComponent(e.licenseServerUri||""),serverCertificate:k?new Uint8Array(k):null,audioCapabilities:g,videoCapabilities:h,drmConfig:l}}return d}catch(e){b.g.warn(`Error while loading offline items for ${a} from storage: `,e)}return null})}delete(a){return _.x(function*(){window.localStorage.removeItem(encodeURIComponent(a))})}clear(){return _.x(function*(){window.localStorage.clear()})}getName(){return EA}};_.z("clpp.persistent.useStorage",function(a){{var b=["store","get","delete","clear","getName"];const c=[];_.B(a)||(_.dh(a.store)||c.push("store"),_.dh(a.get)||c.push("get"),_.dh(a.delete)||c.push("delete"),_.dh(a.clear)||c.push("clear"),_.dh(a.getName)||c.push("getName"),b=c)}if(0<b.length)throw OA.warn("Invalid session storage implementation"),new _.H(1,6,6202,{missingMethods:b});NA=a});
7
- _.z("clpp.persistent.fetchLicense",function(a,b,...c){return _.x(function*(){var d=NA,e=(l,m)=>new _.H(1,6,6200,l,m);const f=_.dp(a).shift();if(!f)throw e("No source specified.");if(!b)throw e(CA);var g=b.offlineId;if(typeof g!==_.Vf||!g.length)throw e("Missing offline id.");if(yield d.get(g))OA.debug(BA,g);else{var h=_.Gl();d=new _.lr;g=[];for(var k of c){const l=new k;_.Jl(l.id())||(l.f(),_.Ll(l),g.push(l))}k=null;try{k=yield _.Js(f.url,d,h.manifest.attemptParameters,f.type||null);k.configure(h.manifest);
8
- const l=yield k.start(f.url,{configurationId:"",networkingEngine:d,filterAllPeriods:()=>{},filterNewPeriod:()=>{},onEvent:()=>{},onError:()=>{}});if(!l.periods.length)throw e(null,new _.H(_.F,4,4014));const m=_.Hs(l.periods);yield PA(b,m,d)}catch(l){if(l instanceof _.H&&6200===l.code)throw l;throw e(null,l);}finally{for(;g.length;)e=g.shift(),e.a(),_.Il.delete(e.id());e=[];k&&e.push(k.stop());e.push(d.destroy());yield Promise.all(e)}}})});
9
- _.z("clpp.persistent.removeLicense",function(a){return _.x(function*(){var b=NA;if(_.fh(a)&&0!==a.length){var c=null,d=null;try{const e=yield b.get(a);e?(e.drmConfig.delayLicenseRequestUntilPlayed=!0,d=new _.lr,c=MA(e.drmConfig,d),yield HA(c,e.keySystem,e.licenseServerUri,e.serverCertificate,e.audioCapabilities,e.videoCapabilities),yield _.no(c),yield Promise.all(e.sessionIds.map(f=>_.x(function*(){yield KA(c,f);OA.debug("successfully removed session with id",f)}))),yield b.delete(a)):OA.debug("No persistent DRM session found")}catch(e){throw OA.error("Failed to remove session"),
10
- new _.H(1,6,6201,null,e);}finally{b=[],c&&b.push(c.destroy()),d&&b.push(d.destroy()),yield Promise.all(b)}}else OA.warn("Invalid offlineId")})});var NA=new QA,OA=new _.S(DA);_.z("clpp.persistent.PersistentLicenseComponent",class extends _.pv{constructor(){super();this.g=new _.S(DA)}id(){return _.We}l(a,b){const c=this;return _.x(function*(){const d=a.getConfiguration().drm;if(d){c.g.debug(`Persisting DRM session ID: ${d.offlineId}`);var e=a.getNetworkEngine();try{yield PA(d,b,e),a.trigger(new _.E(_.Vd,{offlineId:d.offlineId}))}catch(f){a.onError(f)}}else c.g.debug("No DRM configuration found for loaded source.")})}j(a){const b=this;return _.x(function*(){b.g.debug(`Getting EME session IDs for ${a}`);
11
- const c=NA;try{const d=yield c.get(a);if(d)return d.sessionIds||[];b.g.debug(`No offline session found for ${a}`);return[]}catch(d){return b.g.warn("Error while loading session info from storage"),[]}})}});};f.call(g, window);
6
+ g=e.audioCapabilities||[],h=e.videoCapabilities||[],k=e.serverCertificate||[],l=e.drmConfig||{};var d={sessionIds:f,keySystem:e.keySystem,licenseServerUri:decodeURIComponent(e.licenseServerUri||""),serverCertificate:k?new Uint8Array(k):null,audioCapabilities:g,videoCapabilities:h,drmConfig:l}}return d}catch(e){b.g.warn(`Error while loading offline items for ${a} from storage: `,e)}return null})}delete(a){return _.x(function*(){window.localStorage.removeItem(encodeURIComponent(a))})}clear(){return _.x(function*(){window.localStorage.clear()})}getName(){return YA}};_.z("clpp.persistent.useStorage",function(a){{var b=["store","get","delete","clear","getName"];const c=[];_.B(a)||(_.qh(a.store)||c.push("store"),_.qh(a.get)||c.push("get"),_.qh(a.delete)||c.push("delete"),_.qh(a.clear)||c.push("clear"),_.qh(a.getName)||c.push("getName"),b=c)}if(0<b.length)throw hB.warn("Invalid session storage implementation"),new _.I(1,6,6202,{missingMethods:b});gB=a});
7
+ _.z("clpp.persistent.fetchLicense",function(a,b,...c){return _.x(function*(){var d=gB,e=(l,m)=>new _.I(1,6,6200,l,m);const f=_.np(a).shift();if(!f)throw e("No source specified.");if(!b)throw e(WA);var g=b.offlineId;if(typeof g!==_.cg||!g.length)throw e("Missing offline id.");if(yield d.get(g))hB.debug(VA,g);else{var h=_.Il();d=new _.Er;g=[];for(var k of c){const l=new k;_.Ll(l.id())||(l.f(),_.Nl(l),g.push(l))}k=null;try{k=yield _.bt(f.url,d,h.manifest.attemptParameters,f.type||null);k.configure(h.manifest);
8
+ const l=yield k.start(f.url,{configurationId:"",networkingEngine:d,onContentSteeringInfoFound:()=>null,filterAllPeriods:()=>{},filterNewPeriod:()=>{},onEvent:()=>{},onError:()=>{}});if(!l.periods.length)throw e(null,new _.I(_.F,4,4014));const m=_.$s(l.periods);yield iB(b,m,d)}catch(l){if(l instanceof _.I&&6200===l.code)throw l;throw e(null,l);}finally{for(;g.length;)e=g.shift(),e.a(),_.Kl.delete(e.id());e=[];k&&e.push(k.stop());e.push(d.destroy());yield Promise.all(e)}}})});
9
+ _.z("clpp.persistent.removeLicense",function(a){return _.x(function*(){var b=gB;if(_.sh(a)&&0!==a.length){var c=null,d=null;try{const e=yield b.get(a);e?(e.drmConfig.delayLicenseRequestUntilPlayed=!0,d=new _.Er,c=fB(e.drmConfig,d),yield aB(c,e.keySystem,e.licenseServerUri,e.serverCertificate,e.audioCapabilities,e.videoCapabilities),yield _.xo(c),yield Promise.all(e.sessionIds.map(f=>_.x(function*(){yield dB(c,f);hB.debug("successfully removed session with id",f)}))),yield b.delete(a)):hB.debug("No persistent DRM session found")}catch(e){throw hB.error("Failed to remove session"),
10
+ new _.I(1,6,6201,null,e);}finally{b=[],c&&b.push(c.destroy()),d&&b.push(d.destroy()),yield Promise.all(b)}}else hB.warn("Invalid offlineId")})});_.z("clpp.persistent.getSessionStorage",function(){return gB});var gB=new jB,hB=new _.S(XA);_.z("clpp.persistent.PersistentLicenseComponent",class extends _.Kv{constructor(){super();this.g=new _.S(XA)}id(){return _.df}l(a,b){const c=this;return _.x(function*(){const d=a.getConfiguration().drm;if(d){c.g.debug(`Persisting DRM session ID: ${d.offlineId}`);var e=a.getNetworkEngine();try{yield iB(d,b,e),a.trigger(new _.D(_.ce,{offlineId:d.offlineId}))}catch(f){a.onError(f)}}else c.g.debug("No DRM configuration found for loaded source.")})}j(a){const b=this;return _.x(function*(){b.g.debug(`Getting EME session IDs for ${a}`);
11
+ const c=gB;try{const d=yield c.get(a);if(d)return d.sessionIds||[];b.g.debug(`No offline session found for ${a}`);return[]}catch(d){return b.g.warn("Error while loading session info from storage"),[]}})}});};f.call(g, window);
package/cl.playlist.js CHANGED
@@ -1,5 +1,5 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var yA=function(a,b){return 0<=b&&b<a.a.length},zA=function(a){a.trigger(new _.E(_.mf))},AA=class extends _.ju{on(a,b,c){return super.on(a,b,c)}one(a,b,c){return super.one(a,b,c)}off(a,b){return super.off(a,b)}constructor(a,b){b=void 0===b?()=>Promise.resolve():b;super();this.m=a;this.l=b;this.f=0;this.a=[];this.h=!1;this.j=this.sb.bind(this)}getPosition(){return this.f}kh(){return this.a}Yc(){return 0<this.a.length&&yA(this,this.f)?this.a[this.f]:null}lh(){const a=this.f+1;return 0<
2
- this.a.length&&yA(this,a)?this.a[a]:null}vh(){return this.h}start(){this.h||(this.h=!0,this.m.on(_.be,this.j),this.Hd(this.f,!0))}stop(){this.h=!1;this.m.off(_.be,this.j)}sb(){this.next()}next(){const a=this;return _.x(function*(){yield a.Hd(Math.min(a.a.length-1,a.f+1))})}Mh(){const a=this;return _.x(function*(){yield a.Hd(Math.max(0,a.f-1))})}Hd(a,b){b=void 0===b?!1:b;const c=this;return _.x(function*(){if(0<c.a.length&&yA(c,a)&&(b||c.f!==a)){c.f=a;var d=c.Yc();d&&(yield c.l(d),yield c.m.load(d.configuration),
3
- c.trigger(new _.E(_.lf,{item:d})))}})}append(a){this.a.push(a);zA(this)}uh(a,b){if(0<=b&&b<=this.a.length){const c=this.Yc();this.a.splice(b,0,a);c&&(this.f=this.a.indexOf(c));zA(this)}}remove(a){if(0<this.a.length&&yA(this,a)){if(this.f===a)throw Error("Can't remove the current item");this.a.splice(a,1);zA(this)}}clear(){this.stop();this.f=0;this.a=[];this.h=!1;zA(this)}};_.z("clpp.Playlist",AA);AA.prototype.clear=AA.prototype.clear;AA.prototype.remove=AA.prototype.remove;AA.prototype.insert=AA.prototype.uh;
4
- AA.prototype.append=AA.prototype.append;AA.prototype.goTo=AA.prototype.Hd;AA.prototype.previous=AA.prototype.Mh;AA.prototype.next=AA.prototype.next;AA.prototype.onEnded=AA.prototype.sb;AA.prototype.stop=AA.prototype.stop;AA.prototype.start=AA.prototype.start;AA.prototype.isStarted=AA.prototype.vh;AA.prototype.getUpcoming=AA.prototype.lh;AA.prototype.getCurrent=AA.prototype.Yc;AA.prototype.getQueue=AA.prototype.kh;AA.prototype.getPosition=AA.prototype.getPosition;AA.prototype.off=AA.prototype.off;
5
- AA.prototype.one=AA.prototype.one;AA.prototype.on=AA.prototype.on;};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var SA=function(a,b){return 0<=b&&b<a.a.length},TA=function(a){a.trigger(new _.D(_.uf))},UA=class extends _.Cu{on(a,b,c){return super.on(a,b,c)}one(a,b,c){return super.one(a,b,c)}off(a,b){return super.off(a,b)}constructor(a,b){b=void 0===b?()=>Promise.resolve():b;super();this.m=a;this.l=b;this.f=0;this.a=[];this.h=!1;this.j=this.Da.bind(this)}getPosition(){return this.f}wh(){return this.a}ed(){return 0<this.a.length&&SA(this,this.f)?this.a[this.f]:null}xh(){const a=this.f+1;return 0<
2
+ this.a.length&&SA(this,a)?this.a[a]:null}Ih(){return this.h}start(){this.h||(this.h=!0,this.m.on(_.je,this.j),this.Qd(this.f,!0))}stop(){this.h=!1;this.m.off(_.je,this.j)}Da(){this.next()}next(){const a=this;return _.x(function*(){yield a.Qd(Math.min(a.a.length-1,a.f+1))})}$h(){const a=this;return _.x(function*(){yield a.Qd(Math.max(0,a.f-1))})}Qd(a,b){b=void 0===b?!1:b;const c=this;return _.x(function*(){if(0<c.a.length&&SA(c,a)&&(b||c.f!==a)){c.f=a;var d=c.ed();d&&(yield c.l(d),yield c.m.load(d.configuration),
3
+ c.trigger(new _.D(_.tf,{item:d})))}})}append(a){this.a.push(a);TA(this)}Gh(a,b){if(0<=b&&b<=this.a.length){const c=this.ed();this.a.splice(b,0,a);c&&(this.f=this.a.indexOf(c));TA(this)}}remove(a){if(0<this.a.length&&SA(this,a)){if(this.f===a)throw Error("Can't remove the current item");this.a.splice(a,1);TA(this)}}clear(){this.stop();this.f=0;this.a=[];this.h=!1;TA(this)}};_.z("clpp.Playlist",UA);UA.prototype.clear=UA.prototype.clear;UA.prototype.remove=UA.prototype.remove;UA.prototype.insert=UA.prototype.Gh;
4
+ UA.prototype.append=UA.prototype.append;UA.prototype.goTo=UA.prototype.Qd;UA.prototype.previous=UA.prototype.$h;UA.prototype.next=UA.prototype.next;UA.prototype.onEnded=UA.prototype.Da;UA.prototype.stop=UA.prototype.stop;UA.prototype.start=UA.prototype.start;UA.prototype.isStarted=UA.prototype.Ih;UA.prototype.getUpcoming=UA.prototype.xh;UA.prototype.getCurrent=UA.prototype.ed;UA.prototype.getQueue=UA.prototype.wh;UA.prototype.getPosition=UA.prototype.getPosition;UA.prototype.off=UA.prototype.off;
5
+ UA.prototype.one=UA.prototype.one;UA.prototype.on=UA.prototype.on;};f.call(g, window);
package/cl.sessions.js CHANGED
@@ -1,10 +1,10 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var tz="apiUrl config is missing",uz=function(a,b){a.j=a.j.filter(c=>c!==b)},vz=function(a){let b=0>a;a=Math.abs(a);let c=a>>>0;a=Math.floor((a-c)/4294967296);a>>>=0;b&&(a=~a>>>0,c=(~c>>>0)+1,4294967295<c&&(c=0,a++,4294967295<a&&(a=0)));return[c,a]},Az=function(a,b,c,d){if(!(null===c||void 0===c||typeof c===_.t&&0===c||typeof c===_.Vf&&0===c.length||Array.isArray(c)&&0===c.length))if(Array.isArray(c)){wz(a,b<<3|2);b=new xz;for(let e=0;e<c.length;e++)d(b,c[e]);yz(a,b.length());zz(a,b.end())}else wz(a,
2
- b<<3|0),d(a,c)},yz=function(a,b){if(0<=b)wz(a,b);else{for(let c=0;9>c;c++)a.a.push(b&127|128),b>>=7;a.a.push(1)}},Bz=function(a,b,c){Az(a,b,c,(d,e)=>{yz(d,e)})},wz=function(a,b){for(;127<b;)a.a.push(b&127|128),b>>>=7;a.a.push(b)},Dz=function(a,b,c){Az(a,b,c,(d,e)=>{if(0<=e){{const [f,g]=vz(e);Cz(d,f,g)}}else{{const [f,g]=vz(e);Cz(d,f,g)}}})},Ez=function(a,b,c,d){if(!(null===c||void 0===c||typeof c===_.t&&0===c||typeof c===_.Vf&&0===c.length||Array.isArray(c)&&0===c.length))if(Array.isArray(c))for(let e=
3
- 0;e<c.length;e++){wz(a,b<<3|2);const f=new xz;d(f,c[e]);yz(a,f.length());zz(a,f.end())}else wz(a,b<<3|2),b=new xz,d(b,c),yz(a,b.length()),zz(a,b.end())},Fz=function(a,b,c){Ez(a,b,c,(d,e)=>{for(let f=0;f<e.length;f++){let g=e.charCodeAt(f);if(128>g)d.a.push(g);else if(2048>g)d.a.push(g>>6|192),d.a.push(g&63|128);else if(65536>g)if(55296<=g&&56319>=g&&f+1<e.length){let h=e.charCodeAt(f+1);56320<=h&&57343>=h&&(g=1024*(g-55296)+h-56320+65536,d.a.push(g>>18|240),d.a.push(g>>12&63|128),d.a.push(g>>6&63|
4
- 128),d.a.push(g&63|128),f++)}else d.a.push(g>>12|224),d.a.push(g>>6&63|128),d.a.push(g&63|128)}})},zz=function(a,b){a.a.push.apply(a.a,b)},Gz=function(a,b,c){Ez(a,b,c,(d,e)=>{zz(d,e.a())})},Hz=function(a,b,c){Ez(a,b,c,(d,e)=>{zz(d,e)})},Cz=function(a,b,c){for(;0<c||127<b;)a.a.push(b&127|128),b=(b>>>7|c<<25)>>>0,c>>>=7;a.a.push(b)},Jz=function(a){const b=new Iz;b.h=Math.floor(a/1E3);b.f=a%1E3*1E6;return b},Nz=function(a){return _.x(function*(){if(!a.j&&!a.f){0===a.a.length&&Kz(a,new Lz);var b=()=>
5
- {};a.f=new Promise(c=>{b=c});try{const c=new Mz;c.f=a.o;c.events.push(...a.a);const d=[...a.a],e=yield fetch(a.l,{method:_.rb,headers:{"Content-Type":"application/proto"},body:new Uint8Array(c.a())});if(e.ok)a.a=a.a.filter(f=>!d.includes(f));else throw Error("An error occurred while sending telemetry events to the API, "+`status='${e.status}' statusText='${e.statusText}'`);}finally{b(),a.f=null}}})},Qz=function(a,b,c,d,e,f,g){const h=new Oz;h.headers=[new Pz("CL-BROWSER-NAME",b),new Pz("CL-BROWSER-VERSION",
6
- c),new Pz("CL-OS-FAMILY",d),new Pz("CL-OS-VERSION",e),new Pz("CL-SDK-NAME",f),new Pz("CL-SDK-NAME",f),new Pz("CL-SDK-VERSION",g)];Kz(a,h)},Kz=function(a,b){if(!a.j){var c=new Rz(a.w);c.sessionId=a.A;{var d=Date.now();const e=new Sz;e.h=Math.floor(d/1E3);e.f=d%1E3*1E6;d=e}c.time=d;c.h=b.getId();c.f=new Uint8Array(b.a());a.a.push(c)}},Tz=function(a){return _.x(function*(){a.h&&(clearInterval(a.h),a.h=null);a.f&&(yield a.f);0<a.a.length&&(yield Nz(a),a.a=[]);a.j=!0})},Uz=function(a){_.x(function*(){a.g.info("Destroy the session and stop sending events.");
7
- _.Ah(a.f);a.a=!1;const b=a.m.getNetworkEngine();b.Qe(a.o);b.od(a.j);uz(b,a.j);a.h&&(yield Tz(a.h),a.h=null)})},bA=function(a){switch(a){case _.Yo:return Vz;case _.Zo:return Wz;case _.Uo:return Xz;case _.ap:return Yz;case _.$o:return Zz;case _.Qo:return $z;case _.Ro:return aA;default:return null}},cA=function(a,b){a.g.debug("Sending event",b);Kz(a.h,b)},kA=function(a,b){switch(a){case 1:return dA;case 2:return b===_.w?eA:b===_.p?fA:b===_.G?gA:b===_.je?hA:iA;case 3:return jA;default:return iA}};var xz=class{constructor(){this.a=[]}length(){return this.a.length}end(){const a=this.a;this.a=[];return a}};var lA=class{constructor(a,b,c,d){this.downloadId=a;this.h=b;this.duration=c;this.j=d;this.f=[]}a(){const a=new xz;Gz(a,1,this.downloadId);Bz(a,2,this.h);Gz(a,3,this.duration);Bz(a,4,this.j);Gz(a,5,this.f);return a.end()}getId(){return 4}};var mA=class{constructor(a,b){this.f=a;this.url=b;this.downloadId=null;this.headers=[];this.size=this.duration=null}a(){const a=new xz;Bz(a,1,this.f);Gz(a,2,this.downloadId);Fz(a,3,this.url);Gz(a,4,this.headers);Fz(a,5,null);Gz(a,6,null);Gz(a,7,this.duration);Dz(a,8,this.size);return a.end()}getId(){return 2}};var nA=class{constructor(a,b){this.h=a;this.f=b}a(){const a=new xz;Bz(a,1,this.h);Hz(a,2,this.f);return a.end()}};var oA=class{constructor(a){this.cause=a;this.f=this.message=this.severity=this.errorCode=null}a(){const a=new xz;Bz(a,1,this.errorCode);Bz(a,2,this.severity);Fz(a,3,this.message);Fz(a,4,this.f);Gz(a,5,this.cause);return a.end()}getId(){return 7}};var Pz=class{constructor(a,b){this.key=a;this.value=b}a(){const a=new xz;Fz(a,1,this.key);Fz(a,2,this.value);return a.end()}};var pA=class{constructor(){this.cause=this.severity=this.code=null}a(){const a=new xz;Bz(a,1,this.code);Bz(a,2,this.severity);Gz(a,3,this.cause);return a.end()}getId(){return 12}};var qA=class{constructor(){this.data=null}a(){const a=new xz;Hz(a,1,this.data);return a.end()}};var rA=class extends qA{constructor(){super();var a=new Uint8Array(16);crypto.getRandomValues(a);a[6]=a[6]&15|64;a[8]=a[8]&63|128;this.data=a}toString(){const a=[];for(let b=0;256>b;++b)a.push((b+256).toString(16).slice(1));return a[this.data[0]]+a[this.data[1]]+a[this.data[2]]+a[this.data[3]]+"-"+a[this.data[4]]+a[this.data[5]]+"-"+a[this.data[6]]+a[this.data[7]]+"-"+a[this.data[8]]+a[this.data[9]]+"-"+a[this.data[10]]+a[this.data[11]]+a[this.data[12]]+a[this.data[13]]+a[this.data[14]]+a[this.data[15]]}};var Oz=class{constructor(){this.headers=[]}a(){const a=new xz;Gz(a,1,this.headers);return a.end()}getId(){return 1}};var Lz=class{constructor(){}a(){return(new xz).end()}getId(){return 6}};var Rz=class{constructor(a){this.j=a;this.f=this.h=this.time=this.sessionId=null}a(){const a=new xz;Gz(a,1,this.j);Gz(a,2,this.sessionId);Gz(a,3,this.time);Dz(a,4,null);Fz(a,5,null);Bz(a,6,this.h);Hz(a,7,this.f);return a.end()}};var Mz=class{constructor(){this.f=null;this.events=[]}a(){const a=new xz;Hz(a,1,this.f);Gz(a,2,this.events);return a.end()}};var Sz=class{constructor(){this.f=this.h=null}a(){const a=new xz;Dz(a,1,this.h);Bz(a,2,this.f);return a.end()}};var Iz=class{constructor(){this.f=this.h=null}a(){const a=new xz;Dz(a,1,this.h);Bz(a,2,this.f);return a.end()}};var sA=class{constructor(a,b,c,d,e,f,g,h,k){k=void 0===k?2500:k;this.o=a;this.l=h;this.w=new rA;this.A=new rA;this.a=[];this.h=setInterval(()=>Nz(this),k);this.f=null;this.j=!1;Qz(this,b,c,d,e,f,g)}};var tA=class{constructor(){this.reason=this.currentState=this.previousState=null}a(){const a=new xz;Bz(a,1,this.previousState);Bz(a,2,this.currentState);Bz(a,3,this.reason);Gz(a,4,null);Gz(a,5,null);Gz(a,6,null);return a.end()}getId(){return 5}};var xA=class extends _.Fv{constructor(){super();this.m=null;this.a=this.l=!1;this.f=new _.xt;this.h=null;this.g=new _.S("clpp.sessions.SessionsPlugin");this.o=this.G.bind(this);this.j=this.F.bind(this)}onPlayerCreated(a){this.m=a}onContentWillLoad(a){var b=a.getConfiguration().sessions;(b=!(!b||typeof b!==_.Ke))||this.g.debug("Sessions plugin is loaded but not configured. Will do nothing.");if(this.l=b)b=a.getConfiguration().sessions,b.apiUrl?(this.g.debug(_.ra),this.g.info("Create a session and start sending events."),
8
- a=_.el(),this.h=new sA(new Uint8Array([]),a.browser,a.browserVersion.name,a.os,a.osVersion.name,"prestoplay-web",_.ea,b.apiUrl),this.f.on(this.m,_.Sf,this.C.bind(this)),this.f.on(this.m,_.Kf,this.B.bind(this)),this.f.on(this.m,_.Jf,this.A.bind(this)),this.f.on(this.m,_.r,this.w.bind(this)),a=this.m.getNetworkEngine(),a.fe(this.o),a.xc(this.j),a.j.push(this.j)):(this.g.warn(tz),a.onError(new _.H(1,9,15E3,tz)))}onPlayerWillRelease(){Uz(this)}id(){return"sessions"}C(a){if(!this.a){a=a.detail;var b=a.currentState,
9
- c=new tA;c.previousState=bA(a.previousState);c.currentState=bA(b);cA(this,c)}}B(){if(!this.a){var a=new tA;a.previousState=bA(this.m.getState());a.currentState=uA;cA(this,a);this.a=!0}}A(){if(this.a){var a=new tA;a.previousState=uA;a.currentState=bA(this.m.getState());cA(this,a);this.a=!1}}w(a){a=a.detail;var b=new pA;b=new oA(new nA(b.getId(),new Uint8Array(b.a())));b.errorCode=a.code;b.message=a.message;b.f=a.stack;b.severity=a.severity===_.F?vA:wA;cA(this,b)}G(a){const b=new rA;a.downloadId=b;
10
- const c=new mA(kA(a.type,a.contentType),a.uris[0]);c.downloadId=b;c.headers=Object.keys(a.headers).map(d=>new Pz(d,a.headers[d]));cA(this,c)}F(a){var b=a.request.downloadId;b?(b=new lA(b,a.data.byteLength,Jz(a.timeMs||0),a.status||-1),b.f=Object.keys(a.headers).map(c=>new Pz(c,a.headers[c])),cA(this,b)):this.g.warn("Download ID is missing on download completed event.")}};_.ur(new class{create(){return new xA}});var wA=1,vA=2;var Vz=0,Wz=2,aA=3,uA=5,Xz=6,Yz=8,Zz=10,$z=11;var dA=0,eA=1,fA=2,gA=3,hA=4,jA=5,iA=9;};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Nz="apiUrl config is missing",Oz=function(a,b){a.j=a.j.filter(c=>c!==b)},Pz=function(a){let b=0>a;a=Math.abs(a);let c=a>>>0;a=Math.floor((a-c)/4294967296);a>>>=0;b&&(a=~a>>>0,c=(~c>>>0)+1,4294967295<c&&(c=0,a++,4294967295<a&&(a=0)));return[c,a]},Uz=function(a,b,c,d){if(!(null===c||void 0===c||typeof c===_.t&&0===c||typeof c===_.cg&&0===c.length||Array.isArray(c)&&0===c.length))if(Array.isArray(c)){Qz(a,b<<3|2);b=new Rz;for(let e=0;e<c.length;e++)d(b,c[e]);Sz(a,b.length());Tz(a,b.end())}else Qz(a,
2
+ b<<3|0),d(a,c)},Sz=function(a,b){if(0<=b)Qz(a,b);else{for(let c=0;9>c;c++)a.a.push(b&127|128),b>>=7;a.a.push(1)}},Vz=function(a,b,c){Uz(a,b,c,(d,e)=>{Sz(d,e)})},Qz=function(a,b){for(;127<b;)a.a.push(b&127|128),b>>>=7;a.a.push(b)},Xz=function(a,b,c){Uz(a,b,c,(d,e)=>{if(0<=e){{const [f,g]=Pz(e);Wz(d,f,g)}}else{{const [f,g]=Pz(e);Wz(d,f,g)}}})},Yz=function(a,b,c,d){if(!(null===c||void 0===c||typeof c===_.t&&0===c||typeof c===_.cg&&0===c.length||Array.isArray(c)&&0===c.length))if(Array.isArray(c))for(let e=
3
+ 0;e<c.length;e++){Qz(a,b<<3|2);const f=new Rz;d(f,c[e]);Sz(a,f.length());Tz(a,f.end())}else Qz(a,b<<3|2),b=new Rz,d(b,c),Sz(a,b.length()),Tz(a,b.end())},Zz=function(a,b,c){Yz(a,b,c,(d,e)=>{for(let f=0;f<e.length;f++){let g=e.charCodeAt(f);if(128>g)d.a.push(g);else if(2048>g)d.a.push(g>>6|192),d.a.push(g&63|128);else if(65536>g)if(55296<=g&&56319>=g&&f+1<e.length){let h=e.charCodeAt(f+1);56320<=h&&57343>=h&&(g=1024*(g-55296)+h-56320+65536,d.a.push(g>>18|240),d.a.push(g>>12&63|128),d.a.push(g>>6&63|
4
+ 128),d.a.push(g&63|128),f++)}else d.a.push(g>>12|224),d.a.push(g>>6&63|128),d.a.push(g&63|128)}})},Tz=function(a,b){a.a.push.apply(a.a,b)},$z=function(a,b,c){Yz(a,b,c,(d,e)=>{Tz(d,e.a())})},aA=function(a,b,c){Yz(a,b,c,(d,e)=>{Tz(d,e)})},Wz=function(a,b,c){for(;0<c||127<b;)a.a.push(b&127|128),b=(b>>>7|c<<25)>>>0,c>>>=7;a.a.push(b)},cA=function(a){const b=new bA;b.h=Math.floor(a/1E3);b.f=a%1E3*1E6;return b},gA=function(a){return _.x(function*(){if(!a.j&&!a.f){0===a.a.length&&dA(a,new eA);var b=()=>
5
+ {};a.f=new Promise(c=>{b=c});try{const c=new fA;c.f=a.o;c.events.push(...a.a);const d=[...a.a],e=yield fetch(a.l,{method:_.sb,headers:{"Content-Type":"application/proto"},body:new Uint8Array(c.a())});if(e.ok)a.a=a.a.filter(f=>!d.includes(f));else throw Error("An error occurred while sending telemetry events to the API, "+`status='${e.status}' statusText='${e.statusText}'`);}finally{b(),a.f=null}}})},jA=function(a,b,c,d,e,f,g){const h=new hA;h.headers=[new iA("CL-BROWSER-NAME",b),new iA("CL-BROWSER-VERSION",
6
+ c),new iA("CL-OS-FAMILY",d),new iA("CL-OS-VERSION",e),new iA("CL-SDK-NAME",f),new iA("CL-SDK-NAME",f),new iA("CL-SDK-VERSION",g)];dA(a,h)},dA=function(a,b){if(!a.j){var c=new kA(a.w);c.sessionId=a.A;{var d=Date.now();const e=new lA;e.h=Math.floor(d/1E3);e.f=d%1E3*1E6;d=e}c.time=d;c.h=b.getId();c.f=new Uint8Array(b.a());a.a.push(c)}},mA=function(a){return _.x(function*(){a.h&&(clearInterval(a.h),a.h=null);a.f&&(yield a.f);0<a.a.length&&(yield gA(a),a.a=[]);a.j=!0})},nA=function(a){_.x(function*(){a.g.info("Destroy the session and stop sending events.");
7
+ _.Th(a.f);a.a=!1;const b=a.m.getNetworkEngine();b.We(a.o);b.vd(a.j);Oz(b,a.j);a.h&&(yield mA(a.h),a.h=null)})},vA=function(a){switch(a){case _.hp:return oA;case _.ip:return pA;case _.dp:return qA;case _.kp:return rA;case _.jp:return sA;case _.$o:return tA;case _.ap:return uA;default:return null}},wA=function(a,b){a.g.debug("Sending event",b);dA(a.h,b)},EA=function(a,b){switch(a){case 1:return xA;case 2:return b===_.w?yA:b===_.p?zA:b===_.H?AA:b===_.re?BA:CA;case 3:return DA;default:return CA}};var Rz=class{constructor(){this.a=[]}length(){return this.a.length}end(){const a=this.a;this.a=[];return a}};var FA=class{constructor(a,b,c,d){this.downloadId=a;this.h=b;this.duration=c;this.j=d;this.f=[]}a(){const a=new Rz;$z(a,1,this.downloadId);Vz(a,2,this.h);$z(a,3,this.duration);Vz(a,4,this.j);$z(a,5,this.f);return a.end()}getId(){return 4}};var GA=class{constructor(a,b){this.f=a;this.url=b;this.downloadId=null;this.headers=[];this.size=this.duration=null}a(){const a=new Rz;Vz(a,1,this.f);$z(a,2,this.downloadId);Zz(a,3,this.url);$z(a,4,this.headers);Zz(a,5,null);$z(a,6,null);$z(a,7,this.duration);Xz(a,8,this.size);return a.end()}getId(){return 2}};var HA=class{constructor(a,b){this.h=a;this.f=b}a(){const a=new Rz;Vz(a,1,this.h);aA(a,2,this.f);return a.end()}};var IA=class{constructor(a){this.cause=a;this.f=this.message=this.severity=this.errorCode=null}a(){const a=new Rz;Vz(a,1,this.errorCode);Vz(a,2,this.severity);Zz(a,3,this.message);Zz(a,4,this.f);$z(a,5,this.cause);return a.end()}getId(){return 7}};var iA=class{constructor(a,b){this.key=a;this.value=b}a(){const a=new Rz;Zz(a,1,this.key);Zz(a,2,this.value);return a.end()}};var JA=class{constructor(){this.cause=this.severity=this.code=null}a(){const a=new Rz;Vz(a,1,this.code);Vz(a,2,this.severity);$z(a,3,this.cause);return a.end()}getId(){return 12}};var KA=class{constructor(){this.data=null}a(){const a=new Rz;aA(a,1,this.data);return a.end()}};var LA=class extends KA{constructor(){super();var a=new Uint8Array(16);crypto.getRandomValues(a);a[6]=a[6]&15|64;a[8]=a[8]&63|128;this.data=a}toString(){const a=[];for(let b=0;256>b;++b)a.push((b+256).toString(16).slice(1));return a[this.data[0]]+a[this.data[1]]+a[this.data[2]]+a[this.data[3]]+"-"+a[this.data[4]]+a[this.data[5]]+"-"+a[this.data[6]]+a[this.data[7]]+"-"+a[this.data[8]]+a[this.data[9]]+"-"+a[this.data[10]]+a[this.data[11]]+a[this.data[12]]+a[this.data[13]]+a[this.data[14]]+a[this.data[15]]}};var hA=class{constructor(){this.headers=[]}a(){const a=new Rz;$z(a,1,this.headers);return a.end()}getId(){return 1}};var eA=class{constructor(){}a(){return(new Rz).end()}getId(){return 6}};var kA=class{constructor(a){this.j=a;this.f=this.h=this.time=this.sessionId=null}a(){const a=new Rz;$z(a,1,this.j);$z(a,2,this.sessionId);$z(a,3,this.time);Xz(a,4,null);Zz(a,5,null);Vz(a,6,this.h);aA(a,7,this.f);return a.end()}};var fA=class{constructor(){this.f=null;this.events=[]}a(){const a=new Rz;aA(a,1,this.f);$z(a,2,this.events);return a.end()}};var lA=class{constructor(){this.f=this.h=null}a(){const a=new Rz;Xz(a,1,this.h);Vz(a,2,this.f);return a.end()}};var bA=class{constructor(){this.f=this.h=null}a(){const a=new Rz;Xz(a,1,this.h);Vz(a,2,this.f);return a.end()}};var MA=class{constructor(a,b,c,d,e,f,g,h,k){k=void 0===k?2500:k;this.o=a;this.l=h;this.w=new LA;this.A=new LA;this.a=[];this.h=setInterval(()=>gA(this),k);this.f=null;this.j=!1;jA(this,b,c,d,e,f,g)}};var NA=class{constructor(){this.reason=this.currentState=this.previousState=null}a(){const a=new Rz;Vz(a,1,this.previousState);Vz(a,2,this.currentState);Vz(a,3,this.reason);$z(a,4,null);$z(a,5,null);$z(a,6,null);return a.end()}getId(){return 5}};var RA=class extends _.Zv{constructor(){super();this.m=null;this.a=this.l=!1;this.f=new _.St;this.h=null;this.g=new _.S("clpp.sessions.SessionsPlugin");this.o=this.G.bind(this);this.j=this.F.bind(this)}onPlayerCreated(a){this.m=a}onContentWillLoad(a){var b=a.getConfiguration().sessions;(b=!(!b||typeof b!==_.Se))||this.g.debug("Sessions plugin is loaded but not configured. Will do nothing.");if(this.l=b)b=a.getConfiguration().sessions,b.apiUrl?(this.g.debug(_.ra),this.g.info("Create a session and start sending events."),
8
+ a=_.il(),this.h=new MA(new Uint8Array([]),a.browser,a.browserVersion.name,a.os,a.osVersion.name,"prestoplay-web",_.ea,b.apiUrl),this.f.on(this.m,_.$f,this.C.bind(this)),this.f.on(this.m,_.Sf,this.B.bind(this)),this.f.on(this.m,_.Rf,this.A.bind(this)),this.f.on(this.m,_.q,this.w.bind(this)),a=this.m.getNetworkEngine(),a.me(this.o),a.Ec(this.j),a.j.push(this.j)):(this.g.warn(Nz),a.onError(new _.I(1,9,15E3,Nz)))}onPlayerWillRelease(){nA(this)}id(){return"sessions"}C(a){if(!this.a){a=a.detail;var b=a.currentState,
9
+ c=new NA;c.previousState=vA(a.previousState);c.currentState=vA(b);wA(this,c)}}B(){if(!this.a){var a=new NA;a.previousState=vA(this.m.getState());a.currentState=OA;wA(this,a);this.a=!0}}A(){if(this.a){var a=new NA;a.previousState=OA;a.currentState=vA(this.m.getState());wA(this,a);this.a=!1}}w(a){a=a.detail;var b=new JA;b=new IA(new HA(b.getId(),new Uint8Array(b.a())));b.errorCode=a.code;b.message=a.message;b.f=a.stack;b.severity=a.severity===_.F?PA:QA;wA(this,b)}G(a){const b=new LA;a.downloadId=b;
10
+ const c=new GA(EA(a.type,a.contentType),a.uris[0]);c.downloadId=b;c.headers=Object.keys(a.headers).map(d=>new iA(d,a.headers[d]));wA(this,c)}F(a){var b=a.request.downloadId;b?(b=new FA(b,a.data.byteLength,cA(a.timeMs||0),a.status||-1),b.f=Object.keys(a.headers).map(c=>new iA(c,a.headers[c])),wA(this,b)):this.g.warn("Download ID is missing on download completed event.")}};_.Nr(new class{create(){return new RA}});var QA=1,PA=2;var oA=0,pA=2,uA=3,OA=5,qA=6,rA=8,sA=10,tA=11;var xA=0,yA=1,zA=2,AA=3,BA=4,DA=5,CA=9;};f.call(g, window);
package/cl.simid.js CHANGED
@@ -1,13 +1,13 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var cz="No surface found. Can not attach frame!",dz="SIMID:Media:timeupdate",ez="Starting creative",fz=function(a,b,c){return{type:b,sessionId:a.h,messageId:a.l++,timestamp:Date.now(),args:c}},iz=function(a,b){return new Promise((c,d)=>{new gz(a.j,c,d,b);hz(a,b)})},jz=function(a){const b=fz(a,"SIMID:Player:startCreative",void 0);iz(a,b).then(()=>{var c=a.f;c.g.info(ez);c.m.trigger(new _.E(_.Mf));a.a.style.opacity="1"}).catch(c=>{a.unload();a.f.g.error("Error while starting creative",
2
- c)})},lz=function(a,b){_.x(function*(){a.h=b.sessionId;kz(a,b);try{{var c=a.f;const f=c.getSurface(),g=c.getContainer();var d={environmentData:{videoDimensions:{x:0,y:0,height:g.clientHeight,width:g.clientWidth},creativeDimensions:{x:0,y:0,height:g.clientHeight,width:g.clientWidth},fullscreen:f.isFullscreen(),fullscreenAllowed:!0,variableDurationAllowed:!1,skippableState:"notSkippable",version:"1.1",skipoffset:"",siteUrl:window.location.toString(),appId:"",useragent:"",deviceId:"",muted:c.m.isMuted()||
3
- !1,volume:c.m.getVolume()||0,navigationSupport:"adHandles",closeButtonSupport:"adHandles",nonlinearDuration:c.f.duration},creativeData:{adParameters:c.f.adParameters||"",clickThruUri:"",clickThruUrl:""}}}{const f=fz(a,"SIMID:Player:init",d);var e=iz(a,f)}yield e;a.g.info("Player Init acknowledged");a.f.g.info("SIMID Player initialized")}catch(f){a.g.error("Error while initializing",f),a.f.g.error("Error while initializing SIMID player: ",f),a.unload()}})},kz=function(a,b){hz(a,fz(a,"resolve",{messageId:b.messageId,
4
- value:void 0}))},hz=function(a,b){a.h?(b.type!==dz&&a.g.info(`Posting message [${b.messageId}] '${b.type}':`,b.args),a.a.contentWindow&&a.a.contentWindow.postMessage(JSON.stringify(b),"*")):a.g.warn(`WARNING: no session available to send message '${b.type}'`)},mz=function(a,b,c){return new ResizeObserver(()=>{if(a.a.h){var d=a.a,e={videoDimensions:{x:0,y:0,height:b.clientHeight,width:b.clientWidth},creativeDimensions:{x:0,y:0,height:b.clientHeight,width:b.clientWidth},fullscreen:c.isFullscreen()};
5
- e=fz(d,"SIMID:Player:resize",e);hz(d,e)}})},nz=function(a,b){a.g.info("SIMID Session created");a.a=b},oz=function(a){a.g.info("Stopping creative");a.m.getSurface().getMedia().style.transition=".5s";setTimeout(()=>{a.m.getSurface().getMedia().style.transition=""},500);a.m.getSurface().getMedia().style.left="";a.m.getSurface().getMedia().style.top="";a.m.getSurface().getMedia().style.width="";a.m.getSurface().getMedia().style.height="";a.a.a.style.left="";a.a.a.style.top="";a.a.a.style.width="";a.a.a.style.height=
6
- "";a.h=!1;a.m.trigger(new _.E(_.Nf))},pz=function(a,b){var c=a.getContainer();a=c.clientWidth;c=c.clientHeight;return{top:`${b.y/c*100}%`,left:`${b.x/a*100}%`,width:`${b.width/a*100}%`,height:`${b.height/c*100}%`}},qz=class{constructor(a){this.f=a;this.h="";this.l=0;this.j=new Map;this.a=document.createElement("iframe");this.a.style.opacity="0";this.a.style.border=_.Je;this.a.style.backgroundColor="transparent";this.a.style.transition="opacity .5s";this.a.style.transitionDelay=".5s";this.a.style.pointerEvents=
7
- _.Je;this.a.style.overflow=_.he;this.a.classList.add(_.id);this.o=b=>{if(b.source===this.a.contentWindow&&(b=(b=b.data)?typeof b===_.Vf?JSON.parse(b):b:null))if(b.type)switch(this.g.info(`Received message [${b.messageId}] '${b.type}':`,b.args),b.type){case "createSession":lz(this,b);break;case "resolve":b=b.args;var c=this.j.get(b.messageId);c&&c.resolve(b);break;case "reject":b=b.args;(c=this.j.get(b.messageId))&&c.reject(b);break;case "SIMID:Creative:requestResize":c=this.f;var d=b.args;c.g.info("Creative requested resize",
8
- d);if(c.m&&c.m.getSurface()&&c.m.getSurface().getMedia()&&d.mediaDimensions){c.h?c.m.getSurface().getMedia().style.transition="":(c.m.getSurface().getMedia().style.transition="left .5s, top .5s,width .5s, height .5s",c.h=!0);const e=pz(c,d.mediaDimensions);c.m.getSurface().getMedia().style.left=e.left;c.m.getSurface().getMedia().style.top=e.top;c.m.getSurface().getMedia().style.width=e.width;c.m.getSurface().getMedia().style.height=e.height}d.creativeDimensions&&(d=pz(c,d.creativeDimensions),c.a.a.style.left=
9
- d.left,c.a.a.style.top=d.top,c.a.a.style.width=d.width,c.a.a.style.height=d.height);kz(this,b)}else this.g.warn("WARNING: received message without 'type' property")};this.g=new _.S("clpp.simid.SimidPlayer");nz(this.f,this)}load(a){window.addEventListener(_.Ce,this.o);this.h="";this.l=0;const b=this.f.url();this.g.info(`Loading "${b}" as src of iFrame`);this.a.src=b;this.g.info("Attaching iFrame");a.appendChild(this.a)}unload(){oz(this.f);this.h=this.a.src="";this.l=0;this.a.style.opacity="0";window.removeEventListener(_.Ce,
10
- this.o);this.a.parentElement&&this.a.parentElement.removeChild(this.a)}},gz=class{constructor(a,b,c,d,e){e=void 0===e?-1:e;this.f=a;this.l=b;this.j=c;this.h=d;this.a=null;this.f.set(d.messageId,this);0<=e&&(this.a=setTimeout(()=>{this.resolve()},e))}resolve(a){null!==this.a&&(clearTimeout(this.a),this.a=null);this.f.delete(this.h.messageId);this.l(a)}reject(a){null!==this.a&&(clearTimeout(this.a),this.a=null);this.f.delete(this.h.messageId);this.j(a)}};var sz=class extends _.Fv{constructor(){super();this.g=new _.S("clpp.simid.Plugin");this.h=this.a=this.m=null;this.l=[];this.j=null;this.w=this.A.bind(this);this.f=null;this.o=!1}id(){return"simid"}onPlayerCreated(a){this.g.info("New player created");this.a&&(this.a.unload(),this.a=null);this.m=a;this.h&&this.h.release();this.h=new rz(a)}onContentWillLoad(a){var b=a.getConfiguration();if(b.simid&&b.simid.creatives&&0!==b.simid.creatives.length)if(this.l=b.simid.creatives,this.g.info(`Setting up SIMID plugin for ${this.l.length} creatives`),
11
- b=this.m.getSurface()){this.g.info("Creating new session");this.a=new qz(this.h);var c=b.getContainer();this.j=mz(this,c,b);this.j.observe(c);a.on(_.bg,this.w)}else this.g.warn(cz)}A(){var a=this.m.getPosition();a:if(this.f&&a<this.f.startTime+this.f.duration)var b=this.f;else{for(b=0;b<this.l.length;b++){var c=this.l[b];const d=c.startTime+c.duration;if(a>=c.startTime-(c.preload||5)&&a<d){b=c;break a}}b=null}b?b===this.f?(b=b.startTime,this.a&&(c=a>=b,!this.o&&c&&(jz(this.a),this.o=!0,this.g.info(ez)),
12
- c&&(c=this.a,hz(c,fz(c,dz,{currentTime:a-b}))))):((a=this.m.getSurface())||this.g.warn(cz),a=a.getContainer(),this.f=b,this.o=!1,this.g.info("Loading session"),this.h.f=b,this.a.load(a)):this.f&&(this.a.unload(),this.f=null,this.o=!1)}onPlayerWillRelease(a){super.onPlayerWillRelease(a);this.m.getSurface()&&(this.j&&(this.j.disconnect(),this.j=null),a.off(_.bg,this.w),this.f&&(this.a.unload(),this.f=this.h.f=null))}},rz=class{constructor(a){this.m=a;this.a=null;this.g=new _.S("clpp.simid.Loader");
13
- this.h=!1;this.f=null}release(){this.g.info("Releasing loader")}getContainer(){const a=this.getSurface().getContainer();if(!a)throw this.g.error("No player container found. Can not create SIMID init data"),new _.H(1,10,10100,"No player container found");return a}getSurface(){const a=this.m.getSurface();if(!a)throw this.g.error("No player surface found. Can not create SIMID init data"),new _.H(1,10,10100,"No surface");return a}Of(){return this.a}url(){return this.f?this.f.url:""}};_.ur(new class{create(){return new sz}});};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var wz="No surface found. Can not attach frame!",xz="SIMID:Media:timeupdate",yz="Starting creative",zz=function(a,b,c){return{type:b,sessionId:a.h,messageId:a.l++,timestamp:Date.now(),args:c}},Cz=function(a,b){return new Promise((c,d)=>{new Az(a.j,c,d,b);Bz(a,b)})},Dz=function(a){const b=zz(a,"SIMID:Player:startCreative",void 0);Cz(a,b).then(()=>{var c=a.f;c.g.info(yz);c.m.trigger(new _.D(_.Uf));a.a.style.opacity="1"}).catch(c=>{a.unload();a.f.g.error("Error while starting creative",
2
+ c)})},Fz=function(a,b){_.x(function*(){a.h=b.sessionId;Ez(a,b);try{{var c=a.f;const f=c.getSurface(),g=c.getContainer();var d={environmentData:{videoDimensions:{x:0,y:0,height:g.clientHeight,width:g.clientWidth},creativeDimensions:{x:0,y:0,height:g.clientHeight,width:g.clientWidth},fullscreen:f.isFullscreen(),fullscreenAllowed:!0,variableDurationAllowed:!1,skippableState:"notSkippable",version:"1.1",skipoffset:"",siteUrl:window.location.toString(),appId:"",useragent:"",deviceId:"",muted:c.m.isMuted()||
3
+ !1,volume:c.m.getVolume()||0,navigationSupport:"adHandles",closeButtonSupport:"adHandles",nonlinearDuration:c.f.duration},creativeData:{adParameters:c.f.adParameters||"",clickThruUri:"",clickThruUrl:""}}}{const f=zz(a,"SIMID:Player:init",d);var e=Cz(a,f)}yield e;a.g.info("Player Init acknowledged");a.f.g.info("SIMID Player initialized")}catch(f){a.g.error("Error while initializing",f),a.f.g.error("Error while initializing SIMID player: ",f),a.unload()}})},Ez=function(a,b){Bz(a,zz(a,"resolve",{messageId:b.messageId,
4
+ value:void 0}))},Bz=function(a,b){a.h?(b.type!==xz&&a.g.info(`Posting message [${b.messageId}] '${b.type}':`,b.args),a.a.contentWindow&&a.a.contentWindow.postMessage(JSON.stringify(b),"*")):a.g.warn(`WARNING: no session available to send message '${b.type}'`)},Gz=function(a,b,c){return new ResizeObserver(()=>{if(a.a.h){var d=a.a,e={videoDimensions:{x:0,y:0,height:b.clientHeight,width:b.clientWidth},creativeDimensions:{x:0,y:0,height:b.clientHeight,width:b.clientWidth},fullscreen:c.isFullscreen()};
5
+ e=zz(d,"SIMID:Player:resize",e);Bz(d,e)}})},Hz=function(a,b){a.g.info("SIMID Session created");a.a=b},Iz=function(a){a.g.info("Stopping creative");a.m.getSurface().getMedia().style.transition=".5s";setTimeout(()=>{a.m.getSurface().getMedia().style.transition=""},500);a.m.getSurface().getMedia().style.left="";a.m.getSurface().getMedia().style.top="";a.m.getSurface().getMedia().style.width="";a.m.getSurface().getMedia().style.height="";a.a.a.style.left="";a.a.a.style.top="";a.a.a.style.width="";a.a.a.style.height=
6
+ "";a.h=!1;a.m.trigger(new _.D(_.Vf))},Jz=function(a,b){var c=a.getContainer();a=c.clientWidth;c=c.clientHeight;return{top:`${b.y/c*100}%`,left:`${b.x/a*100}%`,width:`${b.width/a*100}%`,height:`${b.height/c*100}%`}},Kz=class{constructor(a){this.f=a;this.h="";this.l=0;this.j=new Map;this.a=document.createElement("iframe");this.a.style.opacity="0";this.a.style.border=_.Re;this.a.style.backgroundColor="transparent";this.a.style.transition="opacity .5s";this.a.style.transitionDelay=".5s";this.a.style.pointerEvents=
7
+ _.Re;this.a.style.overflow=_.pe;this.a.classList.add(_.pd);this.o=b=>{if(b.source===this.a.contentWindow&&(b=(b=b.data)?typeof b===_.cg?JSON.parse(b):b:null))if(b.type)switch(this.g.info(`Received message [${b.messageId}] '${b.type}':`,b.args),b.type){case "createSession":Fz(this,b);break;case "resolve":b=b.args;var c=this.j.get(b.messageId);c&&c.resolve(b);break;case "reject":b=b.args;(c=this.j.get(b.messageId))&&c.reject(b);break;case "SIMID:Creative:requestResize":c=this.f;var d=b.args;c.g.info("Creative requested resize",
8
+ d);if(c.m&&c.m.getSurface()&&c.m.getSurface().getMedia()&&d.mediaDimensions){c.h?c.m.getSurface().getMedia().style.transition="":(c.m.getSurface().getMedia().style.transition="left .5s, top .5s,width .5s, height .5s",c.h=!0);const e=Jz(c,d.mediaDimensions);c.m.getSurface().getMedia().style.left=e.left;c.m.getSurface().getMedia().style.top=e.top;c.m.getSurface().getMedia().style.width=e.width;c.m.getSurface().getMedia().style.height=e.height}d.creativeDimensions&&(d=Jz(c,d.creativeDimensions),c.a.a.style.left=
9
+ d.left,c.a.a.style.top=d.top,c.a.a.style.width=d.width,c.a.a.style.height=d.height);Ez(this,b)}else this.g.warn("WARNING: received message without 'type' property")};this.g=new _.S("clpp.simid.SimidPlayer");Hz(this.f,this)}load(a){window.addEventListener(_.Ke,this.o);this.h="";this.l=0;const b=this.f.url();this.g.info(`Loading "${b}" as src of iFrame`);this.a.src=b;this.g.info("Attaching iFrame");a.appendChild(this.a)}unload(){Iz(this.f);this.h=this.a.src="";this.l=0;this.a.style.opacity="0";window.removeEventListener(_.Ke,
10
+ this.o);this.a.parentElement&&this.a.parentElement.removeChild(this.a)}},Az=class{constructor(a,b,c,d,e){e=void 0===e?-1:e;this.f=a;this.l=b;this.j=c;this.h=d;this.a=null;this.f.set(d.messageId,this);0<=e&&(this.a=setTimeout(()=>{this.resolve()},e))}resolve(a){null!==this.a&&(clearTimeout(this.a),this.a=null);this.f.delete(this.h.messageId);this.l(a)}reject(a){null!==this.a&&(clearTimeout(this.a),this.a=null);this.f.delete(this.h.messageId);this.j(a)}};var Mz=class extends _.Zv{constructor(){super();this.g=new _.S("clpp.simid.Plugin");this.h=this.a=this.m=null;this.l=[];this.j=null;this.w=this.A.bind(this);this.f=null;this.o=!1}id(){return"simid"}onPlayerCreated(a){this.g.info("New player created");this.a&&(this.a.unload(),this.a=null);this.m=a;this.h&&this.h.release();this.h=new Lz(a)}onContentWillLoad(a){var b=a.getConfiguration();if(b.simid&&b.simid.creatives&&0!==b.simid.creatives.length)if(this.l=b.simid.creatives,this.g.info(`Setting up SIMID plugin for ${this.l.length} creatives`),
11
+ b=this.m.getSurface()){this.g.info("Creating new session");this.a=new Kz(this.h);var c=b.getContainer();this.j=Gz(this,c,b);this.j.observe(c);a.on(_.og,this.w)}else this.g.warn(wz)}A(){var a=this.m.getPosition();a:if(this.f&&a<this.f.startTime+this.f.duration)var b=this.f;else{for(b=0;b<this.l.length;b++){var c=this.l[b];const d=c.startTime+c.duration;if(a>=c.startTime-(c.preload||5)&&a<d){b=c;break a}}b=null}b?b===this.f?(b=b.startTime,this.a&&(c=a>=b,!this.o&&c&&(Dz(this.a),this.o=!0,this.g.info(yz)),
12
+ c&&(c=this.a,Bz(c,zz(c,xz,{currentTime:a-b}))))):((a=this.m.getSurface())||this.g.warn(wz),a=a.getContainer(),this.f=b,this.o=!1,this.g.info("Loading session"),this.h.f=b,this.a.load(a)):this.f&&(this.a.unload(),this.f=null,this.o=!1)}onPlayerWillRelease(a){super.onPlayerWillRelease(a);this.m.getSurface()&&(this.j&&(this.j.disconnect(),this.j=null),a.off(_.og,this.w),this.f&&(this.a.unload(),this.f=this.h.f=null))}},Lz=class{constructor(a){this.m=a;this.a=null;this.g=new _.S("clpp.simid.Loader");
13
+ this.h=!1;this.f=null}release(){this.g.info("Releasing loader")}getContainer(){const a=this.getSurface().getContainer();if(!a)throw this.g.error("No player container found. Can not create SIMID init data"),new _.I(1,10,10100,"No player container found");return a}getSurface(){const a=this.m.getSurface();if(!a)throw this.g.error("No player surface found. Can not create SIMID init data"),new _.I(1,10,10100,"No surface");return a}Vf(){return this.a}url(){return this.f?this.f.url:""}};_.Nr(new class{create(){return new Mz}});};f.call(g, window);