boss-web-player-sdk 1.1.31 → 1.1.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -25,9 +25,9 @@ Please try again.`,onRetry:n}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(
25
25
  .gb-pip-progress { position: relative; height: 4px; border-radius: 2px; background: rgba(255,255,255,0.3); cursor: pointer; }
26
26
  .gb-pip-progress-fill { position: absolute; inset: 0; width: 0%; border-radius: 2px; background: #fff; }
27
27
  .gb-pip-time { font-size: 11px; font-variant-numeric: tabular-nums; opacity: 0.9; }
28
- `,Oe=e=>{let t=e.match(/#EXT-X-TITLE:(.+)/);if(t?.[1]?.trim())return t[1].trim();let n=e.match(/#EXT-X-SESSION-DATA:[^\n]*DATA-ID="[^"]*title[^"]*"[^\n]*VALUE="([^"]+)"/i);return n?.[1]?.trim()?n[1].trim():null},ke=e=>{if(!e||e.length<10||e[0]!==73||e[1]!==68||e[2]!==51)return null;let t=e[3],n=(e[6]&127)<<21|(e[7]&127)<<14|(e[8]&127)<<7|e[9]&127,r=Math.min(10+n,e.length),i=10;for(;i+10<=r;){let n=String.fromCharCode(e[i],e[i+1],e[i+2],e[i+3]),a=t>=4?(e[i+4]&127)<<21|(e[i+5]&127)<<14|(e[i+6]&127)<<7|e[i+7]&127:e[i+4]<<24|e[i+5]<<16|e[i+6]<<8|e[i+7];if(a<=0||i+10+a>r)break;if(n===`TIT2`){let t=e[i+10],n=e.slice(i+11,i+10+a),r=(t===1||t===2?new TextDecoder(`utf-16`).decode(n):new TextDecoder(t===3?`utf-8`:`latin1`).decode(n)).replace(/\0/g,``).trim();if(r)return r}i+=10+a}return null},Ae=({size:e=20})=>(0,d.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,d.jsx)(`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`3`}),(0,d.jsx)(`path`,{d:`M7 9v6M7 12h3M10 9v6`}),(0,d.jsx)(`path`,{d:`M14 9h1.5a3 3 0 0 1 0 6H14z`})]}),je=({size:e=20})=>(0,d.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,d.jsx)(`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`3`}),(0,d.jsx)(`path`,{d:`M7 9v6M7 12h3M10 9v6`}),(0,d.jsx)(`path`,{d:`M14 9h1.5a3 3 0 0 1 0 6H14z`})]}),Me=e=>{let t=e.replace(`#`,``);return t.length===6?`${parseInt(t.substring(0,2),16)}, ${parseInt(t.substring(2,4),16)}, ${parseInt(t.substring(4,6),16)}`:t.length===3?`${parseInt(t[0]+t[0],16)}, ${parseInt(t[1]+t[1],16)}, ${parseInt(t[2]+t[2],16)}`:`99, 102, 241`},Ne={en:`English`,eng:`English`,fr:`French`,fre:`French`,fra:`French`,es:`Spanish`,spa:`Spanish`,de:`German`,ger:`German`,deu:`German`,it:`Italian`,ita:`Italian`,pt:`Portuguese`,por:`Portuguese`,ja:`Japanese`,zh:`Chinese`,ko:`Korean`,ru:`Russian`,ar:`Arabic`,hi:`Hindi`,ta:`Tamil`,tam:`Tamil`},Pe=e=>{if(!e)return null;let t=e.trim().toLowerCase(),n=t.match(/^(en|eng|fr|fre|fra|es|spa|de|ger|deu|it|ita|pt|por|ja|zh|ko|ru|ar|hi|ta|tam)/);if(n&&Ne[n[0]])return Ne[n[0]];for(let[e,n]of Object.entries(Ne))if(t.includes(e))return n;return/english|anglais|ingles/i.test(t)?`English`:/french|français/i.test(t)?`French`:/spanish|español/i.test(t)?`Spanish`:/german|deutsch/i.test(t)?`German`:/italian|italiano/i.test(t)?`Italian`:/portuguese|português/i.test(t)?`Portuguese`:/japanese|nihongo/i.test(t)?`Japanese`:/chinese|中文/i.test(t)?`Chinese`:/korean|한국어/i.test(t)?`Korean`:/tamil|தமிழ்/i.test(t)?`Tamil`:/russian|русский/i.test(t)?`Russian`:/arabic|العربية/i.test(t)?`Arabic`:/hindi|हिन्दी/i.test(t)?`Hindi`:null},y=e=>{if(e.lang){let t=Pe(e.lang);if(t)return t}if(e.label){let t=e.label.trim(),n=t.split(/[#\d\.\s\-_/|:]+/).filter(Boolean);for(let e=n.length-1;e>=0;--e){let t=Pe(n[e]);if(t)return t}let r=t.replace(/^[#\d\.\s]+/,``).trim();return Pe(r)||r}return`Unknown`},Fe=e=>{let t=new Set;return e.filter(e=>{let n=`${y(e).toLowerCase()}|${(e.lang||``).trim().toLowerCase()}`;return t.has(n)?!1:(t.add(n),!0)})},Ie=e=>{let t=(e??``).split(`:`).map(Number);return(t[0]||0)*3600+(t[1]||0)*60+(t[2]||0)},Le=e=>{if(!e)return!1;try{let{protocol:t}=new URL(e,window.location.href);return t===`http:`||t===`https:`}catch{return!1}},Re=e=>{if(typeof e==`number`)return Number.isFinite(e)&&e>=0?e:null;if(typeof e!=`string`)return null;let t=e.trim();if(!t)return null;if(/^\d+:\d{1,2}:\d{1,2}(\.\d+)?$/.test(t))return Ie(t);let n=Number(t);return Number.isFinite(n)&&n>=0?n:null},ze=[0,250,500,750,1e3,1500,2e3,3e3,5e3,8e3],Be=700,Ve=8,He=2500,Ue=1e4,We=2e3,Ge=8e3,Ke=3e3,qe=1.5,Je=2500,Ye=350,Xe=.01;function Ze(e,t,n,r=!1,i){let a=!1,o,s=null,c=!1,l=!1,u=()=>{c||l||(c=!0,i?.())},d=i=>{o=setTimeout(()=>{a||fetch(e).then(e=>e.json()).then(e=>{if(a)return;let o=t(e);if(o!==null){l=!0;let e=JSON.stringify(o);if(e!==s&&(s=e,n(o)),!r)return}else u();i+1<ze.length&&d(i+1)}).catch(()=>{a||(u(),i+1<ze.length&&d(i+1))})},ze[i])};return d(0),()=>{a=!0,o&&clearTimeout(o)}}var Qe=({src:e,autoplay:t=!1,muted:n=!1,chapters:r=[],keyMoments:i,subtitles:a=[],watermark:o,themeColor:s=`#6366f1`,drmConfig:ee,firebaseConfig:te,videoId:ne,onAnalyticsEvent:re,onAdBreakChange:ie,onKeyMomentsLoaded:p,enableControls:m=!0,enableChromecast:h,enableKeyMoments:ae,enableSubtitles:oe,enableQuality:g,enablePlaybackSpeed:Ne,enablePiP:Pe,enableFullscreen:ze=!0,autoFullscreen:Qe=!1,watchProgressInterval:$e=30,subtitleStyle:b={},resolvedEntitlement:et,licenseKey:tt,title:nt,chaptersDisplayMode:rt=`strip`,volumeControlType:it=`slider`,urlTransformer:at,pauseAdOnTabSwitch:ot=!0,enableSkipAd:st=!1,skipAdAfterSeconds:ct=5,overlayAdUrl:lt,adTrackingUrl:ut,sources:x,activeSourceIndex:dt=0,onSourceChange:ft,initialTime:S,onTimeUpdate:pt})=>{let mt=at??(e=>e),C=(0,l.useRef)(null),ht=(0,l.useRef)(null),gt=(0,l.useRef)(!1),w=(0,l.useRef)(null),_t=(0,l.useRef)(0),vt=(0,l.useRef)(null),T=(0,l.useRef)(null),yt=(0,l.useRef)(null),bt=(0,l.useRef)(null),xt=(0,l.useRef)(!1),E=(0,l.useRef)(!1),D=(0,l.useRef)(null),O=(0,l.useRef)(null),k=(0,l.useRef)(null),St=(0,l.useRef)(null),Ct=(0,l.useRef)(()=>{}),A=(0,l.useRef)(null),wt=(0,l.useRef)(!1),Tt=(0,l.useRef)(null),Et=e=>{let t=Tt.current;if(!t)return;let n=t.getContext(`2d`);if(n&&(n.clearRect(0,0,t.width,t.height),!(!e||!e.videoWidth||!e.videoHeight)))try{t.width=e.videoWidth,t.height=e.videoHeight,n.drawImage(e,0,0,t.width,t.height)}catch{n.clearRect(0,0,t.width,t.height)}},Dt=(0,l.useRef)(0),Ot=(0,l.useRef)(null),kt=()=>{Dt.current+=1,Ot.current&&=(window.clearTimeout(Ot.current),null)},At=(0,l.useRef)(null),jt=e=>{!e||At.current!==null||(At.current=e.muted,e.muted=!0)},Mt=e=>{At.current!==null&&(e&&(e.muted=At.current),At.current=null)},Nt=(0,l.useRef)(null),Pt=(0,l.useRef)(!1),j=(0,l.useRef)(null),[Ft,It]=(0,l.useState)(null),Lt=(0,l.useRef)(null),Rt=(0,l.useRef)(null),zt=(0,l.useRef)(null),M=(0,l.useRef)(null),Bt=(0,l.useRef)(null),Vt=(0,l.useRef)(x),Ht=(0,l.useRef)(ft),Ut=(0,l.useRef)(!1),N=(0,l.useRef)(null),P=(0,l.useRef)(null),F=(0,l.useRef)(null),Wt=(0,l.useRef)(null),Gt=(0,l.useRef)(0),Kt=(0,l.useRef)(null),[qt,Jt]=(0,l.useState)(!1),Yt=(0,l.useRef)(!1),Xt=(0,l.useRef)(null),[Zt,Qt]=(0,l.useState)(null);(0,l.useEffect)(()=>{if(typeof window>`u`||Ee)return;let e=window.requestAnimationFrame(()=>{let e=C.current;if(!e)return;let t=window.getComputedStyle(e);t.overflow!==`hidden`&&t.borderTopLeftRadius===`0px`&&(Ee=!0,console.warn(`[boss-web-player-sdk] Player styles appear to be missing — the player will look broken/unstyled.
28
+ `,Oe=e=>{let t=e.match(/#EXT-X-TITLE:(.+)/);if(t?.[1]?.trim())return t[1].trim();let n=e.match(/#EXT-X-SESSION-DATA:[^\n]*DATA-ID="[^"]*title[^"]*"[^\n]*VALUE="([^"]+)"/i);return n?.[1]?.trim()?n[1].trim():null},ke=e=>{if(!e||e.length<10||e[0]!==73||e[1]!==68||e[2]!==51)return null;let t=e[3],n=(e[6]&127)<<21|(e[7]&127)<<14|(e[8]&127)<<7|e[9]&127,r=Math.min(10+n,e.length),i=10;for(;i+10<=r;){let n=String.fromCharCode(e[i],e[i+1],e[i+2],e[i+3]),a=t>=4?(e[i+4]&127)<<21|(e[i+5]&127)<<14|(e[i+6]&127)<<7|e[i+7]&127:e[i+4]<<24|e[i+5]<<16|e[i+6]<<8|e[i+7];if(a<=0||i+10+a>r)break;if(n===`TIT2`){let t=e[i+10],n=e.slice(i+11,i+10+a),r=(t===1||t===2?new TextDecoder(`utf-16`).decode(n):new TextDecoder(t===3?`utf-8`:`latin1`).decode(n)).replace(/\0/g,``).trim();if(r)return r}i+=10+a}return null},Ae=({size:e=20})=>(0,d.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,d.jsx)(`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`3`}),(0,d.jsx)(`path`,{d:`M7 9v6M7 12h3M10 9v6`}),(0,d.jsx)(`path`,{d:`M14 9h1.5a3 3 0 0 1 0 6H14z`})]}),je=({size:e=20})=>(0,d.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,d.jsx)(`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`3`}),(0,d.jsx)(`path`,{d:`M7 9v6M7 12h3M10 9v6`}),(0,d.jsx)(`path`,{d:`M14 9h1.5a3 3 0 0 1 0 6H14z`})]}),Me=e=>{let t=e.replace(`#`,``);return t.length===6?`${parseInt(t.substring(0,2),16)}, ${parseInt(t.substring(2,4),16)}, ${parseInt(t.substring(4,6),16)}`:t.length===3?`${parseInt(t[0]+t[0],16)}, ${parseInt(t[1]+t[1],16)}, ${parseInt(t[2]+t[2],16)}`:`99, 102, 241`},Ne={en:`English`,eng:`English`,fr:`French`,fre:`French`,fra:`French`,es:`Spanish`,spa:`Spanish`,de:`German`,ger:`German`,deu:`German`,it:`Italian`,ita:`Italian`,pt:`Portuguese`,por:`Portuguese`,ja:`Japanese`,zh:`Chinese`,ko:`Korean`,ru:`Russian`,ar:`Arabic`,hi:`Hindi`,ta:`Tamil`,tam:`Tamil`},Pe=e=>{if(!e)return null;let t=e.trim().toLowerCase(),n=t.match(/^(en|eng|fr|fre|fra|es|spa|de|ger|deu|it|ita|pt|por|ja|zh|ko|ru|ar|hi|ta|tam)/);if(n&&Ne[n[0]])return Ne[n[0]];for(let[e,n]of Object.entries(Ne))if(t.includes(e))return n;return/english|anglais|ingles/i.test(t)?`English`:/french|français/i.test(t)?`French`:/spanish|español/i.test(t)?`Spanish`:/german|deutsch/i.test(t)?`German`:/italian|italiano/i.test(t)?`Italian`:/portuguese|português/i.test(t)?`Portuguese`:/japanese|nihongo/i.test(t)?`Japanese`:/chinese|中文/i.test(t)?`Chinese`:/korean|한국어/i.test(t)?`Korean`:/tamil|தமிழ்/i.test(t)?`Tamil`:/russian|русский/i.test(t)?`Russian`:/arabic|العربية/i.test(t)?`Arabic`:/hindi|हिन्दी/i.test(t)?`Hindi`:null},y=e=>{if(e.lang){let t=Pe(e.lang);if(t)return t}if(e.label){let t=e.label.trim(),n=t.split(/[#\d\.\s\-_/|:]+/).filter(Boolean);for(let e=n.length-1;e>=0;--e){let t=Pe(n[e]);if(t)return t}let r=t.replace(/^[#\d\.\s]+/,``).trim();return Pe(r)||r}return`Unknown`},Fe=e=>{let t=new Set;return e.filter(e=>{let n=`${y(e).toLowerCase()}|${(e.lang||``).trim().toLowerCase()}`;return t.has(n)?!1:(t.add(n),!0)})},Ie=e=>{let t=(e??``).split(`:`).map(Number);return(t[0]||0)*3600+(t[1]||0)*60+(t[2]||0)},Le=e=>{if(!e)return!1;try{let{protocol:t}=new URL(e,window.location.href);return t===`http:`||t===`https:`}catch{return!1}},Re=e=>{if(typeof e==`number`)return Number.isFinite(e)&&e>=0?e:null;if(typeof e!=`string`)return null;let t=e.trim();if(!t)return null;if(/^\d+:\d{1,2}:\d{1,2}(\.\d+)?$/.test(t))return Ie(t);let n=Number(t);return Number.isFinite(n)&&n>=0?n:null},ze=[0,250,500,750,1e3,1500,2e3,3e3,5e3,8e3],Be=700,Ve=8,He=2500,Ue=1e4,We=2e3,Ge=8e3,Ke=400,qe=1e3,Je=3e3,Ye=1.5,Xe=2500,Ze=350,Qe=.01;function $e(e,t,n,r=!1,i){let a=!1,o,s=null,c=!1,l=!1,u=()=>{c||l||(c=!0,i?.())},d=i=>{o=setTimeout(()=>{a||fetch(e).then(e=>e.json()).then(e=>{if(a)return;let o=t(e);if(o!==null){l=!0;let e=JSON.stringify(o);if(e!==s&&(s=e,n(o)),!r)return}else u();i+1<ze.length&&d(i+1)}).catch(()=>{a||(u(),i+1<ze.length&&d(i+1))})},ze[i])};return d(0),()=>{a=!0,o&&clearTimeout(o)}}var et=({src:e,autoplay:t=!1,muted:n=!1,chapters:r=[],keyMoments:i,subtitles:a=[],watermark:o,themeColor:s=`#6366f1`,drmConfig:ee,firebaseConfig:te,videoId:ne,onAnalyticsEvent:re,onAdBreakChange:ie,onKeyMomentsLoaded:p,enableControls:m=!0,enableChromecast:h,enableKeyMoments:ae,enableSubtitles:oe,enableQuality:g,enablePlaybackSpeed:Ne,enablePiP:Pe,enableFullscreen:ze=!0,autoFullscreen:et=!1,watchProgressInterval:tt=30,subtitleStyle:b={},resolvedEntitlement:nt,licenseKey:rt,title:it,chaptersDisplayMode:at=`strip`,volumeControlType:ot=`slider`,urlTransformer:st,pauseAdOnTabSwitch:ct=!0,enableSkipAd:lt=!1,skipAdAfterSeconds:ut=5,overlayAdUrl:dt,adTrackingUrl:x,sources:S,activeSourceIndex:ft=0,onSourceChange:pt,initialTime:C,onTimeUpdate:mt})=>{let ht=st??(e=>e),w=(0,l.useRef)(null),gt=(0,l.useRef)(null),_t=(0,l.useRef)(!1),T=(0,l.useRef)(null),vt=(0,l.useRef)(0),yt=(0,l.useRef)(null),E=(0,l.useRef)(null),bt=(0,l.useRef)(null),xt=(0,l.useRef)(null),St=(0,l.useRef)(!1),D=(0,l.useRef)(!1),O=(0,l.useRef)(null),k=(0,l.useRef)(null),A=(0,l.useRef)(null),Ct=(0,l.useRef)(null),wt=(0,l.useRef)(()=>{}),j=(0,l.useRef)(null),Tt=(0,l.useRef)(!1),Et=(0,l.useRef)(null),Dt=e=>{let t=Et.current;if(!t)return!0;let n=t.getContext(`2d`);if(!n||(n.clearRect(0,0,t.width,t.height),!e||!e.videoWidth||!e.videoHeight))return!0;try{if(typeof n.getImageData==`function`){let t=document.createElement(`canvas`);t.width=16,t.height=9;let n=t.getContext(`2d`);if(n&&typeof n.getImageData==`function`){n.drawImage(e,0,0,t.width,t.height);let r=n.getImageData(0,0,t.width,t.height).data,i=!0;for(let e=4;e<r.length;e+=4)if(Math.abs(r[e]-r[0])>8||Math.abs(r[e+1]-r[1])>8||Math.abs(r[e+2]-r[2])>8){i=!1;break}if(i)return!1}}return t.width=e.videoWidth,t.height=e.videoHeight,n.drawImage(e,0,0,t.width,t.height),!0}catch{return n.clearRect(0,0,t.width,t.height),!1}},Ot=(0,l.useRef)(!0),kt=(0,l.useRef)(0),At=(0,l.useRef)(null),jt=()=>{kt.current+=1,At.current&&=(window.clearTimeout(At.current),null)},Mt=(0,l.useRef)(null),Nt=e=>{!e||Mt.current!==null||(Mt.current=e.muted,e.muted=!0)},Pt=e=>{Mt.current!==null&&(e&&(e.muted=Mt.current),Mt.current=null)},Ft=(0,l.useRef)(null),It=(0,l.useRef)(!1),M=(0,l.useRef)(null),[Lt,Rt]=(0,l.useState)(null),zt=(0,l.useRef)(null),Bt=(0,l.useRef)(null),Vt=(0,l.useRef)(null),Ht=(0,l.useRef)(null),Ut=(0,l.useRef)(null),Wt=(0,l.useRef)(S),Gt=(0,l.useRef)(pt),Kt=(0,l.useRef)(!1),N=(0,l.useRef)(null),P=(0,l.useRef)(null),F=(0,l.useRef)(null),qt=(0,l.useRef)(null),Jt=(0,l.useRef)(0),Yt=(0,l.useRef)(null),[Xt,Zt]=(0,l.useState)(!1),Qt=(0,l.useRef)(!1),$t=(0,l.useRef)(null),[en,tn]=(0,l.useState)(null);(0,l.useEffect)(()=>{if(typeof window>`u`||Ee)return;let e=window.requestAnimationFrame(()=>{let e=w.current;if(!e)return;let t=window.getComputedStyle(e);t.overflow!==`hidden`&&t.borderTopLeftRadius===`0px`&&(Ee=!0,console.warn(`[boss-web-player-sdk] Player styles appear to be missing — the player will look broken/unstyled.
29
29
  Import the stylesheet once at your app entry point:
30
- import 'boss-web-player-sdk/css';`))});return()=>window.cancelAnimationFrame(e)},[]),(0,l.useEffect)(()=>{let e=C.current;if(!e)return;let t=new ResizeObserver(e=>{for(let t of e)Jt(t.contentRect.width<=768)});return t.observe(e),Jt(e.getBoundingClientRect().width<=768),()=>t.disconnect()},[]);let[I,$t]=(0,l.useState)(null),[en,tn]=(0,l.useState)(!1),nn=et??null,rn=nn!=null,an=nn?.features??{},on=rn?!!(an.drm_protection&&!tt):!1,L={enableSubtitles:rn?!!an.subtitle_support:typeof oe==`boolean`?oe:!0,enableChromecast:rn?!!an.chromecast:typeof h==`boolean`?h:!0,enableKeyMoments:rn?!!an.key_moments:typeof ae==`boolean`?ae:!0,enableQuality:rn?!!an.multiple_resolution:typeof g==`boolean`?g:!0,enablePlaybackSpeed:rn?!!an.playback_speed:typeof Ne==`boolean`?Ne:!0,enablePiP:rn?!!an.picture_in_picture:typeof Pe==`boolean`?Pe:!0,allowAirplay:rn?!!an.airplay:!1,allowMultipleAudio:rn?!!an.multiple_audio:!0,m3u8_playback:rn?!!an.m3u8_playback:!0,drm_protection:rn?!!an.drm_protection:!1},[sn,cn]=(0,l.useState)(!1),[ln,un]=(0,l.useState)(0),[dn,fn]=(0,l.useState)(!1),[R,pn]=(0,l.useState)(0),[mn,hn]=(0,l.useState)(0),[gn,_n]=(0,l.useState)(1),[vn,yn]=(0,l.useState)(!1),[bn,xn]=(0,l.useState)(!1),Sn=(0,l.useRef)(!1),Cn=(0,l.useCallback)(()=>{xn(Sn.current&&!wt.current)},[]),wn=(0,l.useCallback)(e=>{Sn.current=e,Cn()},[Cn]),[Tn,En]=(0,l.useState)(!1),[Dn,On]=(0,l.useState)(!1),[kn,An]=(0,l.useState)(!1),jn=qt||(Tn||Dn)&&kn,[Mn,Nn]=(0,l.useState)(!1),[Pn,Fn]=(0,l.useState)(null),[In,Ln]=(0,l.useState)(!1),[z,Rn]=(0,l.useState)([]),B=(0,l.useRef)([]),zn=(0,l.useRef)(new Set),Bn=x&&x.length>0?x.map(e=>e.url).join(`|`):e,[Vn,Hn]=(0,l.useState)(new Set),[Un,Wn]=(0,l.useState)(Bn),Gn=(0,l.useRef)(null),Kn=(0,l.useRef)(!1),qn=(0,l.useRef)(null);Un!==Bn&&(Wn(Bn),Hn(new Set),zn.current=new Set,Gn.current=null,Kn.current=!1);let Jn=(0,l.useRef)(null),Yn=(0,l.useRef)(!1),[Xn,Zn]=(0,l.useState)([]),[Qn,$n]=(0,l.useState)(null),er=(0,l.useRef)([]),tr=(0,l.useRef)(null),nr=(0,l.useRef)(new Set),[rr,ir]=(0,l.useState)([]),ar=(0,l.useRef)([]),[or,sr]=(0,l.useState)(!1),cr=(0,l.useRef)(!1),lr=(0,l.useCallback)(()=>{cr.current||(cr.current=!0,sr(!0))},[]),[ur,dr]=(0,l.useState)(!1),fr=(0,l.useRef)(!1),pr=(0,l.useCallback)(()=>{fr.current||(fr.current=!0,dr(!0))},[]),[mr,hr]=(0,l.useState)(!1),gr=(0,l.useRef)(!1),[_r,vr]=(0,l.useState)(!1),[yr,br]=(0,l.useState)(!1),xr=(0,l.useRef)(null),[Sr,Cr]=(0,l.useState)({w:0,h:0}),[wr,Tr]=(0,l.useState)(null),[Er,Dr]=(0,l.useState)([]),[Or,kr]=(0,l.useState)(0),Ar=(0,l.useRef)(0),jr=(0,l.useRef)(0),Mr=e=>{let t=ar.current.find(t=>e>=t.startTimeSeconds&&e<t.endTimeSeconds);if(t)return{start:t.startTimeSeconds,end:t.endTimeSeconds};let n=B.current.find(t=>e>=t.startTime&&e<t.endTime);return n?{start:n.startTime,end:n.endTime}:null},Nr=(0,l.useMemo)(()=>z.reduce((e,t)=>e+(t.endTime-t.startTime),0),[z]),Pr=mn>0?Math.max(0,mn-Nr):0,V=z.length>0&&Pr>0?Pr:mn,H=(0,l.useCallback)(e=>{let t=e;for(let n of z)e>=n.endTime?t-=n.endTime-n.startTime:e>=n.startTime&&(t-=e-n.startTime);return Math.max(0,t)},[z]),U=(0,l.useCallback)(e=>{let t=[...z].sort((e,t)=>e.startTime-t.startTime),n=e;for(let e of t)n>e.startTime&&(n+=e.endTime-e.startTime);return n},[z]),[Fr,Ir]=(0,l.useState)([]),[Lr,Rr]=(0,l.useState)({id:-1,height:0,width:0,bitrate:0,label:`Auto`}),[zr,Br]=(0,l.useState)(``),[W,Vr]=(0,l.useState)(`off`),[Hr,Ur]=(0,l.useState)(Fe(a)),[Wr,Gr]=(0,l.useState)([]),[Kr,qr]=(0,l.useState)(0);(0,l.useEffect)(()=>{if(I){let e=I.subtitles.getTracks();Ur(Fe([...a,...e.filter(e=>!a.some(t=>t.id===e.id))]))}else Ur(Fe(a))},[a.map(e=>e.id).join(`,`),I]);let[Jr,Yr]=(0,l.useState)({chapter:null,index:-1}),[G,Xr]=(0,l.useState)(i||r||[]),[K,q]=(0,l.useState)(`none`),[Zr,Qr]=(0,l.useState)(1),[$r,ei]=(0,l.useState)(!1),[ti,ni]=(0,l.useState)({}),[ri,ii]=(0,l.useState)(``),[ai,oi]=(0,l.useState)(null),si=(0,l.useRef)(!1),ci=JSON.stringify(G.map(e=>({title:e.title,startTime:e.startTime})));(0,l.useEffect)(()=>{Xr(i||r||[])},[(i||r||[]).map(e=>`${e.startTime}:${e.title}`).join(`,`)]),(0,l.useEffect)(()=>{if(!e||!G||G.length===0)return;ni({});let t=document.createElement(`video`);t.muted=!0,t.preload=`metadata`,t.crossOrigin=`anonymous`,t.style.cssText=`position:fixed;top:0;left:0;width:10px;height:10px;opacity:0.01;pointer-events:none;z-index:-9999;`,document.body.appendChild(t);let n=null,r=e.includes(`.m3u8`),i=document.createElement(`canvas`);i.width=160,i.height=90;let a=i.getContext(`2d`),o=0,s=!1,l=()=>{if(o>=G.length){f();return}let e=G[o].startTime;t.currentTime=e===0?.01:e},u=()=>{if(a&&t.readyState>=2){a.drawImage(t,0,0,i.width,i.height);let e=i.toDataURL(`image/jpeg`,.8);ni(t=>({...t,[o]:e})),o++,l()}else setTimeout(u,100)},d=()=>{s||(s=!0,l())};t.addEventListener(`seeked`,u),t.addEventListener(`canplay`,d),r&&c.u.isSupported()?(n=new c.u({enableWorker:!1,maxBufferLength:5,xhrSetup:(e,t)=>{let n=ee?.authToken;try{let r=mt(t),i=new URL(r,window.location.origin);n&&i.searchParams.set(`token`,n),e.open(`GET`,i.toString(),!0)}catch(e){console.error(`[WebVideoPlayer tempHls] xhrSetup error:`,e)}}}),n.loadSource(mt(e)),n.attachMedia(t)):t.src=e,t.readyState>=2&&d();let f=()=>{t.removeEventListener(`seeked`,u),t.removeEventListener(`canplay`,d),n&&n.destroy(),document.body.contains(t)&&document.body.removeChild(t)};return f},[e,ci]);let[J,li]=(0,l.useState)(null),[ui,di]=(0,l.useState)(null),fi=(0,l.useRef)(!1),[pi,mi]=(0,l.useState)(!1),[hi,gi]=(0,l.useState)(!1),[_i,vi]=(0,l.useState)(null),[yi,bi]=(0,l.useState)(null),[xi,Si]=(0,l.useState)(0),[Ci,wi]=(0,l.useState)(0),[Ti,Ei]=(0,l.useState)(null),[Di,Oi]=(0,l.useState)(null),[ki,Ai]=(0,l.useState)(null);(0,l.useEffect)(()=>{if(St.current&&!St.current.querySelector(`google-cast-launcher`)){let e=document.createElement(`google-cast-launcher`);e.style.cursor=`pointer`,e.style.width=`100%`,e.style.height=`100%`,e.style.display=`block`,St.current.appendChild(e)}},[]),(0,l.useEffect)(()=>{if(!I){mi(!1),gi(!1),vi(null);return}let e=e=>mi(e),t=()=>{let e=I.getVideoElement(),t=!!e?.webkitCurrentPlaybackTargetIsWireless;gi(t),vi(t?e.webkitCurrentPlaybackTargetName||`AirPlay device`:null)};e(I.casting.isAirPlayAvailable()),t();let n=I.getVideoElement(),r=t=>{e(t.availability===`available`)},i=()=>{t()};return`webkitShowPlaybackTargetPicker`in n&&(n.addEventListener(`webkitplaybacktargetavailabilitychanged`,r),n.addEventListener(`webkitcurrentplaybacktargetiswirelesschanged`,i)),()=>{`webkitShowPlaybackTargetPicker`in n&&(n.removeEventListener(`webkitplaybacktargetavailabilitychanged`,r),n.removeEventListener(`webkitcurrentplaybacktargetiswirelesschanged`,i))}},[I]);let[ji,Mi]=(0,l.useState)(``),[Ni,Pi]=(0,l.useState)(!1),[Y,Fi]=(0,l.useState)(!1),[Ii,Li]=(0,l.useState)(!1),Ri=(0,l.useRef)(!1),zi=(0,l.useRef)(null),Bi=(0,l.useRef)(!1),Vi=(0,l.useRef)(!1),Hi=(0,l.useRef)(null),Ui=(0,l.useRef)(`none`),Wi=(0,l.useRef)(a),Gi=()=>{Pi(!0),zi.current&&window.clearTimeout(zi.current);let e=Yt.current?3500:1e4;zi.current=window.setTimeout(()=>{Bi.current&&Ui.current===`none`&&Pi(!1)},e)},Ki=()=>{if(fr.current){if(!(!Vi.current&&B.current.some(e=>jr.current>=e.startTime&&jr.current<e.endTime&&!zn.current.has(e.startTime))))Hi.current=null;else{let e=Date.now();if(Hi.current===null&&(Hi.current=e),e-Hi.current<Je)return}Gi()}};(0,l.useEffect)(()=>{let e=!Y&&B.current.some(e=>jr.current>=e.startTime&&jr.current<e.endTime&&!zn.current.has(e.startTime));if(!ur||e){zi.current&&=(window.clearTimeout(zi.current),null),Pi(!1);return}m&&Gi()},[Y,ur,m]);let qi=(0,l.useCallback)(e=>{M.current&&=(clearTimeout(M.current),null);let t=Vt.current,n=t?.[e]?.label??`This format`,r=t?.[0]?.label??`default`;Bt.current=null,oi(`${n} isn't supported on this device. Switched to ${r}.`),window.setTimeout(()=>oi(null),4e3),Ht.current?.(0)},[]);(0,l.useEffect)(()=>{if(!C.current)return;let t=document.createElement(`video`);t.muted=!0,t.preload=`metadata`,t.crossOrigin=`anonymous`,t.style.cssText=`display:none;position:absolute;pointer-events:none;`,document.body.appendChild(t),T.current=t;let r=e.includes(`.m3u8`);if(r&&c.u.isSupported()){let n=new c.u({enableWorker:!1,maxBufferLength:5,xhrSetup:(e,t)=>{let n=ee?.authToken;try{let r=mt(t),i=new URL(r,window.location.origin);n&&i.searchParams.set(`token`,n),e.open(`GET`,i.toString(),!0)}catch(e){console.error(`[WebVideoPlayer hiddenHls] xhrSetup error:`,e)}}});n.loadSource(mt(e)),n.attachMedia(t),yt.current=n,n.on(c.u.Events.MANIFEST_LOADED,(e,t)=>{if(nt)return;let n=Oe(t?.networkDetails?.responseText??``);n&&Mi(n)}),n.on(c.u.Events.FRAG_PARSING_METADATA,(e,t)=>{if(!(nt||ji))for(let e of t?.samples??[]){let t=ke(e.data);if(t){Mi(t);break}}})}else r&&t.canPlayType(`application/vnd.apple.mpegurl`),t.src=e;t.addEventListener(`seeked`,()=>{let e=vt.current;if(!e)return;let n=e.getContext(`2d`);n&&t.readyState>=2&&(n.drawImage(t,0,0,e.width,e.height),Ei(e.toDataURL(`image/jpeg`,.82)))});let i;if(te){let e=new c.c(te);ht.current=e,i=e.createCallback()}if(on)return;let l=new c.t({container:C.current,src:e,videoId:ne,autoplay:!1,muted:n,keyMoments:G,subtitles:a,drm:{watermarkText:o,allowedDomains:[`localhost`,`127.0.0.1`,window.location.hostname],...ee},analyticsCallback:e=>{if(e.sessionId&&(Gn.current===null?Gn.current=e.sessionId:e.sessionId!==Gn.current&&(e={...e,sessionId:Gn.current})),e.eventType===`session_start`){if(Kn.current)return;Kn.current=!0}i?.(e),re&&re(e)},analyticsSessionSeed:qn.current?.key===Bn?qn.current.snapshot:void 0,watchProgressInterval:$e*1e3,themeColor:s,urlTransformer:at});l.on(`keymomentsloaded`,e=>{Xr(e),p&&p(e)}),l.on(`chaptersloaded`,e=>{Xr(e),p&&p(e)}),l.on(`play`,()=>{fn(!0),Ln(!1),m(l.getCurrentTime(),!1)}),l.on(`pause`,()=>{fn(!1),m(l.getCurrentTime(),!0)}),l.on(`ended`,()=>{fn(!1),Ln(!0)});let u=()=>{wt.current||Et(l.getVideoElement()),kt(),wt.current=!0,Cn(),A.current&&(A.current.style.opacity=`1`),jt(l.getVideoElement())},d=()=>{let e=l.getVideoElement(),t=Dt.current,n=()=>{t===Dt.current&&(Ot.current&&=(window.clearTimeout(Ot.current),null),wt.current=!1,A.current&&(A.current.style.opacity=`0`),Mt(e),Cn())},r=e?.requestVideoFrameCallback;if(typeof r==`function`){r.call(e,()=>n());let i=r=>{Ot.current=window.setTimeout(()=>{if((Sn.current||e.seeking||e.readyState<2)&&r+We<Ge&&t===Dt.current){i(r+We);return}n()},We)};i(0);return}requestAnimationFrame(()=>requestAnimationFrame(n))},f=(e,t=!1)=>{E.current=!0;let n=t?e+.5:j.current??e+.5;t||(j.current=null),Pt.current=t,D.current=n,O.current=l.getCurrentTime(),u(),l.seek(n);let r=l.getVideoElement();if(r){let e=()=>{r.removeEventListener(`seeked`,e),k.current&&=(window.clearTimeout(k.current),null),E.current=!1,D.current=null,O.current=null;let t=Pt.current;Pt.current=!1,(t||j.current===null)&&d(),!t&&j.current===null&&It(null)};r.addEventListener(`seeked`,e)}k.current&&window.clearTimeout(k.current),k.current=window.setTimeout(()=>{E.current=!1,D.current=null,O.current=null,k.current=null,Pt.current=!1,It(null),d()},3e3)};Nt.current=f;let m=(e,t)=>{if(!(`mediaSession`in navigator)||!navigator.mediaSession.setPositionState)return;navigator.mediaSession.playbackState=t?`paused`:`playing`;let n=l.getDuration(),r=B.current.find(t=>e>=t.startTime&&e<t.endTime);if(r){let t=r.endTime-r.startTime,n=Math.max(0,e-r.startTime);if(t>0)try{navigator.mediaSession.setPositionState({duration:t,playbackRate:1,position:Math.min(n,t)})}catch{}}else{let t=B.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),r=n>0?Math.max(0,n-t):0,i=e;for(let t of B.current)e>=t.endTime?i-=t.endTime-t.startTime:e>=t.startTime&&(i-=e-t.startTime);i=Math.max(0,i);let a=B.current.length>0&&r>0?r:n;if(a>0)try{navigator.mediaSession.setPositionState({duration:a,playbackRate:1,position:Math.min(i,a)})}catch{}}};if(l.on(`timeupdate`,e=>{if(!E.current&&P.current===null){let t=B.current.find(t=>zn.current.has(t.startTime)&&e>=t.startTime-.5&&e<t.endTime);if(t){f(t.endTime);return}j.current!==null&&B.current.find(t=>e>=t.endTime-.5&&e<t.endTime)&&u()}if(E.current&&D.current!==null){let t=D.current;if(O.current!==null&&t<O.current?e<=t+2&&e>=t-2:e>=t-2){E.current=!1,D.current=null,O.current=null,k.current&&=(window.clearTimeout(k.current),null);let t=B.current.some(t=>e>=t.startTime&&e<t.endTime),n=Pt.current;Pt.current=!1,(n||!t&&j.current===null)&&d(),!t&&j.current===null&&It(null)}else return}pn(e),Gt.current=e;let t=l.getDuration();if(hn(t),P.current!==null&&e>=P.current-2){P.current=null,F.current&&=(window.clearTimeout(F.current),null);let t=B.current.find(t=>zn.current.has(t.startTime)&&e>=t.startTime&&e<t.endTime);t&&f(t.endTime),requestAnimationFrame(()=>{requestAnimationFrame(()=>{N.current&&(N.current.style.opacity=`0`)})})}if(!Ut.current&&cr.current&&Rt.current===null&&S&&S>0&&t>0&&S<t){Ut.current=!0;let t=B.current.find(e=>S>=e.startTime&&S<e.endTime),n=t?t.startTime:S,r=B.current.find(t=>e>=t.startTime&&e<t.endTime&&!zn.current.has(t.startTime));r&&n>r.endTime?(Wt.current=null,j.current=n,N.current&&(N.current.style.opacity=`0`)):(Wt.current=t?null:S,P.current=n,l.seek(n),F.current&&window.clearTimeout(F.current),F.current=window.setTimeout(()=>{P.current=null,F.current=null,N.current&&(N.current.style.opacity=`0`)},4e3))}if(pt?.(e),er.current.length>0)if(tr.current){let t=tr.current;(e>=t.startTimeSeconds+t.durationSeconds||e<t.startTimeSeconds)&&($n(null),tr.current=null)}else{let t=er.current.find(t=>e>=t.startTimeSeconds&&e<t.startTimeSeconds+t.durationSeconds&&!nr.current.has(t.availId));t&&($n(t),tr.current=t,t.impressionBeacons.forEach(e=>{fetch(e,{mode:`no-cors`}).catch(()=>{})}))}let n=l.keyMoments.getCurrentMoment(e);Yr({chapter:n.keyMoment,index:n.index}),m(e,l.getVideoElement().paused)}),l.on(`qualitylevels`,e=>{Ir(e);let t=zt.current;if(!t)return;let n=t.qualityHeight===null?void 0:e.find(e=>e.height===t.qualityHeight);n?(l.setQuality(n.id),Rr(n)):Rr({id:-1,height:0,width:0,bitrate:0,label:`Auto`})}),l.on(`qualitychange`,e=>{Rr(e)}),l.on(`buffering`,e=>{if(wn(e),!e){M.current&&=(clearTimeout(M.current),null),Bt.current=null;let e=zt.current;if(e&&(zt.current=null,e.playbackRate!==1&&l.setPlaybackRate(e.playbackRate),l.setVolume(e.volume),l.setMute(e.muted)),Rt.current!==null){let e=Rt.current;Rt.current=null,Ut.current=!0,P.current=e,F.current&&window.clearTimeout(F.current),F.current=window.setTimeout(()=>{P.current=null,F.current=null,N.current&&(N.current.style.opacity=`0`)},4e3),l.seek(e)}}}),l.on(`adbreakchange`,e=>{if(l.analytics.setAdBreak(e,l.getVideoElement()),ie&&ie(e),e){let e=l.getCurrentTime(),t=B.current.find(t=>e>=t.startTime&&e<t.endTime);if(Ri.current=!1,Li(!1),t&&zn.current.has(t.startTime)){u(),E.current||f(t.endTime);return}t&&(Jn.current=t.startTime),Tr(t??null),Fi(!0),q(`none`),d()}else{let e=Jn.current;if(Jn.current=null,Tr(null),e!==null){let t=B.current.find(t=>t.startTime===e);t&&l.getCurrentTime()>=t.endTime-qe&&(zn.current.add(e),Hn(new Set(zn.current)))}if(Fi(!1),j.current!==null){let e=j.current;j.current=null,E.current=!0,D.current=e,O.current=l.getCurrentTime(),u(),l.seek(e),k.current&&window.clearTimeout(k.current),k.current=window.setTimeout(()=>{E.current=!1,D.current=null,O.current=null,k.current=null,d()},3e3)}}}),l.on(`adbreaksloaded`,e=>{B.current=e,Rn(e),pr();let t=Wt.current;if(t===null)return;Wt.current=null;let n=e.find(e=>t>=e.startTime&&t<e.endTime);if(!n||zn.current.has(n.startTime))return;let r=l.getCurrentTime();r<n.startTime||r>=n.endTime||(N.current&&(N.current.style.opacity=`1`),P.current=n.startTime,F.current&&window.clearTimeout(F.current),F.current=window.setTimeout(()=>{P.current=null,F.current=null,N.current&&(N.current.style.opacity=`0`)},4e3),l.seek(n.startTime))}),l.on(`volumechange`,e=>{_n(e.volume),At.current===null&&yn(e.muted)}),l.on(`pipchange`,e=>{Nn(e)}),l.on(`error`,()=>{cn(!0),wn(!1),P.current=null,F.current&&=(window.clearTimeout(F.current),null),N.current&&(N.current.style.opacity=`0`)}),l.on(`unsupportedcodec`,()=>{let e=Bt.current;e&&e.targetIdx!==0&&(Vt.current?.length??0)>1&&qi(e.targetIdx)}),l.subtitles.onSubtitleChange(e=>{Br(e)}),l.on(`subtitlesloaded`,e=>{if(!L.enableSubtitles)return;Ur(Fe([...e]));let t=zt.current;if(t){let n=t.subtitleId===`off`?`off`:e.find(e=>e.id===t.subtitleId)?.id??(t.subtitleLang?e.find(e=>e.lang===t.subtitleLang)?.id:void 0);if(n){l.subtitles.setActiveTrack(n),Vr(n);return}}let n=e.find(e=>e.isDefault);n&&(l.subtitles.setActiveTrack(n.id),Vr(n.id))}),l.on(`audiotracksloaded`,e=>{Gr(e);let t=zt.current,n=t?e.find(e=>t.audioLang&&e.lang===t.audioLang)??e.find(e=>t.audioLabel&&e.label===t.audioLabel):void 0;if(n){l.setAudioTrack(n.id),qr(n.id);return}qr(e[0]?.id??0)}),l.on(`audiotrackchange`,e=>{qr(e)}),l.casting.onCastStateChange((e,t)=>{if(e){fi.current=l.isMuted(),l.pause();let e=l.getVideoElement();e.muted=!0,li(t)}else{let e=l.casting.getRemoteState();e&&e.currentTime>0&&(E.current=!0,D.current=e.currentTime,O.current=l.getCurrentTime(),l.seek(e.currentTime),k.current&&window.clearTimeout(k.current),k.current=window.setTimeout(()=>{E.current=!1,D.current=null,O.current=null,k.current=null},3e3));let t=l.getVideoElement();t.muted=fi.current,li(null),di(null)}}),l.casting.onRemoteStateChange(e=>{di(e)}),_n(l.getVolume()),yn(l.isMuted()),`mediaSession`in navigator)try{navigator.mediaSession.setActionHandler(`seekto`,e=>{if(e.seekTime==null||Vi.current||Ri.current)return;let t=e.seekTime;for(let e of B.current)t>=e.startTime&&(t+=e.endTime-e.startTime);Lt.current?.(t)});let e=(e,t)=>{if(Vi.current||Ri.current)return;let n=t&&t>0?t:10,r=l.getCurrentTime(),i=r;for(let e of B.current)r>=e.endTime?i-=e.endTime-e.startTime:r>=e.startTime&&(i-=r-e.startTime);if(e){let e=B.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),t=Math.max(0,l.getDuration()-e),r=Math.min(t,i+n);for(let e of B.current)r>=e.startTime&&(r+=e.endTime-e.startTime);Lt.current?.(r,{eventType:`fast_forward`,skipSeconds:n})}else{let e=Math.max(0,i-n);for(let t of B.current)e>=t.startTime&&(e+=t.endTime-t.startTime);Lt.current?.(e,{eventType:`fast_backward`,skipSeconds:n})}};navigator.mediaSession.setActionHandler(`seekforward`,t=>e(!0,t.seekOffset??void 0)),navigator.mediaSession.setActionHandler(`seekbackward`,t=>e(!1,t.seekOffset??void 0))}catch{}let h=l.getVideoElement(),ae=()=>{if(!(document.pictureInPictureElement===h||h.webkitPresentationMode===`picture-in-picture`)||E.current||P.current!==null||Rt.current!==null)return;let e=h.currentTime,t=Gt.current;if(!(Math.abs(e-t)<.5)){if(Vi.current){h.currentTime=t;return}h.currentTime=t,Lt.current?.(e)}};h.addEventListener(`seeking`,ae),$t(l);let oe=Bt.current;oe&&oe.targetIdx!==0&&(M.current&&clearTimeout(M.current),M.current=setTimeout(()=>{M.current=null,!l.getBufferedRanges().some(e=>e.end>e.start)&&qi(oe.targetIdx)},Te)),Rt.current!==null&&(F.current&&window.clearTimeout(F.current),F.current=window.setTimeout(()=>{F.current=null,P.current=null,N.current&&(N.current.style.opacity=`0`),wn(!1)},12e3)),Qe&&C.current&&(gt.current=!0,C.current.requestFullscreen().catch(()=>{gt.current=!1}));let g=()=>{let e=document,t=!!(document.fullscreenElement||e.webkitFullscreenElement);En(t),t||On(!1);let n=l.getVideoElement();l.analytics.track(t?`fullscreen_enter`:`fullscreen_exit`,n)};document.addEventListener(`fullscreenchange`,g),document.addEventListener(`webkitfullscreenchange`,g);let se=e=>{let t=document.activeElement;if(!(t&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.getAttribute(`contenteditable`)===`true`||t.getAttribute(`role`)===`slider`))){switch(e.key.toLowerCase()){case` `:case`k`:if(e.preventDefault(),l.getVideoElement().paused)l.play();else{l.pause();try{let e=l.getVideoElement();e&&!e.paused&&e.pause()}catch{}if(T.current&&!T.current.paused)try{T.current.pause()}catch{}}break;case`arrowleft`:case`j`:if(e.preventDefault(),!Vi.current){let e=l.getCurrentTime(),t=e;for(let n of B.current)e>=n.endTime?t-=n.endTime-n.startTime:e>=n.startTime&&(t-=e-n.startTime);let n=Math.max(0,t-10);for(let e of B.current)n>=e.startTime&&(n+=e.endTime-e.startTime);Lt.current?.(n,{eventType:`fast_backward`,skipSeconds:10})}break;case`arrowright`:case`l`:if(e.preventDefault(),!Vi.current){let e=l.getCurrentTime(),t=B.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),n=Math.max(0,l.getDuration()-t),r=e;for(let t of B.current)e>=t.endTime?r-=t.endTime-t.startTime:e>=t.startTime&&(r-=e-t.startTime);let i=Math.min(n,r+10);for(let e of B.current)i>=e.startTime&&(i+=e.endTime-e.startTime);Lt.current?.(i,{eventType:`fast_forward`,skipSeconds:10})}break;case`arrowup`:e.preventDefault(),l.setVolume(l.getVolume()+.1);break;case`arrowdown`:e.preventDefault(),l.setVolume(l.getVolume()-.1);break;case`m`:e.preventDefault(),l.setMute(!l.isMuted());break;case`f`:e.preventDefault(),Ct.current();break;case`p`:e.preventDefault(),Vi.current||l.togglePictureInPicture();break;case`c`:if(e.preventDefault(),L.enableSubtitles&&!Vi.current)if(l.subtitles.getActiveTrackId()!==`off`)l.subtitles.setActiveTrack(`off`),Vr(`off`);else{let e=Wi.current;e&&e.length>0&&(l.subtitles.setActiveTrack(e[0].id),Vr(e[0].id))}break;default:return}Ki()}};return document.addEventListener(`keydown`,se),Ki(),()=>{if(qn.current={key:Bn,snapshot:l.analytics.getSessionSnapshot()},Kt.current){let e=Kt.current,t=l.getVideoElement();C.current&&t.ownerDocument!==document&&(t.classList.remove(`gb-pip-video`),C.current.insertBefore(t,C.current.firstChild)),Kt.current=null,Fn(null),Nn(!1),e.close()}if(l.destroy(),ht.current?.destroy(),ht.current=null,document.body.style.overflow=``,document.body.style.touchAction=``,document.removeEventListener(`fullscreenchange`,g),document.removeEventListener(`webkitfullscreenchange`,g),document.removeEventListener(`keydown`,se),zi.current&&window.clearTimeout(zi.current),k.current&&=(window.clearTimeout(k.current),null),M.current&&=(clearTimeout(M.current),null),kt(),wt.current=!1,A.current&&(A.current.style.opacity=`0`),Cn(),h.removeEventListener(`seeking`,ae),`mediaSession`in navigator){try{navigator.mediaSession.setActionHandler(`seekto`,null)}catch{}try{navigator.mediaSession.setActionHandler(`seekforward`,null)}catch{}try{navigator.mediaSession.setActionHandler(`seekbackward`,null)}catch{}}yt.current&&=(yt.current.destroy(),null),T.current&&=(document.body.removeChild(T.current),null),Ut.current=!1,P.current=null,F.current&&=(window.clearTimeout(F.current),null)}},[e,o,ln]),(0,l.useEffect)(()=>{if(I){I.keyMoments.setKeyMoments(G);let e=C.current?.querySelector(`video`);if(e){let t=I.keyMoments.getCurrentMoment(e.currentTime);Yr({chapter:t.keyMoment,index:t.index})}}},[ci,I]),(0,l.useEffect)(()=>{let e=e=>{K!==`none`&&(e.target.closest(`.sdk-menu-container`)||q(`none`))};return document.addEventListener(`click`,e),()=>{document.removeEventListener(`click`,e)}},[K]),(0,l.useEffect)(()=>{Bi.current=dn},[dn]),(0,l.useEffect)(()=>{Vi.current=Y},[Y]),(0,l.useEffect)(()=>{Ri.current=Ii},[Ii]);let X=Y||Ii;(0,l.useEffect)(()=>{Kt.current=Pn},[Pn]),(0,l.useEffect)(()=>{Ui.current=K},[K]),(0,l.useEffect)(()=>{if(!Y||!I)return;let e=0,t=I.getCurrentTime(),n=performance.now(),r=()=>{let i=I.getVideoElement?.(),a=I.getCurrentTime(),o=performance.now(),s;if(a!==t)t=a,n=o,s=a;else if(i&&!i.paused&&!i.ended){let e=i.playbackRate||1;s=t+(o-n)/1e3*e}else s=t;let c=Mr(a);if(c){let e=Math.min(s,a+.4,c.end),t=Math.min(100,Math.max(0,(e-c.start)/(c.end-c.start)*100));(C.current?.querySelectorAll(`.sdk-ad-progress-fill`))?.forEach(e=>{e.style.width=`${t}%`})}e=requestAnimationFrame(r)};return e=requestAnimationFrame(r),()=>cancelAnimationFrame(e)},[Y,I]),(0,l.useEffect)(()=>{Wi.current=Hr},[Hr]),(0,l.useEffect)(()=>{Yt.current=qt},[qt]),(0,l.useEffect)(()=>{B.current=z},[z]),(0,l.useEffect)(()=>{er.current=Xn},[Xn]),(0,l.useEffect)(()=>{tr.current=Qn},[Qn]),(0,l.useEffect)(()=>{ar.current=rr},[rr]),(0,l.useEffect)(()=>{jr.current=R},[R]),(0,l.useEffect)(()=>{Vt.current=x},[x]),(0,l.useEffect)(()=>{let e=xr.current;if(!Y||!e||typeof ResizeObserver>`u`)return;let t=()=>{let t=e.getBoundingClientRect();Cr(e=>e.w===t.width&&e.h===t.height?e:{w:t.width,h:t.height})};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[Y,rr]),(0,l.useEffect)(()=>{Ht.current=ft},[ft]),(0,l.useEffect)(()=>{Jn.current=null,Tr(null),Yn.current=!1,j.current=null,It(null),Wt.current=null,$n(null),tr.current=null,nr.current=new Set,cn(!1)},[e]),(0,l.useEffect)(()=>{tn(!1)},[e]),(0,l.useEffect)(()=>{br(!1),fr.current=!1,dr(!1)},[e]),(0,l.useEffect)(()=>{if(!I)return;let e=I.getVideoElement();if(e&&e.readyState>=1){tn(!0);return}let t=()=>tn(!0);return I.on(`qualitylevels`,t),e?.addEventListener(`loadedmetadata`,t),()=>{I.off(`qualitylevels`,t),e?.removeEventListener(`loadedmetadata`,t)}},[I]),(0,l.useEffect)(()=>{if(!I)return;let e=I.getVideoElement();if(e&&e.readyState>=1){br(!0);return}let t=()=>br(!0);return e?.addEventListener(`loadedmetadata`,t),()=>e?.removeEventListener(`loadedmetadata`,t)},[I]),(0,l.useEffect)(()=>{yr&&or&&pr()},[yr,or,pr]),(0,l.useEffect)(()=>{let e=window.setTimeout(pr,Ue);return()=>window.clearTimeout(e)},[e,pr]),(0,l.useEffect)(()=>{if(Zn([]),!(!lt||!en))return Ze(lt,e=>{let t=new Set,n=[];for(let r of e.nonLinearAvails??[]){if(t.has(r.availId))continue;t.add(r.availId);let e=r.nonLinearAdsList?.[0],i=e?.nonLinearAdList?.[0];if(!i?.staticResource)continue;let a=(e?.trackingEvents??[]).filter(e=>e.eventType===`impression`).flatMap(e=>e.beaconUrls??[]),o={};try{o=JSON.parse(i.adParameters??`{}`)}catch{}let s=o.position??`bottom_center`;n.push({availId:r.availId,startTimeSeconds:Ie(r.startTime??``),durationSeconds:Ie(i.minSuggestedDuration??`00:00:15`),imageUrl:i.staticResource,imageWidth:parseInt(i.width??`320`,10),imageHeight:parseInt(i.height??`50`,10),title:i.adTitle??``,clickThrough:Le(i.clickThrough)?i.clickThrough:``,clickTrackingUrl:i.clickTracking??``,impressionBeacons:a,position:s,dismissible:o.dismissible===!0})}return n.length>0?n:null},Zn)},[lt,e,en]),(0,l.useEffect)(()=>{ir([]),Dr([]),Ar.current=0},[e]),(0,l.useEffect)(()=>{if(!ut){lr();return}let e=window.setTimeout(lr,He);return()=>window.clearTimeout(e)},[ut,e,lr]),(0,l.useEffect)(()=>{if(ut)return Ze(ut,e=>{let t=[],n=[];for(let r of e.avails??[]){let e=r.ads??[];if(e.length===0)continue;let i=r.startTimeInSeconds??e[0].startTimeInSeconds??0,a=e[e.length-1],o=(a?.startTimeInSeconds??i)+(a?.durationInSeconds??0);n.push({startTime:i,endTime:r.durationInSeconds==null?Math.max(o,i):i+r.durationInSeconds}),e.forEach((n,r)=>{let i=Re(n?.skipOffset),a=i!==null,o={};try{o=JSON.parse(n?.adParameters??`{}`)}catch{}let s=o.ctaText&&Le(o.redirectUrl)?{text:o.ctaText,url:o.redirectUrl,title:o.title||void 0,description:o.description||void 0}:null,c=n.startTimeInSeconds??0,l=n.durationInSeconds??0;t.push({startTimeSeconds:c,endTimeSeconds:c+l,durationSeconds:l,skippable:a,skipOffsetSeconds:i??0,cta:s,podIndex:r,podTotal:e.length})})}return t.length>0?{pods:t,breaks:n}:null},({pods:e,breaks:t})=>{ir(e),Dr(t)},!0,lr)},[ut,e,Or,lr]),(0,l.useEffect)(()=>{if(!ut||!Y)return;let e=setInterval(()=>{let e=jr.current;ar.current.some(t=>e>=t.startTimeSeconds&&e<t.endTimeSeconds)||Ar.current>=Ve||(Ar.current+=1,kr(e=>e+1))},Be);return()=>clearInterval(e)},[ut,Y]),(0,l.useEffect)(()=>{!I||Er.length===0||(I.setAdBreaks(Er),lr())},[I,Er,lr]),(0,l.useEffect)(()=>{I&&I.setRetiredAdBreaks([...Vn])},[I,Vn]),(0,l.useEffect)(()=>{if(!ut||rr.length>0){hr(!0);return}hr(!1);let e=window.setTimeout(()=>hr(!0),Ke);return()=>window.clearTimeout(e)},[ut,e,rr]),(0,l.useEffect)(()=>{gr.current=!1,vr(!1)},[e]),(0,l.useEffect)(()=>{!I||!t||!mr||gr.current||(gr.current=!0,I.play())},[I,t,mr]),(0,l.useEffect)(()=>{if(!I)return;let e=I.getVideoElement();if(!e)return;let t=e.currentTime,n=window.setInterval(()=>{if(!Sn.current){t=e.currentTime;return}if(Bt.current!==null||Rt.current!==null)return;let n=e.currentTime,r=n>t+Xe;t=n,r&&!e.paused&&!e.seeking&&wn(!1)},Ye);return()=>window.clearInterval(n)},[I,wn]),(0,l.useEffect)(()=>{!I||!_r||!mr||(vr(!1),gr.current=!0,I.play())},[I,_r,mr]),(0,l.useEffect)(()=>{if(!I)return;let e=()=>{document.hidden?ot&&Vi.current&&Bi.current&&(I.pause(),Yn.current=!0):Yn.current&&=(I.play(),!1)};return document.addEventListener(`visibilitychange`,e),()=>{document.removeEventListener(`visibilitychange`,e)}},[I,ot]);let Ji=()=>{Ki()},Yi=()=>{Qe&&!gt.current&&C.current&&(gt.current=!0,C.current.requestFullscreen().catch(()=>{}))},Xi=()=>{if(!I)return;let e=I.getVideoElement();if((Rt.current??S??e?.currentTime??0)<1&&(e?.currentTime??0)<1&&!mr&&ut){vr(!0),wn(!0);return}gr.current=!0,I.play()},Zi=()=>{if(I){if(J){I.casting.remotePlayPause(),Ki();return}if(_r){vr(!1),gr.current=!0,wn(!1),Ki();return}if(In)Z(0),Yi(),Xi(),Ln(!1);else if(dn){I.pause();try{let e=I.getVideoElement?.();e&&!e.paused&&e.pause()}catch{}if(C.current&&C.current.querySelectorAll(`video`).forEach(e=>{try{e.pause()}catch{}}),T.current&&!T.current.paused)try{T.current.pause()}catch{}}else Yi(),Xi();Ki()}},Qi=e=>{if(!w.current||!I||V===0)return 0;let t=w.current.getBoundingClientRect();return U(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*V)},$i=e=>{if(!I||Y||Ii)return;xt.current=!0,Ai(Qi(e));let t=e=>{if(!xt.current||!w.current)return;let t=w.current.getBoundingClientRect(),n=U(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*V);Ai(n),bi(e.clientX-t.left),wi(n),T.current&&(T.current.currentTime=n),Ki()},n=e=>{if(xt.current=!1,w.current){let t=w.current.getBoundingClientRect();Z(U(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*V))}Ai(null),bi(null),Ei(null),Oi(null),document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n)};document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n)},Z=(e,t)=>{if(!I)return;if(Wt.current=null,J){I.casting.remoteSeek(e);return}let n=Math.max(0,mn>0?Math.min(e,mn):e);if(t){let{eventType:e,...n}=t;I.attributeNextSeek(e,n)}let r=I.getCurrentTime();if(n>r&&B.current.length>0){let e=B.current.filter(e=>e.startTime<n&&e.endTime>r&&!zn.current.has(e.startTime)).sort((e,t)=>e.startTime-t.startTime);if(e.length>0){j.current=n,It(n);let t=e[e.length-1],i=Math.max(t.startTime,r);E.current=!0,D.current=i,O.current=r,pn(i),Ri.current=!0,Li(!0),Et(I.getVideoElement()),kt(),A.current&&(A.current.style.opacity=`1`),jt(I.getVideoElement()),I.seek(i),k.current&&window.clearTimeout(k.current),k.current=window.setTimeout(()=>{E.current=!1,Ri.current=!1,Li(!1),D.current=null,O.current=null,k.current=null,kt(),wt.current=!1,A.current&&(A.current.style.opacity=`0`),Mt(I.getVideoElement())},3e3);return}}j.current=null,It(null);let i=B.current.find(e=>zn.current.has(e.startTime)&&n>=e.startTime-.5&&n<e.endTime+2);if(i&&n<i.endTime&&Nt.current){Nt.current(i.endTime);return}let a=i?Math.max(n,i.endTime+.5):n;E.current=!0,D.current=a,O.current=r,pn(a),kt(),wt.current=!1,A.current&&(A.current.style.opacity=`0`),Mt(I.getVideoElement()),I.seek(a),k.current&&window.clearTimeout(k.current),k.current=window.setTimeout(()=>{E.current=!1,D.current=null,O.current=null,k.current=null,kt(),wt.current=!1,A.current&&(A.current.style.opacity=`0`)},3e3)};Lt.current=Z;let ea=()=>{if(!I)return;if(J){I.casting.remoteSetMute(!(ui?.isMuted??!1));return}let e=!vn;I.setMute(e),yn(e)},ta=e=>{I&&(I.setPlaybackRate(e),Qr(e),q(`none`),ii(`Playback speed: ${e===1?`Normal`:`${e}x`}`))},na=e=>{if(!I)return;I.setQuality(e);let t=Fr.find(t=>t.id===e);t&&(Rr(t),ii(`Quality: ${t.label}`)),q(`none`)},ra=e=>{if(I)if(I.subtitles.setActiveTrack(e),Vr(e),q(`none`),e===`off`)ii(`Captions off`);else{let t=Hr.find(t=>t.id===e);ii(`Captions: ${t?y(t):`on`}`)}},ia=e=>{if(I){if(M.current&&=(clearTimeout(M.current),null),oi(null),N.current&&(N.current.style.opacity=`1`),wn(!0),Bt.current===null){Rt.current=I.getCurrentTime();let e=Hr.find(e=>e.id===W),t=Wr.find(e=>e.id===Kr);zt.current={playbackRate:Zr,volume:gn,muted:vn,subtitleId:W,subtitleLang:e?.lang??null,audioLang:t&&Kr!==0?t.lang:null,audioLabel:t&&Kr!==0?t.label:null,qualityHeight:Lr.id===-1?null:Lr.height}}Bt.current={targetIdx:e},q(`none`),ii(`Source: ${x?.[e]?.label??``}`),ft?.(e)}},aa=(e,t)=>{Z(e,{eventType:`key_moments`,momentTitle:t?.title??``,momentTime:e}),q(`none`)},oa=(0,l.useCallback)(()=>{if(!Kt.current)return;let e=I?.getVideoElement?.();e&&C.current&&e.ownerDocument!==document&&(e.classList.remove(`gb-pip-video`),e.style.objectFit=``,C.current.insertBefore(e,C.current.firstChild)),Kt.current=null,Fn(null),Nn(!1)},[I]),sa=async()=>{if(!I)return;let e=window.documentPictureInPicture;if(!e){I.togglePictureInPicture();return}if(Kt.current){Kt.current.close();return}try{let t=I.getVideoElement(),n=t.videoWidth&&t.videoHeight?t.videoWidth/t.videoHeight:16/9,r=await e.requestWindow({width:360,height:Math.round(360/n)}),i=r.document.createElement(`style`);i.textContent=De,r.document.head.appendChild(i),t.classList.add(`gb-pip-video`),r.document.body.appendChild(t),r.addEventListener(`pagehide`,()=>oa(),{once:!0}),Kt.current=r,Fn(r),Nn(!0)}catch(e){console.error(`[PlayerSDK PiP] Failed to open custom Picture-in-Picture window:`,e)}},ca=e=>{if(Y||Ii)return;let t=e.currentTarget.getBoundingClientRect();Z(U(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*V))},la=()=>{if(!C.current)return;let e=C.current,t=document,n=e,r=!!(document.fullscreenElement||t.webkitFullscreenElement),i=()=>{On(!0),En(!0),document.body.style.overflow=`hidden`,document.body.style.touchAction=`none`,I?.analytics.track(`fullscreen_enter`,I.getVideoElement())},a=()=>{On(!1),En(!1),document.body.style.overflow=``,document.body.style.touchAction=``,I?.analytics.track(`fullscreen_exit`,I.getVideoElement())};if(r||Dn)An(!1),document.fullscreenElement?document.exitFullscreen():t.webkitFullscreenElement?t.webkitExitFullscreen?.():a();else{An(Yt.current);let t=e.requestFullscreen?.bind(e)??n.webkitRequestFullscreen?.bind(n);t?t().catch(i):i()}};(0,l.useEffect)(()=>{Ct.current=la});let ua=()=>{if(!Y)return;let e=z.find(e=>R>=e.startTime&&R<e.endTime),t=rr.find(e=>R>=e.startTimeSeconds&&R<e.endTimeSeconds);if(t){let n=t.podIndex>=t.podTotal-1;Nt.current?.(n?e?.endTime??t.endTimeSeconds:t.endTimeSeconds,!n);return}e&&Nt.current?.(e.endTime)},da=()=>{tr.current&&nr.current.add(tr.current.availId),$n(null),tr.current=null},fa=e=>{e.clickTrackingUrl&&fetch(e.clickTrackingUrl,{mode:`no-cors`}).catch(()=>{}),e.clickThrough&&window.open(e.clickThrough,`_blank`,`noopener,noreferrer`)},pa=e=>{window.open(e.url,`_blank`,`noopener,noreferrer`)},ma=()=>{I&&(J?I.casting.stopCasting():I.casting.requestSession(e,R))},ha=()=>{if(!I)return;let e=I.getVideoElement();if(hi){I.casting.stopAirPlay(e);return}typeof e.webkitShowPlaybackTargetPicker==`function`||I.casting.isAirPlayAvailable()?I.casting.requestAirPlaySession(e):console.warn(`[PlayerSDK AirPlay] AirPlay is not available on this device.`)},ga=e=>{if(!w.current||V===0||!I||Y||Ii)return;let t=w.current.getBoundingClientRect();_t.current=t.width,Si(Math.max(192/2,Math.min(e.clientX-t.left,t.width-192/2)));let n=U(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*V);bi(e.clientX-t.left),wi(n),bt.current&&window.clearTimeout(bt.current),bt.current=window.setTimeout(()=>{T.current&&(T.current.currentTime=n)},100),Oi(I.keyMoments.getCurrentMoment(n).keyMoment)},_a=e=>{if(!w.current||V===0)return 0;let t=w.current.getBoundingClientRect();return U(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*V)},va=e=>{if(!I||Y||Ii||V===0)return;e.preventDefault(),xt.current=!0,Ai(_a(e.touches[0]));let t=e=>{if(!xt.current||!w.current)return;let t=e.touches[0],n=w.current.getBoundingClientRect(),r=U(Math.max(0,Math.min(1,(t.clientX-n.left)/n.width))*V);Ai(r),wi(r),Ki()},n=e=>{if(xt.current=!1,w.current&&e.changedTouches[0]){let t=e.changedTouches[0],n=w.current.getBoundingClientRect();Z(U(Math.max(0,Math.min(1,(t.clientX-n.left)/n.width))*V))}Ai(null),document.removeEventListener(`touchmove`,t),document.removeEventListener(`touchend`,n)};document.addEventListener(`touchmove`,t,{passive:!1}),document.addEventListener(`touchend`,n)},ya=()=>{bi(null),Ei(null),Oi(null),bt.current&&window.clearTimeout(bt.current)},Q=e=>{if(isNaN(e)||e<0)return`00:00`;let t=Math.floor(e),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60,a=e=>String(e).padStart(2,`0`);return n>0?`${a(n)}:${a(r)}:${a(i)}`:`${a(r)}:${a(i)}`};(0,l.useEffect)(()=>{si.current&&ii(dn?`Playing`:`Paused`)},[dn]),(0,l.useEffect)(()=>{si.current&&ii(vn?`Muted`:`Unmuted`)},[vn]),(0,l.useEffect)(()=>{si.current=!0},[]),(0,l.useEffect)(()=>{let e=e=>{e.key===`Escape`&&Ui.current!==`none`&&(e.preventDefault(),q(`none`))};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[]);let ba=J?!(ui?.isPaused??!0):dn||_r,$=J?ui?.currentTime??0:R,xa=ki===null?Ft??R:ki,Sa=J?ui?.duration??0:V,Ca=J?ui?.volumeLevel??1:gn,wa=J?ui?.isMuted??!1:vn,Ta=(0,l.useCallback)(e=>{if(Y||Ii||e.target.closest(`.sdk-mobile-ctrl`))return;let t=Date.now(),n=C.current?.getBoundingClientRect(),r=e.clientX-(n?.left??0),i=Xt.current;if(i&&t-i.time<300){Xt.current=null;let e=r<(n?.width??0)/2,t=e?-10:10;Z(U(Math.max(0,Math.min(V,H($)+t))),{eventType:e?`fast_backward`:`fast_forward`,skipSeconds:10}),Qt(e?`left`:`right`),window.setTimeout(()=>Qt(null),700),Ki()}else Xt.current={time:t,x:r},Ni?(Pi(!1),zi.current&&window.clearTimeout(zi.current)):Ki()},[Y,Ii,V,H,$,U,Z,Ni]),Ea=()=>wa||Ca===0?(0,d.jsx)(Ce,{size:18}):Ca<.3?(0,d.jsx)(we,{size:18}):Ca<.7?(0,d.jsx)(xe,{size:18}):(0,d.jsx)(Se,{size:18}),Da=e=>t=>{t.key===`Enter`||t.key===` `?(t.preventDefault(),e()):t.key===`Escape`&&(t.preventDefault(),q(`none`))},Oa=e=>t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e())},ka=e=>{if(!(Y||Ii))if(e.key===`ArrowLeft`||e.key===`ArrowRight`){e.preventDefault();let t=e.key===`ArrowLeft`?-5:5;Z(U(Math.max(0,Math.min(V,H($)+t))))}else e.key===`Home`?(e.preventDefault(),Z(U(0))):e.key===`End`&&(e.preventDefault(),Z(U(V)))},Aa=e=>{q(K===e?`none`:e)},ja=(0,l.useCallback)(e=>{if(!e)return;e.style.left=``;let t=C.current;if(!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.right-(r.right-8),a=r.left+8-n.left;i>0?e.style.left=`calc(50% - ${Math.ceil(i)}px)`:a>0&&(e.style.left=`calc(50% + ${Math.ceil(a)}px)`)},[]);return(0,d.jsxs)(`div`,{ref:C,role:`region`,"aria-label":nt||ji?`${nt||ji} video player`:`Video player`,className:`sdk-player-container ${Ni?`controls-active`:``} ${Dn?`sdk-fs-simulated`:``}`,onMouseMove:Ji,onTouchStart:jn?void 0:Ki,onMouseLeave:()=>{},style:{border:Dn?`none`:`1px solid rgba(255, 255, 255, 0.08)`,"--sdk-theme-color":s,"--sdk-theme-color-rgb":Me(s)},children:[(0,d.jsx)(`canvas`,{ref:vt,width:160,height:90,style:{display:`none`,position:`absolute`,pointerEvents:`none`},"aria-hidden":`true`}),(0,d.jsx)(`div`,{role:`status`,"aria-live":`polite`,"aria-atomic":`true`,className:`sdk-sr-only`,children:ri}),(0,d.jsx)(`div`,{ref:A,style:{opacity:0,position:`absolute`,inset:0,background:`#000`,zIndex:100,pointerEvents:`none`,willChange:`opacity`},"aria-hidden":`true`,children:(0,d.jsx)(`canvas`,{ref:Tt,className:`sdk-ad-cover-frame`,style:{width:`100%`,height:`100%`,objectFit:`contain`,display:`block`},"aria-hidden":`true`})}),Pn&&(0,d.jsxs)(`div`,{className:`sdk-pip-placeholder`,"aria-hidden":`true`,children:[(0,d.jsx)(_e,{size:32,"aria-hidden":`true`}),(0,d.jsx)(`span`,{children:`Playing in Picture-in-Picture`})]}),(0,d.jsx)(`div`,{ref:N,style:{opacity:S&&S>0?1:0,position:`absolute`,inset:0,background:`#000`,zIndex:100,pointerEvents:`none`,willChange:`opacity`},"aria-hidden":`true`}),(0,d.jsx)(`div`,{className:`sdk-spinner-overlay ${bn?`active`:``}`,"aria-hidden":`true`,children:(0,d.jsx)(`div`,{className:`sdk-spinner`})}),sn&&(0,d.jsx)(`div`,{style:{position:`absolute`,inset:0,zIndex:50,background:`rgba(9,9,14,0.96)`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:20,padding:`0 24px`},children:(0,d.jsx)(f,{onRetry:()=>{cn(!1),un(e=>e+1)}})}),ai&&(0,d.jsx)(`div`,{style:{position:`absolute`,top:`50%`,left:`50%`,transform:`translate(-50%, calc(-50% + 70px))`,background:`rgba(0,0,0,0.82)`,color:`#fff`,fontSize:13,fontWeight:500,padding:`8px 16px`,borderRadius:8,zIndex:102,pointerEvents:`none`,maxWidth:`85%`,textAlign:`center`,backdropFilter:`blur(8px)`,border:`1px solid rgba(255,255,255,0.12)`},children:ai}),L.enableSubtitles&&!Y&&zr&&W!==`off`&&(0,d.jsx)(`div`,{className:`sdk-subtitles-overlay`,children:(0,d.jsx)(`span`,{className:`sdk-subtitles-text`,style:{fontSize:b.size===`small`?`14px`:b.size===`large`?`24px`:`18px`,color:b.color??`#ffffff`,background:b.background===`none`?`transparent`:b.background===`solid`?`rgba(0, 0, 0, 0.92)`:`rgba(15, 23, 42, 0.78)`,border:b.background===`none`?`none`:`1px solid rgba(255,255,255,0.08)`,backdropFilter:b.background===`none`?`none`:`blur(8px)`},dangerouslySetInnerHTML:{__html:zr}})}),Qn&&(0,d.jsxs)(`div`,{className:`sdk-overlay-ad sdk-overlay-ad--${Qn.position}`,role:`complementary`,"aria-label":`Advertisement`,children:[(0,d.jsxs)(`div`,{className:`sdk-overlay-ad-topbar`,children:[(0,d.jsx)(`span`,{className:`sdk-overlay-ad-label`,children:`Ad`}),Qn.dismissible&&(0,d.jsx)(`button`,{className:`sdk-overlay-ad-close`,onClick:da,"aria-label":`Close advertisement`,children:`✕`})]}),(0,d.jsx)(`img`,{src:Qn.imageUrl,width:Qn.imageWidth,height:Qn.imageHeight,alt:Qn.title||`Advertisement`,className:`sdk-overlay-ad-img`,onClick:()=>fa(Qn)})]}),Y&&(()=>{let e=wr&&R<wr.startTime?wr.startTime:R,t=rr.find(t=>e>=t.startTimeSeconds&&e<t.endTimeSeconds),n=z.find(t=>e>=t.startTime&&e<t.endTime)??wr,r=t?Math.max(0,t.endTimeSeconds-e):n?Math.max(0,n.endTime-e):0,i=t?e-t.startTimeSeconds:n?e-n.startTime:0,a=!!t&&t.podTotal>1,o=t?t.skippable:st,s=t?t.skipOffsetSeconds:ct,c=o&&i>=s,l=Math.ceil(s-i),u=i+r,ee=u>0?Math.min(1,Math.max(0,i/u)):0,f=2.5,{w:te,h:ne}=Sr,re=Math.max(0,te-f),ie=Math.max(0,ne-f),p=Math.min(22-f/2,ie/2),m=Math.max(0,re-2*p),h=Math.max(0,ie-2*p),ae=`M${1.25+p+m/2},1.25h${m/2}a${p},${p} 0 0 1 ${p},${p}v${h}a${p},${p} 0 0 1 ${-p},${p}h${-m}a${p},${p} 0 0 1 ${-p},${-p}v${-h}a${p},${p} 0 0 1 ${p},${-p}h${m/2}`,oe=2*m+2*h+2*Math.PI*p;return(0,d.jsxs)(d.Fragment,{children:[(ut?!!t:!0)&&(0,d.jsxs)(`div`,{ref:xr,className:`sdk-ad-countdown`,role:`timer`,"aria-label":a?`Advertisement ${t.podIndex+1} of ${t.podTotal} — ${Q(r)} remaining`:`Advertisement — ${Q(r)} remaining`,"aria-live":`off`,children:[te>0&&ne>0&&(0,d.jsxs)(`svg`,{className:`sdk-ad-countdown-border`,width:te,height:ne,viewBox:`0 0 ${te} ${ne}`,"aria-hidden":`true`,children:[(0,d.jsx)(`path`,{className:`sdk-ad-countdown-border-track`,d:ae,strokeWidth:f}),(0,d.jsx)(`path`,{className:`sdk-ad-countdown-border-fill`,d:ae,strokeWidth:f,strokeDasharray:oe,strokeDashoffset:oe*(1-ee)})]}),(0,d.jsx)(`span`,{className:`sdk-ad-countdown-badge`,"aria-hidden":`true`,children:`Ad`}),a&&(0,d.jsxs)(`span`,{className:`sdk-ad-countdown-count`,"aria-hidden":`true`,children:[t.podIndex+1,` of `,t.podTotal]}),(0,d.jsx)(`span`,{className:`sdk-ad-countdown-sep`,"aria-hidden":`true`}),(0,d.jsx)(`span`,{className:`sdk-ad-countdown-time`,"aria-hidden":`true`,children:Q(r)})]}),o&&(0,d.jsx)(`button`,{className:`sdk-skip-ad-btn ${c?`sdk-skip-ad-btn--ready`:``}`,onClick:c?ua:void 0,disabled:!c,"aria-label":c?`Skip advertisement`:`Skip advertisement available in ${l} seconds`,"aria-disabled":!c,children:c?`Skip Ad ›`:`Skip in ${l}s`}),t?.cta&&(()=>{let e=t.cta,n=(0,d.jsxs)(`button`,{className:`sdk-ad-cta-btn`,onClick:()=>pa(e),"aria-label":`${e.text} — opens advertiser site in a new tab`,children:[(0,d.jsx)(`span`,{className:`sdk-ad-cta-btn-text`,children:e.text}),(0,d.jsx)(de,{size:15,"aria-hidden":`true`})]});return(0,d.jsx)(`div`,{className:`sdk-ad-cta`,role:`complementary`,"aria-label":`Advertisement call to action`,children:e.title?(0,d.jsxs)(`div`,{className:`sdk-ad-cta-card`,children:[(0,d.jsxs)(`div`,{className:`sdk-ad-cta-info`,children:[(0,d.jsx)(`div`,{className:`sdk-ad-cta-title`,children:e.title}),e.description&&(0,d.jsx)(`div`,{className:`sdk-ad-cta-desc`,children:e.description})]}),n]}):n})})()]})})(),on&&(0,d.jsx)(`div`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`rgba(0,0,0,0.72)`,color:`#fff`,zIndex:60},children:(0,d.jsxs)(`div`,{style:{maxWidth:480,textAlign:`center`,padding:24},children:[(0,d.jsx)(`h3`,{style:{margin:`0 0 8px`},children:`Playback restricted`}),(0,d.jsx)(`p`,{style:{margin:0},children:`Your account is missing a required license key. Please contact your administrator.`})]})}),(J||hi)&&(0,d.jsx)(`div`,{className:`sdk-cast-bg`}),jn&&(0,d.jsxs)(`div`,{className:`sdk-mobile-overlay ${Ni?`active`:``}`,onClick:Ta,children:[Zt&&(0,d.jsx)(`div`,{className:`sdk-mobile-doubletap ${Zt}`,children:(0,d.jsxs)(`div`,{className:`sdk-mobile-doubletap-icon`,children:[Zt===`left`?(0,d.jsx)(ye,{size:26}):(0,d.jsx)(be,{size:26}),(0,d.jsx)(`span`,{className:`sdk-mobile-doubletap-label`,children:`10s`})]})}),m&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`div`,{className:`sdk-mobile-header sdk-mobile-ctrl`,children:[(0,d.jsxs)(`div`,{className:`sdk-mobile-header-left`,children:[(Tn||Dn)&&(0,d.jsx)(`button`,{className:`sdk-mobile-back-btn`,onClick:la,"aria-label":`Exit fullscreen`,children:(0,d.jsx)(ue,{size:22,"aria-hidden":`true`})}),(nt||ji)&&(0,d.jsx)(`div`,{className:`sdk-mobile-title`,children:nt||ji})]}),(0,d.jsxs)(`div`,{className:`sdk-mobile-header-actions`,children:[L.enablePiP&&(0,d.jsx)(`button`,{className:`sdk-mobile-hdr-btn`,onClick:()=>{Y||sa()},style:{color:Mn?s:``},"aria-label":Mn?`Exit picture-in-picture`:`Enter picture-in-picture`,"aria-pressed":Mn,children:(0,d.jsx)(_e,{size:20,"aria-hidden":`true`})}),L.enableChromecast&&!Y&&(0,d.jsx)(`button`,{className:`sdk-mobile-hdr-btn`,onClick:ma,"data-tooltip":J?`Casting to ${J} — tap to disconnect`:`Cast to device`,"aria-label":J?`Stop casting to ${J}`:`Cast to device`,"aria-pressed":!!J,style:{color:J?`#3b82f6`:``},children:(0,d.jsx)(le,{size:20,fill:J?`currentColor`:`none`,"aria-hidden":`true`})}),L.allowAirplay&&pi&&(0,d.jsx)(`button`,{className:`sdk-mobile-hdr-btn`,onClick:ha,"aria-label":hi?`Stop AirPlay to ${_i||`device`}`:`AirPlay to device`,"aria-pressed":hi,style:{color:hi?s:``},children:(0,d.jsx)(se,{size:20,"aria-hidden":`true`})})]})]}),(0,d.jsxs)(`div`,{className:`sdk-mobile-center-controls sdk-mobile-ctrl`,children:[!Y&&(0,d.jsxs)(`button`,{className:`sdk-mobile-seek-btn`,onClick:()=>Z(U(Math.max(0,H($)-10)),{eventType:`fast_backward`,skipSeconds:10}),"aria-label":`Rewind 10 seconds`,children:[(0,d.jsx)(ye,{size:22,"aria-hidden":`true`}),(0,d.jsx)(`span`,{className:`sdk-mobile-seek-label`,"aria-hidden":`true`,children:`10`})]}),(0,d.jsx)(`button`,{className:`sdk-mobile-play-btn`,onClick:Zi,"aria-label":In?`Replay`:ba?`Pause`:`Play`,children:In?(0,d.jsx)(ye,{size:38,"aria-hidden":`true`}):ba?(0,d.jsx)(v,{size:38,fill:`currentColor`,"aria-hidden":`true`}):(0,d.jsx)(ve,{size:38,fill:`currentColor`,style:{marginLeft:`3px`},"aria-hidden":`true`})}),!Y&&(0,d.jsxs)(`button`,{className:`sdk-mobile-seek-btn`,onClick:()=>Z(U(Math.min(V,H($)+10)),{eventType:`fast_forward`,skipSeconds:10}),"aria-label":`Skip forward 10 seconds`,children:[(0,d.jsx)(be,{size:22,"aria-hidden":`true`}),(0,d.jsx)(`span`,{className:`sdk-mobile-seek-label`,"aria-hidden":`true`,children:`10`})]})]}),(0,d.jsxs)(`div`,{className:`sdk-mobile-bottom-bar sdk-mobile-ctrl`,children:[L.enableKeyMoments&&$r&&G.length>0&&(0,d.jsx)(`div`,{className:`sdk-mobile-chapters-scroll`,children:G.map((e,t)=>{let n=Jr.index===t;return(0,d.jsxs)(`div`,{role:`button`,tabIndex:0,className:`sdk-mobile-chapter-card${n?` active`:``}`,style:{borderColor:n?s:void 0},"aria-label":`${e.title}, ${Q(e.startTime)}${n?`, current chapter`:``}`,"aria-current":n?`true`:void 0,onClick:()=>{aa(e.startTime,e)},onKeyDown:Oa(()=>aa(e.startTime,e)),children:[(0,d.jsxs)(`div`,{className:`sdk-mobile-chapter-thumb`,children:[ti[t]||e.thumbnail?(0,d.jsx)(`img`,{src:ti[t]||e.thumbnail,alt:``,"aria-hidden":`true`,style:{width:`100%`,height:`100%`,objectFit:`cover`,display:`block`}}):(0,d.jsx)(me,{size:16,"aria-hidden":`true`,style:{color:n?s:`rgba(255,255,255,0.3)`}}),(0,d.jsx)(`span`,{className:`sdk-mobile-chapter-time-badge`,"aria-hidden":`true`,children:Q(e.startTime)})]}),(0,d.jsx)(`div`,{className:`sdk-mobile-chapter-title`,style:{color:n?s:void 0},children:e.title})]},t)})}),(0,d.jsx)(`div`,{ref:w,role:X?void 0:`slider`,"aria-label":X?void 0:`Seek`,"aria-valuemin":X?void 0:0,"aria-valuemax":X?void 0:Math.round(V),"aria-valuenow":X?void 0:Math.round(H(xa)),"aria-valuetext":X?void 0:`${Q(H(xa))} of ${Q(V)}`,tabIndex:X?void 0:0,className:`sdk-seekbar-container sdk-mobile-seekbar${Y?` sdk-ad-mode`:``}`,onMouseDown:X?void 0:$i,onMouseMove:X?void 0:ga,onMouseLeave:X?void 0:ya,onTouchStart:X?void 0:va,onKeyDown:X?void 0:ka,style:{pointerEvents:X?`none`:void 0,touchAction:`none`},children:Y?(0,d.jsx)(`div`,{className:`sdk-ad-progress-fill`,style:{width:(()=>{let e=I?I.getCurrentTime():R,t=Mr(e);return t?`${Math.min(100,Math.max(0,(e-t.start)/(t.end-t.start)*100))}%`:`0%`})()}}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(`div`,{className:`sdk-seekbar-buffered`,style:{width:`${mn?(I&&I.getBufferedRanges()[0]?.end||0)/mn*100:0}%`}}),V>0&&z.filter(e=>!Vn.has(e.startTime)).map((e,t)=>(0,d.jsx)(`div`,{className:`sdk-seekbar-adbreak`,style:{left:`${H(e.startTime)/V*100}%`,width:`3px`}},t)),(0,d.jsx)(`div`,{className:`sdk-seekbar-progress`,style:{width:J?`${Sa>0?$/Sa*100:0}%`:`${V?H(xa)/V*100:0}%`,background:`#ffffff`,boxShadow:`none`},children:(0,d.jsx)(`div`,{className:`sdk-seekbar-handle`,style:{opacity:1,transform:`scale(1)`}})}),L.enableKeyMoments&&G.map((e,t)=>V===0?null:(0,d.jsx)(`div`,{className:`sdk-seekbar-chapter-marker sdk-desktop-chapter-dot`,style:{left:`${H(e.startTime)/V*100}%`}},t))]})}),(0,d.jsxs)(`div`,{className:`sdk-mobile-controls-row`,children:[!Y&&(0,d.jsx)(`span`,{className:`sdk-time-display`,children:J?`${Q($)} / ${Q(Sa)}`:`${Q(H(xa))} / ${Q(V)}`}),(0,d.jsxs)(`div`,{className:`sdk-mobile-bottom-icons`,children:[L.enableKeyMoments&&G.length>0&&!Y&&(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${$r?` active`:``}`,onClick:()=>{ei(!$r)},"aria-label":$r?`Hide chapters`:`Show chapters`,"aria-pressed":$r,children:(0,d.jsx)(me,{size:18,"aria-hidden":`true`})}),L.enableSubtitles&&!Y&&Hr.some(e=>!e.isNative)&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${W===`off`?``:` active`}`,onClick:()=>{Aa(`subtitles`)},"aria-label":`Captions`,"aria-haspopup":`listbox`,"aria-expanded":K===`subtitles`,children:(0,d.jsx)(ce,{size:18,"aria-hidden":`true`})}),K===`subtitles`&&(0,d.jsxs)(`div`,{ref:ja,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Captions`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Subtitles`}),(0,d.jsxs)(`div`,{role:`option`,"aria-selected":W===`off`,tabIndex:0,className:`sdk-dropup-item ${W===`off`?`active`:``}`,onClick:()=>ra(`off`),onKeyDown:Da(()=>ra(`off`)),children:[(0,d.jsx)(`span`,{children:`Off`}),W===`off`&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]}),Hr.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":W===e.id,tabIndex:0,className:`sdk-dropup-item ${W===e.id?`active`:``}`,onClick:()=>ra(e.id),onKeyDown:Da(()=>ra(e.id)),children:[(0,d.jsx)(`span`,{children:y(e)}),W===e.id&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]},e.id))]})]}),L.allowMultipleAudio&&Wr.length>1&&!Y&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${K===`audio`?` active`:``}`,onClick:()=>{Aa(`audio`)},"aria-label":`Audio track`,"aria-haspopup":`listbox`,"aria-expanded":K===`audio`,children:(0,d.jsx)(pe,{size:18,"aria-hidden":`true`})}),K===`audio`&&(0,d.jsxs)(`div`,{ref:ja,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Audio track`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Audio Track`}),Wr.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Kr===e.id,tabIndex:0,className:`sdk-dropup-item ${Kr===e.id?`active`:``}`,onClick:()=>{I?.setAudioTrack(e.id),qr(e.id),q(`none`),ii(`Audio: ${y(e)}`)},onKeyDown:Da(()=>{I?.setAudioTrack(e.id),qr(e.id),q(`none`),ii(`Audio: ${y(e)}`)}),children:[(0,d.jsx)(`span`,{children:y(e)}),Kr===e.id&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]},e.id))]})]}),L.enablePlaybackSpeed&&!Y&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${K===`speed`?` active`:``}`,onClick:()=>{Aa(`speed`)},"aria-label":`Playback speed`,"aria-haspopup":`listbox`,"aria-expanded":K===`speed`,children:(0,d.jsx)(fe,{size:18,"aria-hidden":`true`})}),K===`speed`&&(0,d.jsxs)(`div`,{ref:ja,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Playback speed`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Speed`}),[.5,.75,1,1.25,1.5,2].map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Zr===e,tabIndex:0,className:`sdk-dropup-item ${Zr===e?`active`:``}`,onClick:()=>ta(e),onKeyDown:Da(()=>ta(e)),children:[(0,d.jsx)(`span`,{children:e===1?`Normal`:`${e}x`}),Zr===e&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]},e))]})]}),L.enableQuality&&!Y&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${Lr.id===-1?``:` active`}`,onClick:()=>{Aa(`quality`)},"aria-label":`Video quality`,"aria-haspopup":`listbox`,"aria-expanded":K===`quality`,children:(0,d.jsx)(Ae,{size:18,"aria-hidden":`true`})}),K===`quality`&&(0,d.jsxs)(`div`,{ref:ja,className:`sdk-dropup-menu large`,role:`listbox`,"aria-label":`Video quality`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Quality`}),Fr.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Lr.id===e.id,tabIndex:0,className:`sdk-dropup-item ${Lr.id===e.id?`active`:``}`,onClick:()=>na(e.id),onKeyDown:Da(()=>na(e.id)),children:[(0,d.jsx)(`span`,{children:e.label}),Lr.id===e.id&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]},e.id))]})]}),x&&x.length>1&&!Y&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${K===`sources`?` active`:``}`,onClick:()=>{Aa(`sources`)},"aria-label":`Select source`,"aria-haspopup":`listbox`,"aria-expanded":K===`sources`,children:(0,d.jsx)(je,{size:18,"aria-hidden":`true`})}),K===`sources`&&(0,d.jsxs)(`div`,{ref:ja,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Select source`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Source`}),x.map((e,t)=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":dt===t,tabIndex:0,className:`sdk-dropup-item ${dt===t?`active`:``}`,onClick:()=>ia(t),onKeyDown:Da(()=>ia(t)),children:[(0,d.jsx)(`span`,{children:e.label}),dt===t&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]},t))]})]}),(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn`,onClick:la,"aria-label":Tn||Dn?`Exit fullscreen`:`Enter fullscreen`,"aria-pressed":Tn||Dn,children:Tn?(0,d.jsx)(ge,{size:18,"aria-hidden":`true`}):(0,d.jsx)(he,{size:18,"aria-hidden":`true`})})]})]})]})]})]}),!jn&&(0,d.jsxs)(`div`,{className:`sdk-controls-overlay`,onClick:e=>{Y||e.target.closest(`.sdk-desktop-header`)||e.target.closest(`.sdk-desktop-center-controls`)||e.target.closest(`.sdk-desktop-bottom`)||Zi()},children:[(0,d.jsxs)(`div`,{className:`sdk-desktop-header`,children:[(0,d.jsxs)(`div`,{className:`sdk-desktop-header-left`,children:[(Tn||Dn)&&(0,d.jsx)(`button`,{className:`sdk-desktop-back-btn`,onClick:e=>{e.stopPropagation(),la()},"aria-label":`Exit fullscreen`,children:(0,d.jsx)(ue,{size:22,"aria-hidden":`true`})}),(nt||ji)&&(0,d.jsx)(`span`,{className:`sdk-desktop-title`,children:nt||ji})]}),(0,d.jsxs)(`div`,{className:`sdk-desktop-header-right`,children:[L.enableChromecast&&!Y&&(0,d.jsx)(`button`,{className:`sdk-desktop-hdr-btn`,onClick:e=>{e.stopPropagation(),ma()},"data-tooltip":J?`Casting to ${J} — click to disconnect`:`Cast to device`,"aria-label":J?`Stop casting to ${J}`:`Cast to device`,"aria-pressed":!!J,style:{color:J?`#3b82f6`:``},children:(0,d.jsx)(le,{size:20,fill:J?`currentColor`:`none`,"aria-hidden":`true`})}),J&&(0,d.jsxs)(`span`,{className:`sdk-cast-indicator`,"aria-hidden":`true`,children:[(0,d.jsx)(le,{size:10,fill:`currentColor`,"aria-hidden":`true`}),J]}),L.allowAirplay&&pi&&(0,d.jsx)(`button`,{className:`sdk-desktop-hdr-btn`,onClick:e=>{e.stopPropagation(),ha()},"data-tooltip":hi?`AirPlay to ${_i||`device`} — click to disconnect`:`AirPlay to device`,"aria-label":hi?`Stop AirPlay to ${_i||`device`}`:`AirPlay to device`,"aria-pressed":hi,style:{color:hi?s:``},children:(0,d.jsx)(se,{size:20,"aria-hidden":`true`})})]})]}),m&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`div`,{className:`sdk-desktop-center-controls`,style:{pointerEvents:`none`},children:[!Y&&(0,d.jsx)(`button`,{className:`sdk-desktop-seek-btn`,style:{pointerEvents:`auto`},onClick:e=>{e.stopPropagation(),Z(U(Math.max(0,H($)-10)),{eventType:`fast_backward`,skipSeconds:10})},"aria-label":`Rewind 10 seconds`,children:(0,d.jsxs)(`div`,{style:{position:`relative`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,d.jsx)(ye,{size:30,"aria-hidden":`true`}),(0,d.jsx)(`span`,{className:`sdk-desktop-seek-label`,"aria-hidden":`true`,children:`10`})]})}),(0,d.jsx)(`button`,{className:`sdk-desktop-play-btn`,style:{pointerEvents:`auto`},onClick:e=>{e.stopPropagation(),Zi()},"aria-label":In?`Replay`:ba?`Pause`:`Play`,children:In?(0,d.jsx)(ye,{size:38,"aria-hidden":`true`}):ba?(0,d.jsx)(v,{size:38,fill:`currentColor`,"aria-hidden":`true`}):(0,d.jsx)(ve,{size:38,fill:`currentColor`,style:{marginLeft:`4px`},"aria-hidden":`true`})}),!Y&&(0,d.jsx)(`button`,{className:`sdk-desktop-seek-btn`,style:{pointerEvents:`auto`},onClick:e=>{e.stopPropagation(),Z(U(Math.min(V,H($)+10)),{eventType:`fast_forward`,skipSeconds:10})},"aria-label":`Skip forward 10 seconds`,children:(0,d.jsxs)(`div`,{style:{position:`relative`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,d.jsx)(be,{size:30,"aria-hidden":`true`}),(0,d.jsx)(`span`,{className:`sdk-desktop-seek-label`,"aria-hidden":`true`,children:`10`})]})})]}),L.enableKeyMoments&&$r&&G.length>0&&rt===`panel`&&(0,d.jsxs)(`div`,{className:`sdk-chapters-panel`,onClick:e=>e.stopPropagation(),children:[(0,d.jsx)(`div`,{className:`sdk-chapters-panel-header`,children:(0,d.jsx)(`span`,{className:`sdk-chapters-panel-title`,children:`Chapters`})}),(0,d.jsx)(`div`,{className:`sdk-chapters-panel-list`,children:G.map((e,t)=>{let n=Jr.index===t;return(0,d.jsxs)(`div`,{role:`button`,tabIndex:0,className:`sdk-chapters-panel-item${n?` active`:``}`,"aria-label":`${e.title}, ${Q(e.startTime)}${n?`, current chapter`:``}`,"aria-current":n?`true`:void 0,onClick:()=>aa(e.startTime,e),onKeyDown:Oa(()=>aa(e.startTime,e)),children:[(0,d.jsx)(`div`,{className:`sdk-chapters-panel-thumb`,children:ti[t]||e.thumbnail?(0,d.jsx)(`img`,{src:ti[t]||e.thumbnail,alt:``,"aria-hidden":`true`,style:{width:`100%`,height:`100%`,objectFit:`cover`,display:`block`}}):(0,d.jsx)(me,{size:18,"aria-hidden":`true`,style:{color:`rgba(255,255,255,0.3)`}})}),(0,d.jsxs)(`div`,{className:`sdk-chapters-panel-info`,children:[(0,d.jsx)(`div`,{className:`sdk-chapters-panel-item-title`,children:e.title}),e.description&&(0,d.jsx)(`div`,{className:`sdk-chapters-panel-item-desc`,children:e.description}),(0,d.jsx)(`div`,{className:`sdk-chapters-panel-item-time`,"aria-hidden":`true`,children:Q(e.startTime)})]})]},t)})})]}),(0,d.jsxs)(`div`,{className:`sdk-desktop-bottom`,children:[L.enableKeyMoments&&$r&&G.length>0&&rt===`strip`&&(0,d.jsx)(`div`,{className:`sdk-desktop-chapters-strip`,children:G.map((e,t)=>{let n=Jr.index===t;return(0,d.jsxs)(`div`,{role:`button`,tabIndex:0,className:`sdk-desktop-chapter-card${n?` active`:``}`,"aria-label":`${e.title}, ${Q(e.startTime)}${n?`, current chapter`:``}`,"aria-current":n?`true`:void 0,onClick:t=>{t.stopPropagation(),aa(e.startTime,e)},onKeyDown:Oa(()=>aa(e.startTime,e)),children:[(0,d.jsx)(`div`,{className:`sdk-desktop-chapter-thumb`,children:ti[t]||e.thumbnail?(0,d.jsx)(`img`,{src:ti[t]||e.thumbnail,alt:``,"aria-hidden":`true`,style:{width:`100%`,height:`100%`,objectFit:`cover`,display:`block`}}):(0,d.jsx)(me,{size:18,"aria-hidden":`true`,style:{color:`rgba(255,255,255,0.35)`}})}),(0,d.jsx)(`div`,{className:`sdk-desktop-chapter-title`,children:e.title}),(0,d.jsx)(`div`,{className:`sdk-desktop-chapter-time`,"aria-hidden":`true`,children:Q(e.startTime)})]},t)})}),(0,d.jsx)(`div`,{ref:w,role:X?void 0:`slider`,"aria-label":X?void 0:`Seek`,"aria-valuemin":X?void 0:0,"aria-valuemax":X?void 0:Math.round(V),"aria-valuenow":X?void 0:Math.round(H(xa)),"aria-valuetext":X?void 0:`${Q(H(xa))} of ${Q(V)}`,tabIndex:X?void 0:0,className:`sdk-seekbar-container sdk-desktop-seekbar${Y?` sdk-ad-mode`:``}`,onMouseDown:X?void 0:$i,onMouseMove:X?void 0:ga,onMouseLeave:X?void 0:ya,onTouchStart:X?void 0:va,onKeyDown:X?void 0:ka,style:{pointerEvents:X?`none`:void 0},children:Y?(0,d.jsx)(`div`,{className:`sdk-ad-progress-fill`,style:{width:(()=>{let e=I?I.getCurrentTime():R,t=Mr(e);return t?`${Math.min(100,Math.max(0,(e-t.start)/(t.end-t.start)*100))}%`:`0%`})()}}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(`div`,{className:`sdk-seekbar-buffered`,style:{width:`${mn?(I&&I.getBufferedRanges()[0]?.end||0)/mn*100:0}%`}}),V>0&&z.filter(e=>!Vn.has(e.startTime)).map((e,t)=>(0,d.jsx)(`div`,{className:`sdk-seekbar-adbreak`,style:{left:`${H(e.startTime)/V*100}%`,width:`3px`}},t)),(0,d.jsx)(`div`,{className:`sdk-seekbar-progress`,style:{width:J?`${Sa>0?$/Sa*100:0}%`:`${V?H(xa)/V*100:0}%`,background:`#ffffff`,boxShadow:`none`},children:(0,d.jsx)(`div`,{className:`sdk-seekbar-handle`})}),L.enableKeyMoments&&G.map((e,t)=>V===0?null:(0,d.jsx)(`div`,{className:`sdk-seekbar-chapter-marker sdk-desktop-chapter-dot`,style:{left:`${H(e.startTime)/V*100}%`}},t)),yi!==null&&Ti&&(0,d.jsxs)(`div`,{className:`sdk-thumbnail-tooltip`,style:{left:`${xi}px`},children:[(0,d.jsx)(`div`,{className:`sdk-thumbnail-preview`,children:(0,d.jsx)(`img`,{src:Ti,alt:`preview`,style:{width:`100%`,height:`100%`,objectFit:`cover`,borderRadius:`8px`,display:`block`}})}),Di&&(0,d.jsx)(`div`,{className:`sdk-thumbnail-chapter-name`,children:Di.title}),(0,d.jsx)(`div`,{className:`sdk-thumbnail-time-label`,children:Q(H(Ci))})]})]})}),(0,d.jsxs)(`div`,{className:`sdk-desktop-controls-row`,children:[(0,d.jsxs)(`div`,{className:`sdk-desktop-left-controls`,children:[!Y&&(0,d.jsx)(`div`,{className:`sdk-time-display`,children:J?`${Q($)} / ${Q(Sa)}`:`${Q(H(xa))} / ${Q(V)}`}),it===`slider`&&(0,d.jsxs)(`div`,{className:`sdk-volume-control`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn`,onClick:e=>{e.stopPropagation(),ea()},"data-tooltip":wa?`Unmute`:`Mute`,"aria-label":wa?`Unmute`:`Mute`,"aria-pressed":wa,children:Ea()}),(0,d.jsx)(`input`,{type:`range`,className:`sdk-volume-slider`,min:0,max:1,step:.02,value:wa?0:Ca,"aria-label":`Volume`,"aria-valuetext":wa?`Muted`:`${Math.round(Ca*100)}%`,style:{"--vol-pct":Math.round((wa?0:Ca)*100)},onChange:e=>{let t=parseFloat(e.target.value);J?(I?.casting.remoteSetVolume(t),t>0&&I?.casting.remoteSetMute(!1)):(I?.setVolume(t),t>0&&vn&&I?.setMute(!1))},onClick:e=>e.stopPropagation()})]})]}),(0,d.jsxs)(`div`,{className:`sdk-desktop-right-icons`,children:[L.enableKeyMoments&&G.length>0&&!Y&&(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${$r?` active`:``}`,onClick:e=>{e.stopPropagation(),ei(!$r)},"data-tooltip":`Key Moments`,"aria-label":$r?`Hide chapters`:`Show chapters`,"aria-pressed":$r,children:(0,d.jsx)(me,{size:20,"aria-hidden":`true`})}),L.enableSubtitles&&!Y&&Hr.some(e=>!e.isNative)&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${W===`off`?``:` active`}`,onClick:e=>{e.stopPropagation(),Aa(`subtitles`)},"data-tooltip":`Captions`,"aria-label":`Captions`,"aria-haspopup":`listbox`,"aria-expanded":K===`subtitles`,children:(0,d.jsx)(ce,{size:20,"aria-hidden":`true`})}),K===`subtitles`&&(0,d.jsxs)(`div`,{ref:ja,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Captions`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Subtitles`}),(0,d.jsxs)(`div`,{role:`option`,"aria-selected":W===`off`,tabIndex:0,className:`sdk-dropup-item ${W===`off`?`active`:``}`,onClick:()=>ra(`off`),onKeyDown:Da(()=>ra(`off`)),children:[(0,d.jsx)(`span`,{children:`Off`}),W===`off`&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]}),Hr.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":W===e.id,tabIndex:0,className:`sdk-dropup-item ${W===e.id?`active`:``}`,onClick:()=>ra(e.id),onKeyDown:Da(()=>ra(e.id)),children:[(0,d.jsx)(`span`,{children:y(e)}),W===e.id&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]},e.id))]})]}),L.allowMultipleAudio&&Wr.length>1&&!Y&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${K===`audio`?` active`:``}`,onClick:e=>{e.stopPropagation(),Aa(`audio`)},"data-tooltip":`Audio Track`,"aria-label":`Audio track`,"aria-haspopup":`listbox`,"aria-expanded":K===`audio`,children:(0,d.jsx)(pe,{size:20,"aria-hidden":`true`})}),K===`audio`&&(0,d.jsxs)(`div`,{ref:ja,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Audio track`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Audio Track`}),Wr.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Kr===e.id,tabIndex:0,className:`sdk-dropup-item ${Kr===e.id?`active`:``}`,onClick:()=>{I?.setAudioTrack(e.id),qr(e.id),q(`none`),ii(`Audio: ${y(e)}`)},onKeyDown:Da(()=>{I?.setAudioTrack(e.id),qr(e.id),q(`none`),ii(`Audio: ${y(e)}`)}),children:[(0,d.jsx)(`span`,{children:y(e)}),Kr===e.id&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]},e.id))]})]}),L.enablePlaybackSpeed&&!Y&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${K===`speed`?` active`:``}`,onClick:e=>{e.stopPropagation(),Aa(`speed`)},"data-tooltip":`Playback Speed`,"aria-label":`Playback speed`,"aria-haspopup":`listbox`,"aria-expanded":K===`speed`,children:(0,d.jsx)(fe,{size:20,"aria-hidden":`true`})}),K===`speed`&&(0,d.jsxs)(`div`,{ref:ja,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Playback speed`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Speed`}),[.5,.75,1,1.25,1.5,2].map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Zr===e,tabIndex:0,className:`sdk-dropup-item ${Zr===e?`active`:``}`,onClick:()=>ta(e),onKeyDown:Da(()=>ta(e)),children:[(0,d.jsx)(`span`,{children:e===1?`Normal`:`${e}x`}),Zr===e&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]},e))]})]}),L.enableQuality&&!Y&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${Lr.id===-1?``:` active`}`,onClick:e=>{e.stopPropagation(),Aa(`quality`)},"data-tooltip":`Quality`,"aria-label":`Video quality`,"aria-haspopup":`listbox`,"aria-expanded":K===`quality`,children:(0,d.jsx)(Ae,{size:20,"aria-hidden":`true`})}),K===`quality`&&(0,d.jsxs)(`div`,{ref:ja,className:`sdk-dropup-menu large`,role:`listbox`,"aria-label":`Video quality`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Quality`}),Fr.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Lr.id===e.id,tabIndex:0,className:`sdk-dropup-item ${Lr.id===e.id?`active`:``}`,onClick:()=>na(e.id),onKeyDown:Da(()=>na(e.id)),children:[(0,d.jsx)(`span`,{children:e.label}),Lr.id===e.id&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]},e.id))]})]}),x&&x.length>1&&!Y&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${K===`sources`?` active`:``}`,onClick:e=>{e.stopPropagation(),Aa(`sources`)},"data-tooltip":`Select Source`,"aria-label":`Select source`,"aria-haspopup":`listbox`,"aria-expanded":K===`sources`,children:(0,d.jsx)(je,{size:20,"aria-hidden":`true`})}),K===`sources`&&(0,d.jsxs)(`div`,{ref:ja,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Select source`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Source`}),x.map((e,t)=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":dt===t,tabIndex:0,className:`sdk-dropup-item ${dt===t?`active`:``}`,onClick:()=>ia(t),onKeyDown:Da(()=>ia(t)),children:[(0,d.jsx)(`span`,{children:e.label}),dt===t&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]},t))]})]}),L.enablePiP&&!Y&&(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${Mn?` active`:``}`,onClick:e=>{e.stopPropagation(),sa()},"data-tooltip":`Picture-in-Picture`,"aria-label":Mn?`Exit picture-in-picture`:`Enter picture-in-picture`,"aria-pressed":Mn,children:(0,d.jsx)(_e,{size:20,"aria-hidden":`true`})}),it===`button`&&(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn`,onClick:e=>{e.stopPropagation(),ea()},"data-tooltip":wa?`Unmute`:`Mute`,"aria-label":wa?`Unmute`:`Mute`,"aria-pressed":wa,children:Ea()}),ze&&(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn`,onClick:e=>{e.stopPropagation(),la()},"data-tooltip":Tn||Dn?`Exit fullscreen`:`Fullscreen`,"aria-label":Tn||Dn?`Exit fullscreen`:`Enter fullscreen`,"aria-pressed":Tn||Dn,children:Tn?(0,d.jsx)(ge,{size:20,"aria-hidden":`true`}):(0,d.jsx)(he,{size:20,"aria-hidden":`true`})})]})]})]})]})]}),Pn&&(()=>{let e=z.find(e=>$>=e.startTime&&$<e.endTime),t=e?e.endTime-e.startTime:V,n=e?Math.max(0,$-e.startTime):H($);return(0,u.createPortal)((0,d.jsxs)(`div`,{className:`gb-pip-overlay${ba?``:` gb-pip-paused`}`,children:[(0,d.jsx)(`div`,{}),(0,d.jsxs)(`div`,{className:`gb-pip-center`,children:[(0,d.jsx)(`button`,{className:`gb-pip-btn`,onClick:()=>Z(U(Math.max(0,H($)-10)),{eventType:`fast_backward`,skipSeconds:10}),"aria-label":`Rewind 10 seconds`,disabled:Y,children:(0,d.jsx)(ye,{size:20,"aria-hidden":`true`})}),(0,d.jsx)(`button`,{className:`gb-pip-btn gb-pip-play`,onClick:Zi,"aria-label":In?`Replay`:ba?`Pause`:`Play`,children:In?(0,d.jsx)(ye,{size:24,"aria-hidden":`true`}):ba?(0,d.jsx)(v,{size:24,"aria-hidden":`true`}):(0,d.jsx)(ve,{size:24,"aria-hidden":`true`,style:{marginLeft:2}})}),(0,d.jsx)(`button`,{className:`gb-pip-btn`,onClick:()=>Z(U(Math.min(V,H($)+10)),{eventType:`fast_forward`,skipSeconds:10}),"aria-label":`Skip forward 10 seconds`,disabled:Y,children:(0,d.jsx)(be,{size:20,"aria-hidden":`true`})})]}),(0,d.jsxs)(`div`,{className:`gb-pip-bottom`,children:[(0,d.jsx)(`div`,{className:`gb-pip-progress`,onClick:ca,children:(0,d.jsx)(`div`,{className:`gb-pip-progress-fill`,style:{width:`${t?n/t*100:0}%`}})}),(0,d.jsxs)(`div`,{className:`gb-pip-time`,children:[Q(n),` / `,Q(t)]})]})]}),Pn.document.body)})()]})},$e=`https://dev-api.go-boss.com`;function b(e){return{"x-player-key":e,"Content-Type":`application/json`}}async function et(e,t=$e,n={}){let r=await fetch(`${t}/api/player/sdk/init`,{method:`POST`,headers:b(e),body:JSON.stringify({videoUrl:n.videoUrl})});if(!r.ok)throw Error(`SDK init failed: ${r.status}`);return await r.json()}async function tt(e,t,n=$e){let{sessionId:r,videoId:i,videoTitle:a,videoUrl:o,contentDurationSec:s}=t,c=await fetch(`${n}/api/player/sdk/session/start`,{method:`POST`,headers:b(e),body:JSON.stringify({sessionId:r,videoId:i,videoTitle:a,videoUrl:o,contentDurationSec:typeof s==`number`&&Number.isFinite(s)&&s>0?s:void 0})});if(!c.ok)throw Error(`Session start failed: ${c.status}`)}async function nt(e,t,n,r,i=$e){let a={sessionId:t,currentTime:n,duration:r},o=await fetch(`${i}/api/player/sdk/session/heartbeat`,{method:`POST`,headers:b(e),body:JSON.stringify(a)});if(!o.ok)throw Error(`Heartbeat failed: ${o.status}`)}async function rt(e,t,n=0,r=0,i=$e){let a=await fetch(`${i}/api/player/sdk/session/end`,{method:`POST`,headers:b(e),body:JSON.stringify({sessionId:t,currentTime:n,duration:r})});if(!a.ok)throw Error(`Session end failed: ${a.status}`)}async function it(e,t,n=$e){let r=await fetch(`${n}/api/player/sdk/events`,{method:`POST`,headers:b(e),body:JSON.stringify(t)});if(!r.ok)throw Error(`Event ${t.eventType} failed: ${r.status}`)}function at(e,t,n=0,r=0,i=$e){fetch(`${i}/api/player/sdk/session/end`,{method:`POST`,headers:b(e),body:JSON.stringify({sessionId:t,currentTime:n,duration:r}),keepalive:!0})}function ot(){if(!(typeof screen>`u`))return screen.orientation?.type??void 0}var st=class{constructor(){this.autoplay=!1,this.keyMoments=[],this.isPlaybackActive=!1,this.hasFinished=!1,this.hasDismissed=!1,this.lastCurrentTime=0,this.lastDuration=0,this.lastWatchDuration=0,this.prevSpeed=1,this.pendingSeek=null}setDelegate(e){this.delegate=e}setAutoplay(e){this.autoplay=e}setKeyMoments(e){this.keyMoments=e}handleAnalyticsEvent(e){switch(typeof e.currentTime==`number`&&!Number.isNaN(e.currentTime)&&(this.lastCurrentTime=e.currentTime),typeof e.duration==`number`&&!Number.isNaN(e.duration)&&(this.lastDuration=e.duration),typeof e.totalWatchTime==`number`&&(this.lastWatchDuration=e.totalWatchTime),e.eventType){case`play`:this.isPlaybackActive?this.call(`playerDidResumePlaying`,e.currentTime):(this.isPlaybackActive=!0,this.hasFinished=!1,this.call(`playerDidStartPlaying`,e.currentTime,this.autoplay));break;case`pause`:e.duration>0&&e.currentTime>=e.duration-.25||this.call(`playerDidPause`,e.currentTime);break;case`ended`:this.isPlaybackActive=!1,this.hasFinished=!0,this.call(`playerDidFinishPlaying`,e.currentTime,e.totalWatchTime??this.lastWatchDuration);break;case`seek`:this.beginSeek(e.seekFrom??this.lastCurrentTime,e.seekTo??e.currentTime);break;case`fast_forward`:this.beginSeek(Math.max(0,e.currentTime-(e.skipSeconds??10)),e.currentTime);break;case`fast_backward`:this.beginSeek(e.currentTime+(e.skipSeconds??10),e.currentTime);break;case`buffering_start`:this.call(`playerDidStartBuffering`,e.currentTime);break;case`buffering_end`:this.call(`playerDidFinishBuffering`,e.currentTime);break;case`quality_change`:{let t=e.rendition;t&&t!==this.prevQuality&&(this.call(`playerDidChangeQuality`,this.prevQuality,t,e.isAutoSwitch??!1),this.prevQuality=t);break}case`subtitle_change`:if(e.subtitleEnabled===!1)this.call(`playerDidDisableSubtitle`,this.prevSubtitle),this.prevSubtitle=void 0;else{let t=e.subtitleLanguage??``;this.call(`playerDidChangeSubtitle`,this.prevSubtitle,t),this.prevSubtitle=t}break;case`audio_track_change`:{let t=e.audioTrack??``;this.call(`playerDidChangeAudioTrack`,this.prevAudioTrack,t),this.prevAudioTrack=t;break}case`speed_change`:{let t=e.speed??1;t!==this.prevSpeed&&(this.call(`playerDidChangePlaybackSpeed`,this.prevSpeed,t),this.prevSpeed=t);break}case`fullscreen_enter`:this.call(`playerDidEnterFullscreen`,ot());break;case`fullscreen_exit`:this.call(`playerDidExitFullscreen`,ot());break;case`key_moments`:{let t=e.momentTitle??``,n=e.momentTime??e.currentTime,r=this.keyMoments,i=r.findIndex(e=>t&&e.title===t||e.startTime===n),a=i>=0?r[i]:void 0;this.call(`playerDidSelectKeyMoment`,i>=0?String(i):void 0,a?.title??t,a?.startTime??n,a?.endTime??n);break}case`pip_toggle`:(e.pipState?e.pipState===`entered`:e.errorMessage===`entered`)?this.call(`playerDidEnterPictureInPicture`,e.currentTime):this.call(`playerDidExitPictureInPicture`,e.currentTime);break;case`error`:this.call(`playerDidEncounterPlaybackError`,e.errorCode==null?`PLAYER_ERROR`:String(e.errorCode),e.errorMessage??`Unknown player error`,e.isRecoverable??!1);break;case`network_error`:this.call(`playerDidEncounterNetworkError`,e.errorCode??0,e.errorMessage??`Network error`,e.isRecoverable??!1);break}}handleTimeUpdate(e){if(this.lastCurrentTime=e,this.pendingSeek){let{fromTime:t,startedWallMs:n}=this.pendingSeek;this.pendingSeek=null,this.call(`playerDidFinishSeeking`,t,e,(Date.now()-n)/1e3)}this.call(`playerDidUpdateCurrentTime`,e,this.lastDuration)}notifyDismissed(){this.hasDismissed||!this.isPlaybackActive||this.hasFinished||(this.hasDismissed=!0,this.call(`playerDidDismiss`,this.lastCurrentTime,this.lastWatchDuration))}beginSeek(e,t){if(this.pendingSeek){this.pendingSeek.toTime=t;return}this.pendingSeek={fromTime:e,toTime:t,startedWallMs:Date.now()},this.call(`playerDidStartSeeking`,e)}call(e,...t){let n=this.delegate,r=n?.[e];if(typeof r==`function`)try{r.apply(n,t)}catch(t){console.error(`[PlayerSDK Delegate] ${String(e)} callback failed:`,t)}}},ct={subtitles:`subtitle_support`,ads:`ad_support`,chapterMarkers:`key_moments`,playbackSpeed:`playback_speed`,airplay:`airplay`,chromecast:`chromecast`,pictureInPicture:`picture_in_picture`,multipleResolution:`multiple_resolution`,multipleAudio:`multiple_audio`,drmProtection:`drm_protection`,screenRecordingPrevention:`screen_recording_prevention`,signalStrength:`signal_strength`};function lt(e){let t={m3u8_playback:!0,subtitle_support:!1,playback_speed:!1,airplay:!1,chromecast:!1,picture_in_picture:!1,multiple_resolution:!1,multiple_audio:!1,key_moments:!1,drm_protection:!1,screen_recording_prevention:!1,signal_strength:!1,ad_support:!1};for(let[n,r]of Object.entries(ct))n in e&&(t[r]=e[n]);return t}function ut(e){if(!e)return e=>e;let t=[];for(let n of e.split(`,`)){let[e,r]=n.split(`=`);e?.trim()&&r?.trim()&&t.push({domain:e.trim(),proxyPath:r.trim()})}return e=>{for(let{domain:n,proxyPath:r}of t)if(e.includes(n))try{let t=new URL(e);return`${r}${t.pathname}${t.search}`}catch{return e.replace(`https://${n}`,r)}return e}}function x(e){let t=e.replace(`#`,``);return t.length===6?`${parseInt(t.substring(0,2),16)}, ${parseInt(t.substring(2,4),16)}, ${parseInt(t.substring(4,6),16)}`:`99, 102, 241`}var dt=30*1e3;function ft(e,t){switch(e.eventType){case`pause`:return{eventType:`pause`,extras:{}};case`seek`:return{eventType:`seek`,extras:{seekFrom:e.seekFrom??0,seekTo:e.seekTo??e.currentTime??0}};case`mute`:return{eventType:`mute`,extras:{isMuted:e.isMuted??!0}};case`fast_forward`:return{eventType:`fast_forward`,extras:{skipSeconds:e.skipSeconds??10}};case`fast_backward`:return{eventType:`fast_backward`,extras:{skipSeconds:e.skipSeconds??10}};case`key_moments`:return{eventType:`key_moments`,extras:{momentTitle:e.momentTitle??``,momentTime:e.momentTime??0}};case`buffering_start`:return{eventType:`buffering_start`,extras:{bufferingCount:e.bufferingCount??0}};case`buffering_end`:return{eventType:`buffering_end`,extras:{}};case`quality_change`:return!t||!e.rendition||t===e.rendition?null:{eventType:`quality_change`,extras:{from:t,to:e.rendition}};case`speed_change`:return{eventType:`speed_change`,extras:{speed:e.speed??1}};case`subtitle_change`:return e.subtitleEnabled===!1?{eventType:`subtitle_disable`,extras:{enabled:!1}}:{eventType:`subtitle_change`,extras:{language:e.subtitleLanguage??``,enabled:!0}};case`audio_track_change`:return{eventType:`audio_track_change`,extras:{track:e.audioTrack??``}};case`pip_toggle`:return{eventType:`pip_toggle`,extras:{enabled:e.errorMessage===`entered`}};case`fullscreen_enter`:return{eventType:`fullscreen_toggle`,extras:{enabled:!0}};case`fullscreen_exit`:return{eventType:`fullscreen_toggle`,extras:{enabled:!1}};case`error`:return{eventType:`player_error`,extras:{code:e.errorCode==null?`PLAYER_ERROR`:String(e.errorCode),message:e.errorMessage??`Unknown player error`}};case`network_error`:return{eventType:`network_error`,extras:{code:e.errorCode?String(e.errorCode):`NETWORK_ERROR`,message:e.errorMessage??`Network error`}};default:return null}}function S({playerKey:e,src:t,subtitles:n,licenseKey:r,themeColor:i=`#6366f1`,firebaseConfig:a,proxyDomains:o,apiBaseUrl:s,adTrackingUrl:c,overlayAdUrl:u,videoId:ee,title:te,watermark:ne,autoplay:re=!1,muted:ie=!1,autoFullscreen:p=!1,enableControls:m=!0,enableSkipAd:h,skipAdAfterSeconds:ae,chaptersDisplayMode:oe=`strip`,volumeControlType:g=`slider`,subtitleStyle:se,drmConfig:ce,onAnalyticsEvent:le,delegate:_,onKeyMomentsLoaded:ue,initialTime:de,onTimeUpdate:fe}){let[pe,me]=(0,l.useState)([]),[he,ge]=(0,l.useState)(0),[v]=(0,l.useState)(()=>new st);(0,l.useEffect)(()=>{v.setDelegate(_),v.setAutoplay(re)},[v,_,re]),(0,l.useEffect)(()=>()=>v.notifyDismissed(),[v]);let _e=Array.isArray(t)?t:[{label:`Default`,url:t}],ve=_e[he]?.url??_e[0]?.url??``,[ye,be]=(0,l.useState)(`loading`),[xe,Se]=(0,l.useState)(null),[Ce,we]=(0,l.useState)(0),[Te,Ee]=(0,l.useState)(`network`),De=(0,l.useRef)(null),Oe=(0,l.useRef)(!1),ke=(0,l.useRef)(``),Ae=(0,l.useRef)(!1),je=(0,l.useRef)(!1),Me=(0,l.useRef)(void 0),Ne=(0,l.useRef)(!1),Pe=(0,l.useRef)(dt),y=(0,l.useRef)(null),Fe=(0,l.useRef)(0),Ie=(0,l.useRef)(null),Le=(0,l.useRef)({currentTime:0,duration:0}),Re=(0,l.useRef)(()=>{}),ze=ve.split(`/`).filter(Boolean),Be=ee||(ze[ze.length-1]??``).replace(/\.m3u8.*$/,``)||`video`,Ve=(0,l.useRef)(ve);(0,l.useEffect)(()=>{Ve.current=ve},[ve]);let He=(0,l.useCallback)(()=>ut(o),[o])(),Ue=x(i);(0,l.useEffect)(()=>{document.documentElement.style.setProperty(`--accent-indigo`,i),document.documentElement.style.setProperty(`--accent-indigo-rgb`,Ue)},[i,Ue]),(0,l.useEffect)(()=>{let t=!1;return et(e,s,{videoUrl:Ve.current}).then(e=>{if(t)return;De.current=e;let{features:n,planTier:r,heartbeatIntervalSeconds:i}=e.result.data;Pe.current=typeof i==`number`&&i>0?i*1e3:dt;let a={package:r,is_active:!0,features:lt(n),limits:{streaming_minutes:0}};console.log(`[SDK] Player key validated. Features:`,a.features),Se(a),be(`ready`)}).catch(e=>{if(t)return;console.error(`[SDK] Player key validation failed:`,e);let n=e.message??``;Ee(/init failed: 4\d\d/.test(n)?`auth`:`network`),be(`error`)}),()=>{t=!0,y.current&&=(clearTimeout(y.current),null),Fe.current=0,Ie.current=null,be(`loading`),Se(null),Ae.current=!1,ke.current=``,je.current=!1,Me.current=void 0}},[e,s,Ce]);let We=(0,l.useCallback)(()=>{y.current&&(clearTimeout(y.current),y.current=null,Ie.current!==null&&(Fe.current+=Date.now()-Ie.current,Ie.current=null))},[]),Ge=(0,l.useCallback)(()=>{y.current&&=(clearTimeout(y.current),null),Fe.current=0,Ie.current=null},[]),Ke=(0,l.useCallback)(()=>{if(y.current||!ke.current)return;Ie.current=Date.now();let t=Pe.current-Fe.current;y.current=setTimeout(()=>{y.current=null,Fe.current=0,Ie.current=null;let{currentTime:t,duration:n}=Le.current;console.log(`[SDK] Heartbeat timer fired — ${Pe.current/1e3}s of real content elapsed`),nt(e,ke.current,t,n,s).catch(e=>console.warn(`[SDK] Heartbeat failed:`,e.message)),Re.current()},t)},[e,s]);(0,l.useEffect)(()=>{Re.current=Ke},[Ke]);let qe=(0,l.useRef)(!0);(0,l.useEffect)(()=>{if(qe.current){qe.current=!1;return}Ne.current=!0,Me.current=void 0,We()},[he,We]),(0,l.useEffect)(()=>{let t=()=>{if(v.notifyDismissed(),!ke.current)return;je.current=!0,Ge();let{currentTime:t,duration:n}=Le.current;at(e,ke.current,t,n,s)};return window.addEventListener(`beforeunload`,t),()=>{window.removeEventListener(`beforeunload`,t),Ge()}},[e,s,Ge,v]);let Je=(0,l.useCallback)(t=>{let n=t;if(t.currentTime!==void 0&&(Le.current={currentTime:t.currentTime,duration:t.duration}),t.eventType===`session_start`&&!Ae.current&&(Ae.current=!0,je.current=!1,ke.current=typeof n.sessionId==`string`?n.sessionId:``,tt(e,{sessionId:ke.current,videoId:Be,videoTitle:te,videoUrl:Ve.current,contentDurationSec:t.duration},s).catch(e=>console.warn(`[SDK] Session start failed:`,e.message)),Oe.current||Ke()),t.eventType===`play`&&Ae.current&&!Oe.current&&!Ne.current&&Ke(),t.eventType===`pause`&&We(),t.eventType===`buffering_start`&&We(),t.eventType===`buffering_end`&&Ae.current&&!Oe.current&&(Ne.current=!1,Ke()),t.eventType===`ended`&&(Ge(),ke.current)){je.current=!0;let{currentTime:t,duration:n}=Le.current;rt(e,ke.current,t,n,s).catch(e=>console.warn(`[SDK] Session end failed:`,e.message))}if(Ae.current&&ke.current&&!je.current){let n=ft(t,Me.current);n&&it(e,{eventType:n.eventType,sessionId:ke.current,currentTime:t.currentTime??0,videoId:Be,videoTitle:te,...n.extras},s).catch(e=>console.warn(`[SDK] Event ${n.eventType} failed:`,e.message))}t.eventType===`quality_change`&&t.rendition&&(Me.current=t.rendition),console.log(`[SDK Analytics]`,t),v.handleAnalyticsEvent(t),le?.(t)},[e,s,Be,te,Ke,We,Ge,le,v]),Ye=(0,l.useCallback)(e=>{Oe.current=e,e?(We(),console.log(`[SDK] Ad break started — heartbeat timer paused`)):(Ae.current&&Ke(),console.log(`[SDK] Ad break ended — heartbeat timer resumed`))},[We,Ke]),Xe=(0,l.useCallback)(e=>{v.setKeyMoments(e),me(e),ue?.(e)},[ue,v]),Ze=(0,l.useCallback)(e=>{v.handleTimeUpdate(e),fe?.(e)},[fe,v]);if(ye===`loading`)return(0,d.jsxs)(`div`,{style:{width:`100%`,aspectRatio:`16 / 9`,background:`#000`,borderRadius:8,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,d.jsx)(`style`,{children:`@keyframes boss-sdk-spin{to{transform:rotate(360deg)}}`}),(0,d.jsx)(`div`,{style:{width:60,height:60,borderRadius:`50%`,border:`4px solid rgba(${Ue}, 0.1)`,borderLeftColor:i,borderRightColor:`rgba(${Ue}, 0.2)`,filter:`drop-shadow(0 0 10px rgba(${Ue}, 0.5))`,animation:`boss-sdk-spin 1s linear infinite`}})]});if(ye===`error`){let e=Te===`auth`;return(0,d.jsx)(`div`,{style:{width:`100%`,aspectRatio:`16 / 9`,background:`#09090e`,borderRadius:8,display:`flex`,alignItems:`center`,justifyContent:`center`,flexDirection:`column`,gap:20},children:(0,d.jsx)(f,{title:e?`Invalid Player Key`:`Something Went Wrong`,subtitle:e?`Your player key is invalid or expired.
30
+ import 'boss-web-player-sdk/css';`))});return()=>window.cancelAnimationFrame(e)},[]),(0,l.useEffect)(()=>{let e=w.current;if(!e)return;let t=new ResizeObserver(e=>{for(let t of e)Zt(t.contentRect.width<=768)});return t.observe(e),Zt(e.getBoundingClientRect().width<=768),()=>t.disconnect()},[]);let[I,nn]=(0,l.useState)(null),[rn,an]=(0,l.useState)(!1),on=nt??null,sn=on!=null,cn=on?.features??{},ln=sn?!!(cn.drm_protection&&!rt):!1,L={enableSubtitles:sn?!!cn.subtitle_support:typeof oe==`boolean`?oe:!0,enableChromecast:sn?!!cn.chromecast:typeof h==`boolean`?h:!0,enableKeyMoments:sn?!!cn.key_moments:typeof ae==`boolean`?ae:!0,enableQuality:sn?!!cn.multiple_resolution:typeof g==`boolean`?g:!0,enablePlaybackSpeed:sn?!!cn.playback_speed:typeof Ne==`boolean`?Ne:!0,enablePiP:sn?!!cn.picture_in_picture:typeof Pe==`boolean`?Pe:!0,allowAirplay:sn?!!cn.airplay:!1,allowMultipleAudio:sn?!!cn.multiple_audio:!0,m3u8_playback:sn?!!cn.m3u8_playback:!0,drm_protection:sn?!!cn.drm_protection:!1},[un,dn]=(0,l.useState)(!1),[fn,pn]=(0,l.useState)(0),[mn,hn]=(0,l.useState)(!1),[R,gn]=(0,l.useState)(0),[_n,vn]=(0,l.useState)(0),[yn,bn]=(0,l.useState)(1),[xn,Sn]=(0,l.useState)(!1),[Cn,wn]=(0,l.useState)(!1),Tn=(0,l.useRef)(!1),En=(0,l.useRef)(null),Dn=(0,l.useRef)(0),On=(0,l.useCallback)(()=>{if(!(Tn.current&&!Tt.current)){En.current!==null&&(window.clearTimeout(En.current),En.current=null),wn(!1);return}if(En.current!==null)return;let e=Math.max(Ke,Dn.current-Date.now());En.current=window.setTimeout(()=>{if(En.current=null,Tn.current&&!Tt.current){if(Date.now()<Dn.current){On();return}wn(!0)}},e)},[]);(0,l.useEffect)(()=>()=>{En.current!==null&&window.clearTimeout(En.current)},[]);let kn=(0,l.useCallback)(e=>{Tn.current=e,On()},[On]),[An,jn]=(0,l.useState)(!1),[Mn,Nn]=(0,l.useState)(!1),[Pn,Fn]=(0,l.useState)(!1),In=Xt||(An||Mn)&&Pn,[Ln,Rn]=(0,l.useState)(!1),[zn,Bn]=(0,l.useState)(null),[Vn,Hn]=(0,l.useState)(!1),[z,Un]=(0,l.useState)([]),B=(0,l.useRef)([]),Wn=(0,l.useRef)(new Set),Gn=S&&S.length>0?S.map(e=>e.url).join(`|`):e,[Kn,qn]=(0,l.useState)(new Set),[Jn,Yn]=(0,l.useState)(Gn),Xn=(0,l.useRef)(null),Zn=(0,l.useRef)(!1),Qn=(0,l.useRef)(null);Jn!==Gn&&(Yn(Gn),qn(new Set),Wn.current=new Set,Xn.current=null,Zn.current=!1);let $n=(0,l.useRef)(null),er=(0,l.useRef)(!1),[tr,nr]=(0,l.useState)([]),[rr,ir]=(0,l.useState)(null),ar=(0,l.useRef)([]),or=(0,l.useRef)(null),sr=(0,l.useRef)(new Set),[cr,lr]=(0,l.useState)([]),ur=(0,l.useRef)([]),[dr,fr]=(0,l.useState)(!1),pr=(0,l.useRef)(!1),mr=(0,l.useCallback)(()=>{pr.current||(pr.current=!0,fr(!0))},[]),[hr,gr]=(0,l.useState)(!1),_r=(0,l.useRef)(!1),vr=(0,l.useCallback)(()=>{_r.current||(_r.current=!0,gr(!0))},[]),[yr,br]=(0,l.useState)(!1),xr=(0,l.useRef)(!1),[Sr,Cr]=(0,l.useState)(!1),[wr,Tr]=(0,l.useState)(!1),Er=(0,l.useRef)(null),[Dr,Or]=(0,l.useState)({w:0,h:0}),[kr,Ar]=(0,l.useState)(null),[jr,Mr]=(0,l.useState)([]),[Nr,Pr]=(0,l.useState)(0),Fr=(0,l.useRef)(0),Ir=(0,l.useRef)(0),Lr=e=>{let t=ur.current.find(t=>e>=t.startTimeSeconds&&e<t.endTimeSeconds);if(t)return{start:t.startTimeSeconds,end:t.endTimeSeconds};let n=B.current.find(t=>e>=t.startTime&&e<t.endTime);return n?{start:n.startTime,end:n.endTime}:null},Rr=(0,l.useMemo)(()=>z.reduce((e,t)=>e+(t.endTime-t.startTime),0),[z]),zr=_n>0?Math.max(0,_n-Rr):0,V=z.length>0&&zr>0?zr:_n,H=(0,l.useCallback)(e=>{let t=e;for(let n of z)e>=n.endTime?t-=n.endTime-n.startTime:e>=n.startTime&&(t-=e-n.startTime);return Math.max(0,t)},[z]),U=(0,l.useCallback)(e=>{let t=[...z].sort((e,t)=>e.startTime-t.startTime),n=e;for(let e of t)n>e.startTime&&(n+=e.endTime-e.startTime);return n},[z]),[Br,Vr]=(0,l.useState)([]),[Hr,Ur]=(0,l.useState)({id:-1,height:0,width:0,bitrate:0,label:`Auto`}),[Wr,Gr]=(0,l.useState)(``),[W,Kr]=(0,l.useState)(`off`),[qr,Jr]=(0,l.useState)(Fe(a)),[Yr,Xr]=(0,l.useState)([]),[Zr,Qr]=(0,l.useState)(0);(0,l.useEffect)(()=>{if(I){let e=I.subtitles.getTracks();Jr(Fe([...a,...e.filter(e=>!a.some(t=>t.id===e.id))]))}else Jr(Fe(a))},[a.map(e=>e.id).join(`,`),I]);let[$r,ei]=(0,l.useState)({chapter:null,index:-1}),[G,ti]=(0,l.useState)(i||r||[]),[K,q]=(0,l.useState)(`none`),[ni,ri]=(0,l.useState)(1),[ii,ai]=(0,l.useState)(!1),[oi,si]=(0,l.useState)({}),[ci,li]=(0,l.useState)(``),[ui,di]=(0,l.useState)(null),fi=(0,l.useRef)(!1),pi=JSON.stringify(G.map(e=>({title:e.title,startTime:e.startTime})));(0,l.useEffect)(()=>{ti(i||r||[])},[(i||r||[]).map(e=>`${e.startTime}:${e.title}`).join(`,`)]),(0,l.useEffect)(()=>{if(!e||!G||G.length===0)return;si({});let t=document.createElement(`video`);t.muted=!0,t.preload=`metadata`,t.crossOrigin=`anonymous`,t.style.cssText=`position:fixed;top:0;left:0;width:10px;height:10px;opacity:0.01;pointer-events:none;z-index:-9999;`,document.body.appendChild(t);let n=null,r=e.includes(`.m3u8`),i=document.createElement(`canvas`);i.width=160,i.height=90;let a=i.getContext(`2d`),o=0,s=!1,l=()=>{if(o>=G.length){f();return}let e=G[o].startTime;t.currentTime=e===0?.01:e},u=()=>{if(a&&t.readyState>=2){a.drawImage(t,0,0,i.width,i.height);let e=i.toDataURL(`image/jpeg`,.8);si(t=>({...t,[o]:e})),o++,l()}else setTimeout(u,100)},d=()=>{s||(s=!0,l())};t.addEventListener(`seeked`,u),t.addEventListener(`canplay`,d),r&&c.u.isSupported()?(n=new c.u({enableWorker:!1,maxBufferLength:5,xhrSetup:(e,t)=>{let n=ee?.authToken;try{let r=ht(t),i=new URL(r,window.location.origin);n&&i.searchParams.set(`token`,n),e.open(`GET`,i.toString(),!0)}catch(e){console.error(`[WebVideoPlayer tempHls] xhrSetup error:`,e)}}}),n.loadSource(ht(e)),n.attachMedia(t)):t.src=e,t.readyState>=2&&d();let f=()=>{t.removeEventListener(`seeked`,u),t.removeEventListener(`canplay`,d),n&&n.destroy(),document.body.contains(t)&&document.body.removeChild(t)};return f},[e,pi]);let[J,mi]=(0,l.useState)(null),[hi,gi]=(0,l.useState)(null),_i=(0,l.useRef)(!1),[vi,yi]=(0,l.useState)(!1),[bi,xi]=(0,l.useState)(!1),[Si,Ci]=(0,l.useState)(null),[wi,Ti]=(0,l.useState)(null),[Ei,Di]=(0,l.useState)(0),[Oi,ki]=(0,l.useState)(0),[Ai,ji]=(0,l.useState)(null),[Mi,Ni]=(0,l.useState)(null),[Pi,Fi]=(0,l.useState)(null);(0,l.useEffect)(()=>{if(Ct.current&&!Ct.current.querySelector(`google-cast-launcher`)){let e=document.createElement(`google-cast-launcher`);e.style.cursor=`pointer`,e.style.width=`100%`,e.style.height=`100%`,e.style.display=`block`,Ct.current.appendChild(e)}},[]),(0,l.useEffect)(()=>{if(!I){yi(!1),xi(!1),Ci(null);return}let e=e=>yi(e),t=()=>{let e=I.getVideoElement(),t=!!e?.webkitCurrentPlaybackTargetIsWireless;xi(t),Ci(t?e.webkitCurrentPlaybackTargetName||`AirPlay device`:null)};e(I.casting.isAirPlayAvailable()),t();let n=I.getVideoElement(),r=t=>{e(t.availability===`available`)},i=()=>{t()};return`webkitShowPlaybackTargetPicker`in n&&(n.addEventListener(`webkitplaybacktargetavailabilitychanged`,r),n.addEventListener(`webkitcurrentplaybacktargetiswirelesschanged`,i)),()=>{`webkitShowPlaybackTargetPicker`in n&&(n.removeEventListener(`webkitplaybacktargetavailabilitychanged`,r),n.removeEventListener(`webkitcurrentplaybacktargetiswirelesschanged`,i))}},[I]);let[Ii,Li]=(0,l.useState)(``),[Ri,zi]=(0,l.useState)(!1),[Y,Bi]=(0,l.useState)(!1),[Vi,Hi]=(0,l.useState)(!1),Ui=(0,l.useRef)(!1),Wi=(0,l.useRef)(null),Gi=(0,l.useRef)(!1),Ki=(0,l.useRef)(!1),qi=(0,l.useRef)(null),Ji=(0,l.useRef)(`none`),Yi=(0,l.useRef)(a),Xi=()=>{zi(!0),Wi.current&&window.clearTimeout(Wi.current);let e=Qt.current?3500:1e4;Wi.current=window.setTimeout(()=>{Gi.current&&Ji.current===`none`&&zi(!1)},e)},Zi=()=>{if(_r.current){if(!(!Ki.current&&B.current.some(e=>Ir.current>=e.startTime&&Ir.current<e.endTime&&!Wn.current.has(e.startTime))))qi.current=null;else{let e=Date.now();if(qi.current===null&&(qi.current=e),e-qi.current<Xe)return}Xi()}};(0,l.useEffect)(()=>{let e=!Y&&B.current.some(e=>Ir.current>=e.startTime&&Ir.current<e.endTime&&!Wn.current.has(e.startTime));if(!hr||e){Wi.current&&=(window.clearTimeout(Wi.current),null),zi(!1);return}m&&Xi()},[Y,hr,m]);let Qi=(0,l.useCallback)(e=>{Ht.current&&=(clearTimeout(Ht.current),null);let t=Wt.current,n=t?.[e]?.label??`This format`,r=t?.[0]?.label??`default`;Ut.current=null,di(`${n} isn't supported on this device. Switched to ${r}.`),window.setTimeout(()=>di(null),4e3),Gt.current?.(0)},[]);(0,l.useEffect)(()=>{if(!w.current)return;let t=document.createElement(`video`);t.muted=!0,t.preload=`metadata`,t.crossOrigin=`anonymous`,t.style.cssText=`display:none;position:absolute;pointer-events:none;`,document.body.appendChild(t),E.current=t;let r=e.includes(`.m3u8`);if(r&&c.u.isSupported()){let n=new c.u({enableWorker:!1,maxBufferLength:5,xhrSetup:(e,t)=>{let n=ee?.authToken;try{let r=ht(t),i=new URL(r,window.location.origin);n&&i.searchParams.set(`token`,n),e.open(`GET`,i.toString(),!0)}catch(e){console.error(`[WebVideoPlayer hiddenHls] xhrSetup error:`,e)}}});n.loadSource(ht(e)),n.attachMedia(t),bt.current=n,n.on(c.u.Events.MANIFEST_LOADED,(e,t)=>{if(it)return;let n=Oe(t?.networkDetails?.responseText??``);n&&Li(n)}),n.on(c.u.Events.FRAG_PARSING_METADATA,(e,t)=>{if(!(it||Ii))for(let e of t?.samples??[]){let t=ke(e.data);if(t){Li(t);break}}})}else r&&t.canPlayType(`application/vnd.apple.mpegurl`),t.src=e;t.addEventListener(`seeked`,()=>{let e=yt.current;if(!e)return;let n=e.getContext(`2d`);n&&t.readyState>=2&&(n.drawImage(t,0,0,e.width,e.height),ji(e.toDataURL(`image/jpeg`,.82)))});let i;if(te){let e=new c.c(te);gt.current=e,i=e.createCallback()}if(ln)return;let l=new c.t({container:w.current,src:e,videoId:ne,autoplay:!1,muted:n,keyMoments:G,subtitles:a,drm:{watermarkText:o,allowedDomains:[`localhost`,`127.0.0.1`,window.location.hostname],...ee},analyticsCallback:e=>{if(e.sessionId&&(Xn.current===null?Xn.current=e.sessionId:e.sessionId!==Xn.current&&(e={...e,sessionId:Xn.current})),e.eventType===`session_start`){if(Zn.current)return;Zn.current=!0}i?.(e),re&&re(e)},analyticsSessionSeed:Qn.current?.key===Gn?Qn.current.snapshot:void 0,watchProgressInterval:tt*1e3,themeColor:s,urlTransformer:st});l.on(`keymomentsloaded`,e=>{ti(e),p&&p(e)}),l.on(`chaptersloaded`,e=>{ti(e),p&&p(e)}),l.on(`play`,()=>{hn(!0),Hn(!1),m(l.getCurrentTime(),!1)}),l.on(`pause`,()=>{hn(!1),m(l.getCurrentTime(),!0)}),l.on(`ended`,()=>{hn(!1),Hn(!0)});let u=()=>{Tt.current||(Ot.current=Dt(l.getVideoElement())),jt(),Tt.current=!0,On(),j.current&&Ot.current&&(j.current.style.transition=`none`,j.current.style.opacity=`1`),Nt(l.getVideoElement())},d=()=>{let e=l.getVideoElement(),t=kt.current,n=()=>{t===kt.current&&(At.current&&=(window.clearTimeout(At.current),null),Tt.current=!1,j.current&&(j.current.style.transition=`opacity 180ms ease-out`,j.current.style.opacity=`0`),Pt(e),Dn.current=Date.now()+qe,On())},r=e?.requestVideoFrameCallback;if(typeof r==`function`){r.call(e,()=>n());let i=r=>{At.current=window.setTimeout(()=>{if((Tn.current||e.seeking||e.readyState<2)&&r+We<Ge&&t===kt.current){i(r+We);return}n()},We)};i(0);return}requestAnimationFrame(()=>requestAnimationFrame(n))},f=(e,t=!1)=>{D.current=!0;let n=t?e+.5:M.current??e+.5;t||(M.current=null),It.current=t,O.current=n,k.current=l.getCurrentTime(),u(),l.seek(n);let r=l.getVideoElement();if(r){let e=()=>{r.removeEventListener(`seeked`,e),A.current&&=(window.clearTimeout(A.current),null),D.current=!1,O.current=null,k.current=null;let t=It.current;It.current=!1,(t||M.current===null)&&d(),!t&&M.current===null&&Rt(null)};r.addEventListener(`seeked`,e)}A.current&&window.clearTimeout(A.current),A.current=window.setTimeout(()=>{D.current=!1,O.current=null,k.current=null,A.current=null,It.current=!1,Rt(null),d()},3e3)};Ft.current=f;let m=(e,t)=>{if(!(`mediaSession`in navigator)||!navigator.mediaSession.setPositionState)return;navigator.mediaSession.playbackState=t?`paused`:`playing`;let n=l.getDuration(),r=B.current.find(t=>e>=t.startTime&&e<t.endTime);if(r){let t=r.endTime-r.startTime,n=Math.max(0,e-r.startTime);if(t>0)try{navigator.mediaSession.setPositionState({duration:t,playbackRate:1,position:Math.min(n,t)})}catch{}}else{let t=B.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),r=n>0?Math.max(0,n-t):0,i=e;for(let t of B.current)e>=t.endTime?i-=t.endTime-t.startTime:e>=t.startTime&&(i-=e-t.startTime);i=Math.max(0,i);let a=B.current.length>0&&r>0?r:n;if(a>0)try{navigator.mediaSession.setPositionState({duration:a,playbackRate:1,position:Math.min(i,a)})}catch{}}};if(l.on(`timeupdate`,e=>{if(!D.current&&P.current===null){let t=B.current.find(t=>Wn.current.has(t.startTime)&&e>=t.startTime-.5&&e<t.endTime);if(t){f(t.endTime);return}M.current!==null&&B.current.find(t=>e>=t.endTime-.5&&e<t.endTime)&&u()}if(D.current&&O.current!==null){let t=O.current;if(k.current!==null&&t<k.current?e<=t+2&&e>=t-2:e>=t-2){D.current=!1,O.current=null,k.current=null,A.current&&=(window.clearTimeout(A.current),null);let t=B.current.some(t=>e>=t.startTime&&e<t.endTime),n=It.current;It.current=!1,(n||!t&&M.current===null)&&d(),!t&&M.current===null&&Rt(null)}else return}gn(e),Jt.current=e;let t=l.getDuration();if(vn(t),P.current!==null&&e>=P.current-2){P.current=null,F.current&&=(window.clearTimeout(F.current),null);let t=B.current.find(t=>Wn.current.has(t.startTime)&&e>=t.startTime&&e<t.endTime);t&&f(t.endTime),requestAnimationFrame(()=>{requestAnimationFrame(()=>{N.current&&(N.current.style.opacity=`0`)})})}if(!Kt.current&&pr.current&&Bt.current===null&&C&&C>0&&t>0&&C<t){Kt.current=!0;let t=B.current.find(e=>C>=e.startTime&&C<e.endTime),n=t?t.startTime:C,r=B.current.find(t=>e>=t.startTime&&e<t.endTime&&!Wn.current.has(t.startTime));r&&n>r.endTime?(qt.current=null,M.current=n,N.current&&(N.current.style.opacity=`0`)):(qt.current=t?null:C,P.current=n,l.seek(n),F.current&&window.clearTimeout(F.current),F.current=window.setTimeout(()=>{P.current=null,F.current=null,N.current&&(N.current.style.opacity=`0`)},4e3))}if(mt?.(e),ar.current.length>0)if(or.current){let t=or.current;(e>=t.startTimeSeconds+t.durationSeconds||e<t.startTimeSeconds)&&(ir(null),or.current=null)}else{let t=ar.current.find(t=>e>=t.startTimeSeconds&&e<t.startTimeSeconds+t.durationSeconds&&!sr.current.has(t.availId));t&&(ir(t),or.current=t,t.impressionBeacons.forEach(e=>{fetch(e,{mode:`no-cors`}).catch(()=>{})}))}let n=l.keyMoments.getCurrentMoment(e);ei({chapter:n.keyMoment,index:n.index}),m(e,l.getVideoElement().paused)}),l.on(`qualitylevels`,e=>{Vr(e);let t=Vt.current;if(!t)return;let n=t.qualityHeight===null?void 0:e.find(e=>e.height===t.qualityHeight);n?(l.setQuality(n.id),Ur(n)):Ur({id:-1,height:0,width:0,bitrate:0,label:`Auto`})}),l.on(`qualitychange`,e=>{Ur(e)}),l.on(`buffering`,e=>{if(kn(e),!e){Ht.current&&=(clearTimeout(Ht.current),null),Ut.current=null;let e=Vt.current;if(e&&(Vt.current=null,e.playbackRate!==1&&l.setPlaybackRate(e.playbackRate),l.setVolume(e.volume),l.setMute(e.muted)),Bt.current!==null){let e=Bt.current;Bt.current=null,Kt.current=!0,P.current=e,F.current&&window.clearTimeout(F.current),F.current=window.setTimeout(()=>{P.current=null,F.current=null,N.current&&(N.current.style.opacity=`0`)},4e3),l.seek(e)}}}),l.on(`adbreakchange`,e=>{if(l.analytics.setAdBreak(e,l.getVideoElement()),ie&&ie(e),e){let e=l.getCurrentTime(),t=B.current.find(t=>e>=t.startTime&&e<t.endTime);if(Ui.current=!1,Hi(!1),t&&Wn.current.has(t.startTime)){u(),D.current||f(t.endTime);return}t&&($n.current=t.startTime),Ar(t??null),Bi(!0),q(`none`),d()}else{let e=$n.current;if($n.current=null,Ar(null),e!==null){let t=B.current.find(t=>t.startTime===e);t&&l.getCurrentTime()>=t.endTime-Ye&&(Wn.current.add(e),qn(new Set(Wn.current)))}if(Bi(!1),M.current!==null){let e=M.current;M.current=null,D.current=!0,O.current=e,k.current=l.getCurrentTime(),u(),l.seek(e),A.current&&window.clearTimeout(A.current),A.current=window.setTimeout(()=>{D.current=!1,O.current=null,k.current=null,A.current=null,d()},3e3)}}}),l.on(`adbreaksloaded`,e=>{B.current=e,Un(e),vr();let t=qt.current;if(t===null)return;qt.current=null;let n=e.find(e=>t>=e.startTime&&t<e.endTime);if(!n||Wn.current.has(n.startTime))return;let r=l.getCurrentTime();r<n.startTime||r>=n.endTime||(N.current&&(N.current.style.opacity=`1`),P.current=n.startTime,F.current&&window.clearTimeout(F.current),F.current=window.setTimeout(()=>{P.current=null,F.current=null,N.current&&(N.current.style.opacity=`0`)},4e3),l.seek(n.startTime))}),l.on(`volumechange`,e=>{bn(e.volume),Mt.current===null&&Sn(e.muted)}),l.on(`pipchange`,e=>{Rn(e)}),l.on(`error`,()=>{dn(!0),kn(!1),P.current=null,F.current&&=(window.clearTimeout(F.current),null),N.current&&(N.current.style.opacity=`0`)}),l.on(`unsupportedcodec`,()=>{let e=Ut.current;e&&e.targetIdx!==0&&(Wt.current?.length??0)>1&&Qi(e.targetIdx)}),l.subtitles.onSubtitleChange(e=>{Gr(e)}),l.on(`subtitlesloaded`,e=>{if(!L.enableSubtitles)return;Jr(Fe([...e]));let t=Vt.current;if(t){let n=t.subtitleId===`off`?`off`:e.find(e=>e.id===t.subtitleId)?.id??(t.subtitleLang?e.find(e=>e.lang===t.subtitleLang)?.id:void 0);if(n){l.subtitles.setActiveTrack(n),Kr(n);return}}let n=e.find(e=>e.isDefault);n&&(l.subtitles.setActiveTrack(n.id),Kr(n.id))}),l.on(`audiotracksloaded`,e=>{Xr(e);let t=Vt.current,n=t?e.find(e=>t.audioLang&&e.lang===t.audioLang)??e.find(e=>t.audioLabel&&e.label===t.audioLabel):void 0;if(n){l.setAudioTrack(n.id),Qr(n.id);return}Qr(e[0]?.id??0)}),l.on(`audiotrackchange`,e=>{Qr(e)}),l.casting.onCastStateChange((e,t)=>{if(e){_i.current=l.isMuted(),l.pause();let e=l.getVideoElement();e.muted=!0,mi(t)}else{let e=l.casting.getRemoteState();e&&e.currentTime>0&&(D.current=!0,O.current=e.currentTime,k.current=l.getCurrentTime(),l.seek(e.currentTime),A.current&&window.clearTimeout(A.current),A.current=window.setTimeout(()=>{D.current=!1,O.current=null,k.current=null,A.current=null},3e3));let t=l.getVideoElement();t.muted=_i.current,mi(null),gi(null)}}),l.casting.onRemoteStateChange(e=>{gi(e)}),bn(l.getVolume()),Sn(l.isMuted()),`mediaSession`in navigator)try{navigator.mediaSession.setActionHandler(`seekto`,e=>{if(e.seekTime==null||Ki.current||Ui.current)return;let t=e.seekTime;for(let e of B.current)t>=e.startTime&&(t+=e.endTime-e.startTime);zt.current?.(t)});let e=(e,t)=>{if(Ki.current||Ui.current)return;let n=t&&t>0?t:10,r=l.getCurrentTime(),i=r;for(let e of B.current)r>=e.endTime?i-=e.endTime-e.startTime:r>=e.startTime&&(i-=r-e.startTime);if(e){let e=B.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),t=Math.max(0,l.getDuration()-e),r=Math.min(t,i+n);for(let e of B.current)r>=e.startTime&&(r+=e.endTime-e.startTime);zt.current?.(r,{eventType:`fast_forward`,skipSeconds:n})}else{let e=Math.max(0,i-n);for(let t of B.current)e>=t.startTime&&(e+=t.endTime-t.startTime);zt.current?.(e,{eventType:`fast_backward`,skipSeconds:n})}};navigator.mediaSession.setActionHandler(`seekforward`,t=>e(!0,t.seekOffset??void 0)),navigator.mediaSession.setActionHandler(`seekbackward`,t=>e(!1,t.seekOffset??void 0))}catch{}let h=l.getVideoElement(),ae=()=>{if(!(document.pictureInPictureElement===h||h.webkitPresentationMode===`picture-in-picture`)||D.current||P.current!==null||Bt.current!==null)return;let e=h.currentTime,t=Jt.current;if(!(Math.abs(e-t)<.5)){if(Ki.current){h.currentTime=t;return}h.currentTime=t,zt.current?.(e)}};h.addEventListener(`seeking`,ae),nn(l);let oe=Ut.current;oe&&oe.targetIdx!==0&&(Ht.current&&clearTimeout(Ht.current),Ht.current=setTimeout(()=>{Ht.current=null,!l.getBufferedRanges().some(e=>e.end>e.start)&&Qi(oe.targetIdx)},Te)),Bt.current!==null&&(F.current&&window.clearTimeout(F.current),F.current=window.setTimeout(()=>{F.current=null,P.current=null,N.current&&(N.current.style.opacity=`0`),kn(!1)},12e3)),et&&w.current&&(_t.current=!0,w.current.requestFullscreen().catch(()=>{_t.current=!1}));let g=()=>{let e=document,t=!!(document.fullscreenElement||e.webkitFullscreenElement);jn(t),t||Nn(!1);let n=l.getVideoElement();l.analytics.track(t?`fullscreen_enter`:`fullscreen_exit`,n)};document.addEventListener(`fullscreenchange`,g),document.addEventListener(`webkitfullscreenchange`,g);let se=e=>{let t=document.activeElement;if(!(t&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.getAttribute(`contenteditable`)===`true`||t.getAttribute(`role`)===`slider`))){switch(e.key.toLowerCase()){case` `:case`k`:if(e.preventDefault(),l.getVideoElement().paused)l.play();else{l.pause();try{let e=l.getVideoElement();e&&!e.paused&&e.pause()}catch{}if(E.current&&!E.current.paused)try{E.current.pause()}catch{}}break;case`arrowleft`:case`j`:if(e.preventDefault(),!Ki.current){let e=l.getCurrentTime(),t=e;for(let n of B.current)e>=n.endTime?t-=n.endTime-n.startTime:e>=n.startTime&&(t-=e-n.startTime);let n=Math.max(0,t-10);for(let e of B.current)n>=e.startTime&&(n+=e.endTime-e.startTime);zt.current?.(n,{eventType:`fast_backward`,skipSeconds:10})}break;case`arrowright`:case`l`:if(e.preventDefault(),!Ki.current){let e=l.getCurrentTime(),t=B.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),n=Math.max(0,l.getDuration()-t),r=e;for(let t of B.current)e>=t.endTime?r-=t.endTime-t.startTime:e>=t.startTime&&(r-=e-t.startTime);let i=Math.min(n,r+10);for(let e of B.current)i>=e.startTime&&(i+=e.endTime-e.startTime);zt.current?.(i,{eventType:`fast_forward`,skipSeconds:10})}break;case`arrowup`:e.preventDefault(),l.setVolume(l.getVolume()+.1);break;case`arrowdown`:e.preventDefault(),l.setVolume(l.getVolume()-.1);break;case`m`:e.preventDefault(),l.setMute(!l.isMuted());break;case`f`:e.preventDefault(),wt.current();break;case`p`:e.preventDefault(),Ki.current||l.togglePictureInPicture();break;case`c`:if(e.preventDefault(),L.enableSubtitles&&!Ki.current)if(l.subtitles.getActiveTrackId()!==`off`)l.subtitles.setActiveTrack(`off`),Kr(`off`);else{let e=Yi.current;e&&e.length>0&&(l.subtitles.setActiveTrack(e[0].id),Kr(e[0].id))}break;default:return}Zi()}};return document.addEventListener(`keydown`,se),Zi(),()=>{if(Qn.current={key:Gn,snapshot:l.analytics.getSessionSnapshot()},Yt.current){let e=Yt.current,t=l.getVideoElement();w.current&&t.ownerDocument!==document&&(t.classList.remove(`gb-pip-video`),w.current.insertBefore(t,w.current.firstChild)),Yt.current=null,Bn(null),Rn(!1),e.close()}if(l.destroy(),gt.current?.destroy(),gt.current=null,document.body.style.overflow=``,document.body.style.touchAction=``,document.removeEventListener(`fullscreenchange`,g),document.removeEventListener(`webkitfullscreenchange`,g),document.removeEventListener(`keydown`,se),Wi.current&&window.clearTimeout(Wi.current),A.current&&=(window.clearTimeout(A.current),null),Ht.current&&=(clearTimeout(Ht.current),null),jt(),Tt.current=!1,j.current&&(j.current.style.opacity=`0`),On(),h.removeEventListener(`seeking`,ae),`mediaSession`in navigator){try{navigator.mediaSession.setActionHandler(`seekto`,null)}catch{}try{navigator.mediaSession.setActionHandler(`seekforward`,null)}catch{}try{navigator.mediaSession.setActionHandler(`seekbackward`,null)}catch{}}bt.current&&=(bt.current.destroy(),null),E.current&&=(document.body.removeChild(E.current),null),Kt.current=!1,P.current=null,F.current&&=(window.clearTimeout(F.current),null)}},[e,o,fn]),(0,l.useEffect)(()=>{if(I){I.keyMoments.setKeyMoments(G);let e=w.current?.querySelector(`video`);if(e){let t=I.keyMoments.getCurrentMoment(e.currentTime);ei({chapter:t.keyMoment,index:t.index})}}},[pi,I]),(0,l.useEffect)(()=>{let e=e=>{K!==`none`&&(e.target.closest(`.sdk-menu-container`)||q(`none`))};return document.addEventListener(`click`,e),()=>{document.removeEventListener(`click`,e)}},[K]),(0,l.useEffect)(()=>{Gi.current=mn},[mn]),(0,l.useEffect)(()=>{Ki.current=Y},[Y]),(0,l.useEffect)(()=>{Ui.current=Vi},[Vi]);let X=Y||Vi;(0,l.useEffect)(()=>{Yt.current=zn},[zn]),(0,l.useEffect)(()=>{Ji.current=K},[K]),(0,l.useEffect)(()=>{if(!Y||!I)return;let e=0,t=I.getCurrentTime(),n=performance.now(),r=()=>{let i=I.getVideoElement?.(),a=I.getCurrentTime(),o=performance.now(),s;if(a!==t)t=a,n=o,s=a;else if(i&&!i.paused&&!i.ended){let e=i.playbackRate||1;s=t+(o-n)/1e3*e}else s=t;let c=Lr(a);if(c){let e=Math.min(s,a+.4,c.end),t=Math.min(100,Math.max(0,(e-c.start)/(c.end-c.start)*100));(w.current?.querySelectorAll(`.sdk-ad-progress-fill`))?.forEach(e=>{e.style.width=`${t}%`})}e=requestAnimationFrame(r)};return e=requestAnimationFrame(r),()=>cancelAnimationFrame(e)},[Y,I]),(0,l.useEffect)(()=>{Yi.current=qr},[qr]),(0,l.useEffect)(()=>{Qt.current=Xt},[Xt]),(0,l.useEffect)(()=>{B.current=z},[z]),(0,l.useEffect)(()=>{ar.current=tr},[tr]),(0,l.useEffect)(()=>{or.current=rr},[rr]),(0,l.useEffect)(()=>{ur.current=cr},[cr]),(0,l.useEffect)(()=>{Ir.current=R},[R]),(0,l.useEffect)(()=>{Wt.current=S},[S]),(0,l.useEffect)(()=>{let e=Er.current;if(!Y||!e||typeof ResizeObserver>`u`)return;let t=()=>{let t=e.getBoundingClientRect();Or(e=>e.w===t.width&&e.h===t.height?e:{w:t.width,h:t.height})};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[Y,cr]),(0,l.useEffect)(()=>{Gt.current=pt},[pt]),(0,l.useEffect)(()=>{$n.current=null,Ar(null),er.current=!1,M.current=null,Rt(null),qt.current=null,ir(null),or.current=null,sr.current=new Set,dn(!1)},[e]),(0,l.useEffect)(()=>{an(!1)},[e]),(0,l.useEffect)(()=>{Tr(!1),_r.current=!1,gr(!1)},[e]),(0,l.useEffect)(()=>{if(!I)return;let e=I.getVideoElement();if(e&&e.readyState>=1){an(!0);return}let t=()=>an(!0);return I.on(`qualitylevels`,t),e?.addEventListener(`loadedmetadata`,t),()=>{I.off(`qualitylevels`,t),e?.removeEventListener(`loadedmetadata`,t)}},[I]),(0,l.useEffect)(()=>{if(!I)return;let e=I.getVideoElement();if(e&&e.readyState>=1){Tr(!0);return}let t=()=>Tr(!0);return e?.addEventListener(`loadedmetadata`,t),()=>e?.removeEventListener(`loadedmetadata`,t)},[I]),(0,l.useEffect)(()=>{wr&&dr&&vr()},[wr,dr,vr]),(0,l.useEffect)(()=>{let e=window.setTimeout(vr,Ue);return()=>window.clearTimeout(e)},[e,vr]),(0,l.useEffect)(()=>{if(nr([]),!(!dt||!rn))return $e(dt,e=>{let t=new Set,n=[];for(let r of e.nonLinearAvails??[]){if(t.has(r.availId))continue;t.add(r.availId);let e=r.nonLinearAdsList?.[0],i=e?.nonLinearAdList?.[0];if(!i?.staticResource)continue;let a=(e?.trackingEvents??[]).filter(e=>e.eventType===`impression`).flatMap(e=>e.beaconUrls??[]),o={};try{o=JSON.parse(i.adParameters??`{}`)}catch{}let s=o.position??`bottom_center`;n.push({availId:r.availId,startTimeSeconds:Ie(r.startTime??``),durationSeconds:Ie(i.minSuggestedDuration??`00:00:15`),imageUrl:i.staticResource,imageWidth:parseInt(i.width??`320`,10),imageHeight:parseInt(i.height??`50`,10),title:i.adTitle??``,clickThrough:Le(i.clickThrough)?i.clickThrough:``,clickTrackingUrl:i.clickTracking??``,impressionBeacons:a,position:s,dismissible:o.dismissible===!0})}return n.length>0?n:null},nr)},[dt,e,rn]),(0,l.useEffect)(()=>{lr([]),Mr([]),Fr.current=0},[e]),(0,l.useEffect)(()=>{if(!x){mr();return}let e=window.setTimeout(mr,He);return()=>window.clearTimeout(e)},[x,e,mr]),(0,l.useEffect)(()=>{if(x)return $e(x,e=>{let t=[],n=[];for(let r of e.avails??[]){let e=r.ads??[];if(e.length===0)continue;let i=r.startTimeInSeconds??e[0].startTimeInSeconds??0,a=e[e.length-1],o=(a?.startTimeInSeconds??i)+(a?.durationInSeconds??0);n.push({startTime:i,endTime:r.durationInSeconds==null?Math.max(o,i):i+r.durationInSeconds}),e.forEach((n,r)=>{let i=Re(n?.skipOffset),a=i!==null,o={};try{o=JSON.parse(n?.adParameters??`{}`)}catch{}let s=o.ctaText&&Le(o.redirectUrl)?{text:o.ctaText,url:o.redirectUrl,title:o.title||void 0,description:o.description||void 0}:null,c=n.startTimeInSeconds??0,l=n.durationInSeconds??0;t.push({startTimeSeconds:c,endTimeSeconds:c+l,durationSeconds:l,skippable:a,skipOffsetSeconds:i??0,cta:s,podIndex:r,podTotal:e.length})})}return t.length>0?{pods:t,breaks:n}:null},({pods:e,breaks:t})=>{lr(e),Mr(t)},!0,mr)},[x,e,Nr,mr]),(0,l.useEffect)(()=>{if(!x||!Y)return;let e=setInterval(()=>{let e=Ir.current;ur.current.some(t=>e>=t.startTimeSeconds&&e<t.endTimeSeconds)||Fr.current>=Ve||(Fr.current+=1,Pr(e=>e+1))},Be);return()=>clearInterval(e)},[x,Y]),(0,l.useEffect)(()=>{!I||jr.length===0||(I.setAdBreaks(jr),mr())},[I,jr,mr]),(0,l.useEffect)(()=>{I&&I.setRetiredAdBreaks([...Kn])},[I,Kn]),(0,l.useEffect)(()=>{if(!x||cr.length>0){br(!0);return}br(!1);let e=window.setTimeout(()=>br(!0),Je);return()=>window.clearTimeout(e)},[x,e,cr]),(0,l.useEffect)(()=>{xr.current=!1,Cr(!1)},[e]),(0,l.useEffect)(()=>{!I||!t||!yr||xr.current||(xr.current=!0,I.play())},[I,t,yr]),(0,l.useEffect)(()=>{if(!I)return;let e=I.getVideoElement();if(!e)return;let t=e.currentTime,n=window.setInterval(()=>{if(!Tn.current){t=e.currentTime;return}if(Ut.current!==null||Bt.current!==null)return;let n=e.currentTime,r=n>t+Qe;t=n,r&&!e.paused&&!e.seeking&&kn(!1)},Ze);return()=>window.clearInterval(n)},[I,kn]),(0,l.useEffect)(()=>{!I||!Sr||!yr||(Cr(!1),xr.current=!0,I.play())},[I,Sr,yr]),(0,l.useEffect)(()=>{if(!I)return;let e=()=>{document.hidden?ct&&Ki.current&&Gi.current&&(I.pause(),er.current=!0):er.current&&=(I.play(),!1)};return document.addEventListener(`visibilitychange`,e),()=>{document.removeEventListener(`visibilitychange`,e)}},[I,ct]);let $i=()=>{Zi()},ea=()=>{et&&!_t.current&&w.current&&(_t.current=!0,w.current.requestFullscreen().catch(()=>{}))},ta=()=>{if(!I)return;let e=I.getVideoElement();if((Bt.current??C??e?.currentTime??0)<1&&(e?.currentTime??0)<1&&!yr&&x){Cr(!0),kn(!0);return}xr.current=!0,I.play()},na=()=>{if(I){if(J){I.casting.remotePlayPause(),Zi();return}if(Sr){Cr(!1),xr.current=!0,kn(!1),Zi();return}if(Vn)Z(0),ea(),ta(),Hn(!1);else if(mn){I.pause();try{let e=I.getVideoElement?.();e&&!e.paused&&e.pause()}catch{}if(w.current&&w.current.querySelectorAll(`video`).forEach(e=>{try{e.pause()}catch{}}),E.current&&!E.current.paused)try{E.current.pause()}catch{}}else ea(),ta();Zi()}},ra=e=>{if(!T.current||!I||V===0)return 0;let t=T.current.getBoundingClientRect();return U(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*V)},ia=e=>{if(!I||Y||Vi)return;St.current=!0,Fi(ra(e));let t=e=>{if(!St.current||!T.current)return;let t=T.current.getBoundingClientRect(),n=U(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*V);Fi(n),Ti(e.clientX-t.left),ki(n),E.current&&(E.current.currentTime=n),Zi()},n=e=>{if(St.current=!1,T.current){let t=T.current.getBoundingClientRect();Z(U(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*V))}Fi(null),Ti(null),ji(null),Ni(null),document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n)};document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n)},Z=(e,t)=>{if(!I)return;if(qt.current=null,J){I.casting.remoteSeek(e);return}let n=Math.max(0,_n>0?Math.min(e,_n):e);if(t){let{eventType:e,...n}=t;I.attributeNextSeek(e,n)}let r=I.getCurrentTime();if(n>r&&B.current.length>0){let e=B.current.filter(e=>e.startTime<n&&e.endTime>r&&!Wn.current.has(e.startTime)).sort((e,t)=>e.startTime-t.startTime);if(e.length>0){M.current=n,Rt(n);let t=e[e.length-1],i=Math.max(t.startTime,r);D.current=!0,O.current=i,k.current=r,gn(i),Ui.current=!0,Hi(!0);let a=Dt(I.getVideoElement());Ot.current=a,jt(),j.current&&a&&(j.current.style.transition=`none`,j.current.style.opacity=`1`),Nt(I.getVideoElement()),I.seek(i),A.current&&window.clearTimeout(A.current),A.current=window.setTimeout(()=>{D.current=!1,Ui.current=!1,Hi(!1),O.current=null,k.current=null,A.current=null,jt(),Tt.current=!1,j.current&&(j.current.style.opacity=`0`),Pt(I.getVideoElement())},3e3);return}}M.current=null,Rt(null);let i=B.current.find(e=>Wn.current.has(e.startTime)&&n>=e.startTime-.5&&n<e.endTime+2);if(i&&n<i.endTime&&Ft.current){Ft.current(i.endTime);return}let a=i?Math.max(n,i.endTime+.5):n;D.current=!0,O.current=a,k.current=r,gn(a),jt(),Tt.current=!1,j.current&&(j.current.style.opacity=`0`),Pt(I.getVideoElement()),I.seek(a),A.current&&window.clearTimeout(A.current),A.current=window.setTimeout(()=>{D.current=!1,O.current=null,k.current=null,A.current=null,jt(),Tt.current=!1,j.current&&(j.current.style.opacity=`0`)},3e3)};zt.current=Z;let aa=()=>{if(!I)return;if(J){I.casting.remoteSetMute(!(hi?.isMuted??!1));return}let e=!xn;I.setMute(e),Sn(e)},oa=e=>{I&&(I.setPlaybackRate(e),ri(e),q(`none`),li(`Playback speed: ${e===1?`Normal`:`${e}x`}`))},sa=e=>{if(!I)return;I.setQuality(e);let t=Br.find(t=>t.id===e);t&&(Ur(t),li(`Quality: ${t.label}`)),q(`none`)},ca=e=>{if(I)if(I.subtitles.setActiveTrack(e),Kr(e),q(`none`),e===`off`)li(`Captions off`);else{let t=qr.find(t=>t.id===e);li(`Captions: ${t?y(t):`on`}`)}},la=e=>{if(I){if(Ht.current&&=(clearTimeout(Ht.current),null),di(null),N.current&&(N.current.style.opacity=`1`),kn(!0),Ut.current===null){Bt.current=I.getCurrentTime();let e=qr.find(e=>e.id===W),t=Yr.find(e=>e.id===Zr);Vt.current={playbackRate:ni,volume:yn,muted:xn,subtitleId:W,subtitleLang:e?.lang??null,audioLang:t&&Zr!==0?t.lang:null,audioLabel:t&&Zr!==0?t.label:null,qualityHeight:Hr.id===-1?null:Hr.height}}Ut.current={targetIdx:e},q(`none`),li(`Source: ${S?.[e]?.label??``}`),pt?.(e)}},ua=(e,t)=>{Z(e,{eventType:`key_moments`,momentTitle:t?.title??``,momentTime:e}),q(`none`)},da=(0,l.useCallback)(()=>{if(!Yt.current)return;let e=I?.getVideoElement?.();e&&w.current&&e.ownerDocument!==document&&(e.classList.remove(`gb-pip-video`),e.style.objectFit=``,w.current.insertBefore(e,w.current.firstChild)),Yt.current=null,Bn(null),Rn(!1)},[I]),fa=async()=>{if(!I)return;let e=window.documentPictureInPicture;if(!e){I.togglePictureInPicture();return}if(Yt.current){Yt.current.close();return}try{let t=I.getVideoElement(),n=t.videoWidth&&t.videoHeight?t.videoWidth/t.videoHeight:16/9,r=await e.requestWindow({width:360,height:Math.round(360/n)}),i=r.document.createElement(`style`);i.textContent=De,r.document.head.appendChild(i),t.classList.add(`gb-pip-video`),r.document.body.appendChild(t),r.addEventListener(`pagehide`,()=>da(),{once:!0}),Yt.current=r,Bn(r),Rn(!0)}catch(e){console.error(`[PlayerSDK PiP] Failed to open custom Picture-in-Picture window:`,e)}},pa=e=>{if(Y||Vi)return;let t=e.currentTarget.getBoundingClientRect();Z(U(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*V))},ma=()=>{if(!w.current)return;let e=w.current,t=document,n=e,r=!!(document.fullscreenElement||t.webkitFullscreenElement),i=()=>{Nn(!0),jn(!0),document.body.style.overflow=`hidden`,document.body.style.touchAction=`none`,I?.analytics.track(`fullscreen_enter`,I.getVideoElement())},a=()=>{Nn(!1),jn(!1),document.body.style.overflow=``,document.body.style.touchAction=``,I?.analytics.track(`fullscreen_exit`,I.getVideoElement())};if(r||Mn)Fn(!1),document.fullscreenElement?document.exitFullscreen():t.webkitFullscreenElement?t.webkitExitFullscreen?.():a();else{Fn(Qt.current);let t=e.requestFullscreen?.bind(e)??n.webkitRequestFullscreen?.bind(n);t?t().catch(i):i()}};(0,l.useEffect)(()=>{wt.current=ma});let ha=()=>{if(!Y)return;let e=z.find(e=>R>=e.startTime&&R<e.endTime),t=cr.find(e=>R>=e.startTimeSeconds&&R<e.endTimeSeconds);if(t){let n=t.podIndex>=t.podTotal-1;Ft.current?.(n?e?.endTime??t.endTimeSeconds:t.endTimeSeconds,!n);return}e&&Ft.current?.(e.endTime)},ga=()=>{or.current&&sr.current.add(or.current.availId),ir(null),or.current=null},_a=e=>{e.clickTrackingUrl&&fetch(e.clickTrackingUrl,{mode:`no-cors`}).catch(()=>{}),e.clickThrough&&window.open(e.clickThrough,`_blank`,`noopener,noreferrer`)},va=e=>{window.open(e.url,`_blank`,`noopener,noreferrer`)},ya=()=>{I&&(J?I.casting.stopCasting():I.casting.requestSession(e,R))},ba=()=>{if(!I)return;let e=I.getVideoElement();if(bi){I.casting.stopAirPlay(e);return}typeof e.webkitShowPlaybackTargetPicker==`function`||I.casting.isAirPlayAvailable()?I.casting.requestAirPlaySession(e):console.warn(`[PlayerSDK AirPlay] AirPlay is not available on this device.`)},xa=e=>{if(!T.current||V===0||!I||Y||Vi)return;let t=T.current.getBoundingClientRect();vt.current=t.width,Di(Math.max(192/2,Math.min(e.clientX-t.left,t.width-192/2)));let n=U(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*V);Ti(e.clientX-t.left),ki(n),xt.current&&window.clearTimeout(xt.current),xt.current=window.setTimeout(()=>{E.current&&(E.current.currentTime=n)},100),Ni(I.keyMoments.getCurrentMoment(n).keyMoment)},Sa=e=>{if(!T.current||V===0)return 0;let t=T.current.getBoundingClientRect();return U(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*V)},Ca=e=>{if(!I||Y||Vi||V===0)return;e.preventDefault(),St.current=!0,Fi(Sa(e.touches[0]));let t=e=>{if(!St.current||!T.current)return;let t=e.touches[0],n=T.current.getBoundingClientRect(),r=U(Math.max(0,Math.min(1,(t.clientX-n.left)/n.width))*V);Fi(r),ki(r),Zi()},n=e=>{if(St.current=!1,T.current&&e.changedTouches[0]){let t=e.changedTouches[0],n=T.current.getBoundingClientRect();Z(U(Math.max(0,Math.min(1,(t.clientX-n.left)/n.width))*V))}Fi(null),document.removeEventListener(`touchmove`,t),document.removeEventListener(`touchend`,n)};document.addEventListener(`touchmove`,t,{passive:!1}),document.addEventListener(`touchend`,n)},wa=()=>{Ti(null),ji(null),Ni(null),xt.current&&window.clearTimeout(xt.current)},Q=e=>{if(isNaN(e)||e<0)return`00:00`;let t=Math.floor(e),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60,a=e=>String(e).padStart(2,`0`);return n>0?`${a(n)}:${a(r)}:${a(i)}`:`${a(r)}:${a(i)}`};(0,l.useEffect)(()=>{fi.current&&li(mn?`Playing`:`Paused`)},[mn]),(0,l.useEffect)(()=>{fi.current&&li(xn?`Muted`:`Unmuted`)},[xn]),(0,l.useEffect)(()=>{fi.current=!0},[]),(0,l.useEffect)(()=>{let e=e=>{e.key===`Escape`&&Ji.current!==`none`&&(e.preventDefault(),q(`none`))};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[]);let Ta=J?!(hi?.isPaused??!0):mn||Sr,$=J?hi?.currentTime??0:R,Ea=Pi===null?Lt??R:Pi,Da=J?hi?.duration??0:V,Oa=J?hi?.volumeLevel??1:yn,ka=J?hi?.isMuted??!1:xn,Aa=(0,l.useCallback)(e=>{if(Y||Vi||e.target.closest(`.sdk-mobile-ctrl`))return;let t=Date.now(),n=w.current?.getBoundingClientRect(),r=e.clientX-(n?.left??0),i=$t.current;if(i&&t-i.time<300){$t.current=null;let e=r<(n?.width??0)/2,t=e?-10:10;Z(U(Math.max(0,Math.min(V,H($)+t))),{eventType:e?`fast_backward`:`fast_forward`,skipSeconds:10}),tn(e?`left`:`right`),window.setTimeout(()=>tn(null),700),Zi()}else $t.current={time:t,x:r},Ri?(zi(!1),Wi.current&&window.clearTimeout(Wi.current)):Zi()},[Y,Vi,V,H,$,U,Z,Ri]),ja=()=>ka||Oa===0?(0,d.jsx)(Ce,{size:18}):Oa<.3?(0,d.jsx)(we,{size:18}):Oa<.7?(0,d.jsx)(xe,{size:18}):(0,d.jsx)(Se,{size:18}),Ma=e=>t=>{t.key===`Enter`||t.key===` `?(t.preventDefault(),e()):t.key===`Escape`&&(t.preventDefault(),q(`none`))},Na=e=>t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e())},Pa=e=>{if(!(Y||Vi))if(e.key===`ArrowLeft`||e.key===`ArrowRight`){e.preventDefault();let t=e.key===`ArrowLeft`?-5:5;Z(U(Math.max(0,Math.min(V,H($)+t))))}else e.key===`Home`?(e.preventDefault(),Z(U(0))):e.key===`End`&&(e.preventDefault(),Z(U(V)))},Fa=e=>{q(K===e?`none`:e)},Ia=(0,l.useCallback)(e=>{if(!e)return;e.style.left=``;let t=w.current;if(!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.right-(r.right-8),a=r.left+8-n.left;i>0?e.style.left=`calc(50% - ${Math.ceil(i)}px)`:a>0&&(e.style.left=`calc(50% + ${Math.ceil(a)}px)`)},[]);return(0,d.jsxs)(`div`,{ref:w,role:`region`,"aria-label":it||Ii?`${it||Ii} video player`:`Video player`,className:`sdk-player-container ${Ri?`controls-active`:``} ${Mn?`sdk-fs-simulated`:``}`,onMouseMove:$i,onTouchStart:In?void 0:Zi,onMouseLeave:()=>{},style:{border:Mn?`none`:`1px solid rgba(255, 255, 255, 0.08)`,"--sdk-theme-color":s,"--sdk-theme-color-rgb":Me(s)},children:[(0,d.jsx)(`canvas`,{ref:yt,width:160,height:90,style:{display:`none`,position:`absolute`,pointerEvents:`none`},"aria-hidden":`true`}),(0,d.jsx)(`div`,{role:`status`,"aria-live":`polite`,"aria-atomic":`true`,className:`sdk-sr-only`,children:ci}),(0,d.jsx)(`div`,{ref:j,style:{opacity:0,position:`absolute`,inset:0,background:`#000`,zIndex:100,pointerEvents:`none`,willChange:`opacity`},"aria-hidden":`true`,children:(0,d.jsx)(`canvas`,{ref:Et,className:`sdk-ad-cover-frame`,style:{width:`100%`,height:`100%`,objectFit:`contain`,display:`block`},"aria-hidden":`true`})}),zn&&(0,d.jsxs)(`div`,{className:`sdk-pip-placeholder`,"aria-hidden":`true`,children:[(0,d.jsx)(_e,{size:32,"aria-hidden":`true`}),(0,d.jsx)(`span`,{children:`Playing in Picture-in-Picture`})]}),(0,d.jsx)(`div`,{ref:N,style:{opacity:C&&C>0?1:0,position:`absolute`,inset:0,background:`#000`,zIndex:100,pointerEvents:`none`,willChange:`opacity`},"aria-hidden":`true`}),(0,d.jsx)(`div`,{className:`sdk-spinner-overlay ${Cn?`active`:``}`,"aria-hidden":`true`,children:(0,d.jsx)(`div`,{className:`sdk-spinner`})}),un&&(0,d.jsx)(`div`,{style:{position:`absolute`,inset:0,zIndex:50,background:`rgba(9,9,14,0.96)`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:20,padding:`0 24px`},children:(0,d.jsx)(f,{onRetry:()=>{dn(!1),pn(e=>e+1)}})}),ui&&(0,d.jsx)(`div`,{style:{position:`absolute`,top:`50%`,left:`50%`,transform:`translate(-50%, calc(-50% + 70px))`,background:`rgba(0,0,0,0.82)`,color:`#fff`,fontSize:13,fontWeight:500,padding:`8px 16px`,borderRadius:8,zIndex:102,pointerEvents:`none`,maxWidth:`85%`,textAlign:`center`,backdropFilter:`blur(8px)`,border:`1px solid rgba(255,255,255,0.12)`},children:ui}),L.enableSubtitles&&!Y&&Wr&&W!==`off`&&(0,d.jsx)(`div`,{className:`sdk-subtitles-overlay`,children:(0,d.jsx)(`span`,{className:`sdk-subtitles-text`,style:{fontSize:b.size===`small`?`14px`:b.size===`large`?`24px`:`18px`,color:b.color??`#ffffff`,background:b.background===`none`?`transparent`:b.background===`solid`?`rgba(0, 0, 0, 0.92)`:`rgba(15, 23, 42, 0.78)`,border:b.background===`none`?`none`:`1px solid rgba(255,255,255,0.08)`,backdropFilter:b.background===`none`?`none`:`blur(8px)`},dangerouslySetInnerHTML:{__html:Wr}})}),rr&&(0,d.jsxs)(`div`,{className:`sdk-overlay-ad sdk-overlay-ad--${rr.position}`,role:`complementary`,"aria-label":`Advertisement`,children:[(0,d.jsxs)(`div`,{className:`sdk-overlay-ad-topbar`,children:[(0,d.jsx)(`span`,{className:`sdk-overlay-ad-label`,children:`Ad`}),rr.dismissible&&(0,d.jsx)(`button`,{className:`sdk-overlay-ad-close`,onClick:ga,"aria-label":`Close advertisement`,children:`✕`})]}),(0,d.jsx)(`img`,{src:rr.imageUrl,width:rr.imageWidth,height:rr.imageHeight,alt:rr.title||`Advertisement`,className:`sdk-overlay-ad-img`,onClick:()=>_a(rr)})]}),Y&&(()=>{let e=kr&&R<kr.startTime?kr.startTime:R,t=cr.find(t=>e>=t.startTimeSeconds&&e<t.endTimeSeconds),n=z.find(t=>e>=t.startTime&&e<t.endTime)??kr,r=t?Math.max(0,t.endTimeSeconds-e):n?Math.max(0,n.endTime-e):0,i=t?e-t.startTimeSeconds:n?e-n.startTime:0,a=!!t&&t.podTotal>1,o=t?t.skippable:lt,s=t?t.skipOffsetSeconds:ut,c=o&&i>=s,l=Math.ceil(s-i),u=i+r,ee=u>0?Math.min(1,Math.max(0,i/u)):0,f=2.5,{w:te,h:ne}=Dr,re=Math.max(0,te-f),ie=Math.max(0,ne-f),p=Math.min(22-f/2,ie/2),m=Math.max(0,re-2*p),h=Math.max(0,ie-2*p),ae=`M${1.25+p+m/2},1.25h${m/2}a${p},${p} 0 0 1 ${p},${p}v${h}a${p},${p} 0 0 1 ${-p},${p}h${-m}a${p},${p} 0 0 1 ${-p},${-p}v${-h}a${p},${p} 0 0 1 ${p},${-p}h${m/2}`,oe=2*m+2*h+2*Math.PI*p;return(0,d.jsxs)(d.Fragment,{children:[(x?!!t:!0)&&(0,d.jsxs)(`div`,{ref:Er,className:`sdk-ad-countdown`,role:`timer`,"aria-label":a?`Advertisement ${t.podIndex+1} of ${t.podTotal} — ${Q(r)} remaining`:`Advertisement — ${Q(r)} remaining`,"aria-live":`off`,children:[te>0&&ne>0&&(0,d.jsxs)(`svg`,{className:`sdk-ad-countdown-border`,width:te,height:ne,viewBox:`0 0 ${te} ${ne}`,"aria-hidden":`true`,children:[(0,d.jsx)(`path`,{className:`sdk-ad-countdown-border-track`,d:ae,strokeWidth:f}),(0,d.jsx)(`path`,{className:`sdk-ad-countdown-border-fill`,d:ae,strokeWidth:f,strokeDasharray:oe,strokeDashoffset:oe*(1-ee)})]}),(0,d.jsx)(`span`,{className:`sdk-ad-countdown-badge`,"aria-hidden":`true`,children:`Ad`}),a&&(0,d.jsxs)(`span`,{className:`sdk-ad-countdown-count`,"aria-hidden":`true`,children:[t.podIndex+1,` of `,t.podTotal]}),(0,d.jsx)(`span`,{className:`sdk-ad-countdown-sep`,"aria-hidden":`true`}),(0,d.jsx)(`span`,{className:`sdk-ad-countdown-time`,"aria-hidden":`true`,children:Q(r)})]}),o&&(0,d.jsx)(`button`,{className:`sdk-skip-ad-btn ${c?`sdk-skip-ad-btn--ready`:``}`,onClick:c?ha:void 0,disabled:!c,"aria-label":c?`Skip advertisement`:`Skip advertisement available in ${l} seconds`,"aria-disabled":!c,children:c?`Skip Ad ›`:`Skip in ${l}s`}),t?.cta&&(()=>{let e=t.cta,n=(0,d.jsxs)(`button`,{className:`sdk-ad-cta-btn`,onClick:()=>va(e),"aria-label":`${e.text} — opens advertiser site in a new tab`,children:[(0,d.jsx)(`span`,{className:`sdk-ad-cta-btn-text`,children:e.text}),(0,d.jsx)(de,{size:15,"aria-hidden":`true`})]});return(0,d.jsx)(`div`,{className:`sdk-ad-cta`,role:`complementary`,"aria-label":`Advertisement call to action`,children:e.title?(0,d.jsxs)(`div`,{className:`sdk-ad-cta-card`,children:[(0,d.jsxs)(`div`,{className:`sdk-ad-cta-info`,children:[(0,d.jsx)(`div`,{className:`sdk-ad-cta-title`,children:e.title}),e.description&&(0,d.jsx)(`div`,{className:`sdk-ad-cta-desc`,children:e.description})]}),n]}):n})})()]})})(),ln&&(0,d.jsx)(`div`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`rgba(0,0,0,0.72)`,color:`#fff`,zIndex:60},children:(0,d.jsxs)(`div`,{style:{maxWidth:480,textAlign:`center`,padding:24},children:[(0,d.jsx)(`h3`,{style:{margin:`0 0 8px`},children:`Playback restricted`}),(0,d.jsx)(`p`,{style:{margin:0},children:`Your account is missing a required license key. Please contact your administrator.`})]})}),(J||bi)&&(0,d.jsx)(`div`,{className:`sdk-cast-bg`}),In&&(0,d.jsxs)(`div`,{className:`sdk-mobile-overlay ${Ri?`active`:``}`,onClick:Aa,children:[en&&(0,d.jsx)(`div`,{className:`sdk-mobile-doubletap ${en}`,children:(0,d.jsxs)(`div`,{className:`sdk-mobile-doubletap-icon`,children:[en===`left`?(0,d.jsx)(ye,{size:26}):(0,d.jsx)(be,{size:26}),(0,d.jsx)(`span`,{className:`sdk-mobile-doubletap-label`,children:`10s`})]})}),m&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`div`,{className:`sdk-mobile-header sdk-mobile-ctrl`,children:[(0,d.jsxs)(`div`,{className:`sdk-mobile-header-left`,children:[(An||Mn)&&(0,d.jsx)(`button`,{className:`sdk-mobile-back-btn`,onClick:ma,"aria-label":`Exit fullscreen`,children:(0,d.jsx)(ue,{size:22,"aria-hidden":`true`})}),(it||Ii)&&(0,d.jsx)(`div`,{className:`sdk-mobile-title`,children:it||Ii})]}),(0,d.jsxs)(`div`,{className:`sdk-mobile-header-actions`,children:[L.enablePiP&&(0,d.jsx)(`button`,{className:`sdk-mobile-hdr-btn`,onClick:()=>{Y||fa()},style:{color:Ln?s:``},"aria-label":Ln?`Exit picture-in-picture`:`Enter picture-in-picture`,"aria-pressed":Ln,children:(0,d.jsx)(_e,{size:20,"aria-hidden":`true`})}),L.enableChromecast&&!Y&&(0,d.jsx)(`button`,{className:`sdk-mobile-hdr-btn`,onClick:ya,"data-tooltip":J?`Casting to ${J} — tap to disconnect`:`Cast to device`,"aria-label":J?`Stop casting to ${J}`:`Cast to device`,"aria-pressed":!!J,style:{color:J?`#3b82f6`:``},children:(0,d.jsx)(le,{size:20,fill:J?`currentColor`:`none`,"aria-hidden":`true`})}),L.allowAirplay&&vi&&(0,d.jsx)(`button`,{className:`sdk-mobile-hdr-btn`,onClick:ba,"aria-label":bi?`Stop AirPlay to ${Si||`device`}`:`AirPlay to device`,"aria-pressed":bi,style:{color:bi?s:``},children:(0,d.jsx)(se,{size:20,"aria-hidden":`true`})})]})]}),(0,d.jsxs)(`div`,{className:`sdk-mobile-center-controls sdk-mobile-ctrl`,children:[!Y&&(0,d.jsxs)(`button`,{className:`sdk-mobile-seek-btn`,onClick:()=>Z(U(Math.max(0,H($)-10)),{eventType:`fast_backward`,skipSeconds:10}),"aria-label":`Rewind 10 seconds`,children:[(0,d.jsx)(ye,{size:22,"aria-hidden":`true`}),(0,d.jsx)(`span`,{className:`sdk-mobile-seek-label`,"aria-hidden":`true`,children:`10`})]}),(0,d.jsx)(`button`,{className:`sdk-mobile-play-btn`,onClick:na,"aria-label":Vn?`Replay`:Ta?`Pause`:`Play`,children:Vn?(0,d.jsx)(ye,{size:38,"aria-hidden":`true`}):Ta?(0,d.jsx)(v,{size:38,fill:`currentColor`,"aria-hidden":`true`}):(0,d.jsx)(ve,{size:38,fill:`currentColor`,style:{marginLeft:`3px`},"aria-hidden":`true`})}),!Y&&(0,d.jsxs)(`button`,{className:`sdk-mobile-seek-btn`,onClick:()=>Z(U(Math.min(V,H($)+10)),{eventType:`fast_forward`,skipSeconds:10}),"aria-label":`Skip forward 10 seconds`,children:[(0,d.jsx)(be,{size:22,"aria-hidden":`true`}),(0,d.jsx)(`span`,{className:`sdk-mobile-seek-label`,"aria-hidden":`true`,children:`10`})]})]}),(0,d.jsxs)(`div`,{className:`sdk-mobile-bottom-bar sdk-mobile-ctrl`,children:[L.enableKeyMoments&&ii&&G.length>0&&(0,d.jsx)(`div`,{className:`sdk-mobile-chapters-scroll`,children:G.map((e,t)=>{let n=$r.index===t;return(0,d.jsxs)(`div`,{role:`button`,tabIndex:0,className:`sdk-mobile-chapter-card${n?` active`:``}`,style:{borderColor:n?s:void 0},"aria-label":`${e.title}, ${Q(e.startTime)}${n?`, current chapter`:``}`,"aria-current":n?`true`:void 0,onClick:()=>{ua(e.startTime,e)},onKeyDown:Na(()=>ua(e.startTime,e)),children:[(0,d.jsxs)(`div`,{className:`sdk-mobile-chapter-thumb`,children:[oi[t]||e.thumbnail?(0,d.jsx)(`img`,{src:oi[t]||e.thumbnail,alt:``,"aria-hidden":`true`,style:{width:`100%`,height:`100%`,objectFit:`cover`,display:`block`}}):(0,d.jsx)(me,{size:16,"aria-hidden":`true`,style:{color:n?s:`rgba(255,255,255,0.3)`}}),(0,d.jsx)(`span`,{className:`sdk-mobile-chapter-time-badge`,"aria-hidden":`true`,children:Q(e.startTime)})]}),(0,d.jsx)(`div`,{className:`sdk-mobile-chapter-title`,style:{color:n?s:void 0},children:e.title})]},t)})}),(0,d.jsx)(`div`,{ref:T,role:X?void 0:`slider`,"aria-label":X?void 0:`Seek`,"aria-valuemin":X?void 0:0,"aria-valuemax":X?void 0:Math.round(V),"aria-valuenow":X?void 0:Math.round(H(Ea)),"aria-valuetext":X?void 0:`${Q(H(Ea))} of ${Q(V)}`,tabIndex:X?void 0:0,className:`sdk-seekbar-container sdk-mobile-seekbar${Y?` sdk-ad-mode`:``}`,onMouseDown:X?void 0:ia,onMouseMove:X?void 0:xa,onMouseLeave:X?void 0:wa,onTouchStart:X?void 0:Ca,onKeyDown:X?void 0:Pa,style:{pointerEvents:X?`none`:void 0,touchAction:`none`},children:Y?(0,d.jsx)(`div`,{className:`sdk-ad-progress-fill`,style:{width:(()=>{let e=I?I.getCurrentTime():R,t=Lr(e);return t?`${Math.min(100,Math.max(0,(e-t.start)/(t.end-t.start)*100))}%`:`0%`})()}}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(`div`,{className:`sdk-seekbar-buffered`,style:{width:`${_n?(I&&I.getBufferedRanges()[0]?.end||0)/_n*100:0}%`}}),V>0&&z.filter(e=>!Kn.has(e.startTime)).map((e,t)=>(0,d.jsx)(`div`,{className:`sdk-seekbar-adbreak`,style:{left:`${H(e.startTime)/V*100}%`,width:`3px`}},t)),(0,d.jsx)(`div`,{className:`sdk-seekbar-progress`,style:{width:J?`${Da>0?$/Da*100:0}%`:`${V?H(Ea)/V*100:0}%`,background:`#ffffff`,boxShadow:`none`},children:(0,d.jsx)(`div`,{className:`sdk-seekbar-handle`,style:{opacity:1,transform:`scale(1)`}})}),L.enableKeyMoments&&G.map((e,t)=>V===0?null:(0,d.jsx)(`div`,{className:`sdk-seekbar-chapter-marker sdk-desktop-chapter-dot`,style:{left:`${H(e.startTime)/V*100}%`}},t))]})}),(0,d.jsxs)(`div`,{className:`sdk-mobile-controls-row`,children:[!Y&&(0,d.jsx)(`span`,{className:`sdk-time-display`,children:J?`${Q($)} / ${Q(Da)}`:`${Q(H(Ea))} / ${Q(V)}`}),(0,d.jsxs)(`div`,{className:`sdk-mobile-bottom-icons`,children:[L.enableKeyMoments&&G.length>0&&!Y&&(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${ii?` active`:``}`,onClick:()=>{ai(!ii)},"aria-label":ii?`Hide chapters`:`Show chapters`,"aria-pressed":ii,children:(0,d.jsx)(me,{size:18,"aria-hidden":`true`})}),L.enableSubtitles&&!Y&&qr.some(e=>!e.isNative)&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${W===`off`?``:` active`}`,onClick:()=>{Fa(`subtitles`)},"aria-label":`Captions`,"aria-haspopup":`listbox`,"aria-expanded":K===`subtitles`,children:(0,d.jsx)(ce,{size:18,"aria-hidden":`true`})}),K===`subtitles`&&(0,d.jsxs)(`div`,{ref:Ia,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Captions`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Subtitles`}),(0,d.jsxs)(`div`,{role:`option`,"aria-selected":W===`off`,tabIndex:0,className:`sdk-dropup-item ${W===`off`?`active`:``}`,onClick:()=>ca(`off`),onKeyDown:Ma(()=>ca(`off`)),children:[(0,d.jsx)(`span`,{children:`Off`}),W===`off`&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]}),qr.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":W===e.id,tabIndex:0,className:`sdk-dropup-item ${W===e.id?`active`:``}`,onClick:()=>ca(e.id),onKeyDown:Ma(()=>ca(e.id)),children:[(0,d.jsx)(`span`,{children:y(e)}),W===e.id&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]},e.id))]})]}),L.allowMultipleAudio&&Yr.length>1&&!Y&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${K===`audio`?` active`:``}`,onClick:()=>{Fa(`audio`)},"aria-label":`Audio track`,"aria-haspopup":`listbox`,"aria-expanded":K===`audio`,children:(0,d.jsx)(pe,{size:18,"aria-hidden":`true`})}),K===`audio`&&(0,d.jsxs)(`div`,{ref:Ia,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Audio track`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Audio Track`}),Yr.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Zr===e.id,tabIndex:0,className:`sdk-dropup-item ${Zr===e.id?`active`:``}`,onClick:()=>{I?.setAudioTrack(e.id),Qr(e.id),q(`none`),li(`Audio: ${y(e)}`)},onKeyDown:Ma(()=>{I?.setAudioTrack(e.id),Qr(e.id),q(`none`),li(`Audio: ${y(e)}`)}),children:[(0,d.jsx)(`span`,{children:y(e)}),Zr===e.id&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]},e.id))]})]}),L.enablePlaybackSpeed&&!Y&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${K===`speed`?` active`:``}`,onClick:()=>{Fa(`speed`)},"aria-label":`Playback speed`,"aria-haspopup":`listbox`,"aria-expanded":K===`speed`,children:(0,d.jsx)(fe,{size:18,"aria-hidden":`true`})}),K===`speed`&&(0,d.jsxs)(`div`,{ref:Ia,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Playback speed`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Speed`}),[.5,.75,1,1.25,1.5,2].map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":ni===e,tabIndex:0,className:`sdk-dropup-item ${ni===e?`active`:``}`,onClick:()=>oa(e),onKeyDown:Ma(()=>oa(e)),children:[(0,d.jsx)(`span`,{children:e===1?`Normal`:`${e}x`}),ni===e&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]},e))]})]}),L.enableQuality&&!Y&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${Hr.id===-1?``:` active`}`,onClick:()=>{Fa(`quality`)},"aria-label":`Video quality`,"aria-haspopup":`listbox`,"aria-expanded":K===`quality`,children:(0,d.jsx)(Ae,{size:18,"aria-hidden":`true`})}),K===`quality`&&(0,d.jsxs)(`div`,{ref:Ia,className:`sdk-dropup-menu large`,role:`listbox`,"aria-label":`Video quality`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Quality`}),Br.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Hr.id===e.id,tabIndex:0,className:`sdk-dropup-item ${Hr.id===e.id?`active`:``}`,onClick:()=>sa(e.id),onKeyDown:Ma(()=>sa(e.id)),children:[(0,d.jsx)(`span`,{children:e.label}),Hr.id===e.id&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]},e.id))]})]}),S&&S.length>1&&!Y&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${K===`sources`?` active`:``}`,onClick:()=>{Fa(`sources`)},"aria-label":`Select source`,"aria-haspopup":`listbox`,"aria-expanded":K===`sources`,children:(0,d.jsx)(je,{size:18,"aria-hidden":`true`})}),K===`sources`&&(0,d.jsxs)(`div`,{ref:Ia,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Select source`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Source`}),S.map((e,t)=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":ft===t,tabIndex:0,className:`sdk-dropup-item ${ft===t?`active`:``}`,onClick:()=>la(t),onKeyDown:Ma(()=>la(t)),children:[(0,d.jsx)(`span`,{children:e.label}),ft===t&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]},t))]})]}),(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn`,onClick:ma,"aria-label":An||Mn?`Exit fullscreen`:`Enter fullscreen`,"aria-pressed":An||Mn,children:An?(0,d.jsx)(ge,{size:18,"aria-hidden":`true`}):(0,d.jsx)(he,{size:18,"aria-hidden":`true`})})]})]})]})]})]}),!In&&(0,d.jsxs)(`div`,{className:`sdk-controls-overlay`,onClick:e=>{Y||e.target.closest(`.sdk-desktop-header`)||e.target.closest(`.sdk-desktop-center-controls`)||e.target.closest(`.sdk-desktop-bottom`)||na()},children:[(0,d.jsxs)(`div`,{className:`sdk-desktop-header`,children:[(0,d.jsxs)(`div`,{className:`sdk-desktop-header-left`,children:[(An||Mn)&&(0,d.jsx)(`button`,{className:`sdk-desktop-back-btn`,onClick:e=>{e.stopPropagation(),ma()},"aria-label":`Exit fullscreen`,children:(0,d.jsx)(ue,{size:22,"aria-hidden":`true`})}),(it||Ii)&&(0,d.jsx)(`span`,{className:`sdk-desktop-title`,children:it||Ii})]}),(0,d.jsxs)(`div`,{className:`sdk-desktop-header-right`,children:[L.enableChromecast&&!Y&&(0,d.jsx)(`button`,{className:`sdk-desktop-hdr-btn`,onClick:e=>{e.stopPropagation(),ya()},"data-tooltip":J?`Casting to ${J} — click to disconnect`:`Cast to device`,"aria-label":J?`Stop casting to ${J}`:`Cast to device`,"aria-pressed":!!J,style:{color:J?`#3b82f6`:``},children:(0,d.jsx)(le,{size:20,fill:J?`currentColor`:`none`,"aria-hidden":`true`})}),J&&(0,d.jsxs)(`span`,{className:`sdk-cast-indicator`,"aria-hidden":`true`,children:[(0,d.jsx)(le,{size:10,fill:`currentColor`,"aria-hidden":`true`}),J]}),L.allowAirplay&&vi&&(0,d.jsx)(`button`,{className:`sdk-desktop-hdr-btn`,onClick:e=>{e.stopPropagation(),ba()},"data-tooltip":bi?`AirPlay to ${Si||`device`} — click to disconnect`:`AirPlay to device`,"aria-label":bi?`Stop AirPlay to ${Si||`device`}`:`AirPlay to device`,"aria-pressed":bi,style:{color:bi?s:``},children:(0,d.jsx)(se,{size:20,"aria-hidden":`true`})})]})]}),m&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`div`,{className:`sdk-desktop-center-controls`,style:{pointerEvents:`none`},children:[!Y&&(0,d.jsx)(`button`,{className:`sdk-desktop-seek-btn`,style:{pointerEvents:`auto`},onClick:e=>{e.stopPropagation(),Z(U(Math.max(0,H($)-10)),{eventType:`fast_backward`,skipSeconds:10})},"aria-label":`Rewind 10 seconds`,children:(0,d.jsxs)(`div`,{style:{position:`relative`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,d.jsx)(ye,{size:30,"aria-hidden":`true`}),(0,d.jsx)(`span`,{className:`sdk-desktop-seek-label`,"aria-hidden":`true`,children:`10`})]})}),(0,d.jsx)(`button`,{className:`sdk-desktop-play-btn`,style:{pointerEvents:`auto`},onClick:e=>{e.stopPropagation(),na()},"aria-label":Vn?`Replay`:Ta?`Pause`:`Play`,children:Vn?(0,d.jsx)(ye,{size:38,"aria-hidden":`true`}):Ta?(0,d.jsx)(v,{size:38,fill:`currentColor`,"aria-hidden":`true`}):(0,d.jsx)(ve,{size:38,fill:`currentColor`,style:{marginLeft:`4px`},"aria-hidden":`true`})}),!Y&&(0,d.jsx)(`button`,{className:`sdk-desktop-seek-btn`,style:{pointerEvents:`auto`},onClick:e=>{e.stopPropagation(),Z(U(Math.min(V,H($)+10)),{eventType:`fast_forward`,skipSeconds:10})},"aria-label":`Skip forward 10 seconds`,children:(0,d.jsxs)(`div`,{style:{position:`relative`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,d.jsx)(be,{size:30,"aria-hidden":`true`}),(0,d.jsx)(`span`,{className:`sdk-desktop-seek-label`,"aria-hidden":`true`,children:`10`})]})})]}),L.enableKeyMoments&&ii&&G.length>0&&at===`panel`&&(0,d.jsxs)(`div`,{className:`sdk-chapters-panel`,onClick:e=>e.stopPropagation(),children:[(0,d.jsx)(`div`,{className:`sdk-chapters-panel-header`,children:(0,d.jsx)(`span`,{className:`sdk-chapters-panel-title`,children:`Chapters`})}),(0,d.jsx)(`div`,{className:`sdk-chapters-panel-list`,children:G.map((e,t)=>{let n=$r.index===t;return(0,d.jsxs)(`div`,{role:`button`,tabIndex:0,className:`sdk-chapters-panel-item${n?` active`:``}`,"aria-label":`${e.title}, ${Q(e.startTime)}${n?`, current chapter`:``}`,"aria-current":n?`true`:void 0,onClick:()=>ua(e.startTime,e),onKeyDown:Na(()=>ua(e.startTime,e)),children:[(0,d.jsx)(`div`,{className:`sdk-chapters-panel-thumb`,children:oi[t]||e.thumbnail?(0,d.jsx)(`img`,{src:oi[t]||e.thumbnail,alt:``,"aria-hidden":`true`,style:{width:`100%`,height:`100%`,objectFit:`cover`,display:`block`}}):(0,d.jsx)(me,{size:18,"aria-hidden":`true`,style:{color:`rgba(255,255,255,0.3)`}})}),(0,d.jsxs)(`div`,{className:`sdk-chapters-panel-info`,children:[(0,d.jsx)(`div`,{className:`sdk-chapters-panel-item-title`,children:e.title}),e.description&&(0,d.jsx)(`div`,{className:`sdk-chapters-panel-item-desc`,children:e.description}),(0,d.jsx)(`div`,{className:`sdk-chapters-panel-item-time`,"aria-hidden":`true`,children:Q(e.startTime)})]})]},t)})})]}),(0,d.jsxs)(`div`,{className:`sdk-desktop-bottom`,children:[L.enableKeyMoments&&ii&&G.length>0&&at===`strip`&&(0,d.jsx)(`div`,{className:`sdk-desktop-chapters-strip`,children:G.map((e,t)=>{let n=$r.index===t;return(0,d.jsxs)(`div`,{role:`button`,tabIndex:0,className:`sdk-desktop-chapter-card${n?` active`:``}`,"aria-label":`${e.title}, ${Q(e.startTime)}${n?`, current chapter`:``}`,"aria-current":n?`true`:void 0,onClick:t=>{t.stopPropagation(),ua(e.startTime,e)},onKeyDown:Na(()=>ua(e.startTime,e)),children:[(0,d.jsx)(`div`,{className:`sdk-desktop-chapter-thumb`,children:oi[t]||e.thumbnail?(0,d.jsx)(`img`,{src:oi[t]||e.thumbnail,alt:``,"aria-hidden":`true`,style:{width:`100%`,height:`100%`,objectFit:`cover`,display:`block`}}):(0,d.jsx)(me,{size:18,"aria-hidden":`true`,style:{color:`rgba(255,255,255,0.35)`}})}),(0,d.jsx)(`div`,{className:`sdk-desktop-chapter-title`,children:e.title}),(0,d.jsx)(`div`,{className:`sdk-desktop-chapter-time`,"aria-hidden":`true`,children:Q(e.startTime)})]},t)})}),(0,d.jsx)(`div`,{ref:T,role:X?void 0:`slider`,"aria-label":X?void 0:`Seek`,"aria-valuemin":X?void 0:0,"aria-valuemax":X?void 0:Math.round(V),"aria-valuenow":X?void 0:Math.round(H(Ea)),"aria-valuetext":X?void 0:`${Q(H(Ea))} of ${Q(V)}`,tabIndex:X?void 0:0,className:`sdk-seekbar-container sdk-desktop-seekbar${Y?` sdk-ad-mode`:``}`,onMouseDown:X?void 0:ia,onMouseMove:X?void 0:xa,onMouseLeave:X?void 0:wa,onTouchStart:X?void 0:Ca,onKeyDown:X?void 0:Pa,style:{pointerEvents:X?`none`:void 0},children:Y?(0,d.jsx)(`div`,{className:`sdk-ad-progress-fill`,style:{width:(()=>{let e=I?I.getCurrentTime():R,t=Lr(e);return t?`${Math.min(100,Math.max(0,(e-t.start)/(t.end-t.start)*100))}%`:`0%`})()}}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(`div`,{className:`sdk-seekbar-buffered`,style:{width:`${_n?(I&&I.getBufferedRanges()[0]?.end||0)/_n*100:0}%`}}),V>0&&z.filter(e=>!Kn.has(e.startTime)).map((e,t)=>(0,d.jsx)(`div`,{className:`sdk-seekbar-adbreak`,style:{left:`${H(e.startTime)/V*100}%`,width:`3px`}},t)),(0,d.jsx)(`div`,{className:`sdk-seekbar-progress`,style:{width:J?`${Da>0?$/Da*100:0}%`:`${V?H(Ea)/V*100:0}%`,background:`#ffffff`,boxShadow:`none`},children:(0,d.jsx)(`div`,{className:`sdk-seekbar-handle`})}),L.enableKeyMoments&&G.map((e,t)=>V===0?null:(0,d.jsx)(`div`,{className:`sdk-seekbar-chapter-marker sdk-desktop-chapter-dot`,style:{left:`${H(e.startTime)/V*100}%`}},t)),wi!==null&&Ai&&(0,d.jsxs)(`div`,{className:`sdk-thumbnail-tooltip`,style:{left:`${Ei}px`},children:[(0,d.jsx)(`div`,{className:`sdk-thumbnail-preview`,children:(0,d.jsx)(`img`,{src:Ai,alt:`preview`,style:{width:`100%`,height:`100%`,objectFit:`cover`,borderRadius:`8px`,display:`block`}})}),Mi&&(0,d.jsx)(`div`,{className:`sdk-thumbnail-chapter-name`,children:Mi.title}),(0,d.jsx)(`div`,{className:`sdk-thumbnail-time-label`,children:Q(H(Oi))})]})]})}),(0,d.jsxs)(`div`,{className:`sdk-desktop-controls-row`,children:[(0,d.jsxs)(`div`,{className:`sdk-desktop-left-controls`,children:[!Y&&(0,d.jsx)(`div`,{className:`sdk-time-display`,children:J?`${Q($)} / ${Q(Da)}`:`${Q(H(Ea))} / ${Q(V)}`}),ot===`slider`&&(0,d.jsxs)(`div`,{className:`sdk-volume-control`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn`,onClick:e=>{e.stopPropagation(),aa()},"data-tooltip":ka?`Unmute`:`Mute`,"aria-label":ka?`Unmute`:`Mute`,"aria-pressed":ka,children:ja()}),(0,d.jsx)(`input`,{type:`range`,className:`sdk-volume-slider`,min:0,max:1,step:.02,value:ka?0:Oa,"aria-label":`Volume`,"aria-valuetext":ka?`Muted`:`${Math.round(Oa*100)}%`,style:{"--vol-pct":Math.round((ka?0:Oa)*100)},onChange:e=>{let t=parseFloat(e.target.value);J?(I?.casting.remoteSetVolume(t),t>0&&I?.casting.remoteSetMute(!1)):(I?.setVolume(t),t>0&&xn&&I?.setMute(!1))},onClick:e=>e.stopPropagation()})]})]}),(0,d.jsxs)(`div`,{className:`sdk-desktop-right-icons`,children:[L.enableKeyMoments&&G.length>0&&!Y&&(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${ii?` active`:``}`,onClick:e=>{e.stopPropagation(),ai(!ii)},"data-tooltip":`Key Moments`,"aria-label":ii?`Hide chapters`:`Show chapters`,"aria-pressed":ii,children:(0,d.jsx)(me,{size:20,"aria-hidden":`true`})}),L.enableSubtitles&&!Y&&qr.some(e=>!e.isNative)&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${W===`off`?``:` active`}`,onClick:e=>{e.stopPropagation(),Fa(`subtitles`)},"data-tooltip":`Captions`,"aria-label":`Captions`,"aria-haspopup":`listbox`,"aria-expanded":K===`subtitles`,children:(0,d.jsx)(ce,{size:20,"aria-hidden":`true`})}),K===`subtitles`&&(0,d.jsxs)(`div`,{ref:Ia,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Captions`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Subtitles`}),(0,d.jsxs)(`div`,{role:`option`,"aria-selected":W===`off`,tabIndex:0,className:`sdk-dropup-item ${W===`off`?`active`:``}`,onClick:()=>ca(`off`),onKeyDown:Ma(()=>ca(`off`)),children:[(0,d.jsx)(`span`,{children:`Off`}),W===`off`&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]}),qr.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":W===e.id,tabIndex:0,className:`sdk-dropup-item ${W===e.id?`active`:``}`,onClick:()=>ca(e.id),onKeyDown:Ma(()=>ca(e.id)),children:[(0,d.jsx)(`span`,{children:y(e)}),W===e.id&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]},e.id))]})]}),L.allowMultipleAudio&&Yr.length>1&&!Y&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${K===`audio`?` active`:``}`,onClick:e=>{e.stopPropagation(),Fa(`audio`)},"data-tooltip":`Audio Track`,"aria-label":`Audio track`,"aria-haspopup":`listbox`,"aria-expanded":K===`audio`,children:(0,d.jsx)(pe,{size:20,"aria-hidden":`true`})}),K===`audio`&&(0,d.jsxs)(`div`,{ref:Ia,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Audio track`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Audio Track`}),Yr.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Zr===e.id,tabIndex:0,className:`sdk-dropup-item ${Zr===e.id?`active`:``}`,onClick:()=>{I?.setAudioTrack(e.id),Qr(e.id),q(`none`),li(`Audio: ${y(e)}`)},onKeyDown:Ma(()=>{I?.setAudioTrack(e.id),Qr(e.id),q(`none`),li(`Audio: ${y(e)}`)}),children:[(0,d.jsx)(`span`,{children:y(e)}),Zr===e.id&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]},e.id))]})]}),L.enablePlaybackSpeed&&!Y&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${K===`speed`?` active`:``}`,onClick:e=>{e.stopPropagation(),Fa(`speed`)},"data-tooltip":`Playback Speed`,"aria-label":`Playback speed`,"aria-haspopup":`listbox`,"aria-expanded":K===`speed`,children:(0,d.jsx)(fe,{size:20,"aria-hidden":`true`})}),K===`speed`&&(0,d.jsxs)(`div`,{ref:Ia,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Playback speed`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Speed`}),[.5,.75,1,1.25,1.5,2].map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":ni===e,tabIndex:0,className:`sdk-dropup-item ${ni===e?`active`:``}`,onClick:()=>oa(e),onKeyDown:Ma(()=>oa(e)),children:[(0,d.jsx)(`span`,{children:e===1?`Normal`:`${e}x`}),ni===e&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]},e))]})]}),L.enableQuality&&!Y&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${Hr.id===-1?``:` active`}`,onClick:e=>{e.stopPropagation(),Fa(`quality`)},"data-tooltip":`Quality`,"aria-label":`Video quality`,"aria-haspopup":`listbox`,"aria-expanded":K===`quality`,children:(0,d.jsx)(Ae,{size:20,"aria-hidden":`true`})}),K===`quality`&&(0,d.jsxs)(`div`,{ref:Ia,className:`sdk-dropup-menu large`,role:`listbox`,"aria-label":`Video quality`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Quality`}),Br.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Hr.id===e.id,tabIndex:0,className:`sdk-dropup-item ${Hr.id===e.id?`active`:``}`,onClick:()=>sa(e.id),onKeyDown:Ma(()=>sa(e.id)),children:[(0,d.jsx)(`span`,{children:e.label}),Hr.id===e.id&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]},e.id))]})]}),S&&S.length>1&&!Y&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${K===`sources`?` active`:``}`,onClick:e=>{e.stopPropagation(),Fa(`sources`)},"data-tooltip":`Select Source`,"aria-label":`Select source`,"aria-haspopup":`listbox`,"aria-expanded":K===`sources`,children:(0,d.jsx)(je,{size:20,"aria-hidden":`true`})}),K===`sources`&&(0,d.jsxs)(`div`,{ref:Ia,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Select source`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Source`}),S.map((e,t)=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":ft===t,tabIndex:0,className:`sdk-dropup-item ${ft===t?`active`:``}`,onClick:()=>la(t),onKeyDown:Ma(()=>la(t)),children:[(0,d.jsx)(`span`,{children:e.label}),ft===t&&(0,d.jsx)(_,{size:12,"aria-hidden":`true`})]},t))]})]}),L.enablePiP&&!Y&&(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${Ln?` active`:``}`,onClick:e=>{e.stopPropagation(),fa()},"data-tooltip":`Picture-in-Picture`,"aria-label":Ln?`Exit picture-in-picture`:`Enter picture-in-picture`,"aria-pressed":Ln,children:(0,d.jsx)(_e,{size:20,"aria-hidden":`true`})}),ot===`button`&&(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn`,onClick:e=>{e.stopPropagation(),aa()},"data-tooltip":ka?`Unmute`:`Mute`,"aria-label":ka?`Unmute`:`Mute`,"aria-pressed":ka,children:ja()}),ze&&(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn`,onClick:e=>{e.stopPropagation(),ma()},"data-tooltip":An||Mn?`Exit fullscreen`:`Fullscreen`,"aria-label":An||Mn?`Exit fullscreen`:`Enter fullscreen`,"aria-pressed":An||Mn,children:An?(0,d.jsx)(ge,{size:20,"aria-hidden":`true`}):(0,d.jsx)(he,{size:20,"aria-hidden":`true`})})]})]})]})]})]}),zn&&(()=>{let e=z.find(e=>$>=e.startTime&&$<e.endTime),t=e?e.endTime-e.startTime:V,n=e?Math.max(0,$-e.startTime):H($);return(0,u.createPortal)((0,d.jsxs)(`div`,{className:`gb-pip-overlay${Ta?``:` gb-pip-paused`}`,children:[(0,d.jsx)(`div`,{}),(0,d.jsxs)(`div`,{className:`gb-pip-center`,children:[(0,d.jsx)(`button`,{className:`gb-pip-btn`,onClick:()=>Z(U(Math.max(0,H($)-10)),{eventType:`fast_backward`,skipSeconds:10}),"aria-label":`Rewind 10 seconds`,disabled:Y,children:(0,d.jsx)(ye,{size:20,"aria-hidden":`true`})}),(0,d.jsx)(`button`,{className:`gb-pip-btn gb-pip-play`,onClick:na,"aria-label":Vn?`Replay`:Ta?`Pause`:`Play`,children:Vn?(0,d.jsx)(ye,{size:24,"aria-hidden":`true`}):Ta?(0,d.jsx)(v,{size:24,"aria-hidden":`true`}):(0,d.jsx)(ve,{size:24,"aria-hidden":`true`,style:{marginLeft:2}})}),(0,d.jsx)(`button`,{className:`gb-pip-btn`,onClick:()=>Z(U(Math.min(V,H($)+10)),{eventType:`fast_forward`,skipSeconds:10}),"aria-label":`Skip forward 10 seconds`,disabled:Y,children:(0,d.jsx)(be,{size:20,"aria-hidden":`true`})})]}),(0,d.jsxs)(`div`,{className:`gb-pip-bottom`,children:[(0,d.jsx)(`div`,{className:`gb-pip-progress`,onClick:pa,children:(0,d.jsx)(`div`,{className:`gb-pip-progress-fill`,style:{width:`${t?n/t*100:0}%`}})}),(0,d.jsxs)(`div`,{className:`gb-pip-time`,children:[Q(n),` / `,Q(t)]})]})]}),zn.document.body)})()]})},tt=`https://dev-api.go-boss.com`;function b(e){return{"x-player-key":e,"Content-Type":`application/json`}}async function nt(e,t=tt,n={}){let r=await fetch(`${t}/api/player/sdk/init`,{method:`POST`,headers:b(e),body:JSON.stringify({videoUrl:n.videoUrl})});if(!r.ok)throw Error(`SDK init failed: ${r.status}`);return await r.json()}async function rt(e,t,n=tt){let{sessionId:r,videoId:i,videoTitle:a,videoUrl:o,contentDurationSec:s}=t,c=await fetch(`${n}/api/player/sdk/session/start`,{method:`POST`,headers:b(e),body:JSON.stringify({sessionId:r,videoId:i,videoTitle:a,videoUrl:o,contentDurationSec:typeof s==`number`&&Number.isFinite(s)&&s>0?s:void 0})});if(!c.ok)throw Error(`Session start failed: ${c.status}`)}async function it(e,t,n,r,i=tt){let a={sessionId:t,currentTime:n,duration:r},o=await fetch(`${i}/api/player/sdk/session/heartbeat`,{method:`POST`,headers:b(e),body:JSON.stringify(a)});if(!o.ok)throw Error(`Heartbeat failed: ${o.status}`)}async function at(e,t,n=0,r=0,i=tt){let a=await fetch(`${i}/api/player/sdk/session/end`,{method:`POST`,headers:b(e),body:JSON.stringify({sessionId:t,currentTime:n,duration:r})});if(!a.ok)throw Error(`Session end failed: ${a.status}`)}async function ot(e,t,n=tt){let r=await fetch(`${n}/api/player/sdk/events`,{method:`POST`,headers:b(e),body:JSON.stringify(t)});if(!r.ok)throw Error(`Event ${t.eventType} failed: ${r.status}`)}function st(e,t,n=0,r=0,i=tt){fetch(`${i}/api/player/sdk/session/end`,{method:`POST`,headers:b(e),body:JSON.stringify({sessionId:t,currentTime:n,duration:r}),keepalive:!0})}function ct(){if(!(typeof screen>`u`))return screen.orientation?.type??void 0}var lt=class{constructor(){this.autoplay=!1,this.keyMoments=[],this.isPlaybackActive=!1,this.hasFinished=!1,this.hasDismissed=!1,this.lastCurrentTime=0,this.lastDuration=0,this.lastWatchDuration=0,this.prevSpeed=1,this.pendingSeek=null}setDelegate(e){this.delegate=e}setAutoplay(e){this.autoplay=e}setKeyMoments(e){this.keyMoments=e}handleAnalyticsEvent(e){switch(typeof e.currentTime==`number`&&!Number.isNaN(e.currentTime)&&(this.lastCurrentTime=e.currentTime),typeof e.duration==`number`&&!Number.isNaN(e.duration)&&(this.lastDuration=e.duration),typeof e.totalWatchTime==`number`&&(this.lastWatchDuration=e.totalWatchTime),e.eventType){case`play`:this.isPlaybackActive?this.call(`playerDidResumePlaying`,e.currentTime):(this.isPlaybackActive=!0,this.hasFinished=!1,this.call(`playerDidStartPlaying`,e.currentTime,this.autoplay));break;case`pause`:e.duration>0&&e.currentTime>=e.duration-.25||this.call(`playerDidPause`,e.currentTime);break;case`ended`:this.isPlaybackActive=!1,this.hasFinished=!0,this.call(`playerDidFinishPlaying`,e.currentTime,e.totalWatchTime??this.lastWatchDuration);break;case`seek`:this.beginSeek(e.seekFrom??this.lastCurrentTime,e.seekTo??e.currentTime);break;case`fast_forward`:this.beginSeek(Math.max(0,e.currentTime-(e.skipSeconds??10)),e.currentTime);break;case`fast_backward`:this.beginSeek(e.currentTime+(e.skipSeconds??10),e.currentTime);break;case`buffering_start`:this.call(`playerDidStartBuffering`,e.currentTime);break;case`buffering_end`:this.call(`playerDidFinishBuffering`,e.currentTime);break;case`quality_change`:{let t=e.rendition;t&&t!==this.prevQuality&&(this.call(`playerDidChangeQuality`,this.prevQuality,t,e.isAutoSwitch??!1),this.prevQuality=t);break}case`subtitle_change`:if(e.subtitleEnabled===!1)this.call(`playerDidDisableSubtitle`,this.prevSubtitle),this.prevSubtitle=void 0;else{let t=e.subtitleLanguage??``;this.call(`playerDidChangeSubtitle`,this.prevSubtitle,t),this.prevSubtitle=t}break;case`audio_track_change`:{let t=e.audioTrack??``;this.call(`playerDidChangeAudioTrack`,this.prevAudioTrack,t),this.prevAudioTrack=t;break}case`speed_change`:{let t=e.speed??1;t!==this.prevSpeed&&(this.call(`playerDidChangePlaybackSpeed`,this.prevSpeed,t),this.prevSpeed=t);break}case`fullscreen_enter`:this.call(`playerDidEnterFullscreen`,ct());break;case`fullscreen_exit`:this.call(`playerDidExitFullscreen`,ct());break;case`key_moments`:{let t=e.momentTitle??``,n=e.momentTime??e.currentTime,r=this.keyMoments,i=r.findIndex(e=>t&&e.title===t||e.startTime===n),a=i>=0?r[i]:void 0;this.call(`playerDidSelectKeyMoment`,i>=0?String(i):void 0,a?.title??t,a?.startTime??n,a?.endTime??n);break}case`pip_toggle`:(e.pipState?e.pipState===`entered`:e.errorMessage===`entered`)?this.call(`playerDidEnterPictureInPicture`,e.currentTime):this.call(`playerDidExitPictureInPicture`,e.currentTime);break;case`error`:this.call(`playerDidEncounterPlaybackError`,e.errorCode==null?`PLAYER_ERROR`:String(e.errorCode),e.errorMessage??`Unknown player error`,e.isRecoverable??!1);break;case`network_error`:this.call(`playerDidEncounterNetworkError`,e.errorCode??0,e.errorMessage??`Network error`,e.isRecoverable??!1);break}}handleTimeUpdate(e){if(this.lastCurrentTime=e,this.pendingSeek){let{fromTime:t,startedWallMs:n}=this.pendingSeek;this.pendingSeek=null,this.call(`playerDidFinishSeeking`,t,e,(Date.now()-n)/1e3)}this.call(`playerDidUpdateCurrentTime`,e,this.lastDuration)}notifyDismissed(){this.hasDismissed||!this.isPlaybackActive||this.hasFinished||(this.hasDismissed=!0,this.call(`playerDidDismiss`,this.lastCurrentTime,this.lastWatchDuration))}beginSeek(e,t){if(this.pendingSeek){this.pendingSeek.toTime=t;return}this.pendingSeek={fromTime:e,toTime:t,startedWallMs:Date.now()},this.call(`playerDidStartSeeking`,e)}call(e,...t){let n=this.delegate,r=n?.[e];if(typeof r==`function`)try{r.apply(n,t)}catch(t){console.error(`[PlayerSDK Delegate] ${String(e)} callback failed:`,t)}}},ut={subtitles:`subtitle_support`,ads:`ad_support`,chapterMarkers:`key_moments`,playbackSpeed:`playback_speed`,airplay:`airplay`,chromecast:`chromecast`,pictureInPicture:`picture_in_picture`,multipleResolution:`multiple_resolution`,multipleAudio:`multiple_audio`,drmProtection:`drm_protection`,screenRecordingPrevention:`screen_recording_prevention`,signalStrength:`signal_strength`};function dt(e){let t={m3u8_playback:!0,subtitle_support:!1,playback_speed:!1,airplay:!1,chromecast:!1,picture_in_picture:!1,multiple_resolution:!1,multiple_audio:!1,key_moments:!1,drm_protection:!1,screen_recording_prevention:!1,signal_strength:!1,ad_support:!1};for(let[n,r]of Object.entries(ut))n in e&&(t[r]=e[n]);return t}function x(e){if(!e)return e=>e;let t=[];for(let n of e.split(`,`)){let[e,r]=n.split(`=`);e?.trim()&&r?.trim()&&t.push({domain:e.trim(),proxyPath:r.trim()})}return e=>{for(let{domain:n,proxyPath:r}of t)if(e.includes(n))try{let t=new URL(e);return`${r}${t.pathname}${t.search}`}catch{return e.replace(`https://${n}`,r)}return e}}function S(e){let t=e.replace(`#`,``);return t.length===6?`${parseInt(t.substring(0,2),16)}, ${parseInt(t.substring(2,4),16)}, ${parseInt(t.substring(4,6),16)}`:`99, 102, 241`}var ft=30*1e3;function pt(e,t){switch(e.eventType){case`pause`:return{eventType:`pause`,extras:{}};case`seek`:return{eventType:`seek`,extras:{seekFrom:e.seekFrom??0,seekTo:e.seekTo??e.currentTime??0}};case`mute`:return{eventType:`mute`,extras:{isMuted:e.isMuted??!0}};case`fast_forward`:return{eventType:`fast_forward`,extras:{skipSeconds:e.skipSeconds??10}};case`fast_backward`:return{eventType:`fast_backward`,extras:{skipSeconds:e.skipSeconds??10}};case`key_moments`:return{eventType:`key_moments`,extras:{momentTitle:e.momentTitle??``,momentTime:e.momentTime??0}};case`buffering_start`:return{eventType:`buffering_start`,extras:{bufferingCount:e.bufferingCount??0}};case`buffering_end`:return{eventType:`buffering_end`,extras:{}};case`quality_change`:return!t||!e.rendition||t===e.rendition?null:{eventType:`quality_change`,extras:{from:t,to:e.rendition}};case`speed_change`:return{eventType:`speed_change`,extras:{speed:e.speed??1}};case`subtitle_change`:return e.subtitleEnabled===!1?{eventType:`subtitle_disable`,extras:{enabled:!1}}:{eventType:`subtitle_change`,extras:{language:e.subtitleLanguage??``,enabled:!0}};case`audio_track_change`:return{eventType:`audio_track_change`,extras:{track:e.audioTrack??``}};case`pip_toggle`:return{eventType:`pip_toggle`,extras:{enabled:e.errorMessage===`entered`}};case`fullscreen_enter`:return{eventType:`fullscreen_toggle`,extras:{enabled:!0}};case`fullscreen_exit`:return{eventType:`fullscreen_toggle`,extras:{enabled:!1}};case`error`:return{eventType:`player_error`,extras:{code:e.errorCode==null?`PLAYER_ERROR`:String(e.errorCode),message:e.errorMessage??`Unknown player error`}};case`network_error`:return{eventType:`network_error`,extras:{code:e.errorCode?String(e.errorCode):`NETWORK_ERROR`,message:e.errorMessage??`Network error`}};default:return null}}function C({playerKey:e,src:t,subtitles:n,licenseKey:r,themeColor:i=`#6366f1`,firebaseConfig:a,proxyDomains:o,apiBaseUrl:s,adTrackingUrl:c,overlayAdUrl:u,videoId:ee,title:te,watermark:ne,autoplay:re=!1,muted:ie=!1,autoFullscreen:p=!1,enableControls:m=!0,enableSkipAd:h,skipAdAfterSeconds:ae,chaptersDisplayMode:oe=`strip`,volumeControlType:g=`slider`,subtitleStyle:se,drmConfig:ce,onAnalyticsEvent:le,delegate:_,onKeyMomentsLoaded:ue,initialTime:de,onTimeUpdate:fe}){let[pe,me]=(0,l.useState)([]),[he,ge]=(0,l.useState)(0),[v]=(0,l.useState)(()=>new lt);(0,l.useEffect)(()=>{v.setDelegate(_),v.setAutoplay(re)},[v,_,re]),(0,l.useEffect)(()=>()=>v.notifyDismissed(),[v]);let _e=Array.isArray(t)?t:[{label:`Default`,url:t}],ve=_e[he]?.url??_e[0]?.url??``,[ye,be]=(0,l.useState)(`loading`),[xe,Se]=(0,l.useState)(null),[Ce,we]=(0,l.useState)(0),[Te,Ee]=(0,l.useState)(`network`),De=(0,l.useRef)(null),Oe=(0,l.useRef)(!1),ke=(0,l.useRef)(``),Ae=(0,l.useRef)(!1),je=(0,l.useRef)(!1),Me=(0,l.useRef)(void 0),Ne=(0,l.useRef)(!1),Pe=(0,l.useRef)(ft),y=(0,l.useRef)(null),Fe=(0,l.useRef)(0),Ie=(0,l.useRef)(null),Le=(0,l.useRef)({currentTime:0,duration:0}),Re=(0,l.useRef)(()=>{}),ze=ve.split(`/`).filter(Boolean),Be=ee||(ze[ze.length-1]??``).replace(/\.m3u8.*$/,``)||`video`,Ve=(0,l.useRef)(ve);(0,l.useEffect)(()=>{Ve.current=ve},[ve]);let He=(0,l.useCallback)(()=>x(o),[o])(),Ue=S(i);(0,l.useEffect)(()=>{document.documentElement.style.setProperty(`--accent-indigo`,i),document.documentElement.style.setProperty(`--accent-indigo-rgb`,Ue)},[i,Ue]),(0,l.useEffect)(()=>{let t=!1;return nt(e,s,{videoUrl:Ve.current}).then(e=>{if(t)return;De.current=e;let{features:n,planTier:r,heartbeatIntervalSeconds:i}=e.result.data;Pe.current=typeof i==`number`&&i>0?i*1e3:ft;let a={package:r,is_active:!0,features:dt(n),limits:{streaming_minutes:0}};console.log(`[SDK] Player key validated. Features:`,a.features),Se(a),be(`ready`)}).catch(e=>{if(t)return;console.error(`[SDK] Player key validation failed:`,e);let n=e.message??``;Ee(/init failed: 4\d\d/.test(n)?`auth`:`network`),be(`error`)}),()=>{t=!0,y.current&&=(clearTimeout(y.current),null),Fe.current=0,Ie.current=null,be(`loading`),Se(null),Ae.current=!1,ke.current=``,je.current=!1,Me.current=void 0}},[e,s,Ce]);let We=(0,l.useCallback)(()=>{y.current&&(clearTimeout(y.current),y.current=null,Ie.current!==null&&(Fe.current+=Date.now()-Ie.current,Ie.current=null))},[]),Ge=(0,l.useCallback)(()=>{y.current&&=(clearTimeout(y.current),null),Fe.current=0,Ie.current=null},[]),Ke=(0,l.useCallback)(()=>{if(y.current||!ke.current)return;Ie.current=Date.now();let t=Pe.current-Fe.current;y.current=setTimeout(()=>{y.current=null,Fe.current=0,Ie.current=null;let{currentTime:t,duration:n}=Le.current;console.log(`[SDK] Heartbeat timer fired — ${Pe.current/1e3}s of real content elapsed`),it(e,ke.current,t,n,s).catch(e=>console.warn(`[SDK] Heartbeat failed:`,e.message)),Re.current()},t)},[e,s]);(0,l.useEffect)(()=>{Re.current=Ke},[Ke]);let qe=(0,l.useRef)(!0);(0,l.useEffect)(()=>{if(qe.current){qe.current=!1;return}Ne.current=!0,Me.current=void 0,We()},[he,We]),(0,l.useEffect)(()=>{let t=()=>{if(v.notifyDismissed(),!ke.current)return;je.current=!0,Ge();let{currentTime:t,duration:n}=Le.current;st(e,ke.current,t,n,s)};return window.addEventListener(`beforeunload`,t),()=>{window.removeEventListener(`beforeunload`,t),Ge()}},[e,s,Ge,v]);let Je=(0,l.useCallback)(t=>{let n=t;if(t.currentTime!==void 0&&(Le.current={currentTime:t.currentTime,duration:t.duration}),t.eventType===`session_start`&&!Ae.current&&(Ae.current=!0,je.current=!1,ke.current=typeof n.sessionId==`string`?n.sessionId:``,rt(e,{sessionId:ke.current,videoId:Be,videoTitle:te,videoUrl:Ve.current,contentDurationSec:t.duration},s).catch(e=>console.warn(`[SDK] Session start failed:`,e.message)),Oe.current||Ke()),t.eventType===`play`&&Ae.current&&!Oe.current&&!Ne.current&&Ke(),t.eventType===`pause`&&We(),t.eventType===`buffering_start`&&We(),t.eventType===`buffering_end`&&Ae.current&&!Oe.current&&(Ne.current=!1,Ke()),t.eventType===`ended`&&(Ge(),ke.current)){je.current=!0;let{currentTime:t,duration:n}=Le.current;at(e,ke.current,t,n,s).catch(e=>console.warn(`[SDK] Session end failed:`,e.message))}if(Ae.current&&ke.current&&!je.current){let n=pt(t,Me.current);n&&ot(e,{eventType:n.eventType,sessionId:ke.current,currentTime:t.currentTime??0,videoId:Be,videoTitle:te,...n.extras},s).catch(e=>console.warn(`[SDK] Event ${n.eventType} failed:`,e.message))}t.eventType===`quality_change`&&t.rendition&&(Me.current=t.rendition),console.log(`[SDK Analytics]`,t),v.handleAnalyticsEvent(t),le?.(t)},[e,s,Be,te,Ke,We,Ge,le,v]),Ye=(0,l.useCallback)(e=>{Oe.current=e,e?(We(),console.log(`[SDK] Ad break started — heartbeat timer paused`)):(Ae.current&&Ke(),console.log(`[SDK] Ad break ended — heartbeat timer resumed`))},[We,Ke]),Xe=(0,l.useCallback)(e=>{v.setKeyMoments(e),me(e),ue?.(e)},[ue,v]),Ze=(0,l.useCallback)(e=>{v.handleTimeUpdate(e),fe?.(e)},[fe,v]);if(ye===`loading`)return(0,d.jsxs)(`div`,{style:{width:`100%`,aspectRatio:`16 / 9`,background:`#000`,borderRadius:8,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,d.jsx)(`style`,{children:`@keyframes boss-sdk-spin{to{transform:rotate(360deg)}}`}),(0,d.jsx)(`div`,{style:{width:60,height:60,borderRadius:`50%`,border:`4px solid rgba(${Ue}, 0.1)`,borderLeftColor:i,borderRightColor:`rgba(${Ue}, 0.2)`,filter:`drop-shadow(0 0 10px rgba(${Ue}, 0.5))`,animation:`boss-sdk-spin 1s linear infinite`}})]});if(ye===`error`){let e=Te===`auth`;return(0,d.jsx)(`div`,{style:{width:`100%`,aspectRatio:`16 / 9`,background:`#09090e`,borderRadius:8,display:`flex`,alignItems:`center`,justifyContent:`center`,flexDirection:`column`,gap:20},children:(0,d.jsx)(f,{title:e?`Invalid Player Key`:`Something Went Wrong`,subtitle:e?`Your player key is invalid or expired.
31
31
  Please check your configuration.`:`We encountered an error while connecting.
32
- Please try again.`,onRetry:()=>we(e=>e+1)})})}return(0,d.jsx)(Qe,{src:ve,sources:_e,activeSourceIndex:he,onSourceChange:e=>ge(e),subtitles:n,keyMoments:pe,themeColor:i,firebaseConfig:a,resolvedEntitlement:xe,licenseKey:r,title:te,watermark:ne,autoplay:re,muted:ie,autoFullscreen:p,enableControls:m,enableSkipAd:h,skipAdAfterSeconds:ae,chaptersDisplayMode:oe,volumeControlType:g,subtitleStyle:se,drmConfig:ce,overlayAdUrl:u,adTrackingUrl:c,videoId:Be,urlTransformer:He,onAnalyticsEvent:Je,onAdBreakChange:Ye,onKeyMomentsLoaded:Xe,initialTime:de,onTimeUpdate:Ze})}function pt(e,t){let n=(0,ee.createRoot)(e),r=t;return n.render((0,l.createElement)(S,r)),{update(e){r={...r,...e},n.render((0,l.createElement)(S,r))},destroy(){n.unmount()}}}exports.BossVideoPlayer=S,exports.FirebaseAnalyticsProvider=c.c,exports.VideoPlayerSDK=c.t,exports.WebVideoPlayer=Qe,exports.createPlayer=pt,exports.endSession=rt,exports.initSdk=et,exports.sendEvent=it,exports.sendHeartbeat=nt,exports.startSession=tt;
32
+ Please try again.`,onRetry:()=>we(e=>e+1)})})}return(0,d.jsx)(et,{src:ve,sources:_e,activeSourceIndex:he,onSourceChange:e=>ge(e),subtitles:n,keyMoments:pe,themeColor:i,firebaseConfig:a,resolvedEntitlement:xe,licenseKey:r,title:te,watermark:ne,autoplay:re,muted:ie,autoFullscreen:p,enableControls:m,enableSkipAd:h,skipAdAfterSeconds:ae,chaptersDisplayMode:oe,volumeControlType:g,subtitleStyle:se,drmConfig:ce,overlayAdUrl:u,adTrackingUrl:c,videoId:Be,urlTransformer:He,onAnalyticsEvent:Je,onAdBreakChange:Ye,onKeyMomentsLoaded:Xe,initialTime:de,onTimeUpdate:Ze})}function mt(e,t){let n=(0,ee.createRoot)(e),r=t;return n.render((0,l.createElement)(C,r)),{update(e){r={...r,...e},n.render((0,l.createElement)(C,r))},destroy(){n.unmount()}}}exports.BossVideoPlayer=C,exports.FirebaseAnalyticsProvider=c.c,exports.VideoPlayerSDK=c.t,exports.WebVideoPlayer=et,exports.createPlayer=mt,exports.endSession=at,exports.initSdk=nt,exports.sendEvent=ot,exports.sendHeartbeat=it,exports.startSession=rt;
33
33
  //# sourceMappingURL=index.cjs.map