@videts/vide 0.7.4 → 0.9.2

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 (155) hide show
  1. package/README.md +10 -10
  2. package/dist/chunk-2OVLZ27V.mjs +1 -0
  3. package/dist/chunk-3RDTWUHH.mjs +1 -0
  4. package/dist/chunk-6DWWYSH4.mjs +1 -0
  5. package/dist/chunk-G74QBLVV.mjs +1 -0
  6. package/dist/chunk-H3OXPFD3.mjs +1 -0
  7. package/dist/chunk-JRU2FKRB.mjs +2 -0
  8. package/dist/chunk-LPSJOF2I.mjs +2 -0
  9. package/dist/chunk-NA4C7W64.mjs +2 -0
  10. package/dist/chunk-UY5CGRNN.mjs +1 -0
  11. package/dist/chunk-VPH4JIJV.mjs +1 -0
  12. package/dist/chunk-WINCDUN5.mjs +1 -0
  13. package/dist/dash/index.d.ts +3 -7
  14. package/dist/dash/index.js +1 -0
  15. package/dist/dash/index.mjs +1 -2
  16. package/dist/drm/index.d.ts +5 -32
  17. package/dist/drm/index.js +1 -0
  18. package/dist/drm/index.mjs +1 -1
  19. package/dist/hls/index.d.ts +3 -7
  20. package/dist/hls/index.js +1 -0
  21. package/dist/hls/index.mjs +1 -2
  22. package/dist/index.d.ts +5 -5
  23. package/dist/index.js +1 -0
  24. package/dist/index.mjs +1 -1
  25. package/dist/omid/index.d.ts +2 -2
  26. package/dist/omid/index.js +2 -0
  27. package/dist/omid/index.mjs +2 -2
  28. package/dist/react/index.d.ts +240 -0
  29. package/dist/react/index.js +2 -0
  30. package/dist/react/index.mjs +2 -0
  31. package/dist/simid/index.d.ts +2 -2
  32. package/dist/simid/index.js +1 -0
  33. package/dist/ssai/index.d.ts +4 -40
  34. package/dist/ssai/index.js +1 -0
  35. package/dist/ssai/index.mjs +1 -1
  36. package/dist/svelte/DashPlugin.svelte +23 -0
  37. package/dist/svelte/DashPlugin.svelte.d.ts +4 -0
  38. package/dist/svelte/DrmPlugin.svelte +20 -0
  39. package/dist/svelte/DrmPlugin.svelte.d.ts +4 -0
  40. package/dist/svelte/HlsPlugin.svelte +23 -0
  41. package/dist/svelte/HlsPlugin.svelte.d.ts +4 -0
  42. package/dist/svelte/SsaiPlugin.svelte +23 -0
  43. package/dist/svelte/SsaiPlugin.svelte.d.ts +4 -0
  44. package/dist/svelte/VastPlugin.svelte +20 -0
  45. package/dist/svelte/VastPlugin.svelte.d.ts +4 -0
  46. package/dist/svelte/VideControls.svelte +22 -0
  47. package/dist/svelte/VideControls.svelte.d.ts +8 -0
  48. package/dist/svelte/VideUI.svelte +49 -0
  49. package/dist/svelte/VideUI.svelte.d.ts +9 -0
  50. package/dist/svelte/Video.svelte +31 -0
  51. package/dist/svelte/Video.svelte.d.ts +10 -0
  52. package/dist/svelte/VmapPlugin.svelte +20 -0
  53. package/dist/svelte/VmapPlugin.svelte.d.ts +4 -0
  54. package/dist/svelte/components/AdCountdown.svelte +37 -0
  55. package/dist/svelte/components/AdCountdown.svelte.d.ts +7 -0
  56. package/dist/svelte/components/AdLabel.svelte +26 -0
  57. package/dist/svelte/components/AdLabel.svelte.d.ts +8 -0
  58. package/dist/svelte/components/AdLearnMore.svelte +42 -0
  59. package/dist/svelte/components/AdLearnMore.svelte.d.ts +9 -0
  60. package/dist/svelte/components/AdOverlay.svelte +46 -0
  61. package/dist/svelte/components/AdOverlay.svelte.d.ts +8 -0
  62. package/dist/svelte/components/AdSkip.svelte +67 -0
  63. package/dist/svelte/components/AdSkip.svelte.d.ts +8 -0
  64. package/dist/svelte/components/BigPlayButton.svelte +46 -0
  65. package/dist/svelte/components/BigPlayButton.svelte.d.ts +8 -0
  66. package/dist/svelte/components/ClickPlay.svelte +76 -0
  67. package/dist/svelte/components/ClickPlay.svelte.d.ts +7 -0
  68. package/dist/svelte/components/ErrorDisplay.svelte +27 -0
  69. package/dist/svelte/components/ErrorDisplay.svelte.d.ts +6 -0
  70. package/dist/svelte/components/FullscreenButton.svelte +65 -0
  71. package/dist/svelte/components/FullscreenButton.svelte.d.ts +9 -0
  72. package/dist/svelte/components/Loader.svelte +11 -0
  73. package/dist/svelte/components/Loader.svelte.d.ts +6 -0
  74. package/dist/svelte/components/MuteButton.svelte +57 -0
  75. package/dist/svelte/components/MuteButton.svelte.d.ts +8 -0
  76. package/dist/svelte/components/PlayButton.svelte +63 -0
  77. package/dist/svelte/components/PlayButton.svelte.d.ts +8 -0
  78. package/dist/svelte/components/Poster.svelte +13 -0
  79. package/dist/svelte/components/Poster.svelte.d.ts +8 -0
  80. package/dist/svelte/components/Progress.svelte +101 -0
  81. package/dist/svelte/components/Progress.svelte.d.ts +6 -0
  82. package/dist/svelte/components/TimeDisplay.svelte +33 -0
  83. package/dist/svelte/components/TimeDisplay.svelte.d.ts +7 -0
  84. package/dist/svelte/components/Volume.svelte +117 -0
  85. package/dist/svelte/components/Volume.svelte.d.ts +8 -0
  86. package/dist/svelte/context.d.ts +6 -0
  87. package/dist/svelte/context.js +10 -0
  88. package/dist/svelte/create-vide-player.svelte.d.ts +2 -0
  89. package/dist/svelte/create-vide-player.svelte.js +22 -0
  90. package/dist/svelte/helpers.d.ts +17 -0
  91. package/dist/svelte/helpers.js +31 -0
  92. package/dist/svelte/icons/IconFullscreenEnter.svelte +3 -0
  93. package/dist/svelte/icons/IconFullscreenEnter.svelte.d.ts +26 -0
  94. package/dist/svelte/icons/IconFullscreenExit.svelte +3 -0
  95. package/dist/svelte/icons/IconFullscreenExit.svelte.d.ts +26 -0
  96. package/dist/svelte/icons/IconPause.svelte +3 -0
  97. package/dist/svelte/icons/IconPause.svelte.d.ts +26 -0
  98. package/dist/svelte/icons/IconPlay.svelte +3 -0
  99. package/dist/svelte/icons/IconPlay.svelte.d.ts +26 -0
  100. package/dist/svelte/icons/IconVolumeHigh.svelte +3 -0
  101. package/dist/svelte/icons/IconVolumeHigh.svelte.d.ts +26 -0
  102. package/dist/svelte/icons/IconVolumeLow.svelte +3 -0
  103. package/dist/svelte/icons/IconVolumeLow.svelte.d.ts +26 -0
  104. package/dist/svelte/icons/IconVolumeMute.svelte +3 -0
  105. package/dist/svelte/icons/IconVolumeMute.svelte.d.ts +26 -0
  106. package/dist/svelte/index.d.ts +42 -0
  107. package/dist/svelte/index.js +39 -0
  108. package/dist/svelte/use-ad-state.svelte.d.ts +7 -0
  109. package/dist/svelte/use-ad-state.svelte.js +40 -0
  110. package/dist/svelte/use-autohide.svelte.d.ts +2 -0
  111. package/dist/svelte/use-autohide.svelte.js +68 -0
  112. package/dist/svelte/use-keyboard.svelte.d.ts +7 -0
  113. package/dist/svelte/use-keyboard.svelte.js +96 -0
  114. package/dist/svelte/use-plugin.svelte.d.ts +15 -0
  115. package/dist/svelte/use-plugin.svelte.js +40 -0
  116. package/dist/svelte/use-vide-event.svelte.d.ts +3 -0
  117. package/dist/svelte/use-vide-event.svelte.js +9 -0
  118. package/dist/types-BsEF8iWC.d.ts +316 -0
  119. package/dist/types-C1_eVsFF.d.ts +49 -0
  120. package/dist/types-C6XFF6w_.d.ts +30 -0
  121. package/dist/types-COeag8fU.d.ts +173 -0
  122. package/dist/types-CwjR99DL.d.ts +10 -0
  123. package/dist/types-DsixuzNX.d.ts +52 -0
  124. package/dist/types-DzY1cmXC.d.ts +10 -0
  125. package/dist/types-SuT99_Z3.d.ts +40 -0
  126. package/dist/ui/index.d.ts +8 -38
  127. package/dist/ui/index.js +1 -0
  128. package/dist/ui/index.mjs +1 -2
  129. package/dist/ui/theme.css +138 -46
  130. package/dist/vast/index.d.ts +188 -4
  131. package/dist/vast/index.js +1 -0
  132. package/dist/vast/index.mjs +1 -1
  133. package/dist/vide.core.global.js +1 -0
  134. package/dist/vide.dash.global.js +2 -0
  135. package/dist/vide.drm.global.js +1 -0
  136. package/dist/vide.global.js +2 -0
  137. package/dist/vide.hls.global.js +2 -0
  138. package/dist/vide.omid.global.js +2 -0
  139. package/dist/vide.simid.global.js +1 -0
  140. package/dist/vide.ssai.global.js +1 -0
  141. package/dist/vide.ui.css +956 -0
  142. package/dist/vide.ui.global.js +2 -0
  143. package/dist/vide.vast.global.js +1 -0
  144. package/dist/vide.vmap.global.js +1 -0
  145. package/dist/vmap/index.d.ts +5 -49
  146. package/dist/vmap/index.js +1 -0
  147. package/dist/vmap/index.mjs +1 -1
  148. package/dist/vue/index.d.ts +354 -0
  149. package/dist/vue/index.js +2 -0
  150. package/dist/vue/index.mjs +2 -0
  151. package/package.json +48 -5
  152. package/dist/chunk-726XNUGZ.mjs +0 -1
  153. package/dist/chunk-G4Q7R3SH.mjs +0 -1
  154. package/dist/types-8aPf_wxJ.d.ts +0 -98
  155. package/dist/types-Cine0xi3.d.ts +0 -142
@@ -1 +1 @@
1
- import {b,a as a$1}from'../chunk-726XNUGZ.mjs';export{b as fetchVast,a as parseVast,c as resolveVast}from'../chunk-726XNUGZ.mjs';import {a,c}from'../chunk-G4Q7R3SH.mjs';export{b as getQuartile,a as track}from'../chunk-G4Q7R3SH.mjs';function de(u){return {name:"vast",setup(e){let c$1=false,d=null,s=e._setState;async function q(){if(!c$1){s("ad:loading");try{let N=function(n){if(t)for(let i of t.trackingEvents.progress)!I.has(i.offset)&&n>=i.offset&&(I.add(i.offset),a([i.url]));},v=function(){for(let n of L)n();L.length=0;},g=function(){e.emit("ad:end",{adId:a$2}),s("playing"),U();},U=function(){function n({to:i}){i==="ready"&&(e.off("statechange",n),R>0&&(e.el.currentTime=R),e.play().catch(()=>{e.el.muted=!0,e.play().catch(()=>{});}));}e.on("statechange",n),e.src=D;},V=function(){!t||o||(a(t.clickTracking),e.emit("ad:click",{clickThrough:t.clickThrough,clickTracking:t.clickTracking}));},b$1=function(){!t||o||(a(t.trackingEvents.skip),o=!0,m(),v(),g());},S=function(){!t||o||e.state==="ad:playing"&&(a(t.trackingEvents.pause),s("ad:paused"));},w=function(){!t||o||e.state==="ad:paused"&&(a(t.trackingEvents.resume),s("ad:playing"));},A=function(){_(e.el.currentTime),N(e.el.currentTime);},F=function(){if(!t||o)return;let n=e.el.muted||e.el.volume===0;n&&!P?(a(t.trackingEvents.mute),e.emit("ad:mute",{adId:a$2})):!n&&P&&(a(t.trackingEvents.unmute),e.emit("ad:unmute",{adId:a$2})),P=n,e.emit("ad:volumeChange",{adId:a$2,volume:e.el.muted?0:e.el.volume});},x=function(){if(!t||o)return;let n=!!document.fullscreenElement;n&&!T?(a(t.trackingEvents.playerExpand),e.emit("ad:fullscreen",{adId:a$2,fullscreen:!0})):!n&&T&&(a(t.trackingEvents.playerCollapse),e.emit("ad:fullscreen",{adId:a$2,fullscreen:!1})),T=n;},C=function(){o||(o=!0,m(),v(),e.emit("ad:error",{error:new Error("Ad media playback failed"),source:"vast"}),g());},O=function(){o||(o=!0,t&&_(t.duration),m(),v(),g());},E=function(){e.el.removeEventListener("canplay",E),t&&(a(t.trackingEvents.loaded),a(t.trackingEvents.creativeView),e.emit("ad:loaded",{adId:a$2}),s("ad:playing"),e.el.play().catch(()=>{e.el.muted=!0,e.el.play().catch(()=>{});}));},m=function(){e.el.removeEventListener("timeupdate",A),e.el.removeEventListener("ended",O),e.el.removeEventListener("error",C),e.el.removeEventListener("canplay",E),e.el.removeEventListener("pause",S),e.el.removeEventListener("play",w),e.el.removeEventListener("click",V),e.el.removeEventListener("volumechange",F),document.removeEventListener("fullscreenchange",x),e.off("ad:skip",b$1);};var M=N,K=v,W=g,X=U,Y=V,Z=b$1,$=S,y=w,ee=A,te=F,ne=x,ie=C,re=O,se=E,oe=m;let f=u.timeout!==void 0?{timeout:u.timeout}:void 0,B=await b(u.tagUrl,f);if(c$1)return;let h=a$1(B);if(h.ads.length===0){s("playing");return}let t=null,l=null;for(let n of h.ads){for(let i of n.creatives)if(i.linear&&i.linear.mediaFiles.length>0){t=i.linear,l=n;break}if(t)break}if(!t||!l){s("playing");return}let a$2=l.id;e.emit("ad:start",{adId:a$2});let L=[];if(u.adPlugins)for(let n of u.adPlugins(l)){let i=n.setup(e,l);i&&L.push(i);}for(let n of h.ads)a(n.impressions);e.emit("ad:impression",{adId:a$2});let Q=J(t.mediaFiles);if(!Q){e.emit("ad:error",{error:new Error("No suitable media file found"),source:"vast"}),s("playing");return}let R=e.el.currentTime,D=e.src,_=c(t.duration,n=>{if(!t)return;let i=t.trackingEvents[n];i&&a(i),e.emit("ad:quartile",{adId:a$2,quartile:n});}),I=new Set,P=e.el.muted||e.el.volume===0,T=!!document.fullscreenElement,o=!1;e.el.addEventListener("canplay",E),e.el.addEventListener("timeupdate",A),e.el.addEventListener("ended",O),e.el.addEventListener("error",C),e.el.addEventListener("pause",S),e.el.addEventListener("play",w),e.el.addEventListener("click",V),e.el.addEventListener("volumechange",F),document.addEventListener("fullscreenchange",x),e.on("ad:skip",b$1),d=m,e.src="",e.el.src=Q.url,e.el.load();}catch(f){if(c$1)return;e.emit("ad:error",{error:f instanceof Error?f:new Error(String(f)),source:"vast"}),s("playing");}}}function k({to:M}){M==="ready"&&!c$1&&(e.off("statechange",k),q());}return e.state==="ready"||e.state==="playing"||e.state==="paused"?q():e.on("statechange",k),()=>{c$1=true,e.off("statechange",k),d&&d();}}}}function J(u){if(u.length===0)return null;let e=u.filter(d=>d.mimeType==="video/mp4");return (e.length>0?e:u).sort((d,s)=>(s.bitrate??0)-(d.bitrate??0))[0]}export{de as vast};
1
+ export{a as vast}from'../chunk-3RDTWUHH.mjs';export{j as VAST_BREAK_SHORTENED,i as VAST_CATEGORY_BLOCKED,h as VAST_CATEGORY_REQUIRED,E as VAST_COMPANION_ERROR,H as VAST_COMPANION_FETCH_ERROR,G as VAST_COMPANION_REQUIRED_ERROR,F as VAST_COMPANION_SIZE_ERROR,I as VAST_COMPANION_UNSUPPORTED,w as VAST_CONDITIONAL_REJECTED,f as VAST_DURATION_ERROR,o as VAST_INLINE_TIMEOUT,L as VAST_INTERACTIVE_ERROR,x as VAST_INTERACTIVE_NOT_EXECUTED,e as VAST_LINEARITY_ERROR,p as VAST_LINEAR_ERROR,t as VAST_MEDIA_DISPLAY_ERROR,q as VAST_MEDIA_NOT_FOUND,r as VAST_MEDIA_TIMEOUT,s as VAST_MEDIA_UNSUPPORTED,v as VAST_MEZZANINE_DOWNLOADING,z as VAST_MEZZANINE_INVALID,u as VAST_MEZZANINE_REQUIRED,A as VAST_NONLINEAR_ERROR,C as VAST_NONLINEAR_FETCH_ERROR,B as VAST_NONLINEAR_SIZE_ERROR,D as VAST_NONLINEAR_UNSUPPORTED,n as VAST_NO_ADS,b as VAST_SCHEMA_ERROR,g as VAST_SIZE_ERROR,d as VAST_TRAFFICKING_ERROR,J as VAST_UNDEFINED_ERROR,y as VAST_VERIFICATION_NOT_EXECUTED,c as VAST_VERSION_UNSUPPORTED,K as VAST_VPAID_ERROR,k as VAST_WRAPPER_ERROR,m as VAST_WRAPPER_LIMIT,l as VAST_WRAPPER_TIMEOUT,a as VAST_XML_PARSE_ERROR,R as classifyAds,N as fetchVast,M as parseVast,S as playPod,Q as playSingleAd,T as playWaterfall,O as resolveVast,P as selectMediaFile}from'../chunk-G74QBLVV.mjs';export{c as getQuartile,b as track,e as trackCompanionView,a as trackError,f as trackNonLinear}from'../chunk-UY5CGRNN.mjs';
@@ -0,0 +1 @@
1
+ var Vide=(function(exports){'use strict';var F=1e3,B=2e3,$=2001,z=2002,G=3e3,J=3001,X=4e3,Z=4001,ee=4002,te=4003;var ne={idle:["loading","playing","error"],loading:["ready","playing","error"],ready:["playing","loading","ad:loading","error"],playing:["paused","buffering","loading","ad:loading","ended","error"],paused:["playing","loading","ad:loading","ended","error"],buffering:["playing","loading","error"],"ad:loading":["ad:playing","playing","error"],"ad:playing":["ad:paused","ad:loading","playing","error"],"ad:paused":["ad:playing","ad:loading","playing","error"],ended:["idle","loading","error"],error:["idle","loading"]};function re(t,a){return ne[t].includes(a)}function ae(t){return t.readyState>=3?t.paused?"ready":"playing":t.readyState>=1?"loading":"idle"}function ie(t){let a=ae(t),g=t instanceof HTMLAudioElement,E=new Map,y=[],c=false,k=[],d=null,m=t.getAttribute("src")??"",L=false,o=new Map,b=t.duration===Number.POSITIVE_INFINITY,R=null;function x(e){let n=E.get(e);return n||(n=new Set,E.set(e,n)),n}function i(e,n){let r=E.get(e);if(r)for(let u of r)try{u(n);}catch(p){console.error("[vide] Event handler error:",p);}}function s(e){if(e===a)return;if(!re(a,e)){console.warn(`[vide] Invalid transition: ${a} \u2192 ${e}`);return}let n=a;a=e,i("statechange",{from:n,to:e});}function v(){return a==="ad:loading"||a==="ad:playing"||a==="ad:paused"}function h(){!v()&&t.paused&&s("loading");}function S(){a==="loading"&&s("ready");}function P(){v()||s("playing"),i("play",void 0);}function _(){v()||s("paused"),i("pause",void 0);}function I(){a==="playing"&&s("buffering");}function H(){(a==="buffering"||a==="ready")&&s("playing");}function M(){v()||s("ended"),i("ended",void 0);}function A(){i("timeupdate",{currentTime:t.currentTime,duration:t.duration});}function C(){let e=t.error;v()||s("error"),i("error",{code:e?.code??1e3,message:e?.message??"Unknown error",source:"core"});}function w(){let e=t.duration===Number.POSITIVE_INFINITY;e!==b&&(b=e,i("livestatechange",{isLive:e}));}t.addEventListener("durationchange",w),t.addEventListener("loadstart",h),t.addEventListener("canplay",S),t.addEventListener("play",P),t.addEventListener("pause",_),t.addEventListener("waiting",I),t.addEventListener("playing",H),t.addEventListener("ended",M),t.addEventListener("timeupdate",A),t.addEventListener("error",C);function T(e,n){return {id:n,label:e.label,language:e.language,kind:e.kind,active:e.mode==="showing"}}function D(e){if(!e)return [];let n=[];for(let r=0;r<e.length;r++){let u=e[r];n.push({startTime:u.startTime,endTime:u.endTime,text:u.text??""});}return n}let l=new Map;function O(e){if(l.has(e))return;let n=()=>{e.mode==="showing"&&i("cuechange",{cues:D(e.activeCues)});};l.set(e,n),e.addEventListener("cuechange",n);}function K(e){let n=l.get(e);n&&(e.removeEventListener("cuechange",n),l.delete(e));}function V(){let e=[];for(let n=0;n<t.textTracks.length;n++)e.push(T(t.textTracks[n],n));i("texttracksavailable",{tracks:e});}function N(){for(let e=0;e<t.textTracks.length;e++)O(t.textTracks[e]);V();}function Q(e){e.track&&K(e.track),V();}let q=typeof t.textTracks.addEventListener=="function";if(q){t.textTracks.addEventListener("addtrack",N),t.textTracks.addEventListener("removetrack",Q);for(let e=0;e<t.textTracks.length;e++)O(t.textTracks[e]);}let U=new Set(["statechange","play","pause","ended","timeupdate","livestatechange","error","ad:companions","ad:nonlinears","ad:start","ad:end","ad:skip","ad:click","ad:error","ad:impression","ad:loaded","ad:quartile","ad:mute","ad:unmute","ad:volumeChange","ad:fullscreen","ad:breakStart","ad:breakEnd","ad:pod:start","ad:pod:end","ad:pod:adstart","ad:pod:adend","qualitiesavailable","qualitychange","texttrackchange","texttracksavailable","cuechange","destroy"]);function Y(){if(t.removeEventListener("durationchange",w),t.removeEventListener("loadstart",h),t.removeEventListener("canplay",S),t.removeEventListener("play",P),t.removeEventListener("pause",_),t.removeEventListener("waiting",I),t.removeEventListener("playing",H),t.removeEventListener("ended",M),t.removeEventListener("timeupdate",A),t.removeEventListener("error",C),q){t.textTracks.removeEventListener("addtrack",N),t.textTracks.removeEventListener("removetrack",Q);for(let[e,n]of l)e.removeEventListener("cuechange",n);l.clear();}}function j(){if(d||L)return;let e=t.querySelectorAll("source");for(let n of e){let r=n.getAttribute("src"),u=n.getAttribute("type")??void 0;if(r){for(let p of k)if(p.canHandle(r,u)){d=p,m=r,s("loading"),p.load(r,t);for(let W of e)W.remove();return}}}}let f={get el(){return t},get state(){return a},on(e,n){U.has(e)?x(e).add(n):t.addEventListener(e,n);},off(e,n){U.has(e)?x(e).delete(n):t.removeEventListener(e,n);},emit:i,once(e,n){let r=u=>{f.off(e,r),n(u);};f.on(e,r);},play(){return t.play()},pause(){t.pause();},get currentTime(){return t.currentTime},set currentTime(e){t.currentTime=e;},get duration(){return t.duration},set duration(e){},get volume(){return t.volume},set volume(e){t.volume=e;},get muted(){return t.muted},set muted(e){t.muted=e;},get playbackRate(){return t.playbackRate},set playbackRate(e){t.playbackRate=e;},get paused(){return t.paused},get ended(){return t.ended},get readyState(){return t.readyState},get buffered(){return t.buffered},get seekable(){return t.seekable},get seeking(){return t.seeking},get isLive(){return c?false:t.duration===Number.POSITIVE_INFINITY},get seekableRange(){return c||t.seekable.length===0?null:{start:t.seekable.start(0),end:t.seekable.end(0)}},get qualities(){return o.get("qualities")??[]},get currentQuality(){return o.get("currentQuality")??null},get isAutoQuality(){return o.get("autoQuality")??true},get isAudio(){return g},setQuality(e){let n=o.get("qualitySetter");n&&n(e);},get textTracks(){return t.textTracks},getTextTracks(){let e=[];for(let n=0;n<t.textTracks.length;n++)e.push(T(t.textTracks[n],n));return e},getActiveTextTrack(){for(let e=0;e<t.textTracks.length;e++)if(t.textTracks[e].mode==="showing")return T(t.textTracks[e],e);return null},get activeCues(){for(let e=0;e<t.textTracks.length;e++)if(t.textTracks[e].mode==="showing")return D(t.textTracks[e].activeCues);return []},setTextTrack(e){for(let r=0;r<t.textTracks.length;r++)t.textTracks[r].mode=r===e?"showing":"disabled";let n=e>=0&&e<t.textTracks.length?T(t.textTracks[e],e):null;i("texttrackchange",{track:n});},addTextTrack(e){let n=document.createElement("track");n.src=e.src,n.label=e.label,n.srclang=e.language,n.kind=e.kind??"subtitles",e.default&&(n.default=true),t.appendChild(n);},get videoWidth(){return g?0:t.videoWidth},get videoHeight(){return g?0:t.videoHeight},get networkState(){return t.networkState},get loop(){return t.loop},set loop(e){t.loop=e;},get autoplay(){return t.autoplay},set autoplay(e){t.autoplay=e;},get poster(){return g?"":t.poster},set poster(e){g||(t.poster=e);},get preload(){return t.preload},set preload(e){t.preload=e;},get defaultPlaybackRate(){return t.defaultPlaybackRate},set defaultPlaybackRate(e){t.defaultPlaybackRate=e;},get defaultMuted(){return t.defaultMuted},set defaultMuted(e){t.defaultMuted=e;},get crossOrigin(){return t.crossOrigin},set crossOrigin(e){t.crossOrigin=e;},get controls(){return t.controls},set controls(e){t.controls=e;},get src(){return m},set src(e){if(d&&(d.unload(t),d=null),o.delete("qualities"),o.delete("currentQuality"),o.delete("autoQuality"),o.delete("qualitySetter"),R=null,L=true,m=e,!e){t.removeAttribute("src");return}for(let n of k)if(n.canHandle(e)){d=n,s("loading"),n.load(e,t);return}t.src=e;},registerSourceHandler(e){if(c){console.warn("[vide] Cannot register source handler after destroy");return}k.push(e),!L&&!d&&j();},addEventListener(e,n,r){t.addEventListener(e,n,r);},removeEventListener(e,n,r){t.removeEventListener(e,n,r);},use(e){if(c){console.warn("[vide] Cannot use plugin after destroy");return}let n=e.setup(f);n&&y.push(n);},setPluginData(e,n){if(o.set(e,n),e==="qualities")i("qualitiesavailable",{qualities:n});else if(e==="currentQuality"){let r=n;i("qualitychange",{from:R,to:r}),R=r;}},getPluginData(e){return o.get(e)},destroy(){if(!c){c=true,d&&(d.unload(t),d=null);for(let e of y)try{e();}catch(n){console.error("[vide] Plugin cleanup error:",n);}y.length=0,i("destroy",void 0),Y(),E.clear(),o.clear();}}};return f._setState=s,f}exports.ERR_DASH_IMPORT=G;exports.ERR_DASH_PLAYBACK=J;exports.ERR_DRM_CERTIFICATE=te;exports.ERR_DRM_DETECTION=Z;exports.ERR_DRM_LICENSE=ee;exports.ERR_DRM_UNSUPPORTED=X;exports.ERR_HLS_FATAL=z;exports.ERR_HLS_IMPORT=$;exports.ERR_HLS_UNSUPPORTED=B;exports.ERR_MEDIA=F;exports.createPlayer=ie;return exports;})({});
@@ -0,0 +1,2 @@
1
+ (function(){'use strict';var w=Object.defineProperty;var T=(e,t)=>()=>(e&&(t=e(e=0)),t);var C=(e,t)=>{for(var o in t)w(e,o,{get:t[o],enumerable:true});};var R={};C(R,{default:()=>k});var I,k,E=T(()=>{I=globalThis.dashjs,k=I;});function P(e){return e>=2160?"4K":e>=1440?"1440p":e>=1080?"1080p":e>=720?"720p":e>=480?"480p":e>=360?"360p":e>=240?"240p":`${e}p`}var q="application/dash+xml",A={maxRetries:3,retryDelay:3e3,backoffMultiplier:2};function Q(e){try{return new URL(e,"https://placeholder.invalid").pathname.endsWith(".mpd")}catch{return e.includes(".mpd")}}function _(e){return e.toLowerCase()===q}function M(e={}){return {name:"dash",setup(t){let o=null,d=false,f=e.recovery===false?false:{...A,...e.recovery??{}},u=0,g=null,p="",l=null;function m(){g!==null&&(clearTimeout(g),g=null);}function S(n){if(f===false||d||u>=f.maxRetries||!l)return false;u++;let a=f.retryDelay*f.backoffMultiplier**(u-1);return m(),g=setTimeout(()=>{d||!l||(n.reset(),n.initialize(l,p,l.autoplay));},a),true}let b={canHandle(n,a){return a&&_(a)?true:Q(n)},load(n,a){this.unload(a),L(n,a);},unload(n){m(),u=0,p="",l=null,o&&(o.destroy(),o=null);}};function L(n,a){p=n,l=a,Promise.resolve().then(()=>(E(),R)).then(y=>{if(d)return;let h=y.default,r=h.MediaPlayer().create();o=r,t.setPluginData("dash",r);let D=t.getPluginData("drm");D?.dashConfig&&r.updateSettings(D.dashConfig),e.dashConfig&&r.updateSettings(e.dashConfig),r.on(h.MediaPlayer.events.ERROR,s=>{if(typeof s.error=="object"&&s.error!==null){let c=S(r);t.emit("error",{code:s.error.code,message:s.error.message,source:"dash",recoverable:c,retryCount:c?u:void 0});}else t.emit("error",{code:3001,message:`DASH error: ${String(s.error)}`,source:"dash"});}),r.on(h.MediaPlayer.events.STREAM_INITIALIZED,()=>{u>0&&(u=0,m());let c=r.getBitrateInfoListFor("video").map(i=>({id:i.qualityIndex,width:i.width,height:i.height,bitrate:i.bitrate,label:P(i.height)}));t.setPluginData("qualities",c),t.setPluginData("qualitySetter",i=>{i===-1?r.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:true}}}}):(r.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:false}}}}),r.setQualityFor("video",i,true)),t.setPluginData("autoQuality",i===-1);});}),r.on(h.MediaPlayer.events.QUALITY_CHANGE_RENDERED,s=>{if(s.mediaType!=="video")return;let i=t.qualities.find(v=>v.id===s.newQuality);if(i){t.setPluginData("currentQuality",i);let v=r.getSettings();t.setPluginData("autoQuality",v?.streaming?.abr?.autoSwitchBitrate?.video??true);}}),r.initialize(a,n,a.autoplay);}).catch(y=>{d||t.emit("error",{code:3e3,message:y instanceof Error?`Failed to load dashjs: ${y.message}`:"Failed to load dashjs",source:"dash"});});}return t.registerSourceHandler(b),()=>{d=true,m(),b.unload(t.el);}}}}var B=globalThis.Vide??(globalThis.Vide={});B.dash=M;
2
+ })();
@@ -0,0 +1 @@
1
+ (function(){'use strict';function l(e){let r={licenseUrl:e.licenseUrl,serverCertificateUrl:e.certificateUrl};if(e.headers){let t=e.headers;r.licenseXhrSetup=n=>{for(let[i,s]of Object.entries(t))n.setRequestHeader(i,s);};}return {emeEnabled:true,drmSystems:{"com.apple.fps.1_0":r}}}function g(e){let r={serverURL:e.licenseUrl,serverCertificateURL:e.certificateUrl};return e.headers&&(r.httpRequestHeaders=e.headers),{streaming:{protection:{data:{"com.apple.fps.1_0":r}}}}}function h(e){let r={licenseUrl:e.licenseUrl};if(e.headers){let t=e.headers;r.licenseXhrSetup=n=>{for(let[i,s]of Object.entries(t))n.setRequestHeader(i,s);};}return {emeEnabled:true,drmSystems:{"com.widevine.alpha":r}}}function v(e){let r={serverURL:e.licenseUrl};return e.headers&&(r.httpRequestHeaders=e.headers),{streaming:{protection:{data:{"com.widevine.alpha":r}}}}}function u(e){return e.keySystem==="com.widevine.alpha"&&e.widevine?h(e.widevine):e.keySystem==="com.apple.fps.1_0"&&e.fairplay?l(e.fairplay):{}}function y(e){return e.keySystem==="com.widevine.alpha"&&e.widevine?v(e.widevine):e.keySystem==="com.apple.fps.1_0"&&e.fairplay?g(e.fairplay):{}}var w="com.apple.fps.1_0",S=[{initDataTypes:["cenc"],videoCapabilities:[{contentType:'video/mp4;codecs="avc1.42E01E"'}]}],K=[{initDataTypes:["sinf"],videoCapabilities:[{contentType:'video/mp4;codecs="avc1.42E01E"'}]}];async function m(e){for(let r of e)try{let t=r===w?K:S;return await navigator.requestMediaKeySystemAccess(r,t),r}catch{}return null}var R="com.apple.fps.1_0",M=[{initDataTypes:["cenc"],videoCapabilities:[{contentType:'video/mp4;codecs="avc1.42E01E"'}]}],P=[{initDataTypes:["sinf"],videoCapabilities:[{contentType:'video/mp4;codecs="avc1.42E01E"'}]}];function p(e,r,t){let n=false,i=[],s=null,a=o=>{if(n||e.mediaKeys&&e.mediaKeys!==s||!s||!o.initData)return;let f=s.createSession("temporary");i.push(f),f.generateRequest(o.initDataType,o.initData).then(()=>{},c=>{n||t(c instanceof Error?c:new Error("generateRequest failed"));}),f.addEventListener("message",c=>{n||D(c,f,r,t,()=>n);}),f.addEventListener("keystatuseschange",()=>{if(!n)for(let[,c]of f.keyStatuses)(c==="expired"||c==="internal-error")&&t(new Error(`Key status: ${c}`));});},d=r.keySystem===R?P:M;return navigator.requestMediaKeySystemAccess(r.keySystem,d).then(o=>{if(!n)return o.createMediaKeys()}).then(o=>{if(!(n||!o)&&(s=o,r.keySystem===R&&r.certificateUrl))return U(r.certificateUrl,r.headers,t,()=>n).then(f=>{if(!(n||!f))return s?.setServerCertificate(f.buffer)})}).then(()=>{n||!s||(e.mediaKeys||e.setMediaKeys(s),e.addEventListener("encrypted",a));}).catch(o=>{n||t(o instanceof Error?o:new Error("EME setup failed"));}),()=>{n=true,e.removeEventListener("encrypted",a);for(let o of i)o.close().catch(()=>{});}}async function U(e,r,t,n){try{let i=await fetch(e,r?{headers:r}:{});if(!i.ok)throw new Error(`Certificate fetch failed: ${i.status} ${i.statusText}`);let s=await i.arrayBuffer();return n()?null:new Uint8Array(s)}catch(i){return n()||t(i instanceof Error?i:new Error("Certificate fetch failed")),null}}function D(e,r,t,n,i){let s=new Uint8Array(e.message);Promise.resolve(t.prepareLicenseRequest?t.prepareLicenseRequest(s):s).then(a=>{if(!i())return fetch(t.licenseUrl,{method:"POST",body:a.buffer,...t.headers?{headers:t.headers}:{}})}).then(a=>{if(!(i()||!a)){if(!a.ok)throw new Error(`License request failed: ${a.status} ${a.statusText}`);return a.arrayBuffer()}}).then(a=>{if(i()||!a)return;let d=new Uint8Array(a);return Promise.resolve(t.processLicenseResponse?t.processLicenseResponse(d):d)}).then(a=>{if(!(i()||!a))return r.update(a.buffer)}).catch(a=>{i()||n(a instanceof Error?a:new Error("License exchange failed"));});}function C(e){return {name:"drm",setup(r){let t=false,n,i=[];return e.widevine&&i.push("com.widevine.alpha"),e.fairplay&&i.push("com.apple.fps.1_0"),i.length===0?(console.warn("[vide/drm] No DRM configuration provided"),()=>{}):(m(i).then(s=>{if(t)return;if(!s){r.emit("error",{code:4e3,message:"No supported DRM key system found",source:"drm"});return}let a={keySystem:s,widevine:e.widevine,fairplay:e.fairplay},d={keySystem:s,hlsConfig:u(a),dashConfig:y(a)};r.setPluginData("drm",d);let o=s!=="com.widevine.alpha",f=o?e.fairplay:e.widevine;if(!f)return;let c={keySystem:s,licenseUrl:f.licenseUrl,headers:f.headers,prepareLicenseRequest:f.prepareLicenseRequest,processLicenseResponse:f.processLicenseResponse};o&&(c.certificateUrl=f.certificateUrl),n=p(r.el,c,E=>{t||r.emit("error",{code:4002,message:E.message,source:"drm"});});}).catch(s=>{t||r.emit("error",{code:4001,message:s instanceof Error?`DRM detection failed: ${s.message}`:"DRM detection failed",source:"drm"});}),()=>{t=true,n?.();})}}}var L=globalThis.Vide??(globalThis.Vide={});Object.assign(L,{drm:C,detectKeySystem:m,dashDrmConfig:y,hlsDrmConfig:u,setupEme:p});})();
@@ -0,0 +1,2 @@
1
+ var Vide=(function(exports){'use strict';var Zt=Object.defineProperty;var ze=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ge=(e,t)=>{for(var n in t)Zt(e,n,{get:t[n],enumerable:true});};var it={};Ge(it,{default:()=>sn});var on,sn,ot=ze(()=>{on=globalThis.Hls,sn=on;});var at={};Ge(at,{default:()=>fn});var cn,fn,lt=ze(()=>{cn=globalThis.dashjs,fn=cn;});var $e=1e3,Ye=2e3,Xe=2001,Ze=2002,Je=3e3,et=3001,tt=4e3,nt=4001,rt=4002,Jt=4003;var en={idle:["loading","playing","error"],loading:["ready","playing","error"],ready:["playing","loading","ad:loading","error"],playing:["paused","buffering","loading","ad:loading","ended","error"],paused:["playing","loading","ad:loading","ended","error"],buffering:["playing","loading","error"],"ad:loading":["ad:playing","playing","error"],"ad:playing":["ad:paused","ad:loading","playing","error"],"ad:paused":["ad:playing","ad:loading","playing","error"],ended:["idle","loading","error"],error:["idle","loading"]};function tn(e,t){return en[e].includes(t)}function nn(e){return e.readyState>=3?e.paused?"ready":"playing":e.readyState>=1?"loading":"idle"}function rn(e){let t=nn(e),n=e instanceof HTMLAudioElement,r=new Map,i=[],o=false,s=[],a=null,l=e.getAttribute("src")??"",d=false,u=new Map,f=e.duration===Number.POSITIVE_INFINITY,m=null;function y(c){let S=r.get(c);return S||(S=new Set,r.set(c,S)),S}function p(c,S){let w=r.get(c);if(w)for(let q of w)try{q(S);}catch(X){console.error("[vide] Event handler error:",X);}}function v(c){if(c===t)return;if(!tn(t,c)){console.warn(`[vide] Invalid transition: ${t} \u2192 ${c}`);return}let S=t;t=c,p("statechange",{from:S,to:c});}function g(){return t==="ad:loading"||t==="ad:playing"||t==="ad:paused"}function k(){!g()&&e.paused&&v("loading");}function A(){t==="loading"&&v("ready");}function E(){g()||v("playing"),p("play",void 0);}function P(){g()||v("paused"),p("pause",void 0);}function R(){t==="playing"&&v("buffering");}function x(){(t==="buffering"||t==="ready")&&v("playing");}function h(){g()||v("ended"),p("ended",void 0);}function b(){p("timeupdate",{currentTime:e.currentTime,duration:e.duration});}function L(){let c=e.error;g()||v("error"),p("error",{code:c?.code??1e3,message:c?.message??"Unknown error",source:"core"});}function V(){let c=e.duration===Number.POSITIVE_INFINITY;c!==f&&(f=c,p("livestatechange",{isLive:c}));}e.addEventListener("durationchange",V),e.addEventListener("loadstart",k),e.addEventListener("canplay",A),e.addEventListener("play",E),e.addEventListener("pause",P),e.addEventListener("waiting",R),e.addEventListener("playing",x),e.addEventListener("ended",h),e.addEventListener("timeupdate",b),e.addEventListener("error",L);function D(c,S){return {id:S,label:c.label,language:c.language,kind:c.kind,active:c.mode==="showing"}}function H(c){if(!c)return [];let S=[];for(let w=0;w<c.length;w++){let q=c[w];S.push({startTime:q.startTime,endTime:q.endTime,text:q.text??""});}return S}let I=new Map;function N(c){if(I.has(c))return;let S=()=>{c.mode==="showing"&&p("cuechange",{cues:H(c.activeCues)});};I.set(c,S),c.addEventListener("cuechange",S);}function C(c){let S=I.get(c);S&&(c.removeEventListener("cuechange",S),I.delete(c));}function U(){let c=[];for(let S=0;S<e.textTracks.length;S++)c.push(D(e.textTracks[S],S));p("texttracksavailable",{tracks:c});}function Be(){for(let c=0;c<e.textTracks.length;c++)N(e.textTracks[c]);U();}function Qe(c){c.track&&C(c.track),U();}let Ke=typeof e.textTracks.addEventListener=="function";if(Ke){e.textTracks.addEventListener("addtrack",Be),e.textTracks.addEventListener("removetrack",Qe);for(let c=0;c<e.textTracks.length;c++)N(e.textTracks[c]);}let We=new Set(["statechange","play","pause","ended","timeupdate","livestatechange","error","ad:companions","ad:nonlinears","ad:start","ad:end","ad:skip","ad:click","ad:error","ad:impression","ad:loaded","ad:quartile","ad:mute","ad:unmute","ad:volumeChange","ad:fullscreen","ad:breakStart","ad:breakEnd","ad:pod:start","ad:pod:end","ad:pod:adstart","ad:pod:adend","qualitiesavailable","qualitychange","texttrackchange","texttracksavailable","cuechange","destroy"]);function $t(){if(e.removeEventListener("durationchange",V),e.removeEventListener("loadstart",k),e.removeEventListener("canplay",A),e.removeEventListener("play",E),e.removeEventListener("pause",P),e.removeEventListener("waiting",R),e.removeEventListener("playing",x),e.removeEventListener("ended",h),e.removeEventListener("timeupdate",b),e.removeEventListener("error",L),Ke){e.textTracks.removeEventListener("addtrack",Be),e.textTracks.removeEventListener("removetrack",Qe);for(let[c,S]of I)c.removeEventListener("cuechange",S);I.clear();}}function Yt(){if(a||d)return;let c=e.querySelectorAll("source");for(let S of c){let w=S.getAttribute("src"),q=S.getAttribute("type")??void 0;if(w){for(let X of s)if(X.canHandle(w,q)){a=X,l=w,v("loading"),X.load(w,e);for(let Xt of c)Xt.remove();return}}}}let Y={get el(){return e},get state(){return t},on(c,S){We.has(c)?y(c).add(S):e.addEventListener(c,S);},off(c,S){We.has(c)?y(c).delete(S):e.removeEventListener(c,S);},emit:p,once(c,S){let w=q=>{Y.off(c,w),S(q);};Y.on(c,w);},play(){return e.play()},pause(){e.pause();},get currentTime(){return e.currentTime},set currentTime(c){e.currentTime=c;},get duration(){return e.duration},set duration(c){},get volume(){return e.volume},set volume(c){e.volume=c;},get muted(){return e.muted},set muted(c){e.muted=c;},get playbackRate(){return e.playbackRate},set playbackRate(c){e.playbackRate=c;},get paused(){return e.paused},get ended(){return e.ended},get readyState(){return e.readyState},get buffered(){return e.buffered},get seekable(){return e.seekable},get seeking(){return e.seeking},get isLive(){return o?false:e.duration===Number.POSITIVE_INFINITY},get seekableRange(){return o||e.seekable.length===0?null:{start:e.seekable.start(0),end:e.seekable.end(0)}},get qualities(){return u.get("qualities")??[]},get currentQuality(){return u.get("currentQuality")??null},get isAutoQuality(){return u.get("autoQuality")??true},get isAudio(){return n},setQuality(c){let S=u.get("qualitySetter");S&&S(c);},get textTracks(){return e.textTracks},getTextTracks(){let c=[];for(let S=0;S<e.textTracks.length;S++)c.push(D(e.textTracks[S],S));return c},getActiveTextTrack(){for(let c=0;c<e.textTracks.length;c++)if(e.textTracks[c].mode==="showing")return D(e.textTracks[c],c);return null},get activeCues(){for(let c=0;c<e.textTracks.length;c++)if(e.textTracks[c].mode==="showing")return H(e.textTracks[c].activeCues);return []},setTextTrack(c){for(let w=0;w<e.textTracks.length;w++)e.textTracks[w].mode=w===c?"showing":"disabled";let S=c>=0&&c<e.textTracks.length?D(e.textTracks[c],c):null;p("texttrackchange",{track:S});},addTextTrack(c){let S=document.createElement("track");S.src=c.src,S.label=c.label,S.srclang=c.language,S.kind=c.kind??"subtitles",c.default&&(S.default=true),e.appendChild(S);},get videoWidth(){return n?0:e.videoWidth},get videoHeight(){return n?0:e.videoHeight},get networkState(){return e.networkState},get loop(){return e.loop},set loop(c){e.loop=c;},get autoplay(){return e.autoplay},set autoplay(c){e.autoplay=c;},get poster(){return n?"":e.poster},set poster(c){n||(e.poster=c);},get preload(){return e.preload},set preload(c){e.preload=c;},get defaultPlaybackRate(){return e.defaultPlaybackRate},set defaultPlaybackRate(c){e.defaultPlaybackRate=c;},get defaultMuted(){return e.defaultMuted},set defaultMuted(c){e.defaultMuted=c;},get crossOrigin(){return e.crossOrigin},set crossOrigin(c){e.crossOrigin=c;},get controls(){return e.controls},set controls(c){e.controls=c;},get src(){return l},set src(c){if(a&&(a.unload(e),a=null),u.delete("qualities"),u.delete("currentQuality"),u.delete("autoQuality"),u.delete("qualitySetter"),m=null,d=true,l=c,!c){e.removeAttribute("src");return}for(let S of s)if(S.canHandle(c)){a=S,v("loading"),S.load(c,e);return}e.src=c;},registerSourceHandler(c){if(o){console.warn("[vide] Cannot register source handler after destroy");return}s.push(c),!d&&!a&&Yt();},addEventListener(c,S,w){e.addEventListener(c,S,w);},removeEventListener(c,S,w){e.removeEventListener(c,S,w);},use(c){if(o){console.warn("[vide] Cannot use plugin after destroy");return}let S=c.setup(Y);S&&i.push(S);},setPluginData(c,S){if(u.set(c,S),c==="qualities")p("qualitiesavailable",{qualities:S});else if(c==="currentQuality"){let w=S;p("qualitychange",{from:m,to:w}),m=w;}},getPluginData(c){return u.get(c)},destroy(){if(!o){o=true,a&&(a.unload(e),a=null);for(let c of i)try{c();}catch(S){console.error("[vide] Plugin cleanup error:",S);}i.length=0,p("destroy",void 0),$t(),r.clear(),u.clear();}}};return Y._setState=v,Y}function te(e){return e>=2160?"4K":e>=1440?"1440p":e>=1080?"1080p":e>=720?"720p":e>=480?"480p":e>=360?"360p":e>=240?"240p":`${e}p`}var st=["application/vnd.apple.mpegurl","application/x-mpegurl"],an={maxRetries:3,retryDelay:3e3,backoffMultiplier:2};function ln(e){if(e.startsWith("data:")){let t=e.indexOf(";");return t===-1?false:st.includes(e.slice(5,t).toLowerCase())}if(e.startsWith("blob:"))return e.includes(".m3u8");try{return new URL(e,"https://placeholder.invalid").pathname.endsWith(".m3u8")}catch{return e.includes(".m3u8")}}function dn(e){return st.includes(e.toLowerCase())}function un(e={}){return {name:"hls",setup(t){let n=null,r=false,i=e.recovery===false?false:{...an,...e.recovery??{}},o=0,s=null;function a(){s!==null&&(clearTimeout(s),s=null);}function l(f,m){if(i===false||r||o>=i.maxRetries)return false;o++;let y=i.retryDelay*i.backoffMultiplier**(o-1);return a(),s=setTimeout(()=>{r||(m==="networkError"?f.startLoad(-1):f.recoverMediaError());},y),true}let d={canHandle(f,m){return m&&dn(m)?true:ln(f)},load(f,m){this.unload(m),u(f,m);},unload(f){a(),o=0,n&&(n.destroy(),n=null);}};function u(f,m){Promise.resolve().then(()=>(ot(),it)).then(y=>{if(r)return;let p=y.default;if(!p.isSupported()){if(m.canPlayType("application/vnd.apple.mpegurl")){m.src=f;return}t.emit("error",{code:2e3,message:"HLS is not supported in this browser",source:"hls"});return}let v=t.getPluginData("drm"),g={...e.hlsConfig??{},...v?.hlsConfig??{}},k=new p(g);n=k,t.setPluginData("hls",k),k.on(p.Events.ERROR,(A,E)=>{if(!E.fatal)return;let P=l(k,E.type);t.emit("error",{code:2002,message:`HLS fatal error: ${E.type} - ${E.details}`,source:"hls",recoverable:P,retryCount:P?o:void 0});}),k.on(p.Events.FRAG_LOADED,()=>{o>0&&(o=0,a());}),k.on(p.Events.MANIFEST_PARSED,()=>{let A=k.levels.map((E,P)=>({id:P,width:E.width,height:E.height,bitrate:E.bitrate,label:te(E.height)}));t.setPluginData("qualities",A),t.setPluginData("qualitySetter",E=>{k.currentLevel=E,t.setPluginData("autoQuality",E===-1);});}),k.on(p.Events.LEVEL_SWITCHED,(A,E)=>{let R=t.qualities[E.level];R&&(t.setPluginData("currentQuality",R),t.setPluginData("autoQuality",k.autoLevelEnabled));}),k.attachMedia(m),k.loadSource(f);}).catch(y=>{r||t.emit("error",{code:2001,message:y instanceof Error?`Failed to load hls.js: ${y.message}`:"Failed to load hls.js",source:"hls"});});}return t.registerSourceHandler(d),()=>{r=true,a(),d.unload(t.el);}}}}var mn="application/dash+xml",pn={maxRetries:3,retryDelay:3e3,backoffMultiplier:2};function vn(e){try{return new URL(e,"https://placeholder.invalid").pathname.endsWith(".mpd")}catch{return e.includes(".mpd")}}function gn(e){return e.toLowerCase()===mn}function yn(e={}){return {name:"dash",setup(t){let n=null,r=false,i=e.recovery===false?false:{...pn,...e.recovery??{}},o=0,s=null,a="",l=null;function d(){s!==null&&(clearTimeout(s),s=null);}function u(y){if(i===false||r||o>=i.maxRetries||!l)return false;o++;let p=i.retryDelay*i.backoffMultiplier**(o-1);return d(),s=setTimeout(()=>{r||!l||(y.reset(),y.initialize(l,a,l.autoplay));},p),true}let f={canHandle(y,p){return p&&gn(p)?true:vn(y)},load(y,p){this.unload(p),m(y,p);},unload(y){d(),o=0,a="",l=null,n&&(n.destroy(),n=null);}};function m(y,p){a=y,l=p,Promise.resolve().then(()=>(lt(),at)).then(v=>{if(r)return;let g=v.default,k=g.MediaPlayer().create();n=k,t.setPluginData("dash",k);let A=t.getPluginData("drm");A?.dashConfig&&k.updateSettings(A.dashConfig),e.dashConfig&&k.updateSettings(e.dashConfig),k.on(g.MediaPlayer.events.ERROR,E=>{if(typeof E.error=="object"&&E.error!==null){let P=u(k);t.emit("error",{code:E.error.code,message:E.error.message,source:"dash",recoverable:P,retryCount:P?o:void 0});}else t.emit("error",{code:3001,message:`DASH error: ${String(E.error)}`,source:"dash"});}),k.on(g.MediaPlayer.events.STREAM_INITIALIZED,()=>{o>0&&(o=0,d());let P=k.getBitrateInfoListFor("video").map(R=>({id:R.qualityIndex,width:R.width,height:R.height,bitrate:R.bitrate,label:te(R.height)}));t.setPluginData("qualities",P),t.setPluginData("qualitySetter",R=>{R===-1?k.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:true}}}}):(k.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:false}}}}),k.setQualityFor("video",R,true)),t.setPluginData("autoQuality",R===-1);});}),k.on(g.MediaPlayer.events.QUALITY_CHANGE_RENDERED,E=>{if(E.mediaType!=="video")return;let R=t.qualities.find(x=>x.id===E.newQuality);if(R){t.setPluginData("currentQuality",R);let x=k.getSettings();t.setPluginData("autoQuality",x?.streaming?.abr?.autoSwitchBitrate?.video??true);}}),k.initialize(p,y,p.autoplay);}).catch(v=>{r||t.emit("error",{code:3e3,message:v instanceof Error?`Failed to load dashjs: ${v.message}`:"Failed to load dashjs",source:"dash"});});}return t.registerSourceHandler(f),()=>{r=true,d(),f.unload(t.el);}}}}var dt=100,Rr=101,Lr=102,wr=200,Mr=201,xr=202,Ir=203,Vr=204,Dr=205,_r=206,Or=300,ut=301,Nr=302,ne=303,Ur=304,Hr=400,hn=401,Fr=402,ct=403,En=405,jr=406,qr=407,Br=408,Qr=409,Kr=410,Wr=411,zr=500,Gr=501,$r=502,Yr=503,Xr=600,Zr=601,Jr=602,ei=603,ti=604,ni=900,ri=901,ii=902;function G(e){let n=new DOMParser().parseFromString(e,"text/xml");if(n.querySelector("parsererror"))return {version:"",ads:[],errors:["VAST XML parse error"]};let i=n.documentElement;if(i.tagName!=="VAST")return {version:"",ads:[],errors:["Document is not a VAST response"]};let o=i.getAttribute("version")??"",s=$(i,"Error"),a=_(i,"Ad"),l=[];for(let d of a){let u=Sn(d);u&&l.push(u);}return {version:o,ads:l,errors:s}}function Sn(e){let t=Q(e,"InLine");if(!t)return null;let n=e.getAttribute("id")??"",r=e.getAttribute("sequence"),i=F(r,void 0),o=j(t,"AdSystem"),s=j(t,"AdTitle"),a=z(t,"Impression"),l=$(t,"Error"),d=t.querySelector("Creatives"),u=[];if(d){let v=_(d,"Creative");for(let g of v)u.push(kn(g));}let f=ft(t),m=An(t),y=mt(t),p=pt(t);return {id:n,sequence:i,adSystem:o,adTitle:s,impressions:a,creatives:u,errors:l,verifications:f,categories:m,extensions:y,viewableImpression:p}}function ft(e){let t=e.querySelector("AdVerifications");if(!t)return;let n=[],r=_(t,"Verification");for(let i of r){let o=i.getAttribute("vendor")??"",s="",a,l=i.querySelector("JavaScriptResource");if(l)s=(l.textContent??"").trim(),a=l.getAttribute("apiFramework")??void 0;else {let f=i.querySelector("ExecutableResource");f&&(s=(f.textContent??"").trim(),a=f.getAttribute("apiFramework")??void 0);}let d=i.querySelector("VerificationParameters"),u=d&&(d.textContent??"").trim()||void 0;n.push({vendor:o,resourceUrl:s,apiFramework:a,parameters:u});}return n.length>0?n:void 0}function An(e){let t=_(e,"Category");if(t.length===0)return;let n=[];for(let r of t){let i=r.getAttribute("authority")??"",o=(r.textContent??"").trim();o&&n.push({authority:i,value:o});}return n.length>0?n:void 0}function mt(e){let t=Q(e,"Extensions");if(!t)return;let n=[],r=new XMLSerializer;for(let i of _(t,"Extension")){let o=i.getAttribute("type")??"",s="";for(let a=0;a<i.childNodes.length;a++)s+=r.serializeToString(i.childNodes[a]);s=s.trim(),s&&n.push({type:o,content:s});}return n.length>0?n:void 0}function pt(e){let t=Q(e,"ViewableImpression");if(!t)return;let n=$(t,"Viewable"),r=$(t,"NotViewable"),i=$(t,"ViewUndetermined");if(!(n.length===0&&r.length===0&&i.length===0))return {viewable:n,notViewable:r,viewUndetermined:i}}function kn(e){let t=e.getAttribute("id")??void 0,n=e.getAttribute("sequence"),r=F(n,void 0),i=e.querySelector("Linear"),o=i?bn(i):null,s=gt(e),a=Ln(e);return {id:t,sequence:r,linear:o,companionAds:s,nonLinearAds:a}}function bn(e){let t=j(e,"Duration"),n=Se(t),r=e.getAttribute("skipoffset"),i=r!==null?Et(r,n):void 0,o=Tn(e),s=Pn(e),a=ht(e),l=e.querySelector("VideoClicks"),d=l&&j(l,"ClickThrough")||void 0,u=l?z(l,"ClickTracking"):[];return {duration:n,skipOffset:i,mediaFiles:o,interactiveCreativeFiles:s,trackingEvents:a,clickThrough:d,clickTracking:u}}function Tn(e){let t=e.querySelector("MediaFiles");if(!t)return [];let n=[],r=_(t,"MediaFile");for(let i of r){let o=(i.textContent??"").trim();if(!o)continue;let s=i.getAttribute("delivery");n.push({url:o,mimeType:i.getAttribute("type")??"",width:F(i.getAttribute("width"),0),height:F(i.getAttribute("height"),0),bitrate:F(i.getAttribute("bitrate"),void 0),delivery:s==="streaming"?"streaming":"progressive"});}return n}function Pn(e){let t=e.querySelector("MediaFiles");if(!t)return [];let n=[],r=_(t,"InteractiveCreativeFile");for(let i of r){let o=(i.textContent??"").trim();if(!o)continue;let s=i.getAttribute("apiFramework")??"",a=i.getAttribute("variableDuration"),l=a==="true"?true:a==="false"?false:void 0;n.push({url:o,apiFramework:s,variableDuration:l});}return n}function vt(e){let t=[];for(let n of _(e,"StaticResource")){let r=(n.textContent??"").trim(),i=n.getAttribute("creativeType")??"";r&&t.push({type:"static",url:r,creativeType:i});}for(let n of _(e,"IFrameResource")){let r=(n.textContent??"").trim();r&&t.push({type:"iframe",url:r});}for(let n of _(e,"HTMLResource")){let r=(n.textContent??"").trim();r&&t.push({type:"html",content:r});}return t}function gt(e){let t=Q(e,"CompanionAds");if(!t)return;let n=t.getAttribute("required"),r=n==="all"||n==="any"?n:"none",i=[];for(let o of _(t,"Companion")){let s=Cn(o);s&&i.push(s);}return i.length>0?{required:r,companions:i}:void 0}function Cn(e){let t=F(e.getAttribute("width"),0),n=F(e.getAttribute("height"),0);if(t===0||n===0)return null;let r=e.getAttribute("id")??void 0,i=F(e.getAttribute("assetWidth"),void 0),o=F(e.getAttribute("assetHeight"),void 0),s=F(e.getAttribute("expandedWidth"),void 0),a=F(e.getAttribute("expandedHeight"),void 0),l=e.getAttribute("apiFramework")??void 0,d=e.getAttribute("adSlotId")??void 0,u=_n(e.getAttribute("pxratio"),void 0),f=e.getAttribute("renderingMode"),m=f==="end-card"||f==="concurrent"?f:f==="default"?"default":void 0,y=vt(e),p=j(e,"CompanionClickThrough")||void 0,v=z(e,"CompanionClickTracking"),g=Rn(e),k=j(e,"AltText")||void 0,A=j(e,"AdParameters")||void 0;return {width:t,height:n,id:r,assetWidth:i,assetHeight:o,expandedWidth:s,expandedHeight:a,apiFramework:l,adSlotId:d,pxratio:u,renderingMode:m,resources:y,clickThrough:p,clickTracking:v,trackingEvents:g,altText:k,adParameters:A}}function Rn(e){let t={creativeView:[]},n=e.querySelector("TrackingEvents");if(!n)return t;for(let r of n.querySelectorAll("Tracking")){let i=r.getAttribute("event"),o=(r.textContent??"").trim();i==="creativeView"&&o&&t.creativeView.push(o);}return t}function Ln(e){let t=Q(e,"NonLinearAds");if(!t)return;let n=yt(t),r=[];for(let i of _(t,"NonLinear")){let o=wn(i);o&&r.push(o);}return r.length>0?{trackingEvents:n,nonLinears:r}:void 0}function wn(e){let t=F(e.getAttribute("width"),0),n=F(e.getAttribute("height"),0);if(t===0||n===0)return null;let r=e.getAttribute("id")??void 0,i=F(e.getAttribute("expandedWidth"),void 0),o=F(e.getAttribute("expandedHeight"),void 0),s=e.getAttribute("scalable"),a=s==="true"?true:s==="false"?false:void 0,l=e.getAttribute("maintainAspectRatio"),d=l==="true"?true:l==="false"?false:void 0,u=e.getAttribute("minSuggestedDuration"),f=u&&Se(u)||void 0,m=e.getAttribute("apiFramework")??void 0,y=vt(e),p=j(e,"NonLinearClickThrough")||void 0,v=z(e,"NonLinearClickTracking"),g=j(e,"AdParameters")||void 0;return {width:t,height:n,id:r,expandedWidth:i,expandedHeight:o,scalable:a,maintainAspectRatio:d,minSuggestedDuration:f,apiFramework:m,resources:y,clickThrough:p,clickTracking:v,adParameters:g}}function yt(e){let t={},n=Q(e,"TrackingEvents");if(!n)return t;for(let r of _(n,"Tracking")){let i=r.getAttribute("event"),o=(r.textContent??"").trim();!i||!o||(t[i]||(t[i]=[]),t[i].push(o));}return t}var Mn=new Set(["start","firstQuartile","midpoint","thirdQuartile","complete","pause","resume","skip","loaded","mute","unmute","rewind","playerExpand","playerCollapse","closeLinear","notUsed","otherAdInteraction","creativeView"]);function ht(e){let t=Ae(),n=e.querySelector("TrackingEvents");if(!n)return t;let r=n.querySelectorAll("Tracking");for(let i of r){let o=i.getAttribute("event"),s=(i.textContent??"").trim();if(!(!o||!s))if(o==="progress"){let a=i.getAttribute("offset"),l=a?Et(a,0):0;t.progress.push({offset:l,url:s});}else Mn.has(o)&&t[o].push(s);}return t}function Se(e){if(!e)return 0;let t=e.split(":");if(t.length!==3)return 0;let n=Number.parseInt(t[0],10),r=Number.parseInt(t[1],10),i=Number.parseFloat(t[2]);return Number.isNaN(n)||Number.isNaN(r)||Number.isNaN(i)?0:n*3600+r*60+i}function Et(e,t){if(e.endsWith("%")){let n=Number.parseFloat(e);return Number.isNaN(n)?0:n/100*t}return Se(e)}function _(e,t){let n=[];for(let r=0;r<e.children.length;r++)e.children[r].tagName===t&&n.push(e.children[r]);return n}function Q(e,t){for(let n=0;n<e.children.length;n++)if(e.children[n].tagName===t)return e.children[n];return null}function $(e,t){let n=[];for(let r of _(e,t)){let i=(r.textContent??"").trim();i&&n.push(i);}return n}function j(e,t){let n=e.querySelector(t);return n?(n.textContent??"").trim():""}function z(e,t){let n=e.querySelectorAll(t),r=[];for(let i of n){let o=(i.textContent??"").trim();o&&r.push(o);}return r}async function Z(e,t){let n=t?.timeout??5e3,r=new AbortController,i=setTimeout(()=>r.abort(),n);try{let o=await fetch(e,{signal:r.signal});if(!o.ok)throw new Error(`VAST fetch failed: ${o.status}`);return await o.text()}finally{clearTimeout(i);}}async function re(e,t){let n=t?.timeout??1e4,r=t?.maxDepth??5,i=Date.now()+n,o=new Set,s=[],a=e;for(let l=0;l<=r;l++){let d=i-Date.now();if(d<=0)return {version:"",ads:[],errors:["VAST resolve timeout"]};if(o.has(a))return {version:"",ads:[],errors:["VAST circular reference detected"]};o.add(a);let u;try{u=await Z(a,{timeout:d});}catch(y){return {version:"",ads:[],errors:[y instanceof Error?y.message:String(y)]}}let f=G(u);if(f.ads.length>0)return {version:f.version,ads:f.ads.map(y=>Dn(y,s)),errors:f.errors};let m=xn(u);if(!m)return f;s.push(m),a=m.adTagUri;}return {version:"",ads:[],errors:["VAST wrapper depth limit exceeded"]}}function xn(e){let r=new DOMParser().parseFromString(e,"text/xml").documentElement;if(r.tagName!=="VAST")return null;for(let i of _(r,"Ad")){let o=Q(i,"Wrapper");if(!o)continue;let s=j(o,"VASTAdTagURI").trim();if(!s)continue;let a=$(o,"Error"),l=z(o,"Impression"),d=Ae(),u=[],f,m=[],y=[],p={},v=[],g=o.querySelector("Creatives");if(g)for(let P of _(g,"Creative")){let R=P.querySelector("Linear");if(R){d=ht(R);let b=R.querySelector("VideoClicks");b&&(u=z(b,"ClickTracking"));}let x=gt(P);if(x){f=x;for(let b of x.companions)m.push(...b.clickTracking),y.push(...b.trackingEvents.creativeView);}let h=Q(P,"NonLinearAds");if(h){p=yt(h);for(let b of _(h,"NonLinear"))v.push(...z(b,"NonLinearClickTracking"));}}let k=ft(o),A=mt(o),E=pt(o);return {adTagUri:s,errors:a,impressions:l,trackingEvents:d,clickTracking:u,companionAds:f,companionClickTracking:m,companionCreativeViewTracking:y,nonLinearTrackingEvents:p,nonLinearClickTracking:v,verifications:k,extensions:A,viewableImpression:E}}return null}function Ae(){return {start:[],firstQuartile:[],midpoint:[],thirdQuartile:[],complete:[],pause:[],resume:[],skip:[],loaded:[],mute:[],unmute:[],rewind:[],playerExpand:[],playerCollapse:[],closeLinear:[],notUsed:[],otherAdInteraction:[],creativeView:[],progress:[]}}function In(e,t){let n=Ae();for(let r of Object.keys(n)){if(r==="progress")continue;let i=n[r];for(let o of e)i.push(...o[r]);i.push(...t[r]);}for(let r of e)n.progress.push(...r.progress);return n.progress.push(...t.progress),n}function Vn(e,t){let n=[...e,t].filter(r=>r!==void 0);if(n.length!==0)return {viewable:n.flatMap(r=>r.viewable),notViewable:n.flatMap(r=>r.notViewable),viewUndetermined:n.flatMap(r=>r.viewUndetermined)}}function Dn(e,t){if(t.length===0)return e;let n=[...t.flatMap(u=>u.errors),...e.errors],r=[...t.flatMap(u=>u.impressions),...e.impressions],i=t.flatMap(u=>u.verifications??[]),o=i.length>0||e.verifications&&e.verifications.length>0?[...i,...e.verifications??[]]:e.verifications,s=t.flatMap(u=>u.extensions??[]),a=s.length>0||e.extensions&&e.extensions.length>0?[...s,...e.extensions??[]]:e.extensions,l=Vn(t.map(u=>u.viewableImpression),e.viewableImpression),d=e.creatives.map(u=>{let f=u;if(u.linear&&(f={...f,linear:{...u.linear,trackingEvents:In(t.map(m=>m.trackingEvents),u.linear.trackingEvents),clickTracking:[...t.flatMap(m=>m.clickTracking),...u.linear.clickTracking]}}),u.companionAds){let m=t.flatMap(p=>p.companionClickTracking),y=t.flatMap(p=>p.companionCreativeViewTracking);(m.length>0||y.length>0)&&(f={...f,companionAds:{...u.companionAds,companions:u.companionAds.companions.map(p=>({...p,clickTracking:[...m,...p.clickTracking],trackingEvents:{creativeView:[...y,...p.trackingEvents.creativeView]}}))}});}else for(let m=t.length-1;m>=0;m--)if(t[m].companionAds){f={...f,companionAds:t[m].companionAds};break}if(u.nonLinearAds){let m=t.flatMap(p=>p.nonLinearClickTracking),y={};for(let p of t)for(let[v,g]of Object.entries(p.nonLinearTrackingEvents))y[v]||(y[v]=[]),y[v].push(...g);for(let[p,v]of Object.entries(u.nonLinearAds.trackingEvents))y[p]||(y[p]=[]),y[p].push(...v);f={...f,nonLinearAds:{trackingEvents:y,nonLinears:u.nonLinearAds.nonLinears.map(p=>({...p,clickTracking:[...m,...p.clickTracking]}))}};}return f});return {...e,errors:n,impressions:r,creatives:d,verifications:o,extensions:a,viewableImpression:l}}function F(e,t){if(e==null)return t;let n=Number.parseInt(e,10);return Number.isNaN(n)?t:n}function _n(e,t){if(e==null)return t;let n=Number.parseFloat(e);return Number.isNaN(n)?t:n}function St(e){if(e.length===0)return null;let t=e.filter(r=>r.mimeType==="video/mp4");return (t.length>0?t:e).sort((r,i)=>(i.bitrate??0)-(r.bitrate??0))[0]}function K(e,t){let n=e.map(r=>r.replace("[ERRORCODE]",String(t)));M(n);}function M(e){for(let t of e)typeof navigator<"u"&&typeof navigator.sendBeacon=="function"?navigator.sendBeacon(t):new Image().src=t;}function At(e,t){if(t<=0)return null;let n=e/t;return n>=1?"complete":n>=.75?"thirdQuartile":n>=.5?"midpoint":n>=.25?"firstQuartile":e>=0?"start":null}function ie(e,t){let n=new Set,r=["start","firstQuartile","midpoint","thirdQuartile","complete"];return i=>{let o=At(i,e);if(!o||n.has(o))return;let s=r.indexOf(o);for(let a=0;a<=s;a++){let l=r[a];n.has(l)||(n.add(l),t(l));}}}function W(e){let{player:t,ad:n,linear:r,source:i}=e,o=n.id,s=t._setState,a=()=>{},l=new Promise(C=>{a=C;}),d=[];if(e.adPlugins)for(let C of e.adPlugins(n)){let U=C.setup(t,n);U&&d.push(U);}s("ad:loading"),t.emit("ad:start",{adId:o,clickThrough:r.clickThrough,skipOffset:r.skipOffset,duration:r.duration,adTitle:n.adTitle});for(let C of n.creatives)if(C.companionAds&&C.companionAds.companions.length>0){t.emit("ad:companions",{adId:o,required:C.companionAds.required,companions:C.companionAds.companions});break}for(let C of n.creatives)if(C.nonLinearAds&&C.nonLinearAds.nonLinears.length>0){t.emit("ad:nonlinears",{adId:o,nonLinears:C.nonLinearAds.nonLinears,trackingEvents:C.nonLinearAds.trackingEvents});break}M(n.impressions),t.emit("ad:impression",{adId:o});let u=St(r.mediaFiles);if(!u)return A(),K(n.errors,403),t.emit("ad:error",{error:new Error("No suitable media file found"),source:i,vastErrorCode:403}),t.emit("ad:end",{adId:o}),a({outcome:"error",errorPhase:"load",adId:o}),{promise:l,abort:()=>{}};let f=ie(r.duration,C=>{let U=r.trackingEvents[C];U&&M(U),t.emit("ad:quartile",{adId:o,quartile:C});}),m=new Set;function y(C){for(let U of r.trackingEvents.progress)!m.has(U.offset)&&C>=U.offset&&(m.add(U.offset),M([U.url]));}let p=t.el.muted||t.el.volume===0,v=!!document.fullscreenElement,g=false,k=false;function A(){for(let C of d)C();d.length=0;}function E(C){t.emit("ad:end",{adId:o});let U=C==="error"?{outcome:C,errorPhase:k?"playback":"load",adId:o}:{outcome:C,adId:o};e.onFinish&&e.onFinish(U),a(U);}function P(){g||(M(r.clickTracking),t.emit("ad:click",{clickThrough:r.clickThrough,clickTracking:r.clickTracking}));}function R(){g||(M(r.trackingEvents.skip),g=true,N(),A(),E("skipped"));}function x(){g||t.state==="ad:playing"&&(M(r.trackingEvents.pause),s("ad:paused"));}function h(){g||t.state==="ad:paused"&&(M(r.trackingEvents.resume),s("ad:playing"));}function b(){f(t.el.currentTime),y(t.el.currentTime);}function L(){if(g)return;let C=t.el.muted||t.el.volume===0;C&&!p?(M(r.trackingEvents.mute),t.emit("ad:mute",{adId:o})):!C&&p&&(M(r.trackingEvents.unmute),t.emit("ad:unmute",{adId:o})),p=C,t.emit("ad:volumeChange",{adId:o,volume:t.el.muted?0:t.el.volume});}function V(){if(g)return;let C=!!document.fullscreenElement;C&&!v?(M(r.trackingEvents.playerExpand),t.emit("ad:fullscreen",{adId:o,fullscreen:true})):!C&&v&&(M(r.trackingEvents.playerCollapse),t.emit("ad:fullscreen",{adId:o,fullscreen:false})),v=C;}function D(){if(g)return;g=true,N(),A();let C=k?405:401;K(n.errors,C),t.emit("ad:error",{error:new Error("Ad media playback failed"),source:i,vastErrorCode:C}),E("error");}function H(){g||(g=true,f(r.duration),N(),A(),E("completed"));}function I(){t.el.removeEventListener("canplay",I),k=true,M(r.trackingEvents.loaded),M(r.trackingEvents.creativeView),t.emit("ad:loaded",{adId:o}),s("ad:playing"),t.el.play().catch(()=>{t.el.muted=true,t.el.play().catch(()=>{});});}function N(){t.el.removeEventListener("timeupdate",b),t.el.removeEventListener("ended",H),t.el.removeEventListener("error",D),t.el.removeEventListener("canplay",I),t.el.removeEventListener("pause",x),t.el.removeEventListener("play",h),t.el.removeEventListener("click",P),t.el.removeEventListener("volumechange",L),document.removeEventListener("fullscreenchange",V),t.off("ad:skip",R);}return t.el.addEventListener("canplay",I),t.el.addEventListener("timeupdate",b),t.el.addEventListener("ended",H),t.el.addEventListener("error",D),t.el.addEventListener("pause",x),t.el.addEventListener("play",h),t.el.addEventListener("click",P),t.el.addEventListener("volumechange",L),document.addEventListener("fullscreenchange",V),t.on("ad:skip",R),t.el.src=u.url,t.el.load(),{promise:l,abort:()=>{g||(g=true,N(),A());}}}function oe(e){let t=[];for(let i of e)for(let o of i.creatives)if(o.linear&&o.linear.mediaFiles.length>0){t.push({ad:i,linear:o.linear});break}if(t.length<=1)return {type:"single",ads:t,standalonePool:[]};let n=t.filter(i=>i.ad.sequence!=null),r=t.filter(i=>i.ad.sequence==null);return n.length>0?(n.sort((i,o)=>(i.ad.sequence??0)-(o.ad.sequence??0)),{type:"pod",ads:n,standalonePool:r}):{type:"waterfall",ads:r,standalonePool:[]}}async function se(e,t,n){let r={completed:0,skipped:0,failed:0},i=t.length,o=n.standalonePool?[...n.standalonePool]:[];e.emit("ad:pod:start",{ads:t.map(s=>s.ad),total:i});for(let s=0;s<t.length;s++){let{ad:a,linear:l}=t[s],d=s===t.length-1;e.emit("ad:pod:adstart",{ad:a,index:s,total:i});let{promise:u}=W({player:e,ad:a,linear:l,source:n.source,adPlugins:n.adPlugins,onFinish:d?n.onFinish:void 0}),f=await u;if(f.outcome==="error"&&o.length>0){let m=o.shift(),{promise:y}=W({player:e,ad:m.ad,linear:m.linear,source:n.source,adPlugins:n.adPlugins,onFinish:d?n.onFinish:void 0});f=await y;}switch(e.emit("ad:pod:adend",{ad:a,index:s,total:i}),f.outcome){case "completed":r.completed++;break;case "skipped":r.skipped++;break;case "error":r.failed++;break}}return e.emit("ad:pod:end",r),r}async function ae(e,t,n){for(let{ad:r,linear:i}of t){let{promise:o}=W({player:e,ad:r,linear:i,source:n.source,adPlugins:n.adPlugins,onFinish:n.onFinish}),s=await o;if(s.outcome!=="error"||s.errorPhase==="playback")return s}return null}function On(e){return {name:"vast",setup(t){let n=false,r=null,i=t._setState;async function o(){if(!n)try{let p=function(){n||(i("playing"),Nn(t,y,m));};var a=p;let l=e.timeout!==void 0?{timeout:e.timeout}:void 0,d=await Z(e.tagUrl,l);if(n)return;let u=G(d);if(u.ads.length===0){i("playing");return}let f=oe(u.ads);if(f.ads.length===0){i("playing");return}let m=t.el.currentTime,y=t.src;switch(t.src="",f.type){case "single":{let{promise:v,abort:g}=W({player:t,ad:f.ads[0].ad,linear:f.ads[0].linear,source:"vast",adPlugins:e.adPlugins,onFinish:p});r=g,await v;break}case "pod":{await se(t,f.ads,{source:"vast",adPlugins:e.adPlugins,onFinish:p,standalonePool:f.standalonePool});break}case "waterfall":{await ae(t,f.ads,{source:"vast",adPlugins:e.adPlugins,onFinish:p})||(K(u.errors,303),t.emit("ad:error",{error:new Error("All waterfall ads failed"),source:"vast",vastErrorCode:303}),p());break}}}catch(l){if(n)return;let d=l instanceof Error?l:new Error(String(l)),u=d.name==="AbortError"?301:100;t.emit("ad:error",{error:d,source:"vast",vastErrorCode:u}),i("playing");}}function s({to:a}){a==="ready"&&!n&&(t.off("statechange",s),o());}return t.state==="ready"||t.state==="playing"||t.state==="paused"?o():t.on("statechange",s),()=>{n=true,t.off("statechange",s),r&&r();}}}}function Nn(e,t,n){function r({to:i}){i==="ready"&&(e.off("statechange",r),n>0&&(e.el.currentTime=n),e.play().catch(()=>{e.el.muted=true,e.play().catch(()=>{});}));}e.on("statechange",r),e.src=t;}function le(e){let n=new DOMParser().parseFromString(e,"text/xml");if(n.querySelector("parsererror"))return {version:"",adBreaks:[]};let i=n.documentElement;if((i.localName||i.tagName)!=="VMAP")return {version:"",adBreaks:[]};let s=i.getAttribute("version")??"",a=[];for(let l=0;l<i.children.length;l++){let d=i.children[l];if((d.localName||d.tagName)==="AdBreak"){let f=Un(d);f&&a.push(f);}}return {version:s,adBreaks:a}}function Un(e){let t=e.getAttribute("timeOffset");if(!t)return null;let n=jn(t),r=e.getAttribute("breakType"),i=r==="nonlinear"?"nonlinear":r==="display"?"display":"linear",o=e.getAttribute("breakId")??void 0,s=null,a={breakStart:[],breakEnd:[],error:[]};for(let l=0;l<e.children.length;l++){let d=e.children[l],u=d.localName||d.tagName;u==="AdSource"?s=Fn(d):u==="TrackingEvents"&&Hn(d,a);}return {timeOffset:n,breakType:i,breakId:o,adSource:s,trackingEvents:a}}function Hn(e,t){for(let n=0;n<e.children.length;n++){let r=e.children[n];if((r.localName||r.tagName)!=="Tracking")continue;let o=r.getAttribute("event"),s=(r.textContent??"").trim();!o||!s||(o==="breakStart"?t.breakStart.push(s):o==="breakEnd"?t.breakEnd.push(s):o==="error"&&t.error.push(s));}}function Fn(e){let t=e.getAttribute("id")??void 0,n=e.getAttribute("allowMultipleAds"),r=n!=null?n==="true":void 0,i=e.getAttribute("followRedirects"),o=i!=null?i==="true":void 0,s,a;for(let l=0;l<e.children.length;l++){let d=e.children[l],u=d.localName||d.tagName;if(u==="VASTAdData"){let f=d.querySelector("VAST");f&&(s=new XMLSerializer().serializeToString(f));}else u==="AdTagURI"&&(a=(d.textContent??"").trim());}return {id:t,allowMultipleAds:r,followRedirects:o,vastUrl:a,vastData:s}}function jn(e){if(e==="start")return {type:"start"};if(e==="end")return {type:"end"};if(e.endsWith("%")){let t=Number.parseFloat(e);return Number.isNaN(t)?{type:"time",seconds:0}:{type:"percentage",pct:t}}return {type:"time",seconds:qn(e)}}function qn(e){if(!e)return 0;let t=e.split(":");if(t.length!==3)return 0;let n=Number.parseInt(t[0],10),r=Number.parseInt(t[1],10),i=Number.parseFloat(t[2]);return Number.isNaN(n)||Number.isNaN(r)||Number.isNaN(i)?0:n*3600+r*60+i}function de(e,t,n){let r=new Set,i=0,o=false,s=false,a=t.filter(g=>g.timeOffset.type==="start"),l=t.filter(g=>g.timeOffset.type==="end"),d=t.filter(g=>g.timeOffset.type==="time"||g.timeOffset.type==="percentage").sort((g,k)=>kt(g)-kt(k));function u(){if(s)return;let g=e.currentTime,k=g>i+1.5;for(let A of d){if(r.has(A))continue;let E=Bn(A,e.duration);if(E!==null){if(k&&g>E+.5){r.add(A);continue}g>=E-.5&&(r.add(A),n(A));}}i=g;}function f(){if(!s)for(let g of l)r.has(g)||(r.add(g),n(g));}function m(){if(!o){o=true;for(let g of a)r.has(g)||(r.add(g),n(g));e.on("timeupdate",u),e.on("ended",f);}}function y(){s=true;}function p(){s=false,i=e.currentTime;}function v(){e.off("timeupdate",u),e.off("ended",f);}return {start:m,pause:y,resume:p,destroy:v}}function Bn(e,t){return e.timeOffset.type==="time"?e.timeOffset.seconds:e.timeOffset.type==="percentage"?e.timeOffset.pct/100*t:null}function kt(e){return e.timeOffset.type==="time"?e.timeOffset.seconds:e.timeOffset.type==="percentage"?e.timeOffset.pct:0}function Qn(e){return {name:"vmap",setup(t){let n=false,r=null,i=null,o=t._setState;async function s(d){if(!(n||!d.adSource)){r&&r.pause(),M(d.trackingEvents.breakStart),t.emit("ad:breakStart",{breakId:d.breakId});try{let g=function(){n||(o("playing"),t.el.src=v,t.el.load(),t.el.currentTime=y,p||t.el.play().catch(()=>{t.el.muted=!0,t.el.play().catch(()=>{});}));};var u=g;let f;if(d.adSource.vastData)f=G(d.adSource.vastData);else if(d.adSource.vastUrl)f=await re(d.adSource.vastUrl,e.vastOptions);else return;if(n||f.ads.length===0)return;let m=oe(f.ads);if(m.ads.length===0)return;d.adSource.allowMultipleAds===!1&&(m={type:"single",ads:[m.ads[0]],standalonePool:[]});let y=t.el.currentTime,p=t.el.paused,v=t.el.src;switch(m.type){case "single":{let{promise:k,abort:A}=W({player:t,ad:m.ads[0].ad,linear:m.ads[0].linear,source:"vmap",adPlugins:e.adPlugins,onFinish:g});i=A,await k;break}case "pod":{await se(t,m.ads,{source:"vmap",adPlugins:e.adPlugins,onFinish:g,standalonePool:m.standalonePool});break}case "waterfall":{await ae(t,m.ads,{source:"vmap",adPlugins:e.adPlugins,onFinish:g})||(K(f.errors,303),t.emit("ad:error",{error:new Error("All waterfall ads failed"),source:"vmap",vastErrorCode:303}),g());break}}}catch(f){if(!n){let m=f instanceof Error?f:new Error(String(f)),y=m.name==="AbortError"?301:100;M(d.trackingEvents.error),t.emit("ad:error",{error:m,source:"vmap",vastErrorCode:y});}}finally{M(d.trackingEvents.breakEnd),t.emit("ad:breakEnd",{breakId:d.breakId}),r&&r.resume();}}}async function a(){if(!n)try{let d=e.timeout??1e4,u=new AbortController,f=setTimeout(()=>u.abort(),d),m;try{let v=await fetch(e.url,{signal:u.signal});if(!v.ok)throw new Error(`VMAP fetch failed: ${v.status}`);m=await v.text();}finally{clearTimeout(f);}if(n)return;let y=le(m);if(y.adBreaks.length===0)return;let p=de(t,y.adBreaks,v=>s(v));r=p,p.start();}catch(d){if(n)return;t.emit("ad:error",{error:d instanceof Error?d:new Error(String(d)),source:"vmap"});}}function l({to:d}){d==="ready"&&!n&&(t.off("statechange",l),a());}return t.state==="ready"||t.state==="playing"||t.state==="paused"?a():t.on("statechange",l),()=>{n=true,t.off("statechange",l),r&&r.destroy(),i&&i();}}}}function bt(e){let t={licenseUrl:e.licenseUrl,serverCertificateUrl:e.certificateUrl};if(e.headers){let n=e.headers;t.licenseXhrSetup=r=>{for(let[i,o]of Object.entries(n))r.setRequestHeader(i,o);};}return {emeEnabled:true,drmSystems:{"com.apple.fps.1_0":t}}}function Tt(e){let t={serverURL:e.licenseUrl,serverCertificateURL:e.certificateUrl};return e.headers&&(t.httpRequestHeaders=e.headers),{streaming:{protection:{data:{"com.apple.fps.1_0":t}}}}}function Pt(e){let t={licenseUrl:e.licenseUrl};if(e.headers){let n=e.headers;t.licenseXhrSetup=r=>{for(let[i,o]of Object.entries(n))r.setRequestHeader(i,o);};}return {emeEnabled:true,drmSystems:{"com.widevine.alpha":t}}}function Ct(e){let t={serverURL:e.licenseUrl};return e.headers&&(t.httpRequestHeaders=e.headers),{streaming:{protection:{data:{"com.widevine.alpha":t}}}}}function ue(e){return e.keySystem==="com.widevine.alpha"&&e.widevine?Pt(e.widevine):e.keySystem==="com.apple.fps.1_0"&&e.fairplay?bt(e.fairplay):{}}function ce(e){return e.keySystem==="com.widevine.alpha"&&e.widevine?Ct(e.widevine):e.keySystem==="com.apple.fps.1_0"&&e.fairplay?Tt(e.fairplay):{}}var Kn="com.apple.fps.1_0",Wn=[{initDataTypes:["cenc"],videoCapabilities:[{contentType:'video/mp4;codecs="avc1.42E01E"'}]}],zn=[{initDataTypes:["sinf"],videoCapabilities:[{contentType:'video/mp4;codecs="avc1.42E01E"'}]}];async function fe(e){for(let t of e)try{let n=t===Kn?zn:Wn;return await navigator.requestMediaKeySystemAccess(t,n),t}catch{}return null}var Rt="com.apple.fps.1_0",Gn=[{initDataTypes:["cenc"],videoCapabilities:[{contentType:'video/mp4;codecs="avc1.42E01E"'}]}],$n=[{initDataTypes:["sinf"],videoCapabilities:[{contentType:'video/mp4;codecs="avc1.42E01E"'}]}];function me(e,t,n){let r=false,i=[],o=null,s=l=>{if(r||e.mediaKeys&&e.mediaKeys!==o||!o||!l.initData)return;let d=o.createSession("temporary");i.push(d),d.generateRequest(l.initDataType,l.initData).then(()=>{},u=>{r||n(u instanceof Error?u:new Error("generateRequest failed"));}),d.addEventListener("message",u=>{r||Xn(u,d,t,n,()=>r);}),d.addEventListener("keystatuseschange",()=>{if(!r)for(let[,u]of d.keyStatuses)(u==="expired"||u==="internal-error")&&n(new Error(`Key status: ${u}`));});},a=t.keySystem===Rt?$n:Gn;return navigator.requestMediaKeySystemAccess(t.keySystem,a).then(l=>{if(!r)return l.createMediaKeys()}).then(l=>{if(!(r||!l)&&(o=l,t.keySystem===Rt&&t.certificateUrl))return Yn(t.certificateUrl,t.headers,n,()=>r).then(d=>{if(!(r||!d))return o?.setServerCertificate(d.buffer)})}).then(()=>{r||!o||(e.mediaKeys||e.setMediaKeys(o),e.addEventListener("encrypted",s));}).catch(l=>{r||n(l instanceof Error?l:new Error("EME setup failed"));}),()=>{r=true,e.removeEventListener("encrypted",s);for(let l of i)l.close().catch(()=>{});}}async function Yn(e,t,n,r){try{let i=await fetch(e,t?{headers:t}:{});if(!i.ok)throw new Error(`Certificate fetch failed: ${i.status} ${i.statusText}`);let o=await i.arrayBuffer();return r()?null:new Uint8Array(o)}catch(i){return r()||n(i instanceof Error?i:new Error("Certificate fetch failed")),null}}function Xn(e,t,n,r,i){let o=new Uint8Array(e.message);Promise.resolve(n.prepareLicenseRequest?n.prepareLicenseRequest(o):o).then(s=>{if(!i())return fetch(n.licenseUrl,{method:"POST",body:s.buffer,...n.headers?{headers:n.headers}:{}})}).then(s=>{if(!(i()||!s)){if(!s.ok)throw new Error(`License request failed: ${s.status} ${s.statusText}`);return s.arrayBuffer()}}).then(s=>{if(i()||!s)return;let a=new Uint8Array(s);return Promise.resolve(n.processLicenseResponse?n.processLicenseResponse(a):a)}).then(s=>{if(!(i()||!s))return t.update(s.buffer)}).catch(s=>{i()||r(s instanceof Error?s:new Error("License exchange failed"));});}function Zn(e){return {name:"drm",setup(t){let n=false,r,i=[];return e.widevine&&i.push("com.widevine.alpha"),e.fairplay&&i.push("com.apple.fps.1_0"),i.length===0?(console.warn("[vide/drm] No DRM configuration provided"),()=>{}):(fe(i).then(o=>{if(n)return;if(!o){t.emit("error",{code:4e3,message:"No supported DRM key system found",source:"drm"});return}let s={keySystem:o,widevine:e.widevine,fairplay:e.fairplay},a={keySystem:o,hlsConfig:ue(s),dashConfig:ce(s)};t.setPluginData("drm",a);let l=o!=="com.widevine.alpha",d=l?e.fairplay:e.widevine;if(!d)return;let u={keySystem:o,licenseUrl:d.licenseUrl,headers:d.headers,prepareLicenseRequest:d.prepareLicenseRequest,processLicenseResponse:d.processLicenseResponse};l&&(u.certificateUrl=d.certificateUrl),r=me(t.el,u,f=>{n||t.emit("error",{code:4002,message:f.message,source:"drm"});});}).catch(o=>{n||t.emit("error",{code:4001,message:o instanceof Error?`DRM detection failed: ${o.message}`:"DRM detection failed",source:"drm"});}),()=>{n=true,r?.();})}}}var Jn="urn:scte:scte35:2013:xml",er="urn:scte:scte35:2014:xml+bin";function ke(e,t,n,r,i,o){return e===Jn||e===er||e.startsWith("urn:scte:scte35:")?{id:o??`dash-event-${n}`,startTime:n,duration:r,customData:{schemeIdUri:e,value:t,...i?{messageData:i}:{}}}:null}function Lt(e,t,n){function r(i){let s=i?.event;if(s)if(t){let a={source:"eventstream",schemeIdUri:s.schemeIdUri,value:s.value,startTime:s.calculatedPresentationTime,duration:s.duration,messageData:s.messageData},l=t(a);l.length>0&&n(l);}else {let a=ke(s.schemeIdUri,s.value,s.calculatedPresentationTime,s.duration,s.messageData,s.id);a&&n([a]);}}return e.on("eventModeOnReceive",r),e.on("eventModeOnStart",r),()=>{e.off("eventModeOnReceive",r),e.off("eventModeOnStart",r);}}var tr="com.apple.hls.interstitial",nr="SCTE35-OUT";function be(e,t){let n=e.ID;if(!n)return null;let i=e.CLASS===tr,o=nr in e;if(!i&&!o)return null;let s=e["START-DATE"],a=e.DURATION??e["PLANNED-DURATION"],l=0;if(s){let u=new Date(s).getTime();l=t!=null?(u-t)/1e3:u/1e3;}let d=a?Number.parseFloat(a):0;return {id:n,startTime:l,duration:d,customData:{...e}}}function rr(e){try{return new TextDecoder().decode(e)}catch{return null}}function Te(e,t){for(let n of e){let r=rr(n.data);if(r?.includes("SCTE35"))return {id:`id3-${t}`,startTime:t,duration:0,customData:{raw:r}}}return null}function wt(e,t,n){let r=new Set;function i(a){let l=a?.dateRanges;if(!l)return;let d,u=a?.fragments;if(u){for(let f of u)if(f.programDateTime!=null){d=f.programDateTime-f.start*1e3;break}}for(let[f,m]of Object.entries(l)){if(r.has(f))continue;r.add(f);let y=m.attr??m;if(t){let v=t({source:"daterange",attributes:y});v.length>0&&n(v);}else {let p=be(y,d);p&&n([p]);}}}function o(a,l){let d=l;d?.details&&i(d.details);}function s(a,l){let d=l;if(!d?.samples?.length)return;let u=d.samples[0]?.pts??0;if(t){let f={source:"id3",samples:d.samples.map(y=>({type:y.type,data:y.data}))},m=t(f);m.length>0&&n(m);}else {let f=d.samples.map(y=>({type:y.type,data:y.data})),m=Te(f,u);m&&n([m]);}}if(e.on("hlsLevelUpdated",o),e.on("hlsFragParsingMetadata",s),e.levels&&e.currentLevel!=null&&e.currentLevel>=0){let a=e.levels[e.currentLevel]?.details;a&&i(a);}return ()=>{e.off("hlsLevelUpdated",o),e.off("hlsFragParsingMetadata",s);}}var ir=.5;function or(e){return e.tracking??{}}function sr(e={}){return {name:"ssai",setup(t){let n=e.tolerance??ir,r=e.parser,i=new Map,o=new Set,s=new Set,a=new Map,l=new Map,d=null,u=false;function f(A){for(let E of A)i.has(E.id)||i.set(E.id,E);}function m(){if(d)return true;let A=t.getPluginData("hls");if(A)return d=wt(A,r,f),true;let E=t.getPluginData("dash");return E?(d=Lt(E,r,f),true):false}function y({currentTime:A}){if(!u){for(let[E,P]of i)if(!o.has(E)&&A>=P.startTime-n){o.add(E);let R=or(P);if(l.set(E,R),t.emit("ad:breakStart",{breakId:P.id}),t.emit("ad:start",{adId:P.id}),R.impression?.length&&M(R.impression),P.duration>0){let x=ie(P.duration,h=>{let b=R[h];b?.length&&M(b),t.emit("ad:quartile",{adId:P.id,quartile:h});});a.set(E,x),x(A-P.startTime);}t.emit("ad:impression",{adId:P.id});}for(let[E,P]of a){if(s.has(E))continue;let R=i.get(E);R&&P(A-R.startTime);}for(let[E,P]of i){if(!o.has(E)||s.has(E))continue;let R=P.startTime+P.duration;if(P.duration>0&&A>=R-n){let x=a.get(E);x&&x(P.duration),s.add(E),a.delete(E),l.delete(E),t.emit("ad:end",{adId:P.id}),t.emit("ad:breakEnd",{breakId:P.id});}}}}function p(){if(!u)for(let[A]of a){if(s.has(A))continue;let E=l.get(A);E?.pause?.length&&M(E.pause);}}function v(){if(!u)for(let[A]of a){if(s.has(A))continue;let E=l.get(A);E?.resume?.length&&M(E.resume);}}function g({adId:A}){if(u)return;let E=l.get(A);E?.skip?.length&&M(E.skip),a.delete(A),l.delete(A),s.add(A),t.emit("ad:end",{adId:A}),t.emit("ad:breakEnd",{breakId:A});}t.on("timeupdate",y),t.on("pause",p),t.on("play",v),t.on("ad:skip",g),m();function k(){if(d||u){t.off("statechange",k);return}m()&&t.off("statechange",k);}return d||t.on("statechange",k),()=>{u=true,t.off("timeupdate",y),t.off("pause",p),t.off("play",v),t.off("ad:skip",g),t.off("statechange",k),a.clear(),l.clear(),d&&d();}}}}function Mt(e,t,n){let r=true;t.adEvents.loaded(t.vastProperties),t.adEvents.impressionOccurred(),t.mediaEvents.start(n,e.el.muted?0:e.el.volume);function i(m){r&&(m.quartile==="firstQuartile"?t.mediaEvents.firstQuartile():m.quartile==="midpoint"?t.mediaEvents.midpoint():m.quartile==="thirdQuartile"&&t.mediaEvents.thirdQuartile());}function o(m){r&&(m.to==="ad:paused"?t.mediaEvents.pause():m.to==="ad:playing"&&m.from==="ad:paused"&&t.mediaEvents.resume());}function s(){r&&(r=false,t.mediaEvents.complete(),t.finish());}function a(){r&&(r=false,t.mediaEvents.skipped(),t.finish());}function l(){r&&(r=false,t.error("Ad playback error"),t.finish());}function d(){r&&(r=false,t.finish());}function u(m){r&&t.mediaEvents.volumeChange(m.volume);}function f(m){if(!r)return;let y=m.fullscreen?"fullscreen":"normal";t.mediaEvents.playerStateChange(y);}return e.on("ad:quartile",i),e.on("statechange",o),e.on("ad:end",s),e.on("ad:skip",a),e.on("ad:error",l),e.on("destroy",d),e.on("ad:volumeChange",u),e.on("ad:fullscreen",f),()=>{r=false,e.off("ad:quartile",i),e.off("statechange",o),e.off("ad:end",s),e.off("ad:skip",a),e.off("ad:error",l),e.off("destroy",d),e.off("ad:volumeChange",u),e.off("ad:fullscreen",f);}}function xt(e,t){return new Promise((n,r)=>{let i=document.createElement("script");i.src=e,i.async=true;let o=setTimeout(()=>{i.remove(),r(new Error(`OM SDK script load timeout: ${e}`));},t);i.onload=()=>{clearTimeout(o),n();},i.onerror=()=>{clearTimeout(o),i.remove(),r(new Error(`OM SDK script load failed: ${e}`));},document.head.appendChild(i);})}function ar(){let t=globalThis.OmidSessionClient;if(!t)return null;let n=t.default??t;return typeof n.AdSession!="function"?null:n}async function It(e,t,n){let r=Date.now();if(await xt(e,n),t){let o=Date.now()-r,s=Math.max(n-o,1e3);await xt(t,s);}let i=ar();if(!i)throw new Error("OM SDK namespace not found after script load");return i}function Vt(e,t,n){let r=new e.Partner(n.partner.name,n.partner.version),i=n.verifications.filter(A=>A.resourceUrl).map(A=>new e.VerificationScriptResource(A.resourceUrl,A.vendor,A.parameters,"full")),o=new e.Context(r,i,n.contentUrl,n.customReferenceData);o.setVideoElement(t);let s=t.parentElement;s&&o.setSlotElement(s),o.setServiceWindow(window);let a=new e.AdSession(o);if(a.setCreativeType("video"),a.setImpressionType("beginToRender"),!a.isSupported())throw new Error("OM SDK session not supported in this environment");let l=false,d=false,u=null;a.registerSessionObserver(A=>{A.type==="sessionStart"&&(l=true,u&&(u(true),u=null));}),a.start();let f=new e.AdEvents(a),m=new e.MediaEvents(a),y=n.position??"standalone",p=n.skipOffset!==void 0,v=n.skipOffset??-1,g=n.isAutoPlay??true,k=new e.VastProperties(p,v,g,y);return {get adEvents(){return f},get mediaEvents(){return m},get vastProperties(){return k},get started(){return l},waitForStart(A){return l?Promise.resolve(true):new Promise(E=>{u=E,setTimeout(()=>{l||(u=null,E(false));},A);})},finish(){d||(d=true,a.finish());},error(A){a.error("video",A);}}}var lr="https://pagead2.googlesyndication.com/omsdk/releases/live/omweb-v1.js";function dr(e){return {name:"omid",setup(t,n){let r=n.verifications??[];if(r.length===0)return;let i=false,o=null,s=null,a=e.timeout??5e3,l=e.serviceScriptUrl??lr,d={...e,serviceScriptUrl:l,verifications:r,skipOffset:n.creatives[0]?.linear?.skipOffset},u=It(l,e.sessionClientUrl,a).catch(m=>m);async function f(){if(!i)try{let m=await u;if(i)return;if(m instanceof Error)throw m;let p=Vt(m,t.el,d);if(s=p,i){p.finish();return}let v=await p.waitForStart(a);if(i){p.finish();return}if(!v){console.warn("[vide:omid] Session start timed out"),p.finish();return}let g=Number.isFinite(t.el.duration)?t.el.duration:0;o=Mt(t,p,g);}catch(m){if(i)return;console.warn("[vide:omid] Failed to initialize:",m instanceof Error?m.message:String(m)),t.emit("ad:error",{error:m instanceof Error?m:new Error(String(m)),source:"omid"});}}return f(),()=>{i=true,o&&(o(),o=null),s&&(s.finish(),s=null);}}}}function Dt(e,t){let n=document.createElement("iframe");n.sandbox.add("allow-scripts","allow-same-origin"),n.style.cssText="position:absolute;top:0;left:0;width:100%;height:100%;border:none;display:none;pointer-events:auto;",n.src=e;let r=new MessageChannel,i=r.port1,o=()=>{n.contentWindow?.postMessage("simid:connect","*",[r.port2]);};n.addEventListener("load",o,{once:true}),t.appendChild(n);let s=false;return {iframe:n,port:i,show(){s||(n.style.display="");},destroy(){s||(s=true,n.removeEventListener("load",o),n.remove(),i.close());}}}function pe(e,t,n,r){return {sessionId:e,messageId:t,timestamp:Date.now(),type:n,args:r}}function _t(e,t,n,r){let i={messageId:n};return r!==void 0&&(i.value=r),pe(e,t,"resolve",i)}function Ot(e,t,n,r,i){let o={errorCode:r};return i!==void 0&&(o.message=i),pe(e,t,"reject",{messageId:n,value:o})}function Pe(e){if(typeof e!="object"||e===null)return null;let t=e;return typeof t.sessionId!="string"||typeof t.messageId!="number"||typeof t.timestamp!="number"||typeof t.type!="string"?null:{sessionId:t.sessionId,messageId:t.messageId,timestamp:t.timestamp,type:t.type,args:t.args}}function Nt(e){return e.type==="createSession"}function Ce(e){return e.type==="resolve"}function ve(e){return e.type==="reject"}function Ut(e,t,n,r){let i=false,o="",s=0,a=[],l=new Map;function d(){return s++}function u(h,b){let L=d(),V=pe(o,L,h,b);return t.postMessage(V),L}function f(h,b){let L=d();t.postMessage(_t(o,L,h,b));}function m(h,b,L){let V=d();t.postMessage(Ot(o,V,h,b,L));}function y(h,b,L){return new Promise((V,D)=>{let H=u(h,b),I=setTimeout(()=>{l.delete(H),D(new Error(`SIMID timeout waiting for response to ${h}`));},n.handshakeTimeout);l.set(H,{resolve:N=>{clearTimeout(I),l.delete(H),V(N);},reject:N=>{clearTimeout(I),l.delete(H),D(N);}});})}function p(){let h=e.el.getBoundingClientRect();return {x:Math.round(h.x),y:Math.round(h.y),width:Math.round(h.width),height:Math.round(h.height)}}function v(){let h=p();return {videoDimensions:h,creativeDimensions:h,fullscreen:!!document.fullscreenElement,fullscreenAllowed:!!document.fullscreenEnabled,variableDurationAllowed:false,skippableState:"playerHandles",version:"1.2",muted:e.muted,volume:e.volume,navigationSupport:n.policy.navigation==="new-tab"?"playerHandles":"notSupported"}}function g(){return {adParameters:"",clickThruUrl:r.creatives[0]?.linear?.clickThrough}}function k(){return {currentTime:e.el.currentTime,duration:e.el.duration,ended:e.el.ended,muted:e.muted,paused:e.el.paused,volume:e.volume,fullscreen:!!document.fullscreenElement}}function A(){let h=e.el,b=["play","pause","playing","ended","seeking","seeked","stalled"];for(let I of b){let N=()=>{i||u(`SIMID:Media:${I}`);};h.addEventListener(I,N),a.push(()=>h.removeEventListener(I,N));}let L=()=>{i||u("SIMID:Media:timeupdate",{currentTime:h.currentTime});};h.addEventListener("timeupdate",L),a.push(()=>h.removeEventListener("timeupdate",L));let V=()=>{i||u("SIMID:Media:durationchange",{duration:h.duration});};h.addEventListener("durationchange",V),a.push(()=>h.removeEventListener("durationchange",V));let D=()=>{i||u("SIMID:Media:volumechange",{volume:h.volume,muted:h.muted});};h.addEventListener("volumechange",D),a.push(()=>h.removeEventListener("volumechange",D));let H=()=>{i||u("SIMID:Media:error",{error:h.error?.code??0,message:h.error?.message??""});};h.addEventListener("error",H),a.push(()=>h.removeEventListener("error",H));}function E(h){if(i)return;if(Ce(h)||ve(h)){let V=h.args?.messageId;if(V!==void 0){let D=l.get(V);D&&(Ce(h)?D.resolve(h):D.reject(new Error(`SIMID creative rejected: ${JSON.stringify(h.args)}`)));}return}let b=h.type;if(b==="SIMID:Creative:requestPause"){n.policy.allowPause?(e.pause(),f(h.messageId)):m(h.messageId,1203,"Pause not allowed");return}if(b==="SIMID:Creative:requestPlay"){n.policy.allowPlay?(e.play(),f(h.messageId)):m(h.messageId,1203,"Play not allowed");return}if(b==="SIMID:Creative:requestResize"){n.policy.allowResize?f(h.messageId):m(h.messageId,1203,"Resize not allowed");return}if(b==="SIMID:Creative:requestNavigation"){let L=h.args;n.policy.navigation==="new-tab"&&L?.uri?(window.open(L.uri,"_blank"),f(h.messageId)):m(h.messageId,1214,"Navigation not supported");return}if(b==="SIMID:Creative:getMediaState"){f(h.messageId,k());return}if(b==="SIMID:Creative:requestSkip"){f(h.messageId),e.emit("ad:skip",{adId:r.id});return}if(b==="SIMID:Creative:requestStop"){f(h.messageId),u("SIMID:Player:adStopped",{code:4}),R(),e.emit("ad:skip",{adId:r.id});return}if(b!=="SIMID:Creative:clickThru"){if(b==="SIMID:Creative:fatalError"){e.emit("ad:error",{error:new Error(`SIMID creative fatal error: ${JSON.stringify(h.args)}`),source:"simid"}),R();return}if(b==="SIMID:Creative:log"){let L=h.args;console.debug("[vide:simid] creative:",L?.message);return}if(b==="SIMID:Creative:reportTracking"){f(h.messageId);return}if(b==="SIMID:Creative:requestChangeVolume"){let L=h.args;L?.volume!==void 0&&(e.volume=L.volume),L?.muted!==void 0&&(e.muted=L.muted),f(h.messageId);return}if(b==="SIMID:Creative:requestFullscreen"||b==="SIMID:Creative:requestExitFullscreen"||b==="SIMID:Creative:requestChangeAdDuration"){m(h.messageId,1203,"Not supported");return}if(b==="SIMID:Creative:expandNonlinear"||b==="SIMID:Creative:collapseNonlinear"){m(h.messageId,1203,"Not supported");return}}}function P(h){let b=Pe(h.data);b&&E(b);}function R(){if(!i){i=true,t.removeEventListener("message",P);for(let h of a)h();a.length=0;for(let[,h]of l)h.reject(new Error("SIMID host destroyed"));l.clear();}}async function x(){t.addEventListener("message",P),t.start();let h=await new Promise((V,D)=>{let H=setTimeout(()=>{D(new Error("SIMID handshake timeout: no createSession"));},n.handshakeTimeout),I=N=>{let C=Pe(N.data);!C||!Nt(C)||(clearTimeout(H),t.removeEventListener("message",I),V(C));};t.addEventListener("message",I);});if(i)throw new Error("SIMID host destroyed during handshake");o=h.sessionId,f(h.messageId);let b=await y("SIMID:Player:init",{environmentData:v(),creativeData:g()});if(i)throw new Error("SIMID host destroyed during handshake");if(ve(b))throw new Error(`SIMID creative rejected init: ${JSON.stringify(b.args)}`);let L=await y("SIMID:Player:startCreative");if(i)throw new Error("SIMID host destroyed during handshake");if(ve(L))throw new Error(`SIMID creative rejected startCreative: ${JSON.stringify(L.args)}`);A();}return {start:x,destroy:R}}var cr={allowPause:true,allowPlay:true,allowResize:false,navigation:"new-tab"};function fr(e){return {name:"simid",setup(t,n){let r=n.creatives.flatMap(l=>l.linear?.interactiveCreativeFiles??[]).find(l=>l.apiFramework==="SIMID");if(!r)return;let i={...cr,...e.policy},o=e.handshakeTimeout??5e3,s=Dt(r.url,e.container),a=Ut(t,s.port,{policy:i,handshakeTimeout:o},n);return a.start().then(()=>s.show()).catch(l=>{t.emit("ad:error",{error:l instanceof Error?l:new Error(String(l)),source:"simid"}),s.destroy();}),()=>{a.destroy(),s.destroy();}}}}function ge(e){return {name:"ui-ad",setup(t,n){let r=n.creatives.find(i=>i.linear)?.linear;if(r)return e.set({adId:n.id,skipOffset:r.skipOffset,clickThrough:r.clickThrough,duration:r.duration,adTitle:n.adTitle}),()=>{e.clear();}}}}function J(e){return `vide-ui--${e.replace(":","-")}`}function O(e){return e==="ad:loading"||e==="ad:playing"||e==="ad:paused"}function ye(e,t){e.classList.add(J(t.state));function n({from:r,to:i}){e.classList.remove(J(r)),e.classList.add(J(i));}return t.on("statechange",n),()=>t.off("statechange",n)}function ee(e){if(!Number.isFinite(e)||e<0)return "0:00";let t=Math.floor(e),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60,o=n>0?String(r).padStart(2,"0"):String(r),s=String(i).padStart(2,"0");return n>0?`${n}:${o}:${s}`:`${o}:${s}`}function T(e,t){let n=document.createElement(e);return n.className=t,n}function he(){let e={current:null,set(t){e.current=t;},clear(){e.current=null;}};return e}function Re(e){let t=null,n=null;function r(){if(!t||!n||!O(n.state))return;let i=e.current?.duration??(Number.isFinite(n.el.duration)?n.el.duration:0),o=n.el.currentTime,s=Math.max(0,Math.ceil(i-o));t.textContent=`${s}s`;}return {mount(i){t=T("div","vide-ad-countdown"),i.appendChild(t);},connect(i){n=i,n.on("timeupdate",r);},destroy(){t&&(t.remove(),t=null),n&&(n.off("timeupdate",r),n=null);}}}function Le(){let e=null;return {mount(t){e=T("div","vide-ad-label"),e.textContent="Ad",t.appendChild(e);},connect(t){},destroy(){e&&(e.remove(),e=null);}}}var Ht="http://www.w3.org/2000/svg";function B(e,t="0 0 24 24"){let n=document.createElementNS(Ht,"svg");n.setAttribute("viewBox",t),n.setAttribute("width","24"),n.setAttribute("height","24"),n.setAttribute("fill","currentColor"),n.setAttribute("aria-hidden","true");for(let r of e){let i=document.createElementNS(Ht,"path");i.setAttribute("d",r),n.appendChild(i);}return n}function Ee(){return B(["M8 5v14l11-7z"])}function Ft(){return B(["M6 19h4V5H6v14zm8-14v14h4V5h-4z"])}function jt(){return B(["M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z"])}function qt(){return B(["M18.5 12c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM5 9v6h4l5 5V4L9 9H5z"])}function Bt(){return B(["M16.5 12c0-1.77-1.02-3.29-2.5-4.03v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51C20.63 14.91 21 13.5 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06c1.38-.31 2.63-.95 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4l-1.88 1.88L12 7.76V4z"])}function Qt(){return B(["M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"])}function Kt(){return B(["M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z"])}function Wt(){return B(["M5 18l10-6L5 6v12zm12-12v12h2V6h-2z"])}function zt(){return B(["M14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z","M19 19H5V5h7V3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7h-2v7z"])}function mr(e){try{return new URL(e).hostname}catch{return e}}function Gt(e){let t=null,n=null,r=null,i=null;function o(){if(!i)return;let a=e.current?.clickThrough;a&&(i.el.click(),window.open(a,"_blank"),i.el.pause());}function s(){if(!t)return;let a=e.current,l=a?.clickThrough;t.style.display=l?"":"none",n&&(n.textContent=a?.adTitle??"",n.style.display=a?.adTitle?"":"none"),r&&(r.textContent=l?mr(l):"");}return {mount(a){t=T("button","vide-ad-cta"),t.type="button";let l=T("span","vide-ad-cta__icon");l.appendChild(zt()),t.appendChild(l);let d=T("span","vide-ad-cta__body");n=T("span","vide-ad-cta__title"),n.style.display="none",d.appendChild(n),r=T("span","vide-ad-cta__url"),d.appendChild(r),t.appendChild(d),a.appendChild(t),t.style.display="none";},connect(a){i=a,t&&(t.addEventListener("click",o),a.on("ad:start",s),a.on("ad:end",s),a.on("ad:skip",s),s());},destroy(){t&&(t.removeEventListener("click",o),t.remove(),t=null),i&&(i.off("ad:start",s),i.off("ad:end",s),i.off("ad:skip",s)),i=null,n=null,r=null;}}}function we(e){let t=null,n=null;function r(){if(!n)return;n.el.click();let i=e.current?.clickThrough;i?(window.open(i,"_blank"),n.el.pause()):n.el.paused?Promise.resolve(n.el.play()).catch(()=>{}):n.el.pause();}return {mount(i){t=T("div","vide-ad-overlay"),i.appendChild(t);},connect(i){n=i,t&&t.addEventListener("click",r);},destroy(){t&&(t.removeEventListener("click",r),t.remove(),t=null),n=null;}}}function Me(e){let t=null,n=null,r=null;function i(){!r||!e.current||t?.classList.contains("vide-skip--disabled")||r.emit("ad:skip",{adId:e.current.adId});}function o(){if(!t||!n||!r||!O(r.state))return;if(!e.current||e.current.skipOffset===void 0){t.style.display="none";return}t.style.display="";let{skipOffset:a}=e.current,l=r.el.currentTime;if(l>=a)t.classList.remove("vide-skip--disabled"),n.textContent="Skip Ad";else {t.classList.add("vide-skip--disabled");let d=Math.max(0,Math.ceil(a-l));n.textContent=`Skip in ${d}s`;}}function s({to:a}){!t||!n||O(a)||(t.style.display="none",t.classList.add("vide-skip--disabled"),n.textContent="");}return {mount(a){t=T("button","vide-skip vide-skip--disabled"),t.type="button",t.setAttribute("aria-label","Skip ad"),t.style.display="none",n=T("span","vide-skip__label"),t.appendChild(n),t.appendChild(Wt()),a.appendChild(t);},connect(a){r=a,t&&(t.addEventListener("click",i),r.on("timeupdate",o),r.on("statechange",s));},destroy(){t&&(t.removeEventListener("click",i),t.remove(),t=null,n=null),r&&(r.off("timeupdate",o),r.off("statechange",s),r=null);}}}var pr=3e3;function xe(){let e=null,t=null,n=null;function r(){if(!t)return true;let d=t.state;return d==="paused"||d==="ended"||d==="idle"||d==="ready"||O(d)}function i(){e&&e.classList.remove("vide-ui--autohide");}function o(){s(),!r()&&(n=setTimeout(()=>{e&&e.classList.add("vide-ui--autohide");},pr));}function s(){n!==null&&(clearTimeout(n),n=null);}function a(){i(),o();}function l({to:d}){d==="paused"||d==="ended"||d==="idle"||d==="ready"||O(d)?(s(),i()):o();}return {mount(d){e=d.closest(".vide-ui")??d;},connect(d){t=d,e&&(e.addEventListener("mousemove",a),e.addEventListener("touchstart",a),e.addEventListener("keydown",a),t.on("statechange",l),o());},destroy(){s(),e&&(e.removeEventListener("mousemove",a),e.removeEventListener("touchstart",a),e.removeEventListener("keydown",a),e.classList.remove("vide-ui--autohide"),e=null),t&&(t.off("statechange",l),t=null);}}}function Ie(){let e=null,t=null;function n(){if(t){if(t.state==="ended"){let i=function({to:o}){o==="ready"&&(t?.off("statechange",i),t?.play().catch(()=>{}));};t.on("statechange",i),t.el.currentTime=0,t.el.load();return}t.play().catch(()=>{});}}return {mount(r){e=T("button","vide-bigplay"),e.type="button",e.setAttribute("aria-label","Play video"),e.appendChild(Ee()),r.appendChild(e);},connect(r){t=r,e&&e.addEventListener("click",n);},destroy(){e&&(e.removeEventListener("click",n),e.remove(),e=null),t=null;}}}var vr=200;function Ve(e){let t=null,n=null,r=null,i=null;function o(){n&&(n.state==="playing"||n.state==="ad:playing"?n.pause():n.play().catch(()=>{}));}function s(){!i||e.has("fullscreen")||(document.fullscreenElement!=null?document.exitFullscreen().catch(()=>{}):i.requestFullscreen&&i.requestFullscreen().catch(()=>{}));}function a(){if(n){if(O(n.state)){o();return}if(r!==null){clearTimeout(r),r=null,s();return}r=setTimeout(()=>{r=null,o();},vr);}}return {mount(l){t=T("div","vide-clickplay"),i=l.closest(".vide-ui")?.parentElement??l,l.appendChild(t);},connect(l){n=l,t&&t.addEventListener("click",a);},destroy(){r!==null&&(clearTimeout(r),r=null),t&&(t.removeEventListener("click",a),t.remove(),t=null),n=null,i=null;}}}function De(){let e=null,t=null,n=null;function r({message:i}){t&&(t.textContent=i);}return {mount(i){e=T("div","vide-error"),t=T("span","vide-error__message"),e.appendChild(t),i.appendChild(e);},connect(i){n=i,n.on("error",r);},destroy(){e&&(e.remove(),e=null,t=null),n&&(n.off("error",r),n=null);}}}function _e(){let e=null,t=null,n=null;function r(){return document.fullscreenElement!=null||document.webkitFullscreenElement!=null}function i(a){e&&(n&&n.remove(),n=a?Kt():Qt(),e.appendChild(n));}function o(){t&&(r()?typeof document.exitFullscreen=="function"?document.exitFullscreen().catch(()=>{}):typeof document.webkitExitFullscreen=="function"&&document.webkitExitFullscreen():typeof t.requestFullscreen=="function"?t.requestFullscreen().catch(()=>{}):typeof t.webkitRequestFullscreen=="function"?t.webkitRequestFullscreen():t.querySelector("video")?.webkitEnterFullscreen?.());}function s(){if(!e)return;let a=r();a?(e.classList.add("vide-fullscreen--active"),e.setAttribute("aria-label","Exit fullscreen")):(e.classList.remove("vide-fullscreen--active"),e.setAttribute("aria-label","Fullscreen")),i(a);}return {mount(a){t=a.closest(".vide-ui")?.parentElement??a,e=T("button","vide-fullscreen"),e.type="button",e.setAttribute("aria-label","Fullscreen"),i(false),a.appendChild(e);},connect(){e&&(e.addEventListener("click",o),document.addEventListener("fullscreenchange",s),document.addEventListener("webkitfullscreenchange",s));},destroy(){e&&(e.removeEventListener("click",o),e.remove(),e=null,n=null),document.removeEventListener("fullscreenchange",s),document.removeEventListener("webkitfullscreenchange",s),t=null;}}}function Oe(e){let t=null,n=null,{excluded:r}=e;function i(o){if(!n)return;let s=!r.has("volume"),a=!r.has("progress"),l=!r.has("fullscreen"),d=O(n.state);switch(o.key){case " ":case "k":case "K":o.preventDefault(),n.state==="playing"||n.state==="ad:playing"?n.pause():n.play().catch(()=>{});break;case "ArrowLeft":if(!a||d)return;o.preventDefault(),n.currentTime=Math.max(0,n.el.currentTime-5);break;case "ArrowRight":if(!a||d)return;o.preventDefault(),n.currentTime=Math.min(n.el.duration||0,n.el.currentTime+5);break;case "ArrowUp":if(!s)return;o.preventDefault(),n.volume=Math.min(1,n.volume+.1),n.muted&&(n.muted=false);break;case "ArrowDown":if(!s)return;o.preventDefault(),n.volume=Math.max(0,n.volume-.1);break;case "m":case "M":if(!s)return;o.preventDefault(),n.muted=!n.muted;break;case "f":case "F":if(!l)return;if(o.preventDefault(),document.fullscreenElement!=null)document.exitFullscreen().catch(()=>{});else {let u=t?.closest(".vide-ui")?.parentElement??t;u?.requestFullscreen&&u.requestFullscreen().catch(()=>{});}break;default:if(o.key.length===1&&o.key>="0"&&o.key<="9"&&a&&!d){o.preventDefault();let u=Number.parseInt(o.key,10)/10,f=n.el.duration;Number.isFinite(f)&&f>0&&(n.currentTime=u*f);}break}}return {mount(o){t=o.closest(".vide-ui")??o,t.setAttribute("tabindex","0");},connect(o){n=o,t&&t.addEventListener("keydown",i);},destroy(){t&&(t.removeEventListener("keydown",i),t.removeAttribute("tabindex"),t=null),n=null;}}}function Ne(){let e=null;return {mount(t){e=T("div","vide-loader");let n=T("div","vide-loader__spinner");e.appendChild(n),t.appendChild(e);},connect(t){},destroy(){e&&(e.remove(),e=null);}}}function Ue(){let e=null,t=null,n=null;function r(s){e&&(n&&n.remove(),n=s?Ft():Ee(),e.appendChild(n));}function i(){t&&(t.state==="playing"||t.state==="ad:playing"?t.pause():t.play().catch(()=>{}));}function o({to:s}){e&&(s==="playing"||s==="ad:playing"?(e.classList.add("vide-play--playing"),e.classList.remove("vide-play--paused"),e.setAttribute("aria-label","Pause"),r(true)):(s==="paused"||s==="ready"||s==="ended"||s==="ad:paused")&&(e.classList.remove("vide-play--playing"),e.classList.add("vide-play--paused"),e.setAttribute("aria-label","Play"),r(false)));}return {mount(s){e=T("button","vide-play vide-play--paused"),e.type="button",e.setAttribute("aria-label","Play"),r(false),s.appendChild(e);},connect(s){t=s,e&&(e.addEventListener("click",i),t.on("statechange",o));},destroy(){e&&(e.removeEventListener("click",i),e.remove(),e=null,n=null),t&&(t.off("statechange",o),t=null);}}}function He(e){let t=null;return {mount(n){t=T("div","vide-poster");let r=T("img","vide-poster__image");r.src=e.src,r.alt="",t.appendChild(r),n.appendChild(t);},connect(n){},destroy(){t&&(t.remove(),t=null);}}}function Fe(){let e=null,t=null,n=null,r=null,i=null,o=null,s=false;function a(v){if(!e)return 0;let g=e.getBoundingClientRect();return g.width===0?0:Math.max(0,Math.min(1,(v.clientX-g.left)/g.width))}function l(v){if(!e)return;let g=String(v);e.style.setProperty("--vide-progress",g),i?.style.setProperty("--vide-progress",g);}function d(){if(!o||!n)return;let v=o.el;if(v.buffered.length>0&&v.duration>0){let k=v.buffered.end(v.buffered.length-1)/v.duration;n.style.setProperty("--vide-progress-buffered",String(Math.min(1,k)));}}function u(){if(s||!o)return;let{currentTime:v,duration:g}=o.el;g>0&&l(v/g),d(),e&&(e.setAttribute("aria-valuenow",String(Math.floor(v))),Number.isFinite(g)&&e.setAttribute("aria-valuemax",String(Math.floor(g))));}function f(v){!o||!e||O(o.state)||(s=true,e.classList.add("vide-progress--dragging"),e.setPointerCapture(v.pointerId),l(a(v)));}function m(v){s&&l(a(v));}function y(v){if(!s||!o)return;s=false,e&&(e.classList.remove("vide-progress--dragging"),e.releasePointerCapture(v.pointerId));let g=a(v),k=o.el.duration;Number.isFinite(k)&&k>0&&(o.currentTime=g*k);}function p({to:v}){e&&(O(v)?e.classList.add("vide-progress--disabled"):e.classList.remove("vide-progress--disabled"));}return {mount(v){e=T("div","vide-progress"),e.setAttribute("role","slider"),e.setAttribute("aria-label","Seek"),e.setAttribute("aria-valuemin","0"),e.setAttribute("aria-valuemax","0"),e.setAttribute("aria-valuenow","0"),n=T("div","vide-progress__buffered"),t=T("div","vide-progress__bar"),r=T("div","vide-progress__handle"),e.appendChild(n),e.appendChild(t),e.appendChild(r),v.appendChild(e),i=v.closest(".vide-ui");},connect(v){o=v,e&&(o.on("timeupdate",u),o.on("statechange",p),e.addEventListener("pointerdown",f),e.addEventListener("pointermove",m),e.addEventListener("pointerup",y));},destroy(){e&&(e.removeEventListener("pointerdown",f),e.removeEventListener("pointermove",m),e.removeEventListener("pointerup",y),e.remove(),e=null,t=null,n=null,r=null),o&&(o.off("timeupdate",u),o.off("statechange",p),o=null),i=null;}}}function je(){let e=null,t=null,n=null,r=null;function i({currentTime:o,duration:s}){t&&(t.textContent=ee(o)),n&&(n.textContent=ee(s));}return {mount(o){e=T("div","vide-time"),t=T("span","vide-time__current");let s=T("span","vide-time__separator");n=T("span","vide-time__duration"),t.textContent="0:00",s.textContent="/",n.textContent="0:00",e.appendChild(t),e.appendChild(s),e.appendChild(n),o.appendChild(e);},connect(o){r=o,r.on("timeupdate",i);},destroy(){e&&(e.remove(),e=null,t=null,n=null),r&&(r.off("timeupdate",i),r=null);}}}function qe(){let e=null,t=null,n=null,r=null,i=false,o=null;function s(){if(!t||!r)return;o&&o.remove(),r.muted||r.volume===0?o=Bt():r.volume<.5?o=qt():o=jt(),t.appendChild(o);}function a(){if(!r||!e||!t)return;r.muted||r.volume===0?(e.classList.add("vide-volume--muted"),t.setAttribute("aria-label","Unmute")):(e.classList.remove("vide-volume--muted"),t.setAttribute("aria-label","Mute"));let v=r.muted?0:r.volume;e.style.setProperty("--vide-volume",String(v)),n&&n.setAttribute("aria-valuenow",String(Math.round(v*100))),s();}function l(p){if(!n)return 0;let v=n.getBoundingClientRect();return v.width===0?0:Math.max(0,Math.min(1,(p.clientX-v.left)/v.width))}function d(){r&&(r.muted=!r.muted);}function u(){i||a();}function f(p){if(!r||!n)return;i=true,n.setPointerCapture(p.pointerId);let v=l(p);r.volume=v,r.muted&&v>0&&(r.muted=false),a();}function m(p){if(!i||!r)return;let v=l(p);r.volume=v,r.muted&&v>0&&(r.muted=false),a();}function y(p){!i||!n||(i=false,n.releasePointerCapture(p.pointerId));}return {mount(p){e=T("div","vide-volume"),t=T("button","vide-volume__button"),t.type="button",t.setAttribute("aria-label","Mute"),n=T("div","vide-volume__slider"),n.setAttribute("role","slider"),n.setAttribute("aria-label","Volume"),n.setAttribute("aria-valuemin","0"),n.setAttribute("aria-valuemax","100"),n.setAttribute("aria-valuenow","100");let v=T("div","vide-volume__track"),g=T("div","vide-volume__filled");n.appendChild(v),n.appendChild(g),e.appendChild(t),e.appendChild(n),p.appendChild(e);},connect(p){r=p,!(!t||!n)&&(t.addEventListener("click",d),n.addEventListener("pointerdown",f),n.addEventListener("pointermove",m),n.addEventListener("pointerup",y),r.el.addEventListener("volumechange",u),a());},destroy(){t&&t.removeEventListener("click",d),n&&(n.removeEventListener("pointerdown",f),n.removeEventListener("pointermove",m),n.removeEventListener("pointerup",y)),r&&(r.el.removeEventListener("volumechange",u),r=null),e&&(e.remove(),e=null,t=null,n=null,o=null);}}}function gr(e,t,n){e.mount(t),e.connect(n);}var yr=new Set(["ad-overlay"]);function hr(e){let t=he(),n=new Set(yr);if(e.include)for(let r of e.include)n.delete(r);if(e.exclude)for(let r of e.exclude)n.add(r);return {name:"ui",setup(r){r.isAudio&&(n.add("fullscreen"),n.add("poster"));let i=document.createElement("div");i.className="vide-ui",i.setAttribute("role","region"),i.setAttribute("aria-label",r.isAudio?"Audio player":"Video player"),e.container.appendChild(i);let o=[];function s(u,f,m){n.has(u)||(gr(f,m,r),o.push(f));}if(s("loader",Ne(),i),s("error",De(),i),s("bigplay",Ie(),i),e.poster&&s("poster",He({src:e.poster}),i),s("clickplay",Ve(n),i),!n.has("ad-overlay")||!n.has("ad-label")||!n.has("ad-countdown")||!n.has("ad-skip")||!n.has("ad-learn-more")){let u=document.createElement("div");u.className="vide-ad",i.appendChild(u),s("ad-overlay",we(t),u),s("ad-label",Le(),u),s("ad-countdown",Re(t),u),s("ad-skip",Me(t),u),s("ad-learn-more",Gt(t),u);}let l=document.createElement("div");l.className="vide-controls",l.addEventListener("click",u=>u.stopPropagation()),i.appendChild(l),s("play",Ue(),l),s("progress",Fe(),l),s("time",je(),l),s("volume",qe(),l),s("fullscreen",_e(),l),s("autohide",xe(),i),s("keyboard",Oe({excluded:n}),i);let d=ye(i,r);return ()=>{for(let u of o)u.destroy();d(),i.remove();}},getAdPlugin(){return ()=>[ge(t)]}}}
2
+ exports.ERR_DASH_IMPORT=Je;exports.ERR_DASH_PLAYBACK=et;exports.ERR_DRM_CERTIFICATE=Jt;exports.ERR_DRM_DETECTION=nt;exports.ERR_DRM_LICENSE=rt;exports.ERR_DRM_UNSUPPORTED=tt;exports.ERR_HLS_FATAL=Ze;exports.ERR_HLS_IMPORT=Xe;exports.ERR_HLS_UNSUPPORTED=Ye;exports.ERR_MEDIA=$e;exports.VAST_BREAK_SHORTENED=_r;exports.VAST_CATEGORY_BLOCKED=Dr;exports.VAST_CATEGORY_REQUIRED=Vr;exports.VAST_COMPANION_ERROR=Xr;exports.VAST_COMPANION_FETCH_ERROR=ei;exports.VAST_COMPANION_REQUIRED_ERROR=Jr;exports.VAST_COMPANION_SIZE_ERROR=Zr;exports.VAST_COMPANION_UNSUPPORTED=ti;exports.VAST_CONDITIONAL_REJECTED=Br;exports.VAST_DURATION_ERROR=xr;exports.VAST_INLINE_TIMEOUT=Ur;exports.VAST_INTERACTIVE_ERROR=ii;exports.VAST_INTERACTIVE_NOT_EXECUTED=Qr;exports.VAST_LINEARITY_ERROR=Mr;exports.VAST_LINEAR_ERROR=Hr;exports.VAST_MEDIA_DISPLAY_ERROR=En;exports.VAST_MEDIA_NOT_FOUND=hn;exports.VAST_MEDIA_TIMEOUT=Fr;exports.VAST_MEDIA_UNSUPPORTED=ct;exports.VAST_MEZZANINE_DOWNLOADING=qr;exports.VAST_MEZZANINE_INVALID=Wr;exports.VAST_MEZZANINE_REQUIRED=jr;exports.VAST_NONLINEAR_ERROR=zr;exports.VAST_NONLINEAR_FETCH_ERROR=$r;exports.VAST_NONLINEAR_SIZE_ERROR=Gr;exports.VAST_NONLINEAR_UNSUPPORTED=Yr;exports.VAST_NO_ADS=ne;exports.VAST_SCHEMA_ERROR=Rr;exports.VAST_SIZE_ERROR=Ir;exports.VAST_TRAFFICKING_ERROR=wr;exports.VAST_UNDEFINED_ERROR=ni;exports.VAST_VERIFICATION_NOT_EXECUTED=Kr;exports.VAST_VERSION_UNSUPPORTED=Lr;exports.VAST_VPAID_ERROR=ri;exports.VAST_WRAPPER_ERROR=Or;exports.VAST_WRAPPER_LIMIT=Nr;exports.VAST_WRAPPER_TIMEOUT=ut;exports.VAST_XML_PARSE_ERROR=dt;exports.connectStateClasses=ye;exports.createAdCountdown=Re;exports.createAdLabel=Le;exports.createAdOverlay=we;exports.createAdSkip=Me;exports.createAdUIState=he;exports.createAutohide=xe;exports.createBigPlay=Ie;exports.createClickPlay=Ve;exports.createErrorDisplay=De;exports.createFullscreen=_e;exports.createKeyboard=Oe;exports.createLoader=Ne;exports.createPlayButton=Ue;exports.createPlayer=rn;exports.createPoster=He;exports.createProgress=Fe;exports.createScheduler=de;exports.createTimeDisplay=je;exports.createVolume=qe;exports.dash=yn;exports.dashDrmConfig=ce;exports.detectKeySystem=fe;exports.drm=Zn;exports.fetchVast=Z;exports.formatTime=ee;exports.getQuartile=At;exports.hls=un;exports.hlsDrmConfig=ue;exports.isAdState=O;exports.omid=dr;exports.parseDateRange=be;exports.parseEventStream=ke;exports.parseId3Samples=Te;exports.parseVast=G;exports.parseVmap=le;exports.resolveVast=re;exports.setupEme=me;exports.simid=fr;exports.ssai=sr;exports.stateToClass=J;exports.track=M;exports.trackError=K;exports.ui=hr;exports.uiAdPlugin=ge;exports.vast=On;exports.vmap=Qn;return exports;})({});
@@ -0,0 +1,2 @@
1
+ (function(){'use strict';var T=Object.defineProperty;var _=(e,t)=>()=>(e&&(t=e(e=0)),t);var C=(e,t)=>{for(var o in t)T(e,o,{get:t[o],enumerable:true});};var L={};C(L,{default:()=>w});var M,w,E=_(()=>{M=globalThis.Hls,w=M;});function b(e){return e>=2160?"4K":e>=1440?"1440p":e>=1080?"1080p":e>=720?"720p":e>=480?"480p":e>=360?"360p":e>=240?"240p":`${e}p`}var H=["application/vnd.apple.mpegurl","application/x-mpegurl"],k={maxRetries:3,retryDelay:3e3,backoffMultiplier:2};function q(e){if(e.startsWith("data:")){let t=e.indexOf(";");return t===-1?false:H.includes(e.slice(5,t).toLowerCase())}if(e.startsWith("blob:"))return e.includes(".m3u8");try{return new URL(e,"https://placeholder.invalid").pathname.endsWith(".m3u8")}catch{return e.includes(".m3u8")}}function O(e){return H.includes(e.toLowerCase())}function h(e={}){return {name:"hls",setup(t){let o=null,c=false,d=e.recovery===false?false:{...k,...e.recovery??{}},l=0,m=null;function p(){m!==null&&(clearTimeout(m),m=null);}function R(s,i){if(d===false||c||l>=d.maxRetries)return false;l++;let a=d.retryDelay*d.backoffMultiplier**(l-1);return p(),m=setTimeout(()=>{c||(i==="networkError"?s.startLoad(-1):s.recoverMediaError());},a),true}let v={canHandle(s,i){return i&&O(i)?true:q(s)},load(s,i){this.unload(i),P(s,i);},unload(s){p(),l=0,o&&(o.destroy(),o=null);}};function P(s,i){Promise.resolve().then(()=>(E(),L)).then(a=>{if(c)return;let u=a.default;if(!u.isSupported()){if(i.canPlayType("application/vnd.apple.mpegurl")){i.src=s;return}t.emit("error",{code:2e3,message:"HLS is not supported in this browser",source:"hls"});return}let D=t.getPluginData("drm"),S={...e.hlsConfig??{},...D?.hlsConfig??{}},n=new u(S);o=n,t.setPluginData("hls",n),n.on(u.Events.ERROR,(g,r)=>{if(!r.fatal)return;let f=R(n,r.type);t.emit("error",{code:2002,message:`HLS fatal error: ${r.type} - ${r.details}`,source:"hls",recoverable:f,retryCount:f?l:void 0});}),n.on(u.Events.FRAG_LOADED,()=>{l>0&&(l=0,p());}),n.on(u.Events.MANIFEST_PARSED,()=>{let g=n.levels.map((r,f)=>({id:f,width:r.width,height:r.height,bitrate:r.bitrate,label:b(r.height)}));t.setPluginData("qualities",g),t.setPluginData("qualitySetter",r=>{n.currentLevel=r,t.setPluginData("autoQuality",r===-1);});}),n.on(u.Events.LEVEL_SWITCHED,(g,r)=>{let y=t.qualities[r.level];y&&(t.setPluginData("currentQuality",y),t.setPluginData("autoQuality",n.autoLevelEnabled));}),n.attachMedia(i),n.loadSource(s);}).catch(a=>{c||t.emit("error",{code:2001,message:a instanceof Error?`Failed to load hls.js: ${a.message}`:"Failed to load hls.js",source:"hls"});});}return t.registerSourceHandler(v),()=>{c=true,p(),v.unload(t.el);}}}}var x=globalThis.Vide??(globalThis.Vide={});x.hls=h;
2
+ })();
@@ -0,0 +1,2 @@
1
+ (function(){'use strict';function E(e,t,r){let n=true;t.adEvents.loaded(t.vastProperties),t.adEvents.impressionOccurred(),t.mediaEvents.start(r,e.el.muted?0:e.el.volume);function o(i){n&&(i.quartile==="firstQuartile"?t.mediaEvents.firstQuartile():i.quartile==="midpoint"?t.mediaEvents.midpoint():i.quartile==="thirdQuartile"&&t.mediaEvents.thirdQuartile());}function s(i){n&&(i.to==="ad:paused"?t.mediaEvents.pause():i.to==="ad:playing"&&i.from==="ad:paused"&&t.mediaEvents.resume());}function d(){n&&(n=false,t.mediaEvents.complete(),t.finish());}function a(){n&&(n=false,t.mediaEvents.skipped(),t.finish());}function l(){n&&(n=false,t.error("Ad playback error"),t.finish());}function c(){n&&(n=false,t.finish());}function u(i){n&&t.mediaEvents.volumeChange(i.volume);}function p(i){if(!n)return;let v=i.fullscreen?"fullscreen":"normal";t.mediaEvents.playerStateChange(v);}return e.on("ad:quartile",o),e.on("statechange",s),e.on("ad:end",d),e.on("ad:skip",a),e.on("ad:error",l),e.on("destroy",c),e.on("ad:volumeChange",u),e.on("ad:fullscreen",p),()=>{n=false,e.off("ad:quartile",o),e.off("statechange",s),e.off("ad:end",d),e.off("ad:skip",a),e.off("ad:error",l),e.off("destroy",c),e.off("ad:volumeChange",u),e.off("ad:fullscreen",p);}}function w(e,t){return new Promise((r,n)=>{let o=document.createElement("script");o.src=e,o.async=true;let s=setTimeout(()=>{o.remove(),n(new Error(`OM SDK script load timeout: ${e}`));},t);o.onload=()=>{clearTimeout(s),r();},o.onerror=()=>{clearTimeout(s),o.remove(),n(new Error(`OM SDK script load failed: ${e}`));},document.head.appendChild(o);})}function A(){let t=globalThis.OmidSessionClient;if(!t)return null;let r=t.default??t;return typeof r.AdSession!="function"?null:r}async function h(e,t,r){let n=Date.now();if(await w(e,r),t){let s=Date.now()-n,d=Math.max(r-s,1e3);await w(t,d);}let o=A();if(!o)throw new Error("OM SDK namespace not found after script load");return o}function P(e,t,r){let n=new e.Partner(r.partner.name,r.partner.version),o=r.verifications.filter(m=>m.resourceUrl).map(m=>new e.VerificationScriptResource(m.resourceUrl,m.vendor,m.parameters,"full")),s=new e.Context(n,o,r.contentUrl,r.customReferenceData);s.setVideoElement(t);let d=t.parentElement;d&&s.setSlotElement(d),s.setServiceWindow(window);let a=new e.AdSession(s);if(a.setCreativeType("video"),a.setImpressionType("beginToRender"),!a.isSupported())throw new Error("OM SDK session not supported in this environment");let l=false,c=false,u=null;a.registerSessionObserver(m=>{m.type==="sessionStart"&&(l=true,u&&(u(true),u=null));}),a.start();let p=new e.AdEvents(a),i=new e.MediaEvents(a),v=r.position??"standalone",f=r.skipOffset!==void 0,O=r.skipOffset??-1,S=r.isAutoPlay??true,b=new e.VastProperties(f,O,S,v);return {get adEvents(){return p},get mediaEvents(){return i},get vastProperties(){return b},get started(){return l},waitForStart(m){return l?Promise.resolve(true):new Promise(g=>{u=g,setTimeout(()=>{l||(u=null,g(false));},m);})},finish(){c||(c=true,a.finish());},error(m){a.error("video",m);}}}var C="https://pagead2.googlesyndication.com/omsdk/releases/live/omweb-v1.js";function y(e){return {name:"omid",setup(t,r){let n=r.verifications??[];if(n.length===0)return;let o=false,s=null,d=null,a=e.timeout??5e3,l=e.serviceScriptUrl??C,c={...e,serviceScriptUrl:l,verifications:n,skipOffset:r.creatives[0]?.linear?.skipOffset},u=h(l,e.sessionClientUrl,a).catch(i=>i);async function p(){if(!o)try{let i=await u;if(o)return;if(i instanceof Error)throw i;let f=P(i,t.el,c);if(d=f,o){f.finish();return}let O=await f.waitForStart(a);if(o){f.finish();return}if(!O){console.warn("[vide:omid] Session start timed out"),f.finish();return}let S=Number.isFinite(t.el.duration)?t.el.duration:0;s=E(t,f,S);}catch(i){if(o)return;console.warn("[vide:omid] Failed to initialize:",i instanceof Error?i.message:String(i)),t.emit("ad:error",{error:i instanceof Error?i:new Error(String(i)),source:"omid"});}}return p(),()=>{o=true,s&&(s(),s=null),d&&(d.finish(),d=null);}}}}var k=globalThis.Vide??(globalThis.Vide={});k.omid=y;
2
+ })();
@@ -0,0 +1 @@
1
+ (function(){'use strict';function k(t,r){let i=document.createElement("iframe");i.sandbox.add("allow-scripts","allow-same-origin"),i.style.cssText="position:absolute;top:0;left:0;width:100%;height:100%;border:none;display:none;pointer-events:auto;",i.src=t;let a=new MessageChannel,o=a.port1,l=()=>{i.contentWindow?.postMessage("simid:connect","*",[a.port2]);};i.addEventListener("load",l,{once:true}),r.appendChild(i);let m=false;return {iframe:i,port:o,show(){m||(i.style.display="");},destroy(){m||(m=true,i.removeEventListener("load",l),i.remove(),o.close());}}}function h(t,r,i,a){return {sessionId:t,messageId:r,timestamp:Date.now(),type:i,args:a}}function j(t,r,i,a){let o={messageId:i};return a!==void 0&&(o.value=a),h(t,r,"resolve",o)}function T(t,r,i,a,o){let l={errorCode:a};return o!==void 0&&(l.message=o),h(t,r,"reject",{messageId:i,value:l})}function b(t){if(typeof t!="object"||t===null)return null;let r=t;return typeof r.sessionId!="string"||typeof r.messageId!="number"||typeof r.timestamp!="number"||typeof r.type!="string"?null:{sessionId:r.sessionId,messageId:r.messageId,timestamp:r.timestamp,type:r.type,args:r.args}}function x(t){return t.type==="createSession"}function C(t){return t.type==="resolve"}function y(t){return t.type==="reject"}function L(t,r,i,a){let o=false,l="",m=0,f=[],d=new Map;function w(){return m++}function S(e,n){let s=w(),u=h(l,s,e,n);return r.postMessage(u),s}function g(e,n){let s=w();r.postMessage(j(l,s,e,n));}function M(e,n,s){let u=w();r.postMessage(T(l,u,e,n,s));}function P(e,n,s){return new Promise((u,c)=>{let v=S(e,n),I=setTimeout(()=>{d.delete(v),c(new Error(`SIMID timeout waiting for response to ${e}`));},i.handshakeTimeout);d.set(v,{resolve:p=>{clearTimeout(I),d.delete(v),u(p);},reject:p=>{clearTimeout(I),d.delete(v),c(p);}});})}function A(){let e=t.el.getBoundingClientRect();return {x:Math.round(e.x),y:Math.round(e.y),width:Math.round(e.width),height:Math.round(e.height)}}function N(){let e=A();return {videoDimensions:e,creativeDimensions:e,fullscreen:!!document.fullscreenElement,fullscreenAllowed:!!document.fullscreenEnabled,variableDurationAllowed:false,skippableState:"playerHandles",version:"1.2",muted:t.muted,volume:t.volume,navigationSupport:i.policy.navigation==="new-tab"?"playerHandles":"notSupported"}}function O(){return {adParameters:"",clickThruUrl:a.creatives[0]?.linear?.clickThrough}}function H(){return {currentTime:t.el.currentTime,duration:t.el.duration,ended:t.el.ended,muted:t.muted,paused:t.el.paused,volume:t.volume,fullscreen:!!document.fullscreenElement}}function V(){let e=t.el,n=["play","pause","playing","ended","seeking","seeked","stalled"];for(let I of n){let p=()=>{o||S(`SIMID:Media:${I}`);};e.addEventListener(I,p),f.push(()=>e.removeEventListener(I,p));}let s=()=>{o||S("SIMID:Media:timeupdate",{currentTime:e.currentTime});};e.addEventListener("timeupdate",s),f.push(()=>e.removeEventListener("timeupdate",s));let u=()=>{o||S("SIMID:Media:durationchange",{duration:e.duration});};e.addEventListener("durationchange",u),f.push(()=>e.removeEventListener("durationchange",u));let c=()=>{o||S("SIMID:Media:volumechange",{volume:e.volume,muted:e.muted});};e.addEventListener("volumechange",c),f.push(()=>e.removeEventListener("volumechange",c));let v=()=>{o||S("SIMID:Media:error",{error:e.error?.code??0,message:e.error?.message??""});};e.addEventListener("error",v),f.push(()=>e.removeEventListener("error",v));}function F(e){if(o)return;if(C(e)||y(e)){let u=e.args?.messageId;if(u!==void 0){let c=d.get(u);c&&(C(e)?c.resolve(e):c.reject(new Error(`SIMID creative rejected: ${JSON.stringify(e.args)}`)));}return}let n=e.type;if(n==="SIMID:Creative:requestPause"){i.policy.allowPause?(t.pause(),g(e.messageId)):M(e.messageId,1203,"Pause not allowed");return}if(n==="SIMID:Creative:requestPlay"){i.policy.allowPlay?(t.play(),g(e.messageId)):M(e.messageId,1203,"Play not allowed");return}if(n==="SIMID:Creative:requestResize"){i.policy.allowResize?g(e.messageId):M(e.messageId,1203,"Resize not allowed");return}if(n==="SIMID:Creative:requestNavigation"){let s=e.args;i.policy.navigation==="new-tab"&&s?.uri?(window.open(s.uri,"_blank"),g(e.messageId)):M(e.messageId,1214,"Navigation not supported");return}if(n==="SIMID:Creative:getMediaState"){g(e.messageId,H());return}if(n==="SIMID:Creative:requestSkip"){g(e.messageId),t.emit("ad:skip",{adId:a.id});return}if(n==="SIMID:Creative:requestStop"){g(e.messageId),S("SIMID:Player:adStopped",{code:4}),D(),t.emit("ad:skip",{adId:a.id});return}if(n!=="SIMID:Creative:clickThru"){if(n==="SIMID:Creative:fatalError"){t.emit("ad:error",{error:new Error(`SIMID creative fatal error: ${JSON.stringify(e.args)}`),source:"simid"}),D();return}if(n==="SIMID:Creative:log"){let s=e.args;console.debug("[vide:simid] creative:",s?.message);return}if(n==="SIMID:Creative:reportTracking"){g(e.messageId);return}if(n==="SIMID:Creative:requestChangeVolume"){let s=e.args;s?.volume!==void 0&&(t.volume=s.volume),s?.muted!==void 0&&(t.muted=s.muted),g(e.messageId);return}if(n==="SIMID:Creative:requestFullscreen"||n==="SIMID:Creative:requestExitFullscreen"||n==="SIMID:Creative:requestChangeAdDuration"){M(e.messageId,1203,"Not supported");return}if(n==="SIMID:Creative:expandNonlinear"||n==="SIMID:Creative:collapseNonlinear"){M(e.messageId,1203,"Not supported");return}}}function R(e){let n=b(e.data);n&&F(n);}function D(){if(!o){o=true,r.removeEventListener("message",R);for(let e of f)e();f.length=0;for(let[,e]of d)e.reject(new Error("SIMID host destroyed"));d.clear();}}async function $(){r.addEventListener("message",R),r.start();let e=await new Promise((u,c)=>{let v=setTimeout(()=>{c(new Error("SIMID handshake timeout: no createSession"));},i.handshakeTimeout),I=p=>{let E=b(p.data);!E||!x(E)||(clearTimeout(v),r.removeEventListener("message",I),u(E));};r.addEventListener("message",I);});if(o)throw new Error("SIMID host destroyed during handshake");l=e.sessionId,g(e.messageId);let n=await P("SIMID:Player:init",{environmentData:N(),creativeData:O()});if(o)throw new Error("SIMID host destroyed during handshake");if(y(n))throw new Error(`SIMID creative rejected init: ${JSON.stringify(n.args)}`);let s=await P("SIMID:Player:startCreative");if(o)throw new Error("SIMID host destroyed during handshake");if(y(s))throw new Error(`SIMID creative rejected startCreative: ${JSON.stringify(s.args)}`);V();}return {start:$,destroy:D}}var J={allowPause:true,allowPlay:true,allowResize:false,navigation:"new-tab"};function q(t){return {name:"simid",setup(r,i){let a=i.creatives.flatMap(d=>d.linear?.interactiveCreativeFiles??[]).find(d=>d.apiFramework==="SIMID");if(!a)return;let o={...J,...t.policy},l=t.handshakeTimeout??5e3,m=k(a.url,t.container),f=L(r,m.port,{policy:o,handshakeTimeout:l},i);return f.start().then(()=>m.show()).catch(d=>{r.emit("ad:error",{error:d instanceof Error?d:new Error(String(d)),source:"simid"}),m.destroy();}),()=>{f.destroy(),m.destroy();}}}}var U=globalThis.Vide??(globalThis.Vide={});U.simid=q;})();
@@ -0,0 +1 @@
1
+ (function(){'use strict';function T(e){for(let t of e)typeof navigator<"u"&&typeof navigator.sendBeacon=="function"?navigator.sendBeacon(t):new Image().src=t;}function y(e,t){if(t<=0)return null;let i=e/t;return i>=1?"complete":i>=.75?"thirdQuartile":i>=.5?"midpoint":i>=.25?"firstQuartile":e>=0?"start":null}function x(e,t){let i=new Set,u=["start","firstQuartile","midpoint","thirdQuartile","complete"];return f=>{let l=y(f,e);if(!l||i.has(l))return;let a=u.indexOf(l);for(let r=0;r<=a;r++){let s=u[r];i.has(s)||(i.add(s),t(s));}}}var B="urn:scte:scte35:2013:xml",C="urn:scte:scte35:2014:xml+bin";function S(e,t,i,u,f,l){return e===B||e===C||e.startsWith("urn:scte:scte35:")?{id:l??`dash-event-${i}`,startTime:i,duration:u,customData:{schemeIdUri:e,value:t,...f?{messageData:f}:{}}}:null}function P(e,t,i){function u(f){let a=f?.event;if(a)if(t){let r={source:"eventstream",schemeIdUri:a.schemeIdUri,value:a.value,startTime:a.calculatedPresentationTime,duration:a.duration,messageData:a.messageData},s=t(r);s.length>0&&i(s);}else {let r=S(a.schemeIdUri,a.value,a.calculatedPresentationTime,a.duration,a.messageData,a.id);r&&i([r]);}}return e.on("eventModeOnReceive",u),e.on("eventModeOnStart",u),()=>{e.off("eventModeOnReceive",u),e.off("eventModeOnStart",u);}}var U="com.apple.hls.interstitial",Q="SCTE35-OUT";function w(e,t){let i=e.ID;if(!i)return null;let f=e.CLASS===U,l=Q in e;if(!f&&!l)return null;let a=e["START-DATE"],r=e.DURATION??e["PLANNED-DURATION"],s=0;if(a){let m=new Date(a).getTime();s=t!=null?(m-t)/1e3:m/1e3;}let d=r?Number.parseFloat(r):0;return {id:i,startTime:s,duration:d,customData:{...e}}}function N(e){try{return new TextDecoder().decode(e)}catch{return null}}function b(e,t){for(let i of e){let u=N(i.data);if(u?.includes("SCTE35"))return {id:`id3-${t}`,startTime:t,duration:0,customData:{raw:u}}}return null}function I(e,t,i){let u=new Set;function f(r){let s=r?.dateRanges;if(!s)return;let d,m=r?.fragments;if(m){for(let g of m)if(g.programDateTime!=null){d=g.programDateTime-g.start*1e3;break}}for(let[g,p]of Object.entries(s)){if(u.has(g))continue;u.add(g);let v=p.attr??p;if(t){let M=t({source:"daterange",attributes:v});M.length>0&&i(M);}else {let h=w(v,d);h&&i([h]);}}}function l(r,s){let d=s;d?.details&&f(d.details);}function a(r,s){let d=s;if(!d?.samples?.length)return;let m=d.samples[0]?.pts??0;if(t){let g={source:"id3",samples:d.samples.map(v=>({type:v.type,data:v.data}))},p=t(g);p.length>0&&i(p);}else {let g=d.samples.map(v=>({type:v.type,data:v.data})),p=b(g,m);p&&i([p]);}}if(e.on("hlsLevelUpdated",l),e.on("hlsFragParsingMetadata",a),e.levels&&e.currentLevel!=null&&e.currentLevel>=0){let r=e.levels[e.currentLevel]?.details;r&&f(r);}return ()=>{e.off("hlsLevelUpdated",l),e.off("hlsFragParsingMetadata",a);}}var _=.5;function j(e){return e.tracking??{}}function O(e={}){return {name:"ssai",setup(t){let i=e.tolerance??_,u=e.parser,f=new Map,l=new Set,a=new Set,r=new Map,s=new Map,d=null,m=false;function g(o){for(let n of o)f.has(n.id)||f.set(n.id,n);}function p(){if(d)return true;let o=t.getPluginData("hls");if(o)return d=I(o,u,g),true;let n=t.getPluginData("dash");return n?(d=P(n,u,g),true):false}function v({currentTime:o}){if(!m){for(let[n,c]of f)if(!l.has(n)&&o>=c.startTime-i){l.add(n);let k=j(c);if(s.set(n,k),t.emit("ad:breakStart",{breakId:c.id}),t.emit("ad:start",{adId:c.id}),k.impression?.length&&T(k.impression),c.duration>0){let D=x(c.duration,R=>{let L=k[R];L?.length&&T(L),t.emit("ad:quartile",{adId:c.id,quartile:R});});r.set(n,D),D(o-c.startTime);}t.emit("ad:impression",{adId:c.id});}for(let[n,c]of r){if(a.has(n))continue;let k=f.get(n);k&&c(o-k.startTime);}for(let[n,c]of f){if(!l.has(n)||a.has(n))continue;let k=c.startTime+c.duration;if(c.duration>0&&o>=k-i){let D=r.get(n);D&&D(c.duration),a.add(n),r.delete(n),s.delete(n),t.emit("ad:end",{adId:c.id}),t.emit("ad:breakEnd",{breakId:c.id});}}}}function h(){if(!m)for(let[o]of r){if(a.has(o))continue;let n=s.get(o);n?.pause?.length&&T(n.pause);}}function M(){if(!m)for(let[o]of r){if(a.has(o))continue;let n=s.get(o);n?.resume?.length&&T(n.resume);}}function E({adId:o}){if(m)return;let n=s.get(o);n?.skip?.length&&T(n.skip),r.delete(o),s.delete(o),a.add(o),t.emit("ad:end",{adId:o}),t.emit("ad:breakEnd",{breakId:o});}t.on("timeupdate",v),t.on("pause",h),t.on("play",M),t.on("ad:skip",E),p();function A(){if(d||m){t.off("statechange",A);return}p()&&t.off("statechange",A);}return d||t.on("statechange",A),()=>{m=true,t.off("timeupdate",v),t.off("pause",h),t.off("play",M),t.off("ad:skip",E),t.off("statechange",A),r.clear(),s.clear(),d&&d();}}}}var q=globalThis.Vide??(globalThis.Vide={});Object.assign(q,{ssai:O,parseDateRange:w,parseId3Samples:b,parseEventStream:S});})();