PageSourceSearch

https://career.hetzner.com/_next/static/chunks/1-74m17l201fe.js

js hetzner.com collected 2026-10-02 02:13:38 UTC 194,181 bytes, 5 lines download raw bytes

1;!function(){try { var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&((e._debugIds|| (e._debugIds={}))[n]="3af59540-6a6d-c442-ebf9-cc37ab413c9f")}catch(e){}}();
2(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,21440,e=>{"use strict";let t;var i=e.i(71645),s=e.i(36924);let a=Math.min,n=Math.max,r=Math.round,o=Math.floor,h=e=>({x:e,y:e}),l={left:"right",right:"left",bottom:"top",top:"bottom"};function d(e,t){return"function"==typeof e?e(t):e}function c(e){return e.split("-")[0]}function u(e){return e.split("-")[1]}function p(e){return"x"===e?"y":"x"}function m(e){return"y"===e?"height":"width"}function g(e){let t=e[0];return"t"===t||"b"===t?"y":"x"}function f(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}let y=["left","right"],v=["right","left"],b=["top","bottom"],w=["bottom","top"];function k(e){let t=c(e);return l[t]+e.slice(t.length)}function T(e){let{x:t,y:i,width:s,height:a}=e;return{width:s,height:a,top:i,left:t,right:t+s,bottom:i+a,x:t,y:i}}function S(e,t,i){let s,{reference:a,floating:n}=e,r=g(t),o=p(g(t)),h=m(o),l=c(t),d="y"===r,f=a.x+a.width/2-n.width/2,y=a.y+a.height/2-n.height/2,v=a[h]/2-n[h]/2;switch(l){case"top":s={x:f,y:a.y-n.height};break;case"bottom":s={x:f,y:a.y+a.height};break;case"right":s={x:a.x+a.width,y:y};break;case"left":s={x:a.x-n.width,y:y};break;default:s={x:a.x,y:a.y}}switch(u(t)){case"start":s[o]-=v*(i&&d?-1:1);break;case"end":s[o]+=v*(i&&d?-1:1)}return s}async function x(e,t){var i,s;void 0===t&&(t={});let{x:a,y:n,platform:r,rects:o,elements:h,strategy:l}=e,{boundary:c="clippingAncestors",rootBoundary:u="viewport",elementContext:p="floating",altBoundary:m=!1,padding:g=0}=d(t,e),f="number"!=typeof(s=g)?{top:0,right:0,bottom:0,left:0,...s}:{top:s,right:s,bottom:s,left:s},y=h[m?"floating"===p?"reference":"floating":p],v=T(await r.getClippingRect({element:null==(i=await (null==r.isElement?void 0:r.isElement(y)))||i?y:y.contextElement||await (null==r.getDocumentElement?void 0:r.getDocumentElement(h.floating)),boundary:c,rootBoundary:u,strategy:l})),b="floating"===p?{x:a,y:n,width:o.floating.width,height:o.floating.height}:o.reference,w=await (null==r.getOffsetParent?void 0:r.getOffsetParent(h.floating)),k=await (null==r.isElement?void 0:r.isElement(w))&&await (null==r.getScale?void 0:r.getScale(w))||{x:1,y:1},S=T(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:h,rect:b,offsetParent:w,strategy:l}):b);return{top:(v.top-S.top+f.top)/k.y,bottom:(S.bottom-v.bottom+f.bottom)/k.y,left:(v.left-S.left+f.left)/k.x,right:(S.right-v.right+f.right)/k.x}}let C=async(e,t,i)=>{let{placement:s="bottom",strategy:a="absolute",middleware:n=[],platform:r}=i,o=r.detectOverflow?r:{...r,detectOverflow:x},h=await (null==r.isRTL?void 0:r.isRTL(t)),l=await r.getElementRects({reference:e,floating:t,strategy:a}),{x:d,y:c}=S(l,s,h),u=s,p=0,m={};for(let i=0;i<n.length;i++){let g=n[i];if(!g)continue;let{name:f,fn:y}=g,{x:v,y:b,data:w,reset:k}=await y({x:d,y:c,initialPlacement:s,placement:u,strategy:a,middlewareData:m,rects:l,platform:o,elements:{reference:e,floating:t}});d=null!=v?v:d,c=null!=b?b:c,m[f]={...m[f],...w},k&&p<50&&(p++,"object"==typeof k&&(k.placement&&(u=k.placement),k.rects&&(l=!0===k.rects?await r.getElementRects({reference:e,floating:t,strategy:a}):k.rects),{x:d,y:c}=S(l,u,h)),i=-1)}return{x:d,y:c,placement:u,strategy:a,middlewareData:m}};function $(){return"u">typeof window}function P(e){return q(e)?(e.nodeName||"").toLowerCase():"#document"}function E(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function A(e){var t;return null==(t=(q(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function q(e){return!!$()&&(e instanceof Node||e instanceof E(e).Node)}function M(e){return!!$()&&(e instanceof Element||e instanceof E(e).Element)}function D(e){return!!$()&&(e instanceof HTMLElement||e instanceof E(e).HTMLElement)}function L(e){return!(!$()||"u"<typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof E(e).ShadowRoot)}function I(e){let{overflow:t,overflowX:i,overflowY:s,display:a}=K(e);return/auto|scroll|overlay|hidden|clip/.test(t+s+i)&&"inline"!==a&&"contents"!==a}function R(e){try{if(e.matches(":popover-open"))return!0}catch(e){}try{return e.matches(":modal")}catch(e){return!1}}let V=/transform|translate|scale|rotate|perspective|filter/,O=/paint|layout|strict|content/,F=e=>!!e&&"none"!==e;function N(e){let t=M(e)?K(e):e;return F(t.transform)||F(t.translate)||F(t.scale)||F(t.rotate)||F(t.perspective)||!B()&&(F(t.backdropFilter)||F(t.filter))||V.test(t.willChange||"")||O.test(t.contain||"")}function B(){return null==t&&(t="u">typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),t}function U(e){return/^(html|body|#document)$/.test(P(e))}function K(e){return E(e).getComputedStyle(e)}function G(e){return M(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function H(e){if("html"===P(e))return e;let t=e.assignedSlot||e.parentNode||L(e)&&e.host||A(e);return L(t)?t.host:t}function Q(e,t,i){var s;void 0===t&&(t=[]),void 0===i&&(i=!0);let a=function e(t){let i=H(t);return U(i)?t.ownerDocument?t.ownerDocument.body:t.body:D(i)&&I(i)?i:e(i)}(e),n=a===(null==(s=e.ownerDocument)?void 0:s.body),r=E(a);if(!n)return t.concat(a,Q(a,[],i));{let e=W(r);
2return t.concat(r,r.visualViewport||[],I(a)?a:[],e&&i?Q(e):[])}}function W(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function z(e){let t=K(e),i=parseFloat(t.width)||0,s=parseFloat(t.height)||0,a=D(e),n=a?e.offsetWidth:i,o=a?e.offsetHeight:s,h=r(i)!==n||r(s)!==o;return h&&(i=n,s=o),{width:i,height:s,$:h}}function j(e){return M(e)?e:e.contextElement}function _(e){let t=j(e);if(!D(t))return h(1);let i=t.getBoundingClientRect(),{width:s,height:a,$:n}=z(t),o=(n?r(i.width):i.width)/s,l=(n?r(i.height):i.height)/a;return o&&Number.isFinite(o)||(o=1),l&&Number.isFinite(l)||(l=1),{x:o,y:l}}let X=h(0);function Y(e){let t=E(e);return B()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:X}function J(e,t,i,s){var a;void 0===t&&(t=!1),void 0===i&&(i=!1);let n=e.getBoundingClientRect(),r=j(e),o=h(1);t&&(s?M(s)&&(o=_(s)):o=_(e));let l=(void 0===(a=i)&&(a=!1),s&&(!a||s===E(r))&&a)?Y(r):h(0),d=(n.left+l.x)/o.x,c=(n.top+l.y)/o.y,u=n.width/o.x,p=n.height/o.y;if(r){let e=E(r),t=s&&M(s)?E(s):s,i=e,a=W(i);for(;a&&s&&t!==i;){let e=_(a),t=a.getBoundingClientRect(),s=K(a),n=t.left+(a.clientLeft+parseFloat(s.paddingLeft))*e.x,r=t.top+(a.clientTop+parseFloat(s.paddingTop))*e.y;d*=e.x,c*=e.y,u*=e.x,p*=e.y,d+=n,c+=r,a=W(i=E(a))}}return T({width:u,height:p,x:d,y:c})}function Z(e,t){let i=G(e).scrollLeft;return t?t.left+i:J(A(e)).left+i}function ee(e,t){let i=e.getBoundingClientRect();return{x:i.left+t.scrollLeft-Z(e,i),y:i.top+t.scrollTop}}function et(e,t,i){var s;let a;if("viewport"===t)a=function(e,t){let i=E(e),s=A(e),a=i.visualViewport,n=s.clientWidth,r=s.clientHeight,o=0,h=0;if(a){n=a.width,r=a.height;let e=B();(!e||e&&"fixed"===t)&&(o=a.offsetLeft,h=a.offsetTop)}let l=Z(s);if(l<=0){let e=s.ownerDocument,t=e.body,i=getComputedStyle(t),a="CSS1Compat"===e.compatMode&&parseFloat(i.marginLeft)+parseFloat(i.marginRight)||0,r=Math.abs(s.clientWidth-t.clientWidth-a);r<=25&&(n-=r)}else l<=25&&(n+=l);return{width:n,height:r,x:o,y:h}}(e,i);else if("document"===t){let t,i,r,o,h,l,d;s=A(e),t=A(s),i=G(s),r=s.ownerDocument.body,o=n(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),h=n(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),l=-i.scrollLeft+Z(s),d=-i.scrollTop,"rtl"===K(r).direction&&(l+=n(t.clientWidth,r.clientWidth)-o),a={width:o,height:h,x:l,y:d}}else if(M(t)){let e,s,n,r,o,l;s=(e=J(t,!0,"fixed"===i)).top+t.clientTop,n=e.left+t.clientLeft,r=D(t)?_(t):h(1),o=t.clientWidth*r.x,l=t.clientHeight*r.y,a={width:o,height:l,x:n*r.x,y:s*r.y}}else{let i=Y(e);a={x:t.x-i.x,y:t.y-i.y,width:t.width,height:t.height}}return T(a)}function ei(e){return"static"===K(e).position}function es(e,t){if(!D(e)||"fixed"===K(e).position)return null;if(t)return t(e);let i=e.offsetParent;return A(e)===i&&(i=i.ownerDocument.body),i}function ea(e,t){var i;let s=E(e);if(R(e))return s;if(!D(e)){let t=H(e);for(;t&&!U(t);){if(M(t)&&!ei(t))return t;t=H(t)}return s}let a=es(e,t);for(;a&&(i=a,/^(table|td|th)$/.test(P(i)))&&ei(a);)a=es(a,t);return a&&U(a)&&ei(a)&&!N(a)?s:a||function(e){let t=H(e);for(;D(t)&&!U(t);){if(N(t))return t;if(R(t))break;t=H(t)}return null}(e)||s}let en=async function(e){let t=this.getOffsetParent||ea,i=this.getDimensions,s=await i(e.floating);return{reference:function(e,t,i){let s=D(t),a=A(t),n="fixed"===i,r=J(e,!0,n,t),o={scrollLeft:0,scrollTop:0},l=h(0);if(s||!s&&!n)if(("body"!==P(t)||I(a))&&(o=G(t)),s){let e=J(t,!0,n,t);l.x=e.x+t.clientLeft,l.y=e.y+t.clientTop}else a&&(l.x=Z(a));n&&!s&&a&&(l.x=Z(a));let d=!a||s||n?h(0):ee(a,o);return{x:r.left+o.scrollLeft-l.x-d.x,y:r.top+o.scrollTop-l.y-d.y,width:r.width,height:r.height}}(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:s.width,height:s.height}}},er={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:i,offsetParent:s,strategy:a}=e,n="fixed"===a,r=A(s),o=!!t&&R(t.floating);if(s===r||o&&n)return i;let l={scrollLeft:0,scrollTop:0},d=h(1),c=h(0),u=D(s);if((u||!u&&!n)&&(("body"!==P(s)||I(r))&&(l=G(s)),u)){let e=J(s);d=_(s),c.x=e.x+s.clientLeft,c.y=e.y+s.clientTop}let p=!r||u||n?h(0):ee(r,l);return{width:i.width*d.x,height:i.height*d.y,x:i.x*d.x-l.scrollLeft*d.x+c.x+p.x,y:i.y*d.y-l.scrollTop*d.y+c.y+p.y}},getDocumentElement:A,getClippingRect:function(e){let{element:t,boundary:i,rootBoundary:s,strategy:r}=e,o=[..."clippingAncestors"===i?R(t)?[]:function(e,t){let i=t.get(e);if(i)return i;let s=Q(e,[],!1).filter(e=>M(e)&&"body"!==P(e)),a=null,n="fixed"===K(e).position,r=n?H(e):e;for(;M(r)&&!U(r);){let t=K(r),i=N(r);i||"fixed"!==t.position||(a=null),(n?i||a:!(!i&&"static"===t.position&&a&&("absolute"===a.position||"fixed"===a.position)||I(r)&&!i&&function e(t,i){let s=H(t);return!(s===i||!M(s)||U(s))&&("fixed"===K(s).position||e(s,i))}(e,r)))?a=t:s=s.filter(e=>e!==r),r=H(r)}return t.set(e,s),s}(t,this._c):[].concat(i),s],h=et(t,o[0],r),l=h.top,d=h.right,c=h.bottom,u=h.left;for(let e=1;e<o.length;e++){let i=et(t,o[e],r);l=n(i.top,l),d=a(i.right,d),c=a(i.bottom,c),u=n(i.left,u)}return{width:d-u,height:c-l,x:u,y:l}},getOffsetParent:ea,getElementRects:en,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:t,height:i}=z(e);return{width:t,height:i}},getScale:_,isElement:M,isRTL:function(e){return"rtl"===K(e).direction}};function eo(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function eh(e){return!(0,s.isString)(e)&&"width"in e&&"height"in e&&(0,s.isNumber)(e.width)&&(0,s.isNumber)(e.height)}let el="u"<typeof document,ed=el?"":navigator?.userAgent.toLowerCase()||"",ec=!el&&/iphone|ipad|ipod|ios|crios|fxios/i.test(ed),eu=!el&&/(iphone|ipod)/gi.test(navigator?.platform||""),ep=!el&&!!window.chrome,em=!el&&(!!window.safari||ec);function eg(){return!el&&!(0,s.isUndefined)(window.screen.orientation)&&!(0,s.isUndefined)(window.screen.orientation.lock)&&(0,s.isFunction)(screen.orientation.unlock)}function ef(e,t){return!el&&(e||(e=document.createElement("audio")),e.canPlayType(t).length>0)}function ey(e,t){return!el&&(e||(e=document.createElement("video")),e.canPlayType(t).length>0)}function ev(e){return!el&&(e||(e=document.createElement("video")),e.canPlayType("application/vnd.apple.mpegurl").length>0)}function eb(e){return!el&&!!document.pictureInPictureEnabled&&!e?.disablePictureInPicture}function ew(e){return!el&&(0,s.isFunction)(e?.webkitSupportsPresentationMode)&&(0,s.isFunction)(e?.webkitSetPresentationMode)}async function ek(){let e=document.createElement("video");return e.volume=.5,await (0,s.waitTimeout)(0),.5===e.volume}function eT(){if(el)return!1;let e=el?void 0:window?.ManagedMediaSource??window?.MediaSource??window?.WebKitMediaSource;if((0,s.isUndefined)(e))return!1;
2let t=e&&(0,s.isFunction)(e.isTypeSupported)&&e.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"'),i=el?void 0:window?.SourceBuffer??window?.WebKitSourceBuffer,a=(0,s.isUndefined)(i)||!(0,s.isUndefined)(i.prototype)&&(0,s.isFunction)(i.prototype.appendBuffer)&&(0,s.isFunction)(i.prototype.remove);return!!t&&!!a}class eS{#e;get length(){return this.#e.length}constructor(e,t){(0,s.isArray)(e)?this.#e=e:(0,s.isUndefined)(e)||(0,s.isUndefined)(t)?this.#e=[]:this.#e=[[e,t]]}start(e){return this.#e[e][0]??1/0}end(e){return this.#e[e][1]??1/0}}function ex(e){if(!e.length)return null;let t=e.start(0);for(let i=1;i<e.length;i++){let s=e.start(i);s<t&&(t=s)}return t}function eC(e){if(!e.length)return null;let t=e.end(0);for(let i=1;i<e.length;i++){let s=e.end(i);s>t&&(t=s)}return t}let e$=/\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx|flac)($|\?)/i,eP=new Set(["audio/mpeg","audio/ogg","audio/3gp","audio/mp3","audio/webm","audio/flac","audio/m4a","audio/m4b","audio/mp4a","audio/mp4"]),eE=/\.(mp4|og[gv]|webm|mov|m4v)(#t=[,\d+]+)?($|\?)/i,eA=new Set(["video/mp4","video/webm","video/3gp","video/ogg","video/avi","video/mpeg"]),eq=/\.(m3u8)($|\?)/i,eM=/\.(mpd)($|\?)/i,eD=new Set(["application/vnd.apple.mpegurl","audio/mpegurl","audio/x-mpegurl","application/x-mpegurl","video/x-mpegurl","video/mpegurl","application/mpegurl"]),eL=new Set(["application/dash+xml"]);function eI({src:e,type:t}){return(0,s.isString)(e)?e$.test(e)||eP.has(t)||e.startsWith("blob:")&&"audio/object"===t:"audio/object"===t}function eR(e){return(0,s.isString)(e.src)?eE.test(e.src)||eA.has(e.type)||e.src.startsWith("blob:")&&"video/object"===e.type||eV(e)&&(el||ev()):"video/object"===e.type}function eV({src:e,type:t}){return(0,s.isString)(e)&&eq.test(e)||eD.has(t)}function eO({src:e,type:t}){return(0,s.isString)(e)&&eM.test(e)||eL.has(t)}function eF(e){return(0,s.isString)(e.src)&&(eI(e)||eR(e)||eV(e))}function eN(e,t="preconnect"){if(el)return!1;let i=document.querySelector(`link[href="${e}"]`);if(!(0,s.isNull)(i))return!0;let a=document.createElement("link");return a.rel=t,a.href=e,a.crossOrigin="true",document.head.append(a),!0}let eB={};function eU(e){if(eB[e])return eB[e].promise;let t=(0,s.deferredPromise)(),i=document.querySelector(`script[src="${e}"]`);if(!(0,s.isNull)(i))return t.resolve(),t.promise;eB[e]=t;let a=document.createElement("script");return a.src=e,a.onload=()=>{t.resolve(),delete eB[e]},a.onerror=()=>{t.reject(),delete eB[e]},setTimeout(()=>document.head.append(a),0),t.promise}function eK(e){return"use-credentials"===e?"include":(0,s.isString)(e)?"same-origin":void 0}let eG={crossOrigin:Symbol(0),readyState:Symbol(0),updateActiveCues:Symbol(0),canLoad:Symbol(0),onModeChange:Symbol(0),native:Symbol(0),nativeHLS:Symbol(0)};function eH(e,t){return t>=e.startTime&&t<e.endTime}function eQ(e,t,i){let a=null,n=(0,s.getScope)();function r(){let r=(0,s.isString)(t)?[t]:t,o=e.toArray().find(e=>r.includes(e.kind)&&"showing"===e.mode);if(o!==a){if(!o){i(null),a=null;return}2==o.readyState?i(o):(i(null),(0,s.scoped)(()=>{let e=(0,s.listenEvent)(o,"load",()=>{i(o),e()},{once:!0})},n)),a=o}}return r(),(0,s.listenEvent)(e,"mode-change",r)}class eW extends s.EventsTarget{static createId(e){return`vds-${e.type}-${e.kind}-${e.src??e.label??"?"}`}src;content;type;encoding;id="";label="";language="";kind;default=!1;#t=!1;#i=0;#s="disabled";#a={};#n=[];#r=[];#o=[];[eG.readyState]=0;[eG.crossOrigin];[eG.onModeChange]=null;[eG.native]=null;get metadata(){return this.#a}get regions(){return this.#n}get cues(){return this.#r}get activeCues(){return this.#o}get readyState(){return this[eG.readyState]}get mode(){return this.#s}set mode(e){this.setMode(e)}constructor(e){for(const t of(super(),Object.keys(e)))this[t]=e[t];
2this.type||(this.type="vtt"),!el&&e.content?this.#h(e):e.src||(this[eG.readyState]=2)}addCue(e,t){let i=0,a=this.#r.length;for(i=0;i<a&&!(e.endTime<=this.#r[i].startTime);i++);i===a?this.#r.push(e):this.#r.splice(i,0,e),e instanceof TextTrackCue||this[eG.native]?.track.addCue(e),this.dispatchEvent(new s.DOMEvent("add-cue",{detail:e,trigger:t})),eH(e,this.#i)&&this[eG.updateActiveCues](this.#i,t)}removeCue(e,t){let i=this.#r.indexOf(e);if(i>=0){let a=this.#o.includes(e);this.#r.splice(i,1),this[eG.native]?.track.removeCue(e),this.dispatchEvent(new s.DOMEvent("remove-cue",{detail:e,trigger:t})),a&&this[eG.updateActiveCues](this.#i,t)}}setMode(e,t){this.#s!==e&&(this.#s=e,"disabled"===e?(this.#o=[],this.#l()):2===this.readyState?this[eG.updateActiveCues](this.#i,t):this.#d(),this.dispatchEvent(new s.DOMEvent("mode-change",{detail:this,trigger:t})),this[eG.onModeChange]?.())}[eG.updateActiveCues](e,t){if(this.#i=e,"disabled"===this.mode||!this.#r.length)return;let i=[];for(let t=0,s=this.#r.length;t<s;t++){let s=this.#r[t];eH(s,e)&&i.push(s)}let s=i.length!==this.#o.length;if(!s){for(let e=0;e<i.length;e++)if(!this.#o.includes(i[e])){s=!0;break}}this.#o=i,s&&this.#l(t)}[eG.canLoad](){this.#t=!0,"disabled"!==this.#s&&this.#d()}#h(t){e.A(4004).then(({parseText:e,VTTCue:i,VTTRegion:a})=>{(0,s.isString)(t.content)&&"json"!==t.type?e(t.content,{type:t.type}).then(({cues:e,regions:t})=>{this.#r=e,this.#n=t,this.#c()}):(this.#u(t.content,i,a),3!==this.readyState&&this.#c())})}async #d(){if(this.#t&&!(this[eG.readyState]>0)){if(this[eG.readyState]=1,this.dispatchEvent(new s.DOMEvent("load-start")),!this.src)return void this.#c();try{let{parseResponse:t,VTTCue:i,VTTRegion:s}=await e.A(4004),a=this[eG.crossOrigin]?.(),n=fetch(this.src,{headers:"json"===this.type?{"Content-Type":"application/json"}:void 0,credentials:eK(a)});if("json"===this.type)this.#u(await (await n).text(),i,s);else{let{errors:e,metadata:i,regions:s,cues:a}
2=await t(n,{type:this.type,encoding:this.encoding});if(e[0]?.code===0)throw e[0];this.#a=i,this.#n=s,this.#r=a}this.#c()}catch(e){this.#p(e)}}}#c(){if(this[eG.readyState]=2,!this.src||"vtt"!==this.type){let e=this[eG.native];if(e&&!e.managed)for(let t of this.#r)e.track.addCue(t)}let e=new s.DOMEvent("load");this[eG.updateActiveCues](this.#i,e),this.dispatchEvent(e)}#p(e){this[eG.readyState]=3,this.dispatchEvent(new s.DOMEvent("error",{detail:e}))}#u(e,t,i){try{var a,n,r;let o,h,l,{regions:d,cues:c}=(a=e,n=t,r=i,o=(0,s.isString)(a)?JSON.parse(a):a,h=[],l=[],o.regions&&r&&(h=o.regions.map(e=>Object.assign(new r,e))),(o.cues||(0,s.isArray)(o))&&(l=((0,s.isArray)(o)?o:o.cues).filter(e=>(0,s.isNumber)(e.startTime)&&(0,s.isNumber)(e.endTime)).map(e=>Object.assign(new n(0,0,""),e))),{regions:h,cues:l});this.#n=d,this.#r=c}catch(e){this.#p(e)}}#l(e){this.dispatchEvent(new s.DOMEvent("cue-change",{trigger:e}))}}let ez=/captions|subtitles/;function ej(e){return ez.test(e.kind)}let e_=new s.State({artist:"",artwork:null,audioTrack:null,audioTracks:[],autoPlay:!1,autoPlayError:null,audioGain:null,buffered:new eS,canLoad:!1,canLoadPoster:!1,canFullscreen:!1,canOrientScreen:eg(),canPictureInPicture:!1,canPlay:!1,clipStartTime:0,clipEndTime:0,controls:!1,get iOSControl
2s(){return eu&&"video"===this.mediaType&&(!this.playsInline||!s.fscreen.fullscreenEnabled&&this.fullscreen)},get nativeControls(){return this.controls||this.iOSControls},controlsVisible:!1,get controlsHidden(){return!this.controlsVisible},crossOrigin:null,ended:!1,error:null,fullscreen:!1,get loop(){return this.providedLoop||this.userPrefersLoop},logLevel:"silent",mediaType:"unknown",muted:!1,paused:!0,played:new eS,playing:!1,playsInline:!1,pictureInPicture:!1,preload:"metadata",playbackRate:1,qualities:[],quality:null,autoQuality:!1,canSetQuality:!0,canSetPlaybackRate:!0,canSetVolume:!1,canSetAudioGain:!1,seekable:new eS,seeking:!1,source:{src:"",type:""},sources:[],started:!1,textTracks:[],textTrack:null,get hasCaptions(){return this.textTracks.filter(ej).length>0},volume:1,waiting:!1,realCurrentTime:0,get currentTime(){return this.ended?this.duration:this.clipStartTime>0?Math.max(0,Math.min(this.realCurrentTime-this.clipStartTime,this.duration)):this.realCurrentTime},providedDuration:-1,intrinsicDuration:0,get duration(){return this.seekableWindow},get title(){return this.providedTitle||this.inferredTitle},get poster(){return this.providedPoster||this.inferredPoster},get viewType(){return"unknown"!==this.providedViewType?this.providedViewType:this.inferredViewType},get streamType(){return"unknown"!==this.providedStreamType?this.providedStreamType:this.inferredStreamType},get currentSrc(){return this.source},get bufferedStart(){return Math.max(ex(this.buffered)??0,this.clipStartTime)},get bufferedEnd(){let e=eC(this.buffered)??0;return Math.min(this.seekableEnd,Math.max(0,e-this.clipStartTime))},get bufferedWindow(){return Math.max(0,this.bufferedEnd-this.bufferedStart)}
2,get seekableStart(){if(this.isLiveDVR&&this.liveDVRWindow>0)return Math.max(0,this.seekableEnd-this.liveDVRWindow);return Math.max(ex(this.seekable)??0,this.clipStartTime)},get seekableEnd(){if(this.providedDuration>0)return this.providedDuration;let e=this.liveSyncPosition>0?this.liveSyncPosition:this.canPlay?eC(this.seekable)??1/0:0;return this.clipEndTime>0?Math.min(this.clipEndTime,e):e},get seekableWindow(){let e=this.seekableEnd-this.seekableStart;return isNaN(e)?1/0:Math.max(0,e)},canAirPlay:!1,canGoogleCast:!1,remotePlaybackState:"disconnected",remotePlaybackType:"none",remotePlaybackLoader:null,remotePlaybackInfo:null,get isAirPlayConnected(){return"airplay"===this.remotePlaybackType&&"connected"===this.remotePlaybackState},get isGoogleCastConnected(){return"google-cast"===this.remotePlaybackType&&"connected"===this.remotePlaybackState},pointer:"fine",orientation:"landscape",width:0,height:0,mediaWidth:0,mediaHeight:0,lastKeyboardAction:null,userBehindLiveEdge:!1,liveEdgeTolerance:10,minLiveDVRWindow:60,get canSeek(){return/unknown|on-demand|:dvr/.test(this.streamType)&&Number.isFinite(this.duration)&&(!this.isLiveDVR||this.duration>=this.liveDVRWindow)},get live(){return this.streamType.includes("live")||!Number.isFinite(this.duration)},get liveEdgeStart(){return this.live&&Number.isFinite(this.seekableEnd)?Math.max(0,this.seekableEnd-this.liveEdgeTolerance):0},get liveEdge(){return this.live&&(!this.canSeek||!this.userBehindLiveEdge&&this.currentTime>=this.liveEdgeStart)},get liveEdgeWindow(){return this.live&&Number.isFinite(this.seekableEnd)?this.seekableEnd-this.liveEdgeStart:0},get isLiveDVR(){return/:dvr/.test(this.streamType)},get liveDVRWindow(){return Math.max(this.inferredLiveDVRWindow,this.minLiveDVRWindow)},autoPlaying:!1,providedTitle:"",inferredTitle:"",providedLoop:!1,userPrefersLoop:!1,providedPoster:"",inferredPoster:"",inferredViewType:"unknown",providedViewType:"unknown",providedStreamType:"unknown",inferredStreamType:"unknown",liveSyncPosition:null,inferredLiveDVRWindow:0,savedState:null}),eX=new Set(["autoPlayError","autoPlaying","buffered","canPlay","error","paused","played","playing","seekable","seeking","waiting"]),eY=new Set([...eX,"ended","inferredPoster","inferredStreamType","inferredTitle","intrinsicDuration","inferredLiveDVRWindow","liveSyncPosition","realCurrentTime","savedState","started","userBehindLiveEdge"]);function eJ(e,t=!1){let i=t?eX:eY;e_.reset(e,e=>i.has(e)),(0,s.tick)()}function eZ(e,t){let i=e+t.clipStartTime(),s=Math.floor(e)===Math.floor(t.seekableStart()),a=Math.floor(i)===Math.floor(t.seekableEnd());return s?t.seekableStart():a?t.seekableEnd():t.isLiveDVR()&&t.liveDVRWindow()>0&&i<t.seekableEnd()-t.liveDVRWindow()?t.bufferedStart():Math.min(Math.max(t.seekableStart()+.1,i),t.seekableEnd()-.1)}let e0=(0,s.createContext)();function e1(){return(0,s.useContext)(e0)}class e2{#m=null;#g=null;#f=-1;#y;constructor(e){this.#y=e}setTarget(e){this.#m=e}getPlayer(e){return this.#g||(e??this.#m)?.dispatchEvent(new s.DOMEvent("find-media-player",{detail:e=>void(this.#g=e),bubbles:!0,composed:!0})),this.#g}setPlayer(e){this.#g=e}startLoading(e){this.#v("media-start-loading",e)}startLoadingPoster(e){this.#v("media-poster-start-loading",e)}requestAirPlay(e){this.#v("media-airplay-request",e)}requestGoogleCast(e){this.#v("media-google-cast-request",e)}play(e){this.#v("media-play-request",e)}pause(e){this.#v("media-pause-request",e)}mute(e){this.#v("media-mute-request",e)}unmute(e){this.#v("media-unmute-request",e)}enterFullscreen(e,t){this.#v("media-enter-fullscreen-request",t,e)}exitFullscreen(e,t){this.#v("media-exit-fullscreen-request",t,e)}lockScreenOrientation(e,t){this.#v("media-orientation-lock-request",t,e)}unlockScreenOrientation(e){this.#v("media-orientation-unlock-request",e)}enterPictureInPicture(e){this.#v("media-enter-pip-request",e)}exitPictureInPicture(e){this.#v("media-exit-pip-request",e)}seeking(e,t){this.#v("media-seeking-request",t,e)}seek(e,t){this.#v("media-seek-request",t,e)}seekToLiveEdge(e){this.#v("media-live-edge-request",e)}changeDuration(e,t){this.#v("media-duration-change-request",t,e)}changeClipStart(e,t){this.#v("media-clip-start-change-request",t,e)}changeClipEnd(e,t){this.#v("media-clip-end-change-request",t,e)}changeVolume(e,t){this.#v("media-volume-change-request",t,Math.max(0,Math.min(1,e)))}changeAudioTrack(e,t){this.#v("media-audio-track-change-request",t,e)}changeQuality(e,t){this.#v("media-quality-change-request",t,e)}requestAutoQuality(e){this.changeQuality(-1,e)}changeTextTrackMode(e,t,i){this.#v("media-text-track-change-request",i,{index:e,mode:t})}changePlaybackRate(e,t){this.#v("media-rate-change-request",t,e)}changeAudioGain(e,t){this.#v("media-audio-gain-change-request",t,e)}
2resumeControls(e){this.#v("media-resume-controls-request",e)}pauseControls(e){this.#v("media-pause-controls-request",e)}togglePaused(e){let t=this.getPlayer(e?.target);t&&(t.state.paused?this.play(e):this.pause(e))}toggleControls(e){let t=this.getPlayer(e?.target);t&&(t.controls.showing?t.controls.hide(0,e):t.controls.show(0,e))}toggleMuted(e){let t=this.getPlayer(e?.target);t&&(t.state.muted?this.unmute(e):this.mute(e))}toggleFullscreen(e,t){let i=this.getPlayer(t?.target);i&&(i.state.fullscreen?this.exitFullscreen(e,t):this.enterFullscreen(e,t))}togglePictureInPicture(e){let t=this.getPlayer(e?.target);t&&(t.state.pictureInPicture?this.exitPictureInPicture(e):this.enterPictureInPicture(e))}showCaptions(e){let t=this.getPlayer(e?.target);if(!t)return;let i=t.state.textTracks,s=this.#f;i[s]&&ej(i[s])||(s=-1),-1===s&&(s=i.findIndex(e=>ej(e)&&e.default)),-1===s&&(s=i.findIndex(e=>ej(e))),s>=0&&this.changeTextTrackMode(s,"showing",e),this.#f=-1}disableCaptions(e){let t=this.getPlayer(e?.target);if(!t)return;let i=t.state.textTracks,s=t.state.textTrack;if(s){let t=i.indexOf(s);this.changeTextTrackMode(t,"disabled",e),this.#f=t}}toggleCaptions(e){let t=this.getPlayer(e?.target);t&&(t.state.textTrack?this.disableCaptions():this.showCaptions())}userPrefersLoopChange(e,t){this.#v("media-user-loop-change-request",t,e)}#v(e,t,i){let a=new s.DOMEvent(e,{bubbles:!0,composed:!0,cancelable:!0,detail:i,trigger:t}),n=t?.target||null;n&&n instanceof s.Component&&(n=n.el),n=!n||n===document||n===window||n===document.body||this.#g?.el&&n instanceof Node&&!this.#g.el.contains(n)?this.#m??this.getPlayer()?.el:n??this.#m,this.#g&&("media-play-request"!==e||this.#g.state.canLoad)?this.#g.canPlayQueue.enqueue(e,()=>n?.dispatchEvent(a)):n?.dispatchEvent(a)}#b(e){}}class e3{playerId="vds-player";mediaId=null;#w={volume:null,muted:null,audioGain:null,time:null,lang:null,captions:null,rate:null,quality:null};async getVolume(){return this.#w.volume}async setVolume(e){this.#w.volume=e,this.save()}async getMuted(){return this.#w.muted}async setMuted(e){this.#w.muted=e,this.save()}async getTime(){return this.#w.time}async setTime(e,t){let i=e<0;this.#w.time=i?null:e,i||t?this.saveTime():this.saveTimeThrottled()}async getLang(){return this.#w.lang}async setLang(e){this.#w.lang=e,this.save()}async getCaptions(){return this.#w.captions}async setCaptions(e){this.#w.captions=e,this.save()}async getPlaybackRate(){return this.#w.rate}async setPlaybackRate(e){this.#w.rate=e,this.save()}async getAudioGain(){return this.#w.audioGain}async setAudioGain(e){this.#w.audioGain=e,this.save()}async getVideoQuality(){return this.#w.quality}async setVideoQuality(e){this.#w.quality=e,this.save()}onChange(e,t,i="vds-player"){let s=i?localStorage.getItem(i):null,a=t?localStorage.getItem(t):null;this.playerId=i,this.mediaId=t,this.#w={volume:null,muted:null,audioGain:null,lang:null,captions:null,rate:null,quality:null,...s?JSON.parse(s):{},time:a?+a:null}}save(){if(el||!this.playerId)return;let e=JSON.stringify({...this.#w,time:void 0});localStorage.setItem(this.playerId,e)}saveTimeThrottled=(0,s.functionThrottle)(this.saveTime.bind(this),1e3);saveTime(){if(el||!this.mediaId)return;let e=(this.#w.time??0).toString();localStorage.setItem(this.mediaId,e)}}let e5={add:Symbol(0),remove:Symbol(0),reset:Symbol(0),select:Symbol(0),readonly:Symbol(0),setReadonly:Symbol(0),onReset:Symbol(0),onRemove:Symbol(0),onUserSelect:Symbol(0)};class e4 extends s.EventsTarget{items=[];[e5.readonly]=!1;get length(){return this.items.length}get readonly(){return this[e5.readonly]}indexOf(e){return this.items.indexOf(e)}getById(e){return""===e?null:this.items.find(t=>t.id===e)??null}toArray(){return[...this.items]}[Symbol.iterator](){return this.items.values()}[e5.add](e,t){let i=this.items.length;""+i in this||Object.defineProperty(this,i,{get(){return this.items[i]}}),this.items.includes(e)||(this.items.push(e),this.dispatchEvent(new s.DOMEvent("add",{detail:e,trigger:t})))}[e5.remove](e,t){let i=this.items.indexOf(e);i>=0&&(this[e5.onRemove]?.(e,t),this.items.splice(i,1),this.dispatchEvent(new s.DOMEvent("remove",{detail:e,trigger:t})))}[e5.reset](e){for(let t of[...this.items])this[e5.remove](t,e);this.items=[],this[e5.setReadonly](!1,e),this[e5.onReset]?.()}[e5.setReadonly](e,t){this[e5.readonly]!==e&&(this[e5.readonly]=e,this.dispatchEvent(new s.DOMEvent("readonly-change",{detail:e,trigger:t})))}}let e6=Symbol(0);class e9 extends e4{get selected(){return this.items.find(e=>e.selected)??null}get selectedIndex(){return this.items.findIndex(e=>e.selected)}[e5.onRemove](e,t){this[e5.select](e,!1,t)}[e5.add](e,t){e[e6]=!1,Object.defineProperty(e,"selected",{get(){return this[e6]},set:t=>
2{this.readonly||(this[e5.onUserSelect]?.(),this[e5.select](e,t))}}),super[e5.add](e,t)}[e5.select](e,t,i){if(t===e?.[e6])return;let a=this.selected;e&&(e[e6]=t),(t?a!==e:a===e)&&(a&&(a[e6]=!1),this.dispatchEvent(new s.DOMEvent("change",{detail:{prev:a,current:this.selected},trigger:i})))}}class e8 extends e9{}function e7(e,t=2){return Number(e.toFixed(t))}function te(e){return String(e).split(".")[1]?.length??0}function tt(e,t,i){return Math.max(e,Math.min(i,t))}function ti(e,t){let i=t.composedPath()[0];return(0,s.isDOMNode)(i)&&e.contains(i)}let ts=new Set;if(!el){let e=function(){for(let e of ts)try{e()}catch(e){}window.requestAnimationFrame(e)};e()}function ta(e,t,i){e.hasAttribute(t)||e.setAttribute(t,i)}function tn(e,t){if(!(e.hasAttribute("aria-label")||e.hasAttribute("data-no-label"))){if(!(0,s.isFunction)(t))return void(0,s.setAttribute)(e,"aria-label",t);el?i():(0,s.effect)(i)}function i(){(0,s.setAttribute)(e,"aria-label",t())}}function tr(e){let t=getComputedStyle(e);return"none"!==t.display&&parseInt(t.opacity)>0}function to(e,t){var i;return i=()=>t(!!e&&("checkVisibility"in e?e.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0}):tr(e))),ts.add(i),()=>ts.delete(i)}function th(e,t,i){for(;t;)if(t===e)return!0;else if(i?.(t))break;else t=t.parentElement;return!1}function tl(e,t){return new s.EventsController(e).add("pointerup",e=>{0!==e.button||e.defaultPrevented||t(e)}).add("keydown",e=>{(0,s.isKeyboardClick)(e)&&t(e)})}function td(e){return(0,s.isTouchEvent)(e)&&(e.touches.length>1||e.changedTouches.length>1)}function tc(e){if(el)return e();let t=(0,s.getScope)(),i=window.requestAnimationFrame(()=>{(0,s.scoped)(e,t),i=-1});return()=>void window.cancelAnimationFrame(i)}function tu(e,t,i,{offsetVarName:r,xOffset:h,yOffset:l,...T}){if(!e)return;let S=i.replace(" ","-").replace("-center","");if((0,s.setStyle)(e,"visibility",t?null:"hidden"),!t)return;let x=i.includes("top");return function(e,t,i,s){let r;void 0===s&&(s={});let{ancestorScroll:h=!0,ancestorResize:l=!0,elementResize:d="function"==typeof ResizeObserver,layoutShift:c="function"==typeof IntersectionObserver,animationFrame:u=!1}=s,p=j(e),m=h||l?[...p?Q(p):[],...t?Q(t):[]]:[];m.forEach(e=>{h&&e.addEventListener("scroll",i,{passive:!0}),l&&e.addEventListener("resize",i)});let g=p&&c?function(e,t){let i,s=null,r=A(e);function h(){var e;clearTimeout(i),null==(e=s)||e.disconnect(),s=null}return!function l(d,c){void 0===d&&(d=!1),void 0===c&&(c=1),h();let u=e.getBoundingClientRect(),{left:p,top:m,width:g,height:f}=u;if(d||t(),!g||!f)return;let y={rootMargin:-o(m)+"px "+-o(r.clientWidth-(p+g))+"px "+-o(r.clientHeight-(m+f))+"px "+-o(p)+"px",threshold:n(0,a(1,c))||1},v=!0;function b(t){let s=t[0].intersectionRatio;if(s!==c){if(!v)return l();s?l(!1,s):i=setTimeout(()=>{l(!1,1e-7)},1e3)}1!==s||eo(u,e.getBoundingClientRect())||l(),v=!1}try{s=new IntersectionObserver(b,{...y,root:r.ownerDocument})}catch(e){s=new IntersectionObserver(b,y)}s.observe(e)}(!0),h}(p,i):null,f=-1,y=null;d&&(y=new ResizeObserver(e=>{let[s]=e;s&&s.target===p&&y&&t&&(y.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;null==(e=y)||e.observe(t)})),i()}),p&&!u&&y.observe(p),t&&y.observe(t));let v=u?J(e):null;return u&&function t(){let s=J(e);v&&!eo(v,s)&&i(),v=s,r=requestAnimationFrame(t)}(),i(),()=>{var e;m.forEach(e=>{h&&e.removeEventListener("scroll",i),l&&e.removeEventListener("resize",i)}),null==g||g(),null==(e=y)||e.disconnect(),y=null,u&&cancelAnimationFrame(r)}}(t,e,()=>{var s,o,$;let P,E,A;($={placement:S,middleware:[...T.middleware??[],{name:"flip",options:s={fallbackAxisSideDirection:"start",crossAxis:!1},async fn(e){var t,i,a,n,r,o,h,l;let T,S,x,{placement:C,middlewareData:$,rects:P,initialPlacement:E,platform:A,elements:q}=e,{mainAxis:M=!0,crossAxis:D=!0,fallbackPlacements:L,fallbackStrategy:I="bestFit",fallbackAxisSideDirection:R="none",flipAlignment:V=!0,...O}=d(s,e);if(null!=(t=$.arrow)&&t.alignmentOffset)return{};let F=c(C),N=g(E),B=c(E)===E,U=await (null==A.isRTL?void 0:A.isRTL(q.floating)),K=L||(B||!V?[k(E)]:(T=k(E),[f(E),T,f(T)])),G="none"!==R;!L&&G&&K.push(...(S=u(E),x=function(e,t,i){switch(e){case"top":case"bottom":if(i)return t?v:y;return t?y:v;case"left":case"right":return t?b:w;default:return[]}}(c(E),"start"===R,U),S&&(x=x.map(e=>e+"-"+S),V&&(x=x.concat(x.map(f)))),x));let H=[E,...K],Q=await A.detectOverflow(e,O),W=[],z=(null==(i=$.flip)?void 0:i.overflows)||[];if(M&&W.push(Q[F]),D){let e,t,i,s,a=(o=C,h=P,void 0===(l=U)&&(l=!1),e=u(o),i=m(t=p(g(o))),s="x"===t?e===(l?"end":"start")?"right":"left":"start"===e?"bottom":"top",h.reference[i]>h.floating[i]&&(s=k(s)),[s,k(s)]);W.push(Q[a[0]],Q[a[1]])}if(z=[...z,{placement:C,overflows:W}],!W.every(e=>e<=0)){let e=((null==(a=$.flip)?void 0:a.index)||0)+1,t=H[e];if(t&&("alignment"!==D||N===g(t)||z.every(e=>g(e.placement)!==N||e.overflows[0]>0)))return{data:{index:e,overflows:z},reset:{placement:t}};let i=null==(n=z.filter(e=>e.overflows[0]<=0).sort((e,t)=>
2e.overflows[1]-t.overflows[1])[0])?void 0:n.placement;if(!i)switch(I){case"bestFit":{let e=null==(r=z.filter(e=>{if(G){let t=g(e.placement);return t===N||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:r[0];e&&(i=e);break}case"initialPlacement":i=E}if(C!==i)return{reset:{placement:i}}}return{}}},(void 0===o&&(o={}),{name:"shift",options:o,async fn(e){let{x:t,y:i,placement:s,platform:r}=e,{mainAxis:h=!0,crossAxis:l=!1,limiter:u={fn:e=>{let{x:t,y:i}=e;return{x:t,y:i}}},...m}=d(o,e),f={x:t,y:i},y=await r.detectOverflow(e,m),v=g(c(s)),b=p(v),w=f[b],k=f[v];if(h){let e="y"===b?"top":"left",t="y"===b?"bottom":"right",i=w+y[e],s=w-y[t];w=n(i,a(w,s))}if(l){let e="y"===v?"top":"left",t="y"===v?"bottom":"right",i=k+y[e],s=k-y[t];k=n(i,a(k,s))}let T=u.fn({...e,[b]:w,[v]:k});return{...T,data:{x:T.x-t,y:T.y-i,enabled:{[b]:h,[v]:l}}}}})],...T},P=new Map,A={...(E={platform:er,...$}).platform,_c:P},C(t,e,{...E,platform:A})).then(({x:t,y:s,middlewareData:a})=>{let n,o,d=!!a.flip?.index;x=i.includes(d?"bottom":"top"),e.setAttribute("data-placement",d?i.startsWith("top")?i.replace("top","bottom"):i.replace("bottom","top"):i),Object.assign(e.style,{top:`calc(${s+"px"} + ${(n=l?l+"px":`var(--${r}-y-offset, 0px)`,x?`calc(-1 * ${n})`:n)})`,left:`calc(${t+"px"} + ${(o=h?h+"px":`var(--${r}-x-offset, 0px)`,i.includes("left")?`calc(-1 * ${o})`:o)})`})})})}function tp(e){return e instanceof HTMLElement}class tm{priority=0;#k=!0;#T=null;#S=null;#x=new Set;canRender(e,t){return!!t}attach(e){this.#T=e,e&&(e.textTracks.onchange=this.#C.bind(this))}addTrack(e){this.#x.add(e),this.#$(e)}removeTrack(e){e[eG.native]?.remove?.(),e[eG.native]=null,this.#x.delete(e)}changeTrack(e){let t=e?.[eG.native];t&&"showing"!==t.track.mode&&(t.track.mode="showing"),this.#S=e}setDisplay(e){this.#k=e,this.#C()}detach(){for(let e of(this.#T&&(this.#T.textTracks.onchange=null),this.#x))this.removeTrack(e);this.#x.clear(),this.#T=null,this.#S=null}#$(e){if(!this.#T)return;let t=e[eG.native]??=this.#P(e);tp(t)&&(this.#T.append(t),t.track.mode=t.default?"showing":"disabled")}#P(e){let t=document.createElement("track"),i=e.default||"showing"===e.mode,s=e.src&&"vtt"===e.type;return t.id=e.id,t.src=s?e.src:"",t.label=e.label,t.kind=e.kind,t.default=i,e.language&&(t.srclang=e.language),i&&!s&&this.#E(e,t.track),t}#E(e,t){if(!(e.src&&"vtt"===e.type||t.cues?.length))for(let i of e.cues)t.addCue(i)}#C(e){for(let t of this.#x){let i=t[eG.native];if(!i)continue;if(!this.#k){i.track.mode=i.managed?"hidden":"disabled";continue}let s="showing"===i.track.mode;s&&this.#E(t,i.track),t.setMode(s?"showing":"disabled",e)}}}class tg{#T=null;#A;#q=[];#M;#D=!1;#L=null;#I=null;constructor(e){this.#M=e;const t=e.textTracks;this.#A=t,(0,s.effect)(this.#R.bind(this)),(0,s.onDispose)(this.#V.bind(this)),new s.EventsController(t).add("add",this.#O.bind(this)).add("remove",this.#F.bind(this)).add("mode-change",this.#N.bind(this))}#R(){let{nativeControls:e}=this.#M.$state;this.#D=e(),this.#N()}add(e){this.#q.push(e),(0,s.untrack)(this.#N.bind(this))}remove(e){e.detach(),this.#q.splice(this.#q.indexOf(e),1),(0,s.untrack)(this.#N.bind(this))}attachVideo(e){requestAnimationFrame(()=>{if(this.#T=e,e)for(let t of(this.#L=new tm,this.#L.attach(e),this.#A))this.#B(t);this.#N()})}#B(e){ej(e)&&this.#L?.addTrack(e)}#U(e){ej(e)&&this.#L?.removeTrack(e)}#O(e){this.#B(e.detail)}#F(e){this.#U(e.detail)}#N(){let e=this.#A.selected;
2if(this.#T&&(this.#D||e?.[eG.nativeHLS])){this.#I?.changeTrack(null),this.#L?.setDisplay(!0),this.#L?.changeTrack(e);return}if(this.#L?.setDisplay(!1),this.#L?.changeTrack(null),!e)return void this.#I?.changeTrack(null);let t=this.#q.sort((e,t)=>e.priority-t.priority).find(t=>t.canRender(e,this.#T));this.#I!==t&&(this.#I?.detach(),t?.attach(this.#T),this.#I=t??null),t?.changeTrack(e)}#V(){this.#L?.detach(),this.#L=null,this.#I?.detach(),this.#I=null}}class tf extends e4{#t=!1;#K={};#G=null;#H=null;[eG.crossOrigin];constructor(){super()}get selected(){return this.items.find(e=>"showing"===e.mode&&ej(e))??null}get selectedIndex(){let e=this.selected;return e?this.indexOf(e):-1}get preferredLang(){return this.#H}set preferredLang(e){this.#H=e,this.#Q(e)}add(e,t){let i=e instanceof eW?e:new eW(e),s="captions"===e.kind||"subtitles"===e.kind?"captions":e.kind;return this.#K[s]&&e.default&&delete e.default,i.addEventListener("mode-change",this.#W),this[e5.add](i,t),i[eG.crossOrigin]=this[eG.crossOrigin],this.#t&&i[eG.canLoad](),e.default&&(this.#K[s]=i),this.#z(),this}remove(e,t){if(this.#j=e,this.items.includes(e))return e===this.#K[e.kind]&&delete this.#K[e.kind],e.mode="disabled",e[eG.onModeChange]=null,e.removeEventListener("mode-change",this.#W),this[e5.remove](e,t),this.#j=null,this}clear(e){for(let t of[...this.items])this.remove(t,e);return this}getByKind(e){let t=Array.isArray(e)?e:[e];return this.items.filter(e=>t.includes(e.kind))}[eG.canLoad](){if(!this.#t){for(let e of this.items)e[eG.canLoad]();this.#t=!0,this.#z()}}#z=(0,s.functionDebounce)(async()=>{if(!this.#t)return;!this.#H&&this.#G&&(this.#H=await this.#G.getLang());let e=await this.#G?.getCaptions();for(let t of[["captions","subtitles"],"chapters","descriptions","metadata"]){let i=this.getByKind(t);if(i.find(e=>"showing"===e.mode))continue;let a=this.#H?i.find(e=>e.language===this.#H):null,n=(0,s.isArray)(t)?this.#K[t.find(e=>this.#K[e])||""]:this.#K[t],r=a??n,o=r&&ej(r);r&&(!o||!1!==e)&&(r.mode="showing",o&&this.#_(r))}},300);#j=null;#W=this.#X.bind(this);#X(e){let t=e.detail;if(this.#G&&ej(t)&&t!==this.#j&&this.#_(t),"showing"===t.mode){let e=ej(t)?["captions","subtitles"]:[t.kind];for(let i of this.items)"showing"===i.mode&&i!=t&&e.includes(i.kind)&&(i.mode="disabled")}this.dispatchEvent(new s.DOMEvent("mode-change",{detail:e.detail,trigger:e}))}#_(e){"disabled"!==e.mode&&this.#Q(e.language),this.#G?.setCaptions?.("showing"===e.mode)}#Q(e){this.#G?.setLang?.(this.#H=e)}setStorage(e){this.#G=e}}let ty={setAuto:Symbol(0),enableAuto:Symbol(0)};class tv extends e9{#Y=!1;switch="current";get auto(){return this.#Y||this.readonly}[ty.enableAuto];[e5.onUserSelect](){this[ty.setAuto](!1)}[e5.onReset](e){this[ty.enableAuto]=void 0,this[ty.setAuto](!1,e)}autoSelect(e){this.readonly||this.#Y||!this[ty.enableAuto]||(this[ty.enableAuto]?.(e),this[ty.setAuto](!0,e))}getBySrc(e){return this.items.find(t=>t.src===e)}[ty.setAuto](e,t){this.#Y!==e&&(this.#Y=e,this.dispatchEvent(new s.DOMEvent("auto-change",{detail:e,trigger:t})))}}function tb(e,t){return[...e].sort(t?tk:tw)}function tw(e,t){return e.height===t.height?(e.bitrate??0)-(t.bitrate??0):e.height-t.height}function tk(e,t){return t.height===e.height?(t.bitrate??0)-(e.bitrate??0):t.height-e.height}class tT extends s.ViewController{}let tS=new Set(["Shift","Alt","Meta","Ctrl"]),tx='input, textarea, select, [contenteditable], [role^="menuitem"], [role="timer"]';class tC extends tT{#M;constructor(e){super(),this.#M=e}onConnect(){(0,s.effect)(this.#J.bind(this))}#J(){let{keyDisabled:e,keyTarget:t}=this.$props;if(e())return;let i="player"===t()?this.el:document,a=(0,s.signal)(!1);i===this.el?new s.EventsController(this.el).add("focusin",()=>a.set(!0)).add("focusout",e=>{this.el.contains(e.target)||a.set(!1)}):((0,s.peek)(a)||a.set(document.querySelector("[data-media-player]")===this.el),(0,s.listenEvent)(document,"focusin",e=>{let t=e.composedPath().find(e=>e instanceof Element&&"media-player"===e.localName);void 0!==t&&a.set(this.el===t)})),(0,s.effect)(()=>{a()&&new s.EventsController(i).add("keyup",this.#Z.bind(this)).add("keydown",this.#ee.bind(this)).add("keydown",this.#et.bind(this),{capture:!0})})}#Z(e){let t=document.activeElement;
2if(!e.key||!this.$state.canSeek()||t?.matches(tx))return;let{method:i,value:a}=this.#ei(e);if(!(0,s.isString)(a)&&!(0,s.isArray)(a)){a?.onKeyUp?.({event:e,player:this.#M.player,remote:this.#M.remote}),a?.callback?.(e,this.#M.remote);return}if(i?.startsWith("seek")&&(e.preventDefault(),e.stopPropagation(),this.#es?(this.#ea(e,"seekForward"===i),this.#es=null):(this.#M.remote.seek(this.#en,e),this.#en=void 0)),i?.startsWith("volume")){let t=this.el.querySelector("[data-media-volume-slider]");t?.dispatchEvent(new KeyboardEvent("keyup",{key:"volumeUp"===i?"Up":"Down",shiftKey:e.shiftKey,trigger:e}))}}#ee(e){if(!e.key||tS.has(e.key))return;let t=document.activeElement;if(t?.matches(tx)||(0,s.isKeyboardClick)(e)&&t?.matches('button, [role="button"]'))return;let{method:i,value:a}=this.#ei(e),n=!e.metaKey&&/^[0-9]$/.test(e.key);if(!(0,s.isString)(a)&&!(0,s.isArray)(a)&&!n){a?.onKeyDown?.({event:e,player:this.#M.player,remote:this.#M.remote}),a?.callback?.(e,this.#M.remote);return}if(!i&&n&&!function(e){for(let t of tS)if(e[t.toLowerCase()+"Key"])return!0;return!1}(e)){e.preventDefault(),e.stopPropagation(),this.#M.remote.seek(this.$state.duration()/10*Number(e.key),e);return}if(i){switch(e.preventDefault(),e.stopPropagation(),i){case"seekForward":case"seekBackward":this.#er(e,i,"seekForward"===i);break;case"volumeUp":case"volumeDown":let t=this.el.querySelector("[data-media-volume-slider]");if(t)t.dispatchEvent(new KeyboardEvent("keydown",{key:"volumeUp"===i?"Up":"Down",shiftKey:e.shiftKey,trigger:e}));else{let t=e.shiftKey?.1:.05;this.#M.remote.changeVolume(this.$state.volume()+("volumeUp"===i?+t:-t),e)}break;case"toggleFullscreen":this.#M.remote.toggleFullscreen("prefer-media",e);break;case"speedUp":case"slowDown":let s=this.$state.playbackRate();this.#M.remote.changePlaybackRate(Math.max(.25,Math.min(2,s+("speedUp"===i?.25:-.25))),e);break;default:this.#M.remote[i]?.(e)}this.$state.lastKeyboardAction.set({action:i,event:e})}}#et(e){var t,i;i=t=e.target,(!el&&i instanceof HTMLAudioElement||!el&&t instanceof HTMLVideoElement)&&this.#ei(e).method&&e.preventDefault()}#ei(e){let t={...this.$props.keyShortcuts(),...this.#M.ariaKeys},i=Object.keys(t).find(i=>{let a=t[i],n=(0,s.isArray)(a)?a.join(" "):(0,s.isString)(a)?a:a?.keys,r=((0,s.isArray)(n)?n:n?.split(" "))?.map(e=>e.replace(/Shift\+(\d)/g,(e,t)=>t$[t-1]).replace(/Control/g,"Ctrl").split("+"));return r?.some(t=>{let i=new Set(t.filter(e=>tS.has(e)));for(let t of tS){let s=t.toLowerCase()+"Key";if(!i.has(t)&&e[s])return!1}return t.every(t=>tS.has(t)?e[t.toLowerCase()+"Key"]:e.key===t.replace("Space"," "))})});return{method:i,value:i?t[i]:null}}#en;#eo(e,t){let i=e.shiftKey?10:5;return this.#en=Math.max(0,Math.min((this.#en??this.$state.currentTime())+("seekForward"===t?+i:-i),this.$state.duration()))}#es=null;#ea(e,t){this.#es?.dispatchEvent(new KeyboardEvent(e.type,{key:t?"Right":"Left",shiftKey:e.shiftKey,trigger:e}))}#er(e,t,i){this.$state.canSeek()&&(this.#es||(this.#es=this.el.querySelector("[data-media-time-slider]")),this.#es?this.#ea(e,i):this.#M.remote.seeking(this.#eo(e,t),e))}}let t$=["!","@","#","$","%","^","&","*","(",")"];class tP extends s.ViewController{#eh;constructor(e){super(),this.#eh=e}onAttach(e){let{$props:t,ariaKeys:i}=e1(),a=e.getAttribute("aria-keyshortcuts");if(a){i[this.#eh]=a,el||(0,s.onDispose)(()=>{delete i[this.#eh]});return}let n=t.keyShortcuts()[this.#eh];if(n){let t=(0,s.isArray)(n)?n.join(" "):(0,s.isString)(n)?n:n?.keys;e.setAttribute("aria-keyshortcuts",(0,s.isArray)(t)?t.join(" "):t)}}}class tE extends tT{#el=-2;#ed=!1;#ec=(0,s.signal)(!1);#eu=(0,s.signal)(!1);#ep=null;#em=(0,s.signal)(!0);defaultDelay=2e3;get canIdle(){return this.#em()}set canIdle(e){this.#em.set(e)}get hideOnMouseLeave(){let{hideControlsOnMouseLeave:e}=this.$props;return this.#ec()||e()}set hideOnMouseLeave(e){this.#ec.set(e)}get showing(){return this.$state.controlsVisible()}show(e=0,t){this.#eg(),this.#ed||this.#ef(!0,e,t)}hide(e=this.defaultDelay,t){this.#eg(),this.#ed||this.#ef(!1,e,t)}pause(e){this.#ed=!0,this.#eg(),this.#ef(!0,0,e)}resume(e){this.#ed=!1,this.$state.paused()||this.#ef(!1,this.defaultDelay,e)}onConnect(){(0,s.effect)(this.#ey.bind(this))}#ey(){let{viewType:e}=this.$state;if(!this.el||!this.#em())return;
2if("audio"===e())return void this.show();(0,s.effect)(this.#ev.bind(this)),(0,s.effect)(this.#eb.bind(this));let t=this.#ew.bind(this),i=this.#ek.bind(this),a=this.#eT.bind(this);new s.EventsController(this.el).add("can-play",e=>this.show(0,e)).add("play",t).add("pause",i).add("end",a).add("auto-play-fail",i)}#ev(){if(!this.el)return;let{started:e,pointer:t,paused:i}=this.$state;if(!e()||"fine"!==t())return;let a=new s.EventsController(this.el),n=this.hideOnMouseLeave;n&&this.#eu()||(0,s.effect)(()=>{i()||a.add("pointermove",this.#eS.bind(this))}),n&&a.add("mouseenter",this.#ex.bind(this)).add("mouseleave",this.#eC.bind(this))}#eb(){let{paused:e,started:t,autoPlayError:i}=this.$state;if(e()||i()&&!t())return;let a=this.#eS.bind(this);(0,s.effect)(()=>{if(!this.el)return;let e=this.$state.pointer(),t=new s.EventsController(this.el);for(let i of["coarse"===e?"touchend":"pointerup","keydown"])t.add(i,a,{passive:!1})})}#ew(e){e.triggers.hasType("ended")||(this.show(0,e),this.hide(void 0,e))}#ek(e){this.show(0,e)}#eT(e){let{loop:t}=this.$state;t()&&this.hide(0,e)}#ex(e){this.#eu.set(!1),this.show(0,e),this.hide(void 0,e)}#eC(e){this.#eu.set(!0),this.hide(0,e)}#eg(){window.clearTimeout(this.#el),this.#el=-1}#eS(e){e.MEDIA_GESTURE||this.#ed||td(e)||((0,s.isKeyboardEvent)(e)&&("Escape"===e.key?(this.el?.focus(),this.#ep=null):this.#ep&&(e.preventDefault(),requestAnimationFrame(()=>{this.#ep?.focus(),this.#ep=null}))),this.show(0,e),this.hide(this.defaultDelay,e))}#ef(e,t,i){0===t?this.#C(e,i):this.#el=window.setTimeout(()=>{this.scope&&this.#C(e&&!this.#ed,i)},t)}#C(e,t){this.$state.controlsVisible()!==e&&(this.$state.controlsVisible.set(e),!e&&document.activeElement&&this.el?.contains(document.activeElement)&&(this.#ep=document.activeElement,requestAnimationFrame(()=>{this.el?.focus({preventScroll:!0})}
2)),this.dispatch("controls-change",{detail:e,trigger:t}))}}let tA=s.fscreen.fullscreenEnabled;class tq extends s.ViewController{#e$=!1;#eP=!1;get active(){return this.#eP}get supported(){return tA}onConnect(){new s.EventsController(s.fscreen).add("fullscreenchange",this.#C.bind(this)).add("fullscreenerror",this.#eE.bind(this)),(0,s.onDispose)(this.#eA.bind(this))}async #eA(){tA&&await this.exit()}#C(e){let t=tM(this.el);t!==this.#eP&&(t||(this.#e$=!1),this.#eP=t,this.dispatch("fullscreen-change",{detail:t,trigger:e}))}#eE(e){this.#e$&&(this.dispatch("fullscreen-error",{detail:null,trigger:e}),this.#e$=!1)}async enter(){try{if(this.#e$=!0,!this.el||tM(this.el))return;return tD(),s.fscreen.requestFullscreen(this.el)}catch(e){throw this.#e$=!1,e}}async exit(){if(this.el&&tM(this.el))return tD(),s.fscreen.exitFullscreen()}}function tM(e){if(s.fscreen.fullscreenElement===e)return!0;try{return e.matches(s.fscreen.fullscreenPseudoClass)}catch(e){return!1}}function tD(){if(!tA)throw Error("[vidstack] no fullscreen API")}class tL extends s.ViewController{#eq=(0,s.signal)(this.#eM());#eD=(0,s.signal)(!1);#eL;get type(){return this.#eq()}get locked(){return this.#eD()}get portrait(){return this.#eq().startsWith("portrait")}get landscape(){return this.#eq().startsWith("landscape")}static supported=eg();get supported(){return tL.supported}onConnect(){if(this.supported)(0,s.listenEvent)(screen.orientation,"change",this.#eI.bind(this));else{let e=window.matchMedia("(orientation: landscape)");e.onchange=this.#eI.bind(this),(0,s.onDispose)(()=>e.onchange=null)}(0,s.onDispose)(this.#eA.bind(this))}async #eA(){this.supported&&this.#eD()&&await this.unlock()}#eI(e){this.#eq.set(this.#eM()),this.dispatch("orientation-change",{detail:{orientation:(0,s.peek)(this.#eq),lock:this.#eL},trigger:e})}async lock(e){(0,s.peek)(this.#eD)||this.#eL===e||(this.#eR(),await screen.orientation.lock(e),this.#eD.set(!0),this.#eL=e)}async unlock(){(0,s.peek)(this.#eD)&&(this.#eR(),this.#eL=void 0,await screen.orientation.unlock(),this.#eD.set(!1))}#eR(){if(!this.supported)throw Error("[vidstack] no orientation API")}#eM(){return el?"portrait-primary":this.supported?window.screen.orientation.type:window.innerWidth>=window.innerHeight?"landscape-primary":"portrait-primary"}}class tI{name="audio";target;canPlay(e){return!!eI(e)&&(el||!(0,s.isString)(e.src)||"?"===e.type||ef(this.target,e.type))}mediaType(){return"audio"}async load(t){if(el)throw Error("[vidstack] can not load audio provider server-side");return new(await e.A(11112)).AudioProvider(this.target,t)}}class tR{name="video";target;canPlay(e){return!!eR(e)&&(el||!(0,s.isString)(e.src)||"?"===e.type||ey(this.target,e.type))}mediaType(){return"video"}async load(e){if(el)throw Error("[vidstack] can not load video provider server-side");return new(await Promise.resolve().then(function(){return t5})).VideoProvider(this.target,e)}}class tV extends tR{static supported=eT();name="hls";canPlay(e){return tV.supported&&eV(e)}async load(t){if(el)throw Error("[vidstack] can not load hls provider server-side");return new(await e.A(80249)).HLSProvider(this.target,t)}}let tO=null,tF=[],tN=[];function tB(){return tO??=new AudioContext}function tU(){tO&&0===tF.length&&0===tN.length&&tO.close().then(()=>{tO=null})}class tK{#M;#C;#eV=null;#eO=null;get currentGain(){return this.#eV?.gain?.value??null}get supported(){return!0}constructor(e,t){this.#M=e,this.#C=t}setGain(e){let t=this.currentGain;if(e!==this.currentGain){var i,s;let a;if(1===e&&1!==t)return void this.removeGain();if(!this.#eV){let e,t;this.#eV=((t=(e=tB()).createGain()).connect(e.destination),tF.push(t),t),this.#eO&&this.#eO.connect(this.#eV)}this.#eO||(this.#eO=(i=this.#M,s=this.#eV,a=tB().createMediaElementSource(i),s&&a.connect(s),tN.push(a),a)),this.#eV.gain.value=e,this.#C(e)}}removeGain(){this.#eV&&(this.#eO&&this.#eO.connect(tB().destination),this.#eF(),this.#C(null))}destroy(){this.#eN(),this.#eF()}#eN(){if(this.#eO)try{var e;let t;e=this.#eO,t=tN.indexOf(e),-1!==t&&(tN.splice(t,1),e.disconnect(),tU())}catch(e){}finally{this.#eO=null}}#eF(){if(this.#eV)try{var e;let t;e=this.#eV,t=tF.indexOf(e),-1!==t&&(tF.splice(t,1),e.disconnect(),tU())}catch(e){}finally{this.#eV=null}}}
2let tG=["focus","blur","visibilitychange","pageshow","pagehide"];class tH{#eB=(0,s.signal)(tQ());#eU=(0,s.signal)(el?"visible":document.visibilityState);#eK;connect(){let e=new s.EventsController(window),t=this.#eG.bind(this);for(let i of tG)e.add(i,t);em&&e.add("beforeunload",e=>{this.#eK=setTimeout(()=>{e.defaultPrevented||e.returnValue.length>0||(this.#eB.set("hidden"),this.#eU.set("hidden"))},0)})}get pageState(){return this.#eB()}get visibility(){return this.#eU()}#eG(e){em&&window.clearTimeout(this.#eK),("blur"!==e.type||"active"===this.#eB())&&(this.#eB.set(tQ(e)),this.#eU.set("hidden"==document.visibilityState?"hidden":"visible"))}}function tQ(e){return el||e?.type==="blur"||"hidden"===document.visibilityState?"hidden":document.hasFocus()?"active":"passive"}class tW{#eH;#eQ;constructor(e){this.#eQ=e}start(){(0,s.isUndefined)(this.#eH)&&this.#eW()}stop(){(0,s.isNumber)(this.#eH)&&window.cancelAnimationFrame(this.#eH),this.#eH=void 0}#eW(){this.#eH=window.requestAnimationFrame(()=>{(0,s.isUndefined)(this.#eH)||(this.#eQ(),this.#eW())})}}class tz{#ez;#ej;#e_=!1;#eX=!1;#eY=!1;#eJ=new tW(this.#eZ.bind(this));#e0=new tH;#e1;get #M(){return this.#ez.media}constructor(e,t){this.#ez=e,this.#ej=t,this.#e1=new s.EventsController(e.media),this.#e2(),this.#e0.connect(),(0,s.effect)(this.#e3.bind(this)),(0,s.onDispose)(this.#e5.bind(this))}#e5(){this.#eX=!1,this.#eY=!1,this.#eJ.stop(),this.#e1.abort(),this.#e4?.clear()}#e6=0;#e9=-1;#eZ(){let e=this.#M.currentTime;em&&e-this.#e9<.35||this.#e6===e||(this.#e8(e),this.#e6=e)}#e2(){this.#e7("loadstart",this.#te),this.#e7("abort",this.#tt),this.#e7("emptied",this.#ti),this.#e7("error",this.#eE),this.#e7("volumechange",this.#ts)}#ta(){this.#eX||(this.#e7("loadeddata",this.#tn),this.#e7("loadedmetadata",this.#tr),this.#e7("canplay",this.#to),this.#e7("canplaythrough",this.#th),this.#e7("durationchange",this.#tl),this.#e7("play",this.#ew),this.#e7("progress",this.#td),this.#e7("stalled",this.#tc),this.#e7("suspend",this.#tu),this.#e7("ratechange",this.#tp),this.#eX=!0)}#tm(){this.#eY||(this.#e7("pause",this.#ek),this.#e7("playing",this.#tg),this.#e7("seeked",this.#tf),this.#e7("seeking",this.#ty),this.#e7("ended",this.#tv),this.#e7("waiting",this.#tb),this.#eY=!0)}#e4=void 0;#tw=void 0;#e7(e,t){this.#e1.add(e,t.bind(this))}#tk(e){}#e8(e,t){let i=Math.min(e,this.#ej.$state.seekableEnd());this.#ej.notify("time-change",i,t)}#te(e){3===this.#M.networkState?this.#tt(e):(this.#ta(),this.#ej.notify("load-start",void 0,e))}#tt(e){this.#ej.notify("abort",void 0,e)}#ti(){this.#ej.notify("emptied",void 0,event)}#tn(e){this.#ej.notify("loaded-data",void 0,e)}#tr(e){this.#e6=0,this.#e9=-1,this.#tm(),this.#ej.notify("loaded-metadata",void 0,e),(ec||em&&eV(this.#ej.$state.source()))&&this.#ej.delegate.ready(this.#tT(),e)}#tT(){return{provider:(0,s.peek)(this.#ej.$provider),duration:this.#M.duration,buffered:this.#M.buffered,seekable:this.#M.seekable}}#ew(e){this.#ej.$state.canPlay&&this.#ej.notify("play",void 0,e)}#ek(e){(1!==this.#M.readyState||this.#e_)&&(this.#e_=!1,this.#eJ.stop(),this.#ej.notify("pause",void 0,e))}#to(e){this.#ej.delegate.ready(this.#tT(),e)}#th(e){this.#ej.$state.started()||this.#ej.notify("can-play-through",this.#tT(),e)}#tg(e){this.#M.paused||(this.#e_=!1,this.#ej.notify("playing",void 0,e),this.#eJ.start())}#tc(e){this.#ej.notify("stalled",void 0,e),this.#M.readyState<3&&(this.#e_=!0,this.#ej.notify("waiting",void 0,e))}#tb(e){this.#M.readyState<3&&(this.#e_=!0,this.#ej.notify("waiting",void 0,e))}#tv(e){this.#eJ.stop(),this.#e8(this.#M.duration,e),this.#ej.notify("end",void 0,e),this.#ej.$state.loop()&&(0,s.isNil)(this.#M.controls)&&(this.#M.controls=!1)}#e3(){let e=this.#ej.$state.paused(),t="hidden"===this.#e0.visibility;(e||t)&&(0,s.listenEvent)(this.#M,"timeupdate",this.#tS.bind(this))}#tS(e){this.#e8(this.#M.currentTime,e)}#tl(e){this.#ej.$state.ended()&&this.#e8(this.#M.duration,e),this.#ej.notify("duration-change",this.#M.duration,e)}#ts(e){let t={volume:this.#M.volume,muted:this.#M.muted};this.#ej.notify("volume-change",t,e)}#tf(e){this.#e9=this.#M.currentTime,this.#e8(this.#M.currentTime,e),this.#ej.notify("seeked",this.#M.currentTime,e),Math.trunc(this.#M.currentTime)===Math.trunc(this.#M.duration)&&te(this.#M.duration)>te(this.#M.currentTime)&&(this.#e8(this.#M.duration,e),this.#M.ended||this.#ej.player.dis
2patch(new s.DOMEvent("media-play-request",{trigger:e})))}#ty(e){this.#ej.notify("seeking",this.#M.currentTime,e)}#td(e){let t={buffered:this.#M.buffered,seekable:this.#M.seekable};this.#ej.notify("progress",t,e)}#tu(e){this.#ej.notify("suspend",void 0,e)}#tp(e){this.#ej.notify("rate-change",this.#M.playbackRate,e)}#eE(e){let t=this.#M.error;if(!t)return;let i={message:t.message,code:t.code,mediaError:t};this.#ej.notify("error",i,e)}}class tj{#ez;#ej;get #tx(){return this.#ez.media.audioTracks}constructor(e,t){this.#ez=e,this.#ej=t,this.#tx.onaddtrack=this.#tC.bind(this),this.#tx.onremovetrack=this.#t$.bind(this),this.#tx.onchange=this.#tP.bind(this),(0,s.listenEvent)(this.#ej.audioTracks,"change",this.#tE.bind(this))}#tC(e){let t=e.track;if(""===t.label)return;let i={id:t.id.toString()||`native-audio-${this.#ej.audioTracks.length}`,label:t.label,language:t.language,kind:t.kind,selected:!1};this.#ej.audioTracks[e5.add](i,e),t.enabled&&(i.selected=!0)}#t$(e){let t=this.#ej.audioTracks.getById(e.track.id);t&&this.#ej.audioTracks[e5.remove](t,e)}#tP(e){let t=this.#tA();if(!t)return;let i=this.#ej.audioTracks.getById(t.id);i&&this.#ej.audioTracks[e5.select](i,!0,e)}#tA(){return Array.from(this.#tx).find(e=>e.enabled)}#tE(e){let{current:t}=e.detail;if(!t)return;let i=this.#tx.getTrackById(t.id);if(i){let e=this.#tA();e&&(e.enabled=!1),i.enabled=!0}}}class t_{constructor(e,t){this.media=e,this.ctx=t,this.audioGain=new tK(e,e=>{this.ctx.notify("audio-gain-change",e)})}scope=(0,s.createScope)();currentSrc=null;audioGain;setup(){new tz(this,this.ctx),"audioTracks"in this.media&&new tj(this,this.ctx),(0,s.onDispose)(()=>{for(let e of(this.audioGain.destroy(),this.media.srcObject=null,this.media.removeAttribute("src"),this.media.querySelectorAll("source")))e.remove();this.media.load()})}get type(){return""}setPlaybackRate(e){this.media.playbackRate=e}async play(){return this.media.play()}async pause(){return this.media.pause()}setMuted(e){this.media.muted=e}setVolume(e){this.media.volume=e}setCurrentTime(e){this.media.currentTime=e}setPlaysInline(e){(0,s.setAttribute)(this.media,"playsinline",e)}async loadSource({src:e,type:t},i){(this.media.preload=i||"",!el&&void 0!==window.MediaStream&&e instanceof window.MediaStream)?(this.removeSource(),this.media.srcObject=e):(this.media.srcObject=null,(0,s.isString)(e)?"?"!==t?this.appendSource({src:e,type:t}):(this.removeSource(),this.media.src=this.#tq(e)):(this.removeSource(),this.media.src=window.URL.createObjectURL(e))),this.media.load(),this.currentSrc={src:e,type:t}}appendSource(e,t){let i=this.media.querySelector("source[data-vds]"),a=i??document.createElement("source");(0,s.setAttribute)(a,"src",this.#tq(e.src)),(0,s.setAttribute)(a,"type","?"!==e.type?e.type:t),(0,s.setAttribute)(a,"data-vds",""),i||this.media.append(a)}removeSource(){this.media.querySelector("source[data-vds]")?.remove()}#tq(e){let{clipStartTime:t,clipEndTime:i}=this.ctx.$state,s=t(),a=i();return s>0&&a>0?`${e}#t=${s},${a}`:s>0?`${e}#t=${s}`:a>0?`${e}#t=0,${a}`:e}}class tX{#M;#ej;#eB;#tM=(0,s.signal)(!1);get supported(){return this.#tM()}constructor(e,t){this.#M=e,this.#ej=t,this.#tD()}#tD(){!el&&this.#M?.remote&&this.canPrompt&&(this.#M.remote.watchAvailability(e=>{this.#tM.set(e)}).catch(()=>{this.#tM.set(!1)}),(0,s.effect)(this.#tL.bind(this)))}#tL(){if(!this.#tM())return;let e=this.#tI.bind(this);e(),(0,s.listenEvent)(this.#M,"playing",e);let t=new s.EventsController(this.#M.remote);for(let i of["connecting","connect","disconnect"])t.add(i,e)}async prompt(){if(!this.supported)throw Error("Not supported on this platform.");return"airplay"===this.type&&this.#M.webkitShowPlaybackTargetPicker?this.#M.webkitShowPlaybackTargetPicker():this.#M.remote.prompt()}#tI(e){let t=this.#M.remote.state;if(t===this.#eB)return;let i={type:this.type,state:t};this.#ej.notify("remote-playback-change",i,e),this.#eB=t}}class tY extends tX{type="airplay";get canPrompt(){return"WebKitPlaybackTargetAvailabilityEvent"in window}}class tJ{#T;#ej;constructor(e,t){this.#T=e,this.#ej=t,e.textTracks.onaddtrack=this.#O.bind(this),(0,s.onDispose)(this.#e5.bind(this))}#O(e){var t,i;let s=e.track;if(!s||(t=this.#T,i=s,Array.from(t.children).find(e=>e.track===i)))return;let a=new eW({id:s.id,kind:s.kind,label:s.label??"",language:s.language,type:"vtt"});a[eG.native]={track:s},a[eG.readyState]=2,a[eG.nativeHLS]=!0;let n=0,r=e=>{if(s.cues)for(let t=n;t<s.cues.length;t++)a.addCue(s.cues[t],e),n++};r(e),s.oncuechange=r,this.#ej.textTracks.add(a,e),a.setMode(s.mode,e)}#e5(){for(let e of(this.#T.textTracks.onaddtrack=null,this.#ej.textTracks)){let t=e[eG.native]?.track;t?.oncuechange&&(t.oncuechange=null)}}}class tZ{#T;#M;constructor(e,t){this.#T=e,this.#M=t,new s.EventsController(e).add("enterpictureinpicture",this.#tR.bind(this)).add("leavepictureinpicture",this.#tV.bind(this))}get active(){return document.pictureInPictureElement===this.#T}get supported(){return eb(this.#T)}
2async enter(){return this.#T.requestPictureInPicture()}exit(){return document.exitPictureInPicture()}#tR(e){this.#C(!0,e)}#tV(e){this.#C(!1,e)}#C=(e,t)=>{this.#M.notify("picture-in-picture-change",e,t)}}class t0{#T;#M;#s="inline";get mode(){return this.#s}constructor(e,t){this.#T=e,this.#M=t,(0,s.listenEvent)(e,"webkitpresentationmodechanged",this.#tO.bind(this))}get supported(){return ew(this.#T)}async setPresentationMode(e){this.#s!==e&&this.#T.webkitSetPresentationMode(e)}#tO(e){let t=this.#s;this.#s=this.#T.webkitPresentationMode,this.#M.player?.dispatch(new s.DOMEvent("video-presentation-change",{detail:this.#s,trigger:e})),["fullscreen","picture-in-picture"].forEach(i=>{(this.#s===i||t===i)&&this.#M.notify(`${i}-change`,this.#s===i,e)})}}class t1{#tF;get active(){return"fullscreen"===this.#tF.mode}get supported(){return this.#tF.supported}constructor(e){this.#tF=e}async enter(){this.#tF.setPresentationMode("fullscreen")}async exit(){this.#tF.setPresentationMode("inline")}}class t2{#tF;get active(){return"picture-in-picture"===this.#tF.mode}get supported(){return this.#tF.supported}constructor(e){this.#tF=e}async enter(){this.#tF.setPresentationMode("picture-in-picture")}async exit(){this.#tF.setPresentationMode("inline")}}class t3 extends t_{$$PROVIDER_TYPE="VIDEO";get type(){return"video"}airPlay;fullscreen;pictureInPicture;constructor(e,t){super(e,t),(0,s.scoped)(()=>{if(this.airPlay=new tY(e,t),ew(e)){let i=new t0(e,t);this.fullscreen=new t1(i),this.pictureInPicture=new t2(i)}else eb(e)&&(this.pictureInPicture=new tZ(e,t))},this.scope)}setup(){super.setup(),ev(this.video)&&new tJ(this.video,this.ctx),this.ctx.textRenderers.attachVideo(this.video),(0,s.onDispose)(()=>{this.ctx.textRenderers.attachVideo(null)}),"video"===this.type&&this.ctx.notify("provider-setup",this)}get video(){return this.media}}var t5=Object.freeze({__proto__:null,VideoProvider:t3});function t4(e){try{return new Intl.DisplayNames(navigator.languages,{type:"language"}).of(e)??null}catch(e){return null}}class t6{#T;#ej;#tN=null;#tB=new Set;#tU=null;config={};get instance(){return this.#tN}constructor(e,t){this.#T=e,this.#ej=t}setup(e){this.#tN=e().create();let t=this.#tK.bind(this);for(let i of Object.values(e.events))this.#tN.on(i,t);for(let t of(this.#tN.on(e.events.ERROR,this.#eE.bind(this)),this.#tB))t(this.#tN);this.#ej.player.dispatch("dash-instance",{detail:this.#tN}),this.#tN.initialize(this.#T,void 0,!1),this.#tN.updateSettings({streaming:{text:{defaultEnabled:!1,dispatchForManualRendering:!0},buffer:{fastSwitchEnabled:!0}},...this.config}),this.#tN.on(e.events.FRAGMENT_LOADING_STARTED,this.#tG.bind(this)),this.#tN.on(e.events.FRAGMENT_LOADING_COMPLETED,this.#tH.bind(this)),this.#tN.on(e.events.MANIFEST_LOADED,this.#tQ.bind(this)),this.#tN.on(e.events.QUALITY_CHANGE_RENDERED,this.#tW.bind(this)),this.#tN.on(e.events.TEXT_TRACKS_ADDED,this.#tz.bind(this)),this.#tN.on(e.events.TRACK_CHANGE_RENDERED,this.#tj.bind(this)),this.#ej.qualities[ty.enableAuto]=this.#t_.bind(this),(0,s.listenEvent)(this.#ej.qualities,"change",this.#tX.bind(this)),(0,s.listenEvent)(this.#ej.audioTracks,"change",this.#tY.bind(this)),this.#tU=(0,s.effect)(this.#tJ.bind(this))}#tZ(e){let t;return new s.DOMEvent((t=e.type,`dash-${(0,s.camelToKebabCase)(t)}`),{detail:e})}#tJ(){if(!this.#ej.$state.live())return;let e=new tW(this.#t0.bind(this));return e.start(),e.stop.bind(e)}#t0(){if(!this.#tN)return;let e=this.#tN.duration()-this.#tN.time();this.#ej.$state.liveSyncPosition.set(isNaN(e)?1/0:e)}#tK(e){this.#ej.player?.dispatch(this.#tZ(e))}#t1=null;#t2={};#t3(e){let t=this.#t1?.[eG.native],i=(t?.track).cues;if(!t||!i)return;let s=this.#t1.id,a=this.#t2[s]??0,n=this.#tZ(e);for(let e=a;e<i.length;e++){let t=i[e];t.positionAlign||(t.positionAlign="auto"),this.#t1.addCue(t,n)}this.#t2[s]=i.length}#tz(e){if(!this.#tN)return;let t=e.tracks,i=[...this.#T.textTracks].filter(e=>"manualMode"in e),s=this.#tZ(e);for(let e=0;e<i.length;e++){let a=t[e],n=i[e],r=new eW({id:`dash-${a.kind}-${e}`,label:a?.label??a.labels.find(e=>e.text)?.text??(a?.lang&&t4(a.lang))??a?.lang??void 0,language:a.lang??void 0,kind:a.kind,default:a.defaultTrack});r[eG.native]={managed:!0,track:n},r[eG.readyState]=2,r[eG.onModeChange]=()=>{this.#tN&&("showing"===r.mode?(this.#tN.setTextTrack(e),this.#t1=r):(this.#tN.setTextTrack(-1),this.#t1=null))},this.#ej.textTracks.add(r,s)}}#tj(e){let{mediaType:t,newMediaInfo:i}=e;if("audio"===t){let t=this.#ej.audioTracks.getById(`dash-audio-${i.index}`);
2if(t){let i=this.#tZ(e);this.#ej.audioTracks[e5.select](t,!0,i)}}}#tW(e){if("video"!==e.mediaType)return;let t=this.#ej.qualities[e.newQuality];if(t){let i=this.#tZ(e);this.#ej.qualities[e5.select](t,!0,i)}}#tQ(e){if(this.#ej.$state.canPlay()||!this.#tN)return;let{type:t,mediaPresentationDuration:i}=e.data,a=this.#tZ(e);this.#ej.notify("stream-type-change","static"!==t?"live":"on-demand",a),this.#ej.notify("duration-change",i,a),this.#ej.qualities[ty.setAuto](!0,a);let n=this.#tN.getVideoElement(),r=this.#tN.getTracksForTypeFromManifest("video",e.data),o=[...new Set(r.map(e=>e.mimeType))].find(e=>e&&ey(n,e)),h=r.filter(e=>o===e.mimeType)[0],l=this.#tN.getTracksForTypeFromManifest("audio",e.data),d=[...new Set(l.map(e=>e.mimeType))].find(e=>e&&ef(n,e));if(l=l.filter(e=>d===e.mimeType),h.bitrateList.forEach((e,t)=>{let i={id:e.id?.toString()??`dash-bitrate-${t}`,width:e.width??0,height:e.height??0,bitrate:e.bandwidth??0,codec:h.codec,index:t};this.#ej.qualities[e5.add](i,a)}),(0,s.isNumber)(h.index)){let e=this.#ej.qualities[h.index];e&&this.#ej.qualities[e5.select](e,!0,a)}l.forEach((e,t)=>{let i=e.labels.find(e=>navigator.languages.some(t=>e.lang&&t.toLowerCase().startsWith(e.lang.toLowerCase())))||e.labels[0],s={id:`dash-audio-${e?.index}`,label:i?.text??(e.lang&&t4(e.lang))??e.lang??"",language:e.lang??"",kind:"main",mimeType:e.mimeType,codec:e.codec,index:t};this.#ej.audioTracks[e5.add](s,a)}),n.dispatchEvent(new s.DOMEvent("canplay",{trigger:a}))}#eE(e){let{type:t,error:i}=e;27===i.code?this.#t5(i):this.#t4(i)}#tG(){this.#t6>=0&&this.#t9()}#tH(e){"text"===e.mediaType&&requestAnimationFrame(this.#t3.bind(this,e))}#t6=-1;#t5(e){this.#t9(),this.#tN?.play(),this.#t6=window.setTimeout(()=>{this.#t6=-1,this.#t4(e)},5e3)}#t9(){clearTimeout(this.#t6),this.#t6=-1}#t4(e){this.#ej.notify("error",{message:e.message??"",code:1,error:e})}#t_(){this.#t8("video",!0);let{qualities:e}=this.#ej;this.#tN?.setQualityFor("video",e.selectedIndex,!0)}#t8(e,t){this.#tN?.updateSettings({streaming:{abr:{autoSwitchBitrate:{[e]:t}}}})}#tX(){let{qualities:e}=this.#ej;this.#tN&&!e.auto&&e.selected&&(this.#t8("video",!1),this.#tN.setQualityFor("video",e.selectedIndex,"current"===e.switch),ep&&(this.#T.currentTime=this.#T.currentTime))}#tY(){if(!this.#tN)return;let{audioTracks:e}=this.#ej,t=this.#tN.getTracksFor("audio").find(t=>e.selected&&e.selected.id===`dash-audio-${t.index}`);t&&this.#tN.setCurrentTrack(t)}#t7(){this.#t9(),this.#t1=null,this.#t2={}}onInstance(e){return this.#tB.add(e),()=>this.#tB.delete(e)}loadSource(e){this.#t7(),(0,s.isString)(e.src)&&this.#tN?.attachSource(e.src)}destroy(){this.#t7(),this.#tN?.destroy(),this.#tN=null,this.#tU?.(),this.#tU=null}}function t9(e){return e instanceof Error?e:Error("string"==typeof e?e:JSON.stringify(e))}function t8(e,t){if(!e)throw Error("Assertion failed.")}class t7{#ie;#ej;#eQ;constructor(e,t,i){this.#ie=e,this.#ej=t,this.#eQ=i,this.#it()}async #it(){let e={onLoadStart:this.#te.bind(this),onLoaded:this.#ii.bind(this),onLoadError:this.#is.bind(this)},t=await it(this.#ie,e);return((0,s.isUndefined)(t)&&!(0,s.isString)(this.#ie)&&(t=await ie(this.#ie,e)),t)?window.dashjs.supportsMediaSource()?t:(this.#ej.player.dispatch(new s.DOMEvent("dash-unsupported")),this.#ej.notify("error",{message:"[vidstack] `dash.js` is not supported in this environment",code:4}),null):null}#te(){this.#ej.player.dispatch(new s.DOMEvent("dash-lib-load-start"))}#ii(e){this.#ej.player.dispatch(new s.DOMEvent("dash-lib-loaded",{detail:e})),this.#eQ(e)}#is(e){let t=t9(e);this.#ej.player.dispatch(new s.DOMEvent("dash-lib-load-error",{detail:t})),this.#ej.notify("error",{message:t.message,code:4,error:t})}}async function ie(e,t={}){if(!(0,s.isUndefined)(e)){var i;if(t.onLoadStart?.(),(i=e)&&i.prototype&&i.prototype!==Function)return t.onLoaded?.(e),e;if(ii(e)){let i=e.MediaPlayer;return t.onLoaded?.(i),i}try{let i=(await e())?.default;if(ii(i))return t.onLoaded?.(i.MediaPlayer),i.MediaPlayer;if(i)t.onLoaded?.(i);else throw Error("");return i}catch(e){t.onLoadError?.(e)}}}async function it(e,t={}){if((0,s.isString)(e)){t.onLoadStart?.();try{if(await eU(e),!(0,s.isFunction)(window.dashjs.MediaPlayer))throw Error("");let i=window.dashjs.MediaPlayer;return t.onLoaded?.(i),i}catch(e){t.onLoadError?.(e)}}}function ii(e){return e&&"MediaPlayer"in e}class is extends t3{$$PROVIDER_TYPE="DASH";#ia=null;#ir=new t6(this.video,this.ctx);get ctor(){return this.#ia}get instance(){return this.#ir.instance}
2static supported=eT();get type(){return"dash"}get canLiveSync(){return!0}#io="https://cdn.jsdelivr.net/npm/[email protected]/dist/dash.all.min.js";get config(){return this.#ir.config}set config(e){this.#ir.config=e}get library(){return this.#io}set library(e){this.#io=e}preconnect(){(0,s.isString)(this.#io)&&eN(this.#io)}setup(){super.setup(),new t7(this.#io,this.ctx,e=>{this.#ia=e,this.#ir.setup(e),this.ctx.notify("provider-setup",this);let t=(0,s.peek)(this.ctx.$state.source);t&&this.loadSource(t)})}async loadSource(e,t){(0,s.isString)(e.src)?(this.media.preload=t||"",this.appendSource(e,"application/x-mpegurl"),this.#ir.loadSource(e),this.currentSrc=e):this.removeSource()}onInstance(e){let t=this.#ir.instance;return t&&e(t),this.#ir.onInstance(e)}destroy(){this.#ir.destroy()}}var ia=Object.freeze({__proto__:null,DASHProvider:is});class ir extends tR{static supported=eT();name="dash";canPlay(e){return ir.supported&&eO(e)}async load(e){if(el)throw Error("[vidstack] can not load dash provider server-side");return new(await Promise.resolve().then(function(){return ia})).DASHProvider(this.target,e)}}class io{name="vimeo";target;preconnect(){for(let e of["https://i.vimeocdn.com","https://f.vimeocdn.com","https://fresnel.vimeocdn.com"])eN(e)}canPlay(e){return(0,s.isString)(e.src)&&"video/vimeo"===e.type}mediaType(){return"video"}async load(t){if(el)throw Error("[vidstack] can not load vimeo provider server-side");return new(await e.A(16600)).VimeoProvider(this.target,t)}async loadPoster(t,i,a){let{resolveVimeoVideoId:n,getVimeoVideoInfo:r}=await e.A(58485);if(!(0,s.isString)(t.src))return null;let{videoId:o,hash:h}=n(t.src);return o?r(o,a,h).then(e=>e?e.poster:null):null}}class ih{name="youtube";target;preconnect(){for(let e of["https://www.google.com","https://i.ytimg.com","https://googleads.g.doubleclick.net","https://static.doubleclick.net"])eN(e)}canPlay(e){return(0,s.isString)(e.src)&&"video/youtube"===e.type}mediaType(){return"video"}async load(t){if(el)throw Error("[vidstack] can not load youtube provider server-side");return new(await e.A(89921)).YouTubeProvider(this.target,t)}async loadPoster(t,i,a){let{findYouTubePoster:n,resolveYouTubeVideoId:r}=await e.A(1019),o=(0,s.isString)(t.src)&&r(t.src);return o?n(o,a):null}}function il(e,t){let i=String(e),s=i.length;if(s<t){let i="0".repeat(t-s);return`${i}${e}`}return i}function id(e){let t=Math.trunc(e/3600),i=Math.trunc(e%3600/60);return{hours:t,minutes:i,seconds:Math.trunc(e%60),fraction:Number((e-Math.trunc(e)).toPrecision(3))}}function ic(e,{padHrs:t=null,padMins:i=null,showHrs:a=!1,showMs:n=!1}={}){let{hours:r,minutes:o,seconds:h,fraction:l}=id(e),d=t?il(r,2):r,c=i||(0,s.isNull)(i)&&e>=3600?il(o,2):o,u=il(h,2),p=n&&l>0?`.${String(l).replace(/^0?\./,"")}`:"",m=`${c}:${u}${p}`;return r>0||a?`${d}:${m}`:m}function iu(e){let t=[],{hours:i,minutes:s,seconds:a}=id(e);return i>0&&t.push(`${i} hour`),s>0&&t.push(`${s} min`),(a>0||0===t.length)&&t.push(`${a} sec`),t.join(" ")}let ip=Symbol(0),im=["autoPlay","canAirPlay","canFullscreen","canGoogleCast","canLoad","canLoadPoster","canPictureInPicture","canPlay","canSeek","ended","fullscreen","isAirPlayConnected","isGoogleCastConnected","live","liveEdge","loop","mediaType","muted","paused","pictureInPicture","playing","playsInline","remotePlaybackState","remotePlaybackType","seeking","started","streamType","viewType","waiting"],ig={artist:"",artwork:null,autoplay:!1,autoPlay:!1,clipStartTime:0,clipEndTime:0,controls:!1,currentTime:0,crossorigin:null,crossOrigin:null,duration:-1,fullscreenOrientation:"landscape",googleCast:{},load:"visible",posterLoad:"visible",logLevel:"silent",loop:!1,muted:!1,paused:!0,playsinline:!1,playsInline:!1,playbackRate:1,poster:"",preload:"metadata",preferNativeHLS:!1,src:"",title:"",controlsDelay:2e3,hideControlsOnMouseLeave:!1,viewType:"unknown",streamType:"unknown",volume:1,liveEdgeTolerance:10,minLiveDVRWindow:60,keyDisabled:!1,keyTarget:"player",keyShortcuts:{togglePaused:"k Space",toggleMuted:"m",toggleFullscreen:"f",togglePictureInPicture:"i",toggleCaptions:"c",seekBackward:"j J ArrowLeft",seekForward:"l L ArrowRight",volumeUp:"ArrowUp",volumeDown:"ArrowDown",speedUp:">",slowDown:"<"},storage:null};class iy extends tT{#eq;#eQ;constructor(e,t){super(),this.#eq=e,this.#eQ=t}async onAttach(e){if(el)return;let t=this.$props[this.#eq]();if("eager"===t)requestAnimationFrame(this.#eQ);else if("idle"===t)(0,s.waitIdlePeriod)(this.#eQ);else if("visible"===t){let t,i=new IntersectionObserver(e=>{this.scope&&e[0].isIntersecting&&(t?.(),t=void 0,this.#eQ())});i.observe(e),t=(0,s.onDispose)(()=>i.disconnect())}}}class iv{#ih;#M;constructor(e,t){this.#ih=e,this.#M=t}notify(e,...t){el||this.#ih(new s.DOMEvent(e,{detail:t?.[0],trigger:t?.[1]}))}async ready(e,t){if(!el)return(0,s.untrack)(async()=>{let{logger:i}=this.#M,{autoPlay:a,canPlay:n,started:r,duration:o,seekable:h,buffered:l,remotePlaybackInfo:d,playsInl
2ine:c,savedState:u,source:p}=this.#M.$state;if(n())return;let m={duration:e?.duration??o(),seekable:e?.seekable??h(),buffered:e?.buffered??l(),provider:this.#M.$provider()};this.notify("can-play",m,t),(0,s.tick)();let g=this.#M.$provider(),{storage:f,qualities:y}=this.#M,{muted:v,volume:b,clipStartTime:w,playbackRate:k}=this.#M.$props;await f?.onLoad?.(p());let T=u()?.currentTime,S=u()?.paused,x=await f?.getTime(),C=T??x??w(),$=!1===S||!0!==S&&!r()&&a();if(g){g.setVolume(await f?.getVolume()??b()),g.setMuted(v()||!!await f?.getMuted());let e=await f?.getAudioGain()??1;e>1&&g.audioGain?.setGain?.(e),g.setPlaybackRate?.(await f?.getPlaybackRate()??k()),g.setPlaysInline?.(c()),C>0&&g.setCurrentTime(C)}let P=await f?.getVideoQuality();if(P&&y.length){let e=null,t=1/0;for(let i of y){let s=Math.abs(P.width-i.width)+Math.abs(P.height-i.height)+(P.bitrate?Math.abs(P.bitrate-(i.bitrate??0)):0);s<t&&(e=i,t=s)}e&&(e.selected=!0)}n()&&$?await this.#il(t):x&&x>0&&this.notify("started",void 0,t),d.set(null)})}async #il(e){let{player:t,$state:{autoPlaying:i,muted:a}}=this.#M;i.set(!0);let n=new s.DOMEvent("auto-play-attempt",{trigger:e});try{await t.play(n)}catch(e){}}}class ib{#id=new Map;enqueue(e,t){this.#id.set(e,t)}serve(e){let t=this.peek(e);return this.#id.delete(e),t}peek(e){return this.#id.get(e)}delete(e){this.#id.delete(e)}clear(){this.#id.clear()}}class iw{#ic=!1;#iu=(0,s.deferredPromise)();#id=new Map;get size(){return this.#id.size}get isServing(){return this.#ic}async waitForFlush(){this.#ic||await this.#iu.promise}enqueue(e,t){this.#ic?t():(this.#id.delete(e),this.#id.set(e,t))}serve(e){this.#id.get(e)?.(),this.#id.delete(e)}start(){this.#ip(),this.#ic=!0,this.#id.size>0&&this.#ip()}stop(){this.#ic=!1}reset(){this.stop(),this.#id.clear(),this.#im()}#ip(){for(let e of this.#id.keys())this.serve(e);this.#im()}#im(){this.#iu.resolve(),this.#iu=(0,s.deferredPromise)()}}function ik(e){return()=>e()?"true":"false"}class iT extends tT{#ig;#iy;#M;controls;#iv;#ib;#iw;#ik=new iw;constructor(e,t,i){super(),this.#ig=e,this.#iy=t,this.#M=i,this.#iw=i.$provider,this.controls=new tE,this.#iv=new tq,this.#ib=new tL}onAttach(){this.listen("fullscreen-change",this.#iT.bind(this))}onConnect(e){let t=Object.getOwnPropertyNames(Object.getPrototypeOf(this)),i=new s.EventsController(e),a=this.#iS.bind(this);for(let e of t)e.startsWith("media-")&&i.add(e,a);this.#ix(),(0,s.effect)(this.#iC.bind(this)),(0,s.effect)(this.#i$.bind(this)),(0,s.effect)(this.#iP.bind(this)),(0,s.effect)(this.#iE.bind(this)),(0,s.effect)(this.#iA.bind(this)),(0,s.effect)(this.#iq.bind(this)),(0,s.effect)(this.#iM.bind(this))}onDestroy(){try{let e=this.createEvent("destroy"),{pictureInPicture:t,fullscreen:i}=this.$state;i()&&this.exitFullscreen("prefer-media",e),t()&&this.exitPictureInPicture(e)}catch(e){}this.#ik.reset()}#ix(){let{load:e}=this.$props,{canLoad:t}=this.$state;if("play"!==e()||t())return;let i=this.listen("media-play-request",e=>{this.#iD(e),i()})}#iC(){let e=this.#iw(),t=this.$state.canPlay();return e&&t&&this.#ik.start(),()=>{this.#ik.stop()}}#iS(e){e.stopPropagation(),e.defaultPrevented||this[e.type]&&((0,s.peek)(this.#iw)?this[e.type](e):this.#ik.enqueue(e.type,()=>{(0,s.peek)(this.#iw)&&this[e.type](e)}))}async play(e){if(el)return;let{canPlay:t,paused:i,autoPlaying:a}=this.$state;if(this.#iD(e)||!(0,s.peek)(i))return;e&&this.#iy.queue.enqueue("media-play-request",e);let n=(0,s.peek)(a);try{let e=(0,s.peek)(this.#iw);return iS(e,(0,s.peek)(t)),function(e){if(!("u"<typeof window)&&window.matchMedia("(prefers-reduced-motion: reduce)").matches&&e)throw Error("[vidstack] autoplay blocked")}(n),await e.play()}catch(i){let t=this.createEvent("play-fail",{detail:t9(i),trigger:e});throw t.autoPlay=n,this.#ig.handle(t),i}}#iD(e){let{load:t}=this.$props,{canLoad:i}=this.$state;if("play"===t()&&!i()){let t=this.createEvent("media-start-loading",{trigger:e});return this.dispatchEvent(t),this.#ik.enqueue("media-play-request",async()=>{try{await this.play(t)}catch(e){}}),!0}return!1}async pause(e){if(el)return;let{canPlay:t,paused:i}=this.$state;if(!(0,s.peek)(i)){e&&this.#iy.queue.enqueue("media-pause-request",e);try{let e=(0,s.peek)(this.#iw);return iS(e,(0,s.peek)(t)),await e.pause()}catch(e){throw this.#iy.queue.delete("media-pause-request"),e}}}setAudioGain(e,t){let{audioGain:i,canSetAudioGain:s}=this.$state;if(i()===e)return;let a=this.#iw();if(!a?.audioGain||!s())throw Error("[vidstack] audio gain api not available");t&&this.#iy.queue.enqueue("media-audio-gain-change-request",t),a.audioGain.setGain(e)}seekToLiveEdge(e){if(el)return;let{canPlay:t,live:i,liveEdge:a,canSeek:n,liveSyncPosition:r,seekableEnd:o,userBehindLiveEdge:h}=this.$state;if(h.set(!1),(0,s.peek)(()=>!i()||a()||!n()))return;let l=(0,s.peek)(this.#iw);iS(l,(0,s.peek)(t)),e&&this.#iy.queue.enqueue("media-seek-request",e);let d=o()-2;l.setCurrentTime(Math.min(d,r()??d))}#iL=!1;async enterFullscreen(e="prefer-media",t){if(el)return;let i=this.#iI(e);if(ix(e,i),!i.active)return(0,s.peek)(this.$state.pictureInPicture)&&(this.#iL=!0,await this.exitPictureInPicture(t)),t&&this.#iy.queue.enqueue("media-enter-fullscreen-request",t),i.enter()}async exitFullscreen(e="prefer-media",t){if(el)return;let i=this.#iI(e);if(ix(e,i),i.active){t&&this.#iy.queue.enqueue("media-exit-fullscreen-request",t);try{let e=await i.exit();return this.#iL&&(0,s.peek)(this.$state.canPictureInPicture)&&await this.enterPictureInPicture(),e}finally{this.#iL=!1}}}#iI(e){let t=(0,s.peek)(this.#iw);return"prefer-media"===e&&this.#iv.supported||"media"===e?this.#iv:t?.fullscreen}async enterPictureInPicture(e){if(!el&&(this.#iR(),!this.$state.pictureInPicture()))return e&&this.#iy.queue.enqueue("media-enter-pip-request",e),await this.#iw().pictureInPicture.enter()}async exitPictureInPicture(e){if(!el&&(this.#iR(),this.$state.pictureInPicture()))return e&&this.#iy.queue.enqueue("media-exit-pip-request",e),await this.#iw().pictureInPicture.exit()}#iR(){if(!this.$state.canPictureInPicture())throw Error("[vidstack] no pip support")}#i$(){this.controls.defaultDelay=this.$props.controlsDelay()}#iP(){let{canSetAudioGain:e}=this.$state,t=!!this.#iw()?.audioGain?.supported;e.set(t)}#iE(){let{canAirPlay:e}=this.$state,t=!!this.#iw()?.airPlay?.supported;e.set(t)}#iA(){let{canGoogleCast:e,source:t}=this.$state,i=ep&&!ec&&eF(t());e.set(i)}#iq(){let{canFullscreen:e}=this.$state,t=this.#iv.supported||!!this.#iw()?.fullscreen?.supported;e.set(t)}#iM(){let{canPictureInPicture:e}=this.$state,t=!!this.#iw()?.pictureInPicture?.supported;e.set(t)}async "media-airplay-request"(e){try{await this.requestAirPlay(e)}catch(e){}}async requestAirPlay(e){try{let t=this.#iw()?.airPlay;if(!t?.supported)throw Error("No AirPlay adapter.");return e&&this.#iy.queue.enqueue("media-airplay-request",e),await t.prompt()}catch(e){throw this.#iy.queue.delete("media-airplay-request"),e}}async "media-google-cast-request"(e){try{await this.requestGoogleCast(e)}catch(e){}}#iV;async requestGoogleCast(t){try{let{canGoogleCast:i}=this.$state;if(!(0,s.peek)(i)){let e=Error("Cast not available.");throw e.code="CAST_NOT_AVAILABLE",e}
2if(eN("https://www.gstatic.com"),!this.#iV){let t=await e.A(8413).then(function(e){return e.loader});this.#iV=new t.GoogleCastLoader}await this.#iV.prompt(this.#M),t&&this.#iy.queue.enqueue("media-google-cast-request",t);let a="disconnected"!==(0,s.peek)(this.$state.remotePlaybackState);a&&this.$state.savedState.set({paused:(0,s.peek)(this.$state.paused),currentTime:(0,s.peek)(this.$state.currentTime)}),this.$state.remotePlaybackLoader.set(a?this.#iV:null)}catch(e){throw this.#iy.queue.delete("media-google-cast-request"),e}}"media-clip-start-change-request"(e){let{clipStartTime:t}=this.$state;t.set(e.detail)}"media-clip-end-change-request"(e){let{clipEndTime:t}=this.$state;t.set(e.detail),this.dispatch("duration-change",{detail:e.detail,trigger:e})}"media-duration-change-request"(e){let{providedDuration:t,clipEndTime:i}=this.$state;t.set(e.detail),0>=i()&&this.dispatch("duration-change",{detail:e.detail,trigger:e})}"media-audio-track-change-request"(e){let{logger:t,audioTracks:i}=this.#M;if(i.readonly)return;let s=i[e.detail];if(s){let t=e.type;this.#iy.queue.enqueue(t,e),s.selected=!0}}async "media-enter-fullscreen-request"(e){try{await this.enterFullscreen(e.detail,e)}catch(t){this.#iO(t,e)}}async "media-exit-fullscreen-request"(e){try{await this.exitFullscreen(e.detail,e)}catch(t){this.#iO(t,e)}}async #iT(e){let t=(0,s.peek)(this.$props.fullscreenOrientation),i=e.detail;if(!(0,s.isUndefined)(t)&&"none"!==t&&this.#ib.supported)if(i){if(this.#ib.locked)return;this.dispatch("media-orientation-lock-request",{detail:t,trigger:e})}else this.#ib.locked&&this.dispatch("media-orientation-unlock-request",{trigger:e})}#iO(e,t){this.#ig.handle(this.createEvent("fullscreen-error",{detail:t9(e)}))}async "media-orientation-lock-request"(e){let t=e.type;try{this.#iy.queue.enqueue(t,e),await this.#ib.lock(e.detail)}catch(e){this.#iy.queue.delete(t)}}async "media-orientation-unlock-request"(e){let t=e.type;try{this.#iy.queue.enqueue(t,e),await this.#ib.unlock()}catch(e){this.#iy.queue.delete(t)}}async "media-enter-pip-request"(e){try{await this.enterPictureInPicture(e)}catch(t){this.#iF(t,e)}}async "media-exit-pip-request"(e){try{await this.exitPictureInPicture(e)}catch(t){this.#iF(t,e)}}#iF(e,t){this.#ig.handle(this.createEvent("picture-in-picture-error",{detail:t9(e)}))}"media-live-edge-request"(e){let{live:t,liveEdge:i,canSeek:s}=this.$state;if(!(!t()||i())&&s()){this.#iy.queue.enqueue("media-seek-request",e);try{this.seekToLiveEdge()}catch(e){this.#iy.queue.delete("media-seek-request")}}}async "media-loop-request"(e){try{this.#iy.looping=!0,this.#iy.replaying=!0,await this.play(e)}catch(e){this.#iy.looping=!1}}"media-user-loop-change-request"(e){this.$state.userPrefersLoop.set(e.detail)}async "media-pause-request"(e){if(!this.$state.paused())try{await this.pause(e)}catch(e){}}async "media-play-request"(e){if(this.$state.paused())try{await this.play(e)}catch(e){}}"media-rate-change-request"(e){let{playbackRate:t,canSetPlaybackRate:i}=this.$state;if(t()===e.detail||!i())return;let s=this.#iw();s?.setPlaybackRate&&(this.#iy.queue.enqueue("media-rate-change-request",e),s.setPlaybackRate(e.detail))}"media-audio-gain-change-request"(e){try{this.setAudioGain(e.detail,e)}catch(e){}}"media-quality-change-request"(e){let{qualities:t,storage:i,logger:s}=this.#M;if(t.readonly)return;this.#iy.queue.enqueue("media-quality-change-request",e);let a=e.detail;if(a<0)t.autoSelect(e),e.isOriginTrusted&&i?.setVideoQuality?.(null);else{let s=t[a];s&&(s.selected=!0,e.isOriginTrusted&&i?.setVideoQuality?.({id:s.id,width:s.width,height:s.height,bitrate:s.bitrate}))}}"media-pause-controls-request"(e){let t=e.type;this.#iy.queue.enqueue(t,e),this.controls.pause(e)}"media-resume-controls-request"(e){let t=e.type;this.#iy.queue.enqueue(t,e),this.controls.resume(e)}"media-seek-request"(e){let{canSeek:t,ended:i,live:s,seekableEnd:a,userBehindLiveEdge:n}=this.$state,r=e.detail;i()&&(this.#iy.replaying=!0);let o=e.type;this.#iy.seeking=!1,this.#iy.queue.delete(o);let h=eZ(r,this.$state);Number.isFinite(h)&&t()&&(this.#iy.queue.enqueue(o,e),this.#iw().setCurrentTime(h),s()&&e.isOriginTrusted&&Math.abs(a()-h)>=2&&n.set(!0))}"media-seeking-request"(e){let t=e.type;this.#iy.queue.enqueue(t,e),this.$state.seeking.set(!0),this.#iy.seeking=!0}"media-start-loading"(e){if(this.$state.canLoad())return;let t=e.type;this.#iy.queue.enqueue(t,e),this.#ig.handle(this.createEvent("can-load"))}"media-poster-start-loading"(e){if(this.$state.canLoadPoster())return;let t=e.type;this.#iy.queue.enqueue(t,e),this.#ig.handle(this.createEvent("can-load-poster"))}"media-text-track-change-request"(e){let{index:t,mode:i}=e.detail,s=this.#M.textTracks[t];if(s){let t=e.type;this.#iy.queue.enqueue(t,e),s.setMode(i,e)}}"media-mute-request"(e){if(this.$state.muted())return;let t=e.type;this.#iy.queue.enqueue(t,e),this.#iw().setMuted(!0)}"media-unmute-request"(e){let{muted:t,volume:i}=this.$state;if(!t())return;let s=e.type;this.#iy.queue.enqueue(s,e),this.#M.$provider().setMuted(!1),0===i()&&(this.#iy.queue.enqueue(s,e),this.#iw().setVolume(.25))}"media-volume-change-request"(e){let{muted:t,volume:i}=this.$state,s=e.detail;if(i()===s)return;let a=e.type;this.#iy.queue.enqueue(a,e),this.#iw().setVolume(s),s>0&&t()&&(this.#iy.queue.enqueue(a,e),this.#iw().setMuted(!1))}#iN(e,t,i){}}function iS(e,t){if(!e||!t)throw Error("[vidstack] media not ready")}function ix(e,t){if(!t?.supported)throw Error("[vidstack] no fullscreen support")}class iC{seeking=!1;looping=!1;replaying=!1;queue=new ib}let i$=new Set(["auto-play","auto-play-fail","can-load","sources-change","source-change","load-start","abort","error","loaded-metadata","loaded-data","can-play","play","play-fail","pause","playing","seeking","seeked","waiting"]);class iP extends tT{#iy;#M;#iB=new Map;#iU=!1;#iK=[];#iG=[-1,-1];#iH=!1;#iQ;constructor(e,t){super(),this.#iy=e,this.#M=t}onAttach(e){e.setAttribute("aria-busy","true"),new s.EventsController(this).add("fullscreen-change",this["fullscreen-change"].bind(this)).add("fullscreen-error",this["fullscreen-error"].bind(this)).add("orientation-change",this["orientation-change"].bind(this))}onConnect(e){(0,s.effect)(this.#iW.bind(this)),this.#iz(),this.#ij(),this.#i_(),this.#iX(),(0,s.onDispose)(this.#iY.bind(this))}onDestroy(){let{audioTracks:e,qualities:t,textTracks:i}=this.#M;e[e5.reset](),t[e5.reset](),i[e5.reset](),this.#iJ()}handle(e){if(!this.scope)return;let t=e.type;(0,s.untrack)(()=>this[e.type]?.(e)),el||(i$.has(t)&&this.#iB.set(t,e),this.dispatch(e))}#iZ=!1;#iX(){this.#iZ&&(requestAnimationFrame(()=>{this.scope&&this.#M.remote.play(new s.DOMEvent("dom-connect"))}),this.#iZ=!1)}#iY(){this.#iZ||(this.#iZ=!this.$state.paused(),this.#M.$provider()?.pause())}#i0(){this.#i1(),this.#iU=!1,this.#iy.replaying=!1,this.#iy.looping=!1,this.#iH=!1,this.#iQ=void 0,this.#iB.clear()}#i2(e,t){let i=this.#iy.queue.serve(e);
2i&&(t.request=i,t.triggers.add(i))}#iz(){this.#i3(),this.#i5();let e=this.#M.textTracks;new s.EventsController(e).add("add",this.#i3.bind(this)).add("remove",this.#i3.bind(this)).add("mode-change",this.#i5.bind(this))}#ij(){let e=this.#M.qualities;new s.EventsController(e).add("add",this.#i4.bind(this)).add("remove",this.#i4.bind(this)).add("change",this.#tW.bind(this)).add("auto-change",this.#i6.bind(this)).add("readonly-change",this.#i9.bind(this))}#i_(){let e=this.#M.audioTracks;new s.EventsController(e).add("add",this.#i8.bind(this)).add("remove",this.#i8.bind(this)).add("change",this.#i7.bind(this))}#i3(e){let{textTracks:t}=this.$state;t.set(this.#M.textTracks.toArray()),this.dispatch("text-tracks-change",{detail:t(),trigger:e})}#i5(e){e&&this.#i2("media-text-track-change-request",e);let t=this.#M.textTracks.selected,{textTrack:i}=this.$state;i()!==t&&(i.set(t),this.dispatch("text-track-change",{detail:t,trigger:e}))}#i8(e){let{audioTracks:t}=this.$state;t.set(this.#M.audioTracks.toArray()),this.dispatch("audio-tracks-change",{detail:t(),trigger:e})}#i7(e){let{audioTrack:t}=this.$state;t.set(this.#M.audioTracks.selected),e&&this.#i2("media-audio-track-change-request",e),this.dispatch("audio-track-change",{detail:t(),trigger:e})}#i4(e){let{qualities:t}=this.$state;t.set(this.#M.qualities.toArray()),this.dispatch("qualities-change",{detail:t(),trigger:e})}#tW(e){let{quality:t}=this.$state;t.set(this.#M.qualities.selected),e&&this.#i2("media-quality-change-request",e),this.dispatch("quality-change",{detail:t(),trigger:e})}#i6(){let{qualities:e}=this.#M,t=e.auto;this.$state.autoQuality.set(t),t||this.#iJ()}#se=null;#st(){this.#iJ(),this.#se=(0,s.effect)(()=>{let{qualities:e}=this.#M,{mediaWidth:t,mediaHeight:i}=this.$state,a=t(),n=i();if(0===a||0===n)return;let r=null,o=1/0;for(let t of e){let e=Math.abs(t.width-a)+Math.abs(t.height-n);e<o&&(o=e,r=t)}r&&e[e5.select](r,!0,new s.DOMEvent("resize",{detail:{width:a,height:n}}))})}#iJ(){this.#se?.(),this.#se=null}#i9(){this.$state.canSetQuality.set(!this.#M.qualities.readonly)}#iW(){let{canSetVolume:e,isGoogleCastConnected:t}=this.$state;t()?e.set(!1):ek().then(e.set)}"provider-change"(e){let t=this.#M.$provider(),i=e.detail;t?.type!==i?.type&&(t?.destroy?.(),t?.scope?.dispose(),this.#M.$provider.set(e.detail),t&&null===e.detail&&this.#si(e))}"provider-loader-change"(e){}"auto-play"(e){this.$state.autoPlayError.set(null)}"auto-play-fail"(e){this.$state.autoPlayError.set(e.detail),this.#i0()}"can-load"(e){this.$state.canLoad.set(!0),this.#iB.set("can-load",e),this.#M.textTracks[eG.canLoad](),this.#i2("media-start-loading",e)}"can-load-poster"(e){this.$state.canLoadPoster.set(!0),this.#iB.set("can-load-poster",e),this.#i2("media-poster-start-loading",e)}"media-type-change"(e){let t=this.#iB.get("source-change");t&&e.triggers.add(t);let i=this.$state.viewType();this.$state.mediaType.set(e.detail);let s=this.$state.providedViewType(),a="unknown"===s?e.detail:s;i!==a&&(el?this.$state.inferredViewType.set(a):setTimeout(()=>{requestAnimationFrame(()=>{this.scope&&(this.$state.inferredViewType.set(e.detail),this.dispatch("view-type-change",{detail:a,trigger:e}))})},0))}"stream-type-change"(e){let t=this.#iB.get("source-change");t&&e.triggers.add(t);let{streamType:i,inferredStreamType:s}=this.$state;s.set(e.detail),e.detail=i()}"rate-change"(e){let{storage:t}=this.#M,{canPlay:i}=this.$state;this.$state.playbackRate.set(e.detail),this.#i2("media-rate-change-request",e),i()&&t?.setPlaybackRate?.(e.detail)}"remote-playback-change"(e){let{remotePlaybackState:t,remotePlaybackType:i}=this.$state,{type:s,state:a}=e.detail,n="connected"===a;i.set(s),t.set(a);let r="airplay"===s?"media-airplay-request":"media-google-cast-request";if(n)this.#i2(r,e);else{let t=this.#iy.queue.peek(r);t&&(e.request=t,e.triggers.add(t))}}"sources-change"(e){let t=this.$state.sources(),i=e.detail;this.$state.sources.set(i),this.#ss(t,i,e)}#ss(e,t,i){let{qualities:s}=this.#M,a=!1,n=!1;for(let a of e)if(eh(a)&&!t.some(e=>e.src===a.src)){let e=s.getBySrc(a.src);e&&(s[e5.remove](e,i),n=!0)}for(let e of(n&&!s.length&&(this.$state.savedState.set(null),s[e5.reset](i)),t)){if(!eh(e)||s.getBySrc(e.src))continue;let t={id:e.id??e.height+"p",bitrate:null,codec:null,...e,selected:!1};s[e5.add](t,i),a=!0}a&&!s[ty.enableAuto]&&(this.#st(),s[ty.enableAuto]=this.#st.bind(this),s[ty.setAuto](!0,i))}"source-change"(e){e.isQualityChange=e.originEvent?.type==="quality-change";let t=e.detail;this.#si(e,e.isQualityChange),this.#iB.set(e.type,e),this.$state.source.set(t),this.el?.setAttribute("aria-busy","true")}#si(e,t=!1){let{audioTracks:i,qualities:s}=this.#M;
2if(!t){this.#iK=[],this.#iG=[-1,-1],i[e5.reset](e),s[e5.reset](e),eJ(this.$state,t),this.#i0();return}eJ(this.$state,t),this.#i0()}abort(e){let t=this.#iB.get("source-change");t&&e.triggers.add(t);let i=this.#iB.get("can-load");i&&!e.triggers.hasType("can-load")&&e.triggers.add(i)}"load-start"(e){let t=this.#iB.get("source-change");t&&e.triggers.add(t)}error(e){this.$state.error.set(e.detail);let t=this.#iB.get("abort");t&&e.triggers.add(t)}"loaded-metadata"(e){let t=this.#iB.get("load-start");t&&e.triggers.add(t)}"loaded-data"(e){let t=this.#iB.get("load-start");t&&e.triggers.add(t)}"can-play"(e){let t=this.#iB.get("loaded-metadata");t&&e.triggers.add(t),this.#sa(e.detail),this.el?.setAttribute("aria-busy","false")}"can-play-through"(e){this.#sa(e.detail);let t=this.#iB.get("can-play");t&&e.triggers.add(t)}#sa(e){let{seekable:t,buffered:i,intrinsicDuration:s,canPlay:a}=this.$state;a.set(!0),i.set(e.buffered),t.set(e.seekable);let n=eC(e.seekable)??1/0;s.set(n)}"duration-change"(e){let{live:t,intrinsicDuration:i,providedDuration:s,clipEndTime:a,ended:n}=this.$state,r=e.detail;if(!t()){let t=Number.isNaN(r)?0:r;i.set(t),n()&&this.#sn(e)}(s()>0||a()>0)&&e.stopImmediatePropagation()}progress(e){let{buffered:t,seekable:i}=this.$state,{buffered:s,seekable:a}=e.detail,n=eC(s),r=s.length!==t().length,o=n!==eC(t()),h=eC(a),l=a.length!==i().length,d=h!==eC(i());(r||o)&&t.set(s),(l||d)&&i.set(a)}play(e){let{paused:t,autoPlayError:i,ended:s,autoPlaying:a,playsInline:n,pointer:r,muted:o,viewType:h,live:l,userBehindLiveEdge:d}=this.$state;if(this.#sr(),!t())return void e.stopImmediatePropagation();e.autoPlay=a();let c=this.#iB.get("waiting");c&&e.triggers.add(c),this.#i2("media-play-request",e),this.#iB.set("play",e),t.set(!1),i.set(null),e.autoPlay&&(this.handle(this.createEvent("auto-play",{detail:{muted:o()},trigger:e})),a.set(!1)),(s()||this.#iy.replaying)&&(this.#iy.replaying=!1,s.set(!1),this.handle(this.createEvent("replay",{trigger:e}))),n()||"video"!==h()||"coarse"!==r()||this.#M.remote.enterFullscreen("prefer-media",e),l()&&!d()&&this.#M.remote.seekToLiveEdge(e)}#sr(e){if(!(0,s.peek)(this.#M.$provider))return;let{ended:t,seekableStart:i,clipEndTime:a,currentTime:n,realCurrentTime:r,duration:o}=this.$state,h=t()||r()<i()||a()>0&&r()>=a()||.1>Math.abs(n()-o());return h&&this.dispatch("media-seek-request",{detail:i(),trigger:e}),h}"play-fail"(e){let{muted:t,autoPlaying:i}=this.$state,s=this.#iB.get("play");s&&e.triggers.add(s),this.#i2("media-play-request",e);let{paused:a,playing:n}=this.$state;a.set(!0),n.set(!1),this.#i0(),this.#iB.set("play-fail",e),e.autoPlay&&(this.handle(this.createEvent("auto-play-fail",{detail:{muted:t(),error:e.detail},trigger:e})),i.set(!1))}playing(e){let t=this.#iB.get("play"),i=this.#iB.get("seeked");t?e.triggers.add(t):i&&e.triggers.add(i),setTimeout(()=>this.#i0(),0);let{paused:s,playing:a,live:n,liveSyncPosition:r,seekableEnd:o,started:h,currentTime:l,seeking:d,ended:c}=this.$state;if(s.set(!1),a.set(!0),d.set(!1),c.set(!1),this.#iy.looping){this.#iy.looping=!1;return}if(n()&&!h()&&0===l()){let e=r()??o()-2;Number.isFinite(e)&&this.#M.$provider().setCurrentTime(e)}this.started(e)}started(e){let{started:t}=this.$state;t()||(t.set(!0),this.handle(this.createEvent("started",{trigger:e})))}pause(e){this.el?.isConnected||(this.#iZ=!0),this.#i2("media-pause-request",e);let t=this.#iB.get("seeked");t&&e.triggers.add(t);let{paused:i,playing:s}=this.$state;i.set(!0),s.set(!1),this.#iU&&setTimeout(()=>{this.handle(this.createEvent("end",{trigger:e})),this.#iU=!1},0),this.#i0()}"time-change"(e){if(this.#iy.looping)return void e.stopImmediatePropagation();let{waiting:t,played:i,clipEndTime:s,realCurrentTime:a,currentTime:n}=this.$state,r=e.detail,o=s();for(let i of(a.set(r),this.#so(),t.set(!1),this.#M.textTracks))i[eG.updateActiveCues](r,e);o>0&&r>=o&&(this.#iU=!0,this.dispatch("media-pause-request",{trigger:e})),this.#sh(),this.dispatch("time-update",{detail:{currentTime:n(),played:i()},trigger:e})}#so(){var e,t,i;let s,a,{currentTime:n,played:r,paused:o}=this.$state;o()||(this.#iG=(e=this.#iK,t=this.#iG,i=n(),s=t[0],a=t[1],i<s?[i,-1]:i===s?t:-1===s?(t[0]=i,t):(i>s&&(t[1]=i,-1===a&&e.push(t)),!function(e){if(e.length<=1)return;e.sort((e,t)=>
2e[0]-t[0]);let t=[],i=e[0];for(let s=1;s<e.length;s++){let a=e[s];i[1]>=a[0]-1?i=[i[0],Math.max(i[1],a[1])]:(t.push(i),i=a)}t.push(i)}(e),t)),r.set(new eS(this.#iK)))}#sn(e){let{clipStartTime:t,clipEndTime:i,duration:s}=this.$state;t()>0||i()>0||this.handle(this.createEvent("time-change",{detail:s(),trigger:e}))}#sh(){let{storage:e}=this.#M,{canPlay:t,realCurrentTime:i}=this.$state;t()&&e?.setTime?.(i())}"audio-gain-change"(e){let{storage:t}=this.#M,{canPlay:i,audioGain:s}=this.$state;s.set(e.detail),this.#i2("media-audio-gain-change-request",e),i()&&t?.setAudioGain?.(s())}"volume-change"(e){let{storage:t}=this.#M,{volume:i,muted:s,canPlay:a}=this.$state,n=e.detail;i.set(n.volume),s.set(n.muted||0===n.volume),this.#i2("media-volume-change-request",e),this.#i2(n.muted?"media-mute-request":"media-unmute-request",e),a()&&(t?.setVolume?.(i()),t?.setMuted?.(s()))}seeking=(0,s.functionThrottle)(e=>{let{seeking:t,realCurrentTime:i,paused:s}=this.$state;t.set(!0),i.set(e.detail),this.#i2("media-seeking-request",e),s()&&(this.#iQ=e,this.#sl()),this.#iG=[-1,-1]},150,{leading:!0});seeked(e){let{seeking:t,currentTime:i,realCurrentTime:s,paused:a,seekableEnd:n,ended:r,live:o}=this.$state;if(this.#iy.seeking)t.set(!0),e.stopImmediatePropagation();else if(t()){let i=this.#iB.get("waiting");i&&e.triggers.add(i);let n=this.#iB.get("seeking");n&&!e.triggers.has(n)&&e.triggers.add(n),a()&&this.#i1(),t.set(!1),s.set(e.detail),this.#i2("media-seek-request",e);let r=e?.originEvent;!r?.isTrusted||r instanceof MessageEvent||/seek/.test(r.type)||this.started(e)}o()||(Math.floor(i())!==Math.floor(n())?r.set(!1):this.end(e))}waiting(e){this.#iH||this.#iy.seeking||(e.stopImmediatePropagation(),this.#iQ=e,this.#sl())}#sl=(0,s.functionDebounce)(()=>{if(!this.#iQ)return;this.#iH=!0;let{waiting:e,playing:t}=this.$state;e.set(!0),t.set(!1);let i=this.createEvent("waiting",{trigger:this.#iQ});this.#iB.set("waiting",i),this.dispatch(i),this.#iQ=void 0,this.#iH=!1},300);end(e){let{loop:t,ended:i}=this.$state;if(!(!t()&&i())){if(t())return void setTimeout(()=>{requestAnimationFrame(()=>{this.#sr(e),this.dispatch("media-loop-request",{trigger:e})})},10);setTimeout(()=>this.#tv(e),0)}}#tv(e){let{storage:t}=this.#M,{paused:i,seeking:s,ended:a,duration:n}=this.$state;this.#sn(e),i()||this.dispatch("pause",{trigger:e}),s()&&this.dispatch("seeked",{detail:n(),trigger:e}),a.set(!0),this.#i0(),t?.setTime?.(n(),!0),this.dispatch("ended",{trigger:e})}#i1(){this.#sl.cancel(),this.$state.waiting.set(!1)}"fullscreen-change"(e){let t=e.detail;this.$state.fullscreen.set(t),this.#i2(t?"media-enter-fullscreen-request":"media-exit-fullscreen-request",e)}"fullscreen-error"(e){this.#i2("media-enter-fullscreen-request",e),this.#i2("media-exit-fullscreen-request",e)}"orientation-change"(e){let t=e.detail.lock;this.#i2(t?"media-orientation-lock-request":"media-orientation-unlock-request",e)}"picture-in-picture-change"(e){let t=e.detail;this.$state.pictureInPicture.set(t),this.#i2(t?"media-enter-pip-request":"media-exit-pip-request",e)}"picture-in-picture-error"(e){this.#i2("media-enter-pip-request",e),this.#i2("media-exit-pip-request",e)}"title-change"(e){e.trigger&&(e.stopImmediatePropagation(),this.$state.inferredTitle.set(e.detail))}"poster-change"(e){e.trigger&&(e.stopImmediatePropagation(),this.$state.inferredPoster.set(e.detail))}}class iE extends tT{onSetup(){if(this.#ey(),!el)for(let e of[this.#sd,this.#sc,this.#su,this.#sp,this.#R,this.#sm,this.#sg,this.#sf,this.#sy,this.#sv,this.#sb,this.#sw,this.#sk,this.#sT,this.#sS])(0,s.effect)(e.bind(this))}#ey(){let e={duration:"providedDuration",loop:"providedLoop",poster:"providedPoster",streamType:"providedStreamType",title:"providedTitle",viewType:"providedViewType"},t=new Set(["currentTime","paused","playbackRate","volume"]);for(let i of Object.keys(this.$props))t.has(i)||this.$state[e[i]??i]?.set(this.$props[i]());this.$state.muted.set(this.$props.muted()||0===this.$props.volume())}#sT(){let{viewType:e,streamType:t,title:i,poster:s,loop:a}=this.$props,n=this.$state;n.providedPoster.set(s()),n.providedStreamType.set(t()),n.providedViewType.set(e()),n.providedTitle.set(i()),n.providedLoop.set(a())}#sx(){}#sd(){let{artist:e,artwork:t}=this.$props;this.$state.artist.set(e()),this.$state.artwork.set(t())}#sS(){let{title:e}=this.$state;this.dispatch("title-change",{detail:e()})}#sc(){let e=this.$props.autoPlay()||this.$props.autoplay();this.$state.autoPlay.set(e),this.dispatch("auto-play-change",{detail:e})}#sb(){let e=this.$state.loop();this.dispatch("loop-change",{detail:e})}#R(){let e=this.$props.controls();this.$state.controls.set(e)}#sk(){let{poster:e}=this.$state;this.dispatch("poster-change",{detail:e()})}#sm(){let e=this.$props.crossOrigin()??this.$props.crossorigin();this.$state.crossOrigin.set(!0===e?"":e)}#sg(){let{duration:e}=this.$props;this.dispatch("media-duration-change-request",{detail:e()})}
2#sw(){let e=this.$props.playsInline()||this.$props.playsinline();this.$state.playsInline.set(e),this.dispatch("plays-inline-change",{detail:e})}#su(){let{clipStartTime:e}=this.$props;this.dispatch("media-clip-start-change-request",{detail:e()})}#sp(){let{clipEndTime:e}=this.$props;this.dispatch("media-clip-end-change-request",{detail:e()})}#sf(){this.dispatch("live-change",{detail:this.$state.live()})}#sv(){this.$state.liveEdgeTolerance.set(this.$props.liveEdgeTolerance()),this.$state.minLiveDVRWindow.set(this.$props.minLiveDVRWindow())}#sy(){this.dispatch("live-edge-change",{detail:this.$state.liveEdge()})}}let iA=["play","pause","seekforward","seekbackward","seekto"];class iq extends tT{onConnect(){(0,s.effect)(this.#sC.bind(this)),(0,s.effect)(this.#s$.bind(this));let e=this.#sP.bind(this);for(let t of iA)navigator.mediaSession.setActionHandler(t,e);(0,s.onDispose)(this.#eA.bind(this))}#eA(){for(let e of iA)navigator.mediaSession.setActionHandler(e,null)}#sC(){let{title:e,artist:t,artwork:i,poster:s}=this.$state;navigator.mediaSession.metadata=new MediaMetadata({title:e(),artist:t(),artwork:i()??[{src:s()}]})}#s$(){let{canPlay:e,paused:t}=this.$state;navigator.mediaSession.playbackState=e()?t()?"paused":"playing":"none"}#sP(e){let t=new s.DOMEvent("media-session-action",{detail:e});switch(e.action){case"play":this.dispatch("media-play-request",{trigger:t});break;case"pause":this.dispatch("media-pause-request",{trigger:t});break;case"seekto":case"seekforward":case"seekbackward":this.dispatch("media-seek-request",{detail:(0,s.isNumber)(e.seekTime)?e.seekTime:this.$state.currentTime()+(e.seekOffset??("seekforward"===e.action?10:-10)),trigger:t})}}}let iM=(0,s.signal)(!1);el||((0,s.listenEvent)(document,"pointerdown",()=>{iM.set(!1)}),(0,s.listenEvent)(document,"keydown",e=>{e.metaKey||e.altKey||e.ctrlKey||iM.set(!0)}));class iD extends s.ViewController{#sE=(0,s.signal)(!1);onConnect(e){(0,s.effect)(()=>{let t=new s.EventsController(e);if(!iM()){this.#sE.set(!1),iL(e,!1),t.add("pointerenter",this.#sA.bind(this)).add("pointerleave",this.#sq.bind(this));return}let i=document.activeElement===e;this.#sE.set(i),iL(e,i),t.add("focus",this.#sM.bind(this)).add("blur",this.#sD.bind(this))})}focused(){return this.#sE()}#sM(){this.#sE.set(!0),iL(this.el,!0)}#sD(){this.#sE.set(!1),iL(this.el,!1)}#sA(){iI(this.el,!0)}#sq(){iI(this.el,!1)}}function iL(e,t){(0,s.setAttribute)(e,"data-focus",t),(0,s.setAttribute)(e,"data-hocus",t)}function iI(e,t){(0,s.setAttribute)(e,"data-hocus",t),(0,s.setAttribute)(e,"data-hover",t)}class iR extends s.Component{static props=ig;static state=e_;#M;#ig;#sL;canPlayQueue=new iw;remoteControl;get #ez(){return this.#M.$provider()}get #sI(){return this.$props}constructor(){super(),new iE;const e={player:this,qualities:new tv,audioTracks:new e8,storage:null,$provider:(0,s.signal)(null),$providerSetup:(0,s.signal)(!1),$props:this.$props,$state:this.$state};e.remote=this.remoteControl=new e2(void 0),e.remote.setPlayer(this),e.textTracks=new tf,e.textTracks[eG.crossOrigin]=this.$state.crossOrigin,e.textRenderers=new tg(e),e.ariaKeys={},this.#M=e,(0,s.provideContext)(e0,e),this.orientation=new tL,new iD,new tC(e);const t=new iC;this.#ig=new iP(t,e),this.#sL=new iT(this.#ig,t,e),e.delegate=new iv(this.#ig.handle.bind(this.#ig),e),e.notify=e.delegate.notify.bind(e.delegate),"u">typeof navigator&&"mediaSession"in navigator&&new iq,new iy("load",this.startLoading.bind(this)),new iy("posterLoad",this.startLoadingPoster.bind(this))}onSetup(){this.#sR(),(0,s.effect)(this.#sV.bind(this)),(0,s.effect)(this.#sO.bind(this)),(0,s.effect)(this.#eb.bind(this)),(0,s.effect)(this.#sF.bind(this)),(0,s.effect)(this.#sN.bind(this)),(0,s.effect)(this.#sw.bind(this)),(0,s.effect)(this.#sB.bind(this))}onAttach(e){e.setAttribute("data-media-player",""),ta(e,"tabindex","0"),ta(e,"role","region"),(0,s.effect)(this.#sU.bind(this)),el?this.#sS():(0,s.effect)(this.#sS.bind(this)),el?this.#sK():(0,s.effect)(this.#sK.bind(this)),(0,s.listenEvent)(e,"find-media-player",this.#sG.bind(this))}onConnect(e){eu&&(0,s.setAttribute)(e,"data-iphone","");let t=window.matchMedia("(pointer: coarse)");this.#sH(t),t.onchange=this.#sH.bind(this);let i=new ResizeObserver((0,s.animationFrameThrottle)(this.#sQ.bind(this)));i.observe(e),(0,s.effect)(this.#sQ.bind(this)),this.dispatch("media-player-connect",{detail:this,bubbles:!0,composed:!0}),(0,s.onDispose)(()=>{i.disconnect(),t.onchange=null})}onDestroy(){this.#M.player=null,this.canPlayQueue.reset()}#sW=!1;
2#sS(){let e=this.$el,{title:t,live:i,viewType:a,providedTitle:n}=this.$state,r=i(),o=(0,s.uppercaseFirstChar)(a()),h="Unknown"!==o?`${r?"Live ":""}${o}`:r?"Live":"Media",l=t();(0,s.setAttribute)(this.el,"aria-label",`${h} Player`+(l?` - ${l}`:"")),!el&&e?.hasAttribute("title")&&(this.#sW=!0,e?.removeAttribute("title"))}#sK(){let e=this.orientation.landscape?"landscape":"portrait";this.$state.orientation.set(e),(0,s.setAttribute)(this.el,"data-orientation",e),this.#sQ()}#sV(){this.$state.canPlay()&&this.#ez?this.canPlayQueue.start():this.canPlayQueue.stop()}#sR(){if(iR[ip])return void this.setAttributes(iR[ip]);let e={"data-load":function(){return this.$props.load()},"data-captions":function(){let e=this.$state.textTrack();return!!e&&ej(e)},"data-ios-controls":function(){return this.$state.iOSControls()},"data-controls":function(){return this.controls.showing},"data-buffering":function(){let{canLoad:e,canPlay:t,waiting:i}=this.$state;return e()&&(!t()||i())},"data-error":function(){let{error:e}=this.$state;return!!e()},"data-autoplay-error":function(){let{autoPlayError:e}=this.$state;return!!e()}},t={autoPlay:"autoplay",canAirPlay:"can-airplay",canPictureInPicture:"can-pip",pictureInPicture:"pip",playsInline:"playsinline",remotePlaybackState:"remote-state",remotePlaybackType:"remote-type",isAirPlayConnected:"airplay",isGoogleCastConnected:"google-cast"};for(let i of im)e["data-"+(t[i]??(0,s.camelToKebabCase)(i))]=function(){return this.$state[i]()};delete e.title,iR[ip]=e,this.setAttributes(e)}#sG(e){e.detail(this)}#sQ(){if(el||!this.el)return;let e=this.el.clientWidth,t=this.el.clientHeight;this.$state.width.set(e),this.$state.height.set(t),(0,s.setStyle)(this.el,"--player-width",e+"px"),(0,s.setStyle)(this.el,"--player-height",t+"px")}#sH(e){if(el)return;let t=e.matches?"coarse":"fine";(0,s.setAttribute)(this.el,"data-pointer",t),this.$state.pointer.set(t),this.#sQ()}get provider(){return this.#ez}get controls(){return this.#sL.controls}set controls(e){this.#sI.controls.set(e)}orientation;get title(){return(0,s.peek)(this.$state.title)}set title(e){if(this.#sW){this.#sW=!1;return}this.#sI.title.set(e)}get qualities(){return this.#M.qualities}get audioTracks(){return this.#M.audioTracks}get textTracks(){return this.#M.textTracks}get textRenderers(){return this.#M.textRenderers}get duration(){return this.$state.duration()}set duration(e){this.#sI.duration.set(e)}get paused(){return(0,s.peek)(this.$state.paused)}set paused(e){this.#sz(e)}#eb(){this.#sz(this.$props.paused())}#sz(e){e?this.canPlayQueue.enqueue("paused",()=>this.#sL.pause()):this.canPlayQueue.enqueue("paused",()=>this.#sL.play())}get muted(){return(0,s.peek)(this.$state.muted)}set muted(e){this.#sj(e)}#sO(){this.#sj(this.$props.muted())}#sj(e){this.canPlayQueue.enqueue("muted",()=>{this.#ez&&this.#ez.setMuted(e)})}get currentTime(){return(0,s.peek)(this.$state.currentTime)}set currentTime(e){this.#s_(e)}#sN(){this.#s_(this.$props.currentTime())}#s_(e){this.canPlayQueue.enqueue("currentTime",()=>{let{currentTime:t}=this.$state;e!==(0,s.peek)(t)&&(0,s.peek)(()=>{if(!this.#ez)return;let t=eZ(e,this.$state);Number.isFinite(t)&&this.#ez.setCurrentTime(t)})})}get volume(){return(0,s.peek)(this.$state.volume)}set volume(e){this.#sX(e)}#sF(){this.#sX(this.$props.volume())}#sX(e){let t=tt(0,e,1);this.canPlayQueue.enqueue("volume",()=>{this.#ez&&this.#ez.setVolume(t)})}get playbackRate(){return(0,s.peek)(this.$state.playbackRate)}set playbackRate(e){this.#sY(e)}#sB(){this.#sY(this.$props.playbackRate())}#sY(e){this.canPlayQueue.enqueue("rate",()=>{this.#ez&&this.#ez.setPlaybackRate?.(e)})}#sw(){this.#sJ(this.$props.playsInline())}#sJ(e){this.canPlayQueue.enqueue("playsinline",()=>{this.#ez&&this.#ez.setPlaysInline?.(e)})}#sU(){let e=this.$props.storage(),t=(0,s.isString)(e)?new e3:e;if(t?.onChange){let{source:i}=this.$state,a=(0,s.isString)(e)?e:this.el?.id,n=(0,s.computed)(this.#sZ.bind(this));(0,s.effect)(()=>t.onChange(i(),n(),a||void 0))}this.#M.storage=t,this.#M.textTracks.setStorage(t),(0,s.onDispose)(()=>{t?.onDestroy?.(),this.#M.storage=null,this.#M.textTracks.setStorage(null)})}#sZ(){let{clipStartTime:e,clipEndTime:t}=this.$props,{source:i}=this.$state,s=i();return s.src?`${s.src}:${e()}:${t()}`:null}async play(e){return this.#sL.play(e)}async pause(e){return this.#sL.pause(e)}async enterFullscreen(e,t){return this.#sL.enterFullscreen(e,t)}async exitFullscreen(e,t){return this.#sL.exitFullscreen(e,t)}enterPictureInPicture(e){return this.#sL.enterPictureInPicture(e)}exitPictureInPicture(e){return this.#sL.exitPictureInPicture(e)}seekToLiveEdge(e){this.#sL.seekToLiveEdge(e)}startLoading(e){this.#M.notify("can-load",void 0,e)}startLoadingPoster(e){this.#M.notify("can-load-poster",void 0,e)}requestAirPlay(e){return this.#sL.requestAirPlay(e)}requestGoogleCast(e){return this.#sL.requestGoogleCast(e)}setAudioGain(e,t){return this.#sL.setAudioGain(e,t)}destroy(){super.destroy(),this.#M.remote.setPlayer(null),this.dispatch("destroy")}}let iV=iR.prototype;(0,s.prop)(iV,"canPlayQueue"),(0,s.prop)(iV,"remoteControl"),(0,s.prop)(iV,"provider"),(0,s.prop)(iV,"controls"),(0,s.prop)(iV,"orientation"),(0,s.prop)(iV,"title"),
2(0,s.prop)(iV,"qualities"),(0,s.prop)(iV,"audioTracks"),(0,s.prop)(iV,"textTracks"),(0,s.prop)(iV,"textRenderers"),(0,s.prop)(iV,"duration"),(0,s.prop)(iV,"paused"),(0,s.prop)(iV,"muted"),(0,s.prop)(iV,"currentTime"),(0,s.prop)(iV,"volume"),(0,s.prop)(iV,"playbackRate"),(0,s.method)(iV,"play"),(0,s.method)(iV,"pause"),(0,s.method)(iV,"enterFullscreen"),(0,s.method)(iV,"exitFullscreen"),(0,s.method)(iV,"enterPictureInPicture"),(0,s.method)(iV,"exitPictureInPicture"),(0,s.method)(iV,"seekToLiveEdge"),(0,s.method)(iV,"startLoading"),(0,s.method)(iV,"startLoadingPoster"),(0,s.method)(iV,"requestAirPlay"),(0,s.method)(iV,"requestGoogleCast"),(0,s.method)(iV,"setAudioGain");let iO=new Map;class iF{#s0=!1;#s1;#s2;#M;#s3;constructor(e,t,i,a=[]){this.#s2=e,this.#M=t,this.#s3=i;const n=new ir,r=new tV,o=new tR,h=new tI,l=[new ih,new io];this.#s1=(0,s.computed)(()=>{let e=t.$state.remotePlaybackLoader(),i=t.$props.preferNativeHLS()?[o,h,n,r,...l,...a]:[r,o,h,n,...l,...a];return e?[e,...i]:i});const{$state:d}=t;for(const e of(d.sources.set(iN(t.$props.src())),d.sources())){const i=this.#s1().find(t=>t.canPlay(e));if(!i)continue;const s=i.mediaType(e);t.$state.source.set(e),t.$state.mediaType.set(s),t.$state.inferredViewType.set(s),this.#s3.set(i),this.#s0=!0;break}}connect(){let e=this.#s3();this.#s0&&(this.#s5(this.#M.$state.source(),e),this.#s4(e),this.#s0=!1),(0,s.effect)(this.#s6.bind(this)),(0,s.effect)(this.#s9.bind(this)),(0,s.effect)(this.#s8.bind(this)),(0,s.effect)(this.#s7.bind(this)),(0,s.effect)(this.#ae.bind(this))}#s6(){this.#M.notify("sources-change",[...iN(this.#M.$props.src()),...this.#s2()])}#s9(){let{$state:e}=this.#M,t=e.sources(),i=(0,s.peek)(e.source),a=this.#at(i,t);if(t[0]?.src&&!a.src&&!a.type){let{crossOrigin:i}=e,a=eK(i()),n=new AbortController;return Promise.all(t.map(e=>(0,s.isString)(e.src)&&"?"===e.type?fetch(e.src,{method:"HEAD",credentials:a,signal:n.signal}).then(t=>(e.type=t.headers.get("content-type")||"??",iO.set(e.src,e.type),e)).catch(()=>e):e)).then(t=>{if(n.signal.aborted)return;let i=this.#at((0,s.peek)(e.source),t);(0,s.tick)(),i.src||this.#M.notify("error",{message:"Failed to load resource.",code:4})}),()=>n.abort()}(0,s.tick)()}#at(e,t){let i={src:"",type:""},a=null,n=new s.DOMEvent("sources-change",{detail:{sources:t}}),r=this.#s1(),{started:o,paused:h,currentTime:l,quality:d,savedState:c}=this.#M.$state;for(let e of t){let t=r.find(t=>t.canPlay(e));if(t){i=e,a=t;break}}if(eh(i)){let e=d(),a=t.find(t=>t.src===e?.src);(0,s.peek)(o)?c.set({paused:(0,s.peek)(h),currentTime:(0,s.peek)(l)}):c.set(null),a&&(i=a,n=new s.DOMEvent("quality-change",{detail:{quality:e}}))}return iU(e,i)||this.#s5(i,a,n),a!==(0,s.peek)(this.#s3)&&this.#s4(a,n),i}#s5(e,t,i){this.#M.notify("source-change",e,i),this.#M.notify("media-type-change",t?.mediaType(e)||"unknown",i)}#s4(e,t){this.#M.$providerSetup.set(!1),this.#M.notify("provider-change",null,t),e&&(0,s.peek)(()=>e.preconnect?.(this.#M)),this.#s3.set(e),this.#M.notify("provider-loader-change",e,t)}#s8(){let e=this.#M.$provider();if(!(!e||(0,s.peek)(this.#M.$providerSetup))){if(this.#M.$state.canLoad()){(0,s.scoped)(()=>e.setup(),e.scope),this.#M.$providerSetup.set(!0);return}(0,s.peek)(()=>e.preconnect?.())}}#s7(){if(!this.#M.$providerSetup())return;let e=this.#M.$provider(),t=this.#M.$state.source(),i=(0,s.peek)(this.#M.$state.crossOrigin),a=(0,s.peek)(this.#M.$props.preferNativeHLS);if(!iU(e?.currentSrc,t)){if(this.#M.$state.canLoad()){let n=new AbortController;if(eV(t))(a||!eT())&&(function e(t,i){return fetch(t,i).then(e=>e.text()).then(s=>{let a,n=(a=s.match(/#EXT-X-STREAM-INF:[^\n]+(\n[^\n]+)*/g))?a[0].split("\n")[1].trim():null;if(n)return e(/^https?:/.test(n)?n:new URL(n,t).href,i);let r=/EXT-X-PLAYLIST-TYPE:\s*VOD/.test(s)?"on-demand":"live";return"live"===r&&function(e){for(let t of e.split("\n"))if(t.startsWith("#EXT-X-TARGETDURATION")){let e=parseFloat(t.split(":")[1]);if(!isNaN(e))return e}return -1}(s)>=10&&(/#EXT-X-DVR-ENABLED:\s*true/.test(s)||s.includes("#EXT-X-DISCONTINUITY"))?"live:dvr":r})})(t.src,{credentials:eK(i),signal:n.signal}).then(e=>{this.#M.notify("stream-type-change",e)}).catch(s.noop);else if(eO(t))fetch(t.src,{credentials:eK(i),signal:n.signal}).then(e=>e.text()).then(e=>/type="static"/.test(e)?"on-demand":"live").then(e=>{this.#M.notify("stream-type-change",e)}).catch(s.noop);else this.#M.notify("stream-type-change","on-demand");return(0,s.peek)(()=>{let i=(0,s.peek)(this.#M.$state.preload);return e?.loadSource(t,i).catch(e=>{})}),()=>n.abort()}try{(0,s.isString)(t.src)&&eN(new URL(t.src).origin)}catch(e){}}}#ae(){let e=this.#s3(),{providedPoster:t,source:i,canLoadPoster:a}=this.#M.$state;if(!e||!e.loadPoster||!i()||!a()||t())return;let n=new AbortController,r=new s.DOMEvent("source-change",{detail:i});return e.loadPoster(i(),this.#M,n).then(e=>{this.#M.notify("poster-change",e||"",r)}).catch(()=>{this.#M.notify("poster-change","",r)}),()=>{n.abort()}}}function iN(e){return((0,s.isArray)(e)?e:[e]).map(e=>(0,s.isString)(e)?{src:e,type:iB(e)}:{...e,type:iB(e.src,e.type)})}function iB(e,t){if((0,s.isString)(t)&&t.length)return t;if((0,s.isString)(e)&&iO.has(e))return iO.get(e);if(!t&&eV({src:e,type:""}))return"application/x-mpegurl";if(!t&&eO({src:e,type:""}
2))return"application/dash+xml";if(!(0,s.isString)(e)||e.startsWith("blob:"))return"video/object";else if(e.includes("youtube")||e.includes("youtu.be"))return"video/youtube";else if(e.includes("vimeo")&&!e.includes("progressive_redirect")&&!e.includes(".m3u8"))return"video/vimeo";return"?"}function iU(e,t){return e?.src===t?.src&&e?.type===t?.type}class iK{#ai;#M;#as=[];constructor(e,t){this.#ai=e,this.#M=t,(0,s.effect)(this.#aa.bind(this))}#aa(){let e=this.#ai();for(let t of this.#as)if(!e.some(e=>e.id===t.id)){let e=t.id&&this.#M.textTracks.getById(t.id);e&&this.#M.textTracks.remove(e)}for(let t of e){let e=t.id||eW.createId(t);this.#M.textTracks.getById(e)||(t.id=e,this.#M.textTracks.add(t))}this.#as=e}}class iG extends s.Component{static props={loaders:[]};static state=new s.State({loader:null});#M;#an;#s2=(0,s.signal)([]);#ai=(0,s.signal)([]);#s3=null;onSetup(){this.#M=e1(),this.#an=new iF(this.#s2,this.#M,this.$state.loader,this.$props.loaders())}onAttach(e){e.setAttribute("data-media-provider","")}onConnect(e){this.#an.connect(),new iK(this.#ai,this.#M);let t=new ResizeObserver((0,s.animationFrameThrottle)(this.#sQ.bind(this)));t.observe(e);let i=new MutationObserver(this.#ar.bind(this));i.observe(e,{attributes:!0,childList:!0}),this.#sQ(),this.#ar(),(0,s.onDispose)(()=>{t.disconnect(),i.disconnect()})}#ao=-1;load(e){e?.setAttribute("aria-hidden","true"),window.cancelAnimationFrame(this.#ao),this.#ao=requestAnimationFrame(()=>this.#ah(e)),(0,s.onDispose)(()=>{window.cancelAnimationFrame(this.#ao)})}#ah(e){if(!this.scope)return;let t=this.$state.loader(),{$provider:i}=this.#M;this.#s3===t&&t?.target===e&&(0,s.peek)(i)||(this.#al(),this.#s3=t,t&&(t.target=e||null),t&&e&&t.load(this.#M).then(e=>{this.scope&&(0,s.peek)(this.$state.loader)===t&&this.#M.notify("provider-change",e)}))}onDestroy(){this.#s3=null,this.#al()}#al(){this.#M?.notify("provider-change",null)}#sQ(){if(!this.el)return;let{player:e,$state:t}=this.#M,i=this.el.offsetWidth,a=this.el.offsetHeight;e&&(t.mediaWidth.set(i),t.mediaHeight.set(a),e.el&&((0,s.setStyle)(e.el,"--media-width",i+"px"),(0,s.setStyle)(e.el,"--media-height",a+"px")))}#ar(){let e=[],t=[];for(let i of this.el.children)if(!i.hasAttribute("data-vds")){if(i instanceof HTMLSourceElement){let t={id:i.id,src:i.src,type:i.type};for(let e of["id","src","width","height","bitrate","codec"]){let a=i.getAttribute(`data-${e}`);(0,s.isString)(a)&&(t[e]=/id|src|codec/.test(e)?a:Number(a))}e.push(t)}else if(i instanceof HTMLTrackElement){let e={src:i.src,kind:i.track.kind,language:i.srclang,label:i.label,default:i.default,type:i.getAttribute("data-type")};t.push({id:i.id||eW.createId(e),...e})}}this.#s2.set(e),this.#ai.set(t),(0,s.tick)()}}let iH=iG.prototype;(0,s.method)(iH,"load");class iQ extends s.Component{static props={translations:null};static state=new s.State({label:null,busy:!1});#M;#ad=!1;onSetup(){this.#M=e1()}onAttach(e){e.style.display="contents"}onConnect(e){e.setAttribute("data-media-announcer",""),ta(e,"role","status"),ta(e,"aria-live","polite");let{busy:t}=this.$state;this.setAttributes({"aria-busy":()=>t()?"true":null}),this.#ad=!0,(0,s.effect)(this.#eb.bind(this)),(0,s.effect)(this.#sF.bind(this)),(0,s.effect)(this.#ac.bind(this)),(0,s.effect)(this.#au.bind(this)),(0,s.effect)(this.#ap.bind(this)),(0,s.effect)(this.#am.bind(this)),(0,s.effect)(this.#ag.bind(this)),(0,s.tick)(),this.#ad=!1}#eb(){let{paused:e}=this.#M.$state;this.#af(e()?"Pause":"Play")}#au(){let{fullscreen:e}=this.#M.$state;this.#af(e()?"Enter Fullscreen":"Exit Fullscreen")}#ap(){let{pictureInPicture:e}=this.#M.$state;this.#af(e()?"Enter PiP":"Exit PiP")}#ac(){let{textTrack:e}=this.#M.$state;this.#af(e()?"Closed-Captions On":"Closed-Captions Off")}#sF(){let{muted:e,volume:t,audioGain:i}=this.#M.$state;this.#af(e()||0===t()?"Mute":`${Math.round(t()*(i()??1)*100)}% ${this.#ay("Volume")}`)}#av=-1;#ab=-1;#am(){let{seeking:e,currentTime:t}=this.#M.$state,i=e();this.#av>0?(window.clearTimeout(this.#ab),this.#ab=window.setTimeout(()=>{if(!this.scope)return;let e=(0,s.peek)(t),i=Math.abs(e-this.#av);if(i>=1){let t=e>=this.#av,s=iu(i);this.#af(`${this.#ay(t?"Seek Forward":"Seek Backward")} ${s}`)}this.#av=-1,this.#ab=-1},300)):i&&(this.#av=(0,s.peek)(t))}#ay(e){let{translations:t}=this.$props;return t?.()?.[e||""]??e}#ag(){let{label:e,busy:t}=this.$state,i=this.#ay(e());if(this.#ad)return;t.set(!0);let a=window.setTimeout(()=>void t.set(!1),150);return this.el&&(0,s.setAttribute)(this.el,"aria-label",i),(0,s.isString)(i)&&this.dispatch("change",{detail:i}),()=>window.clearTimeout(a)}#af(e){let{label:t}=this.$state;t.set(e)}}class iW extends s.Component{static props={hideDelay:2e3,hideOnMouseLeave:!1};#M;onSetup(){this.#M=e1(),(0,s.effect)(this.#aw.bind(this))}onAttach(e){let{pictureInPicture:t,fullscreen:i}=this.#M.$state;(0,s.setStyle)(e,"pointer-events","none"),ta(e,"role","group"),this.setAttributes({"data-visible":this.#ak.bind(this),"data-fullscreen":i,"data-pip":t}),(0,s.effect)(()=>{this.dispatch("change",{detail:this.#ak()})}),(0,s.effect)(this.#aT.bind(this)),(0,s.effect)(()=>{let t=i();for(let i of["top","right","bottom","left"])(0,s.setStyle)(e,`padding-${i}`,t&&`env(safe-area-inset-${i})`)})}#aT(){if(!this.el)return;let{nativeControls:e}=this.#M.$state,t=e();(0,s.setAttribute)(this.el,"aria-hidden",t?"true":null),(0,s.setStyle)(this.el,"display",t?"none":null)}#aw(){let{controls:e}=this.#M.player,{hideDelay:t,hideOnMouseLeave:i}=this.$props;e.defaultDelay=2e3===t()?this.#M.$props.controlsDelay():t(),e.hideOnMouseLeave=i()}#ak(){let{controlsVisible:e}=this.#M.$state;return e()}}class iz extends s.Component{onAttach(e){e.style.pointerEvents||(0,s.setStyle)(e,"pointer-events","auto")}}class ij extends s.ViewController{#aS;constructor(e){super(),this.#aS=e,(0,s.effect)(this.#ax.bind(this))}onDestroy(){this.#aC?.(),this.#aC=null}#ax(){let e=this.#aS.trigger();if(!e)return void this.hide();let t=this.show.bind(this),i=this.hide.bind(this);this.#aS.listen(e,t,i)}#a$=-1;#aP=-1;#aC=null;show(e){this.#aE(),window.cancelAnimationFrame(this.#aP),this.#aP=-1,this.#aC?.(),this.#aC=null,this.#a$=window.setTimeout(()=>{this.#a$=-1;let t=this.#aS.content();t&&t.style.removeProperty("display"),(0,s.peek)(()=>this.#aS.onChange(!0,e))},this.#aS.showDelay?.()??0)}hide(e){this.#aE(),(0,s.peek)(()=>this.#aS.onChange(!1,e)),this.#aP=requestAnimationFrame(()=>{this.#aE(),this.#aP=-1;let e=this.#aS.content();if(e){let t=()=>{e.style.display="none",this.#aC=null};if("none"!==getComputedStyle(e).animationName){this.#aC?.();let i=(0,s.listenEvent)(e,"animationend",t,{once:!0});this.#aC=i}else t()}})}#aE(){window.clearTimeout(this.#a$),this.#a$=-1}}let i_=(0,s.createContext)(),iX=0;class iY extends s.Component{static props={showDelay:700};#eH=`media-tooltip-${++iX}`;#aA=(0,s.signal)(null);#aq=(0,s.signal)(null);#aM=(0,s.signal)(!1);constructor(){super(),new iD;const{showDelay:e}=this.$props;new ij({trigger:this.#aA,content:this.#aq,showDelay:e,listen(e,t,i){(0,s.effect)(()=>{iM()&&(0,s.listenEvent)(e,"focus",t),(0,s.listenEvent)(e,"blur",i)}),new s.EventsController(e).add("touchstart",e=>e.preventDefault(),{passive:!1}).add("mouseenter",t).add("mouseleave",i)},onChange:this.#aD.bind(this)})}onAttach(e){e.style.setProperty("display","contents")}onSetup(){(0,s.provideContext)(i_,{trigger:this.#aA,content:this.#aq,showing:this.#aM,attachTrigger:this.#aL.bind(this),detachTrigger:this.#aI.bind(this),attachContent:this.#aR.bind(this),detachContent:this.#aV.bind(this)})}#aL(e){this.#aA.set(e);let t=e.getAttribute("data-media-tooltip");t&&this.el?.setAttribute(`data-media-${t}-tooltip`,""),(0,s.setAttribute)(e,"data-describedby",this.#eH)}#aI(e){e.removeAttribute("data-describedby"),e.removeAttribute("aria-describedby"),this.#aA.set(null)}#aR(e){e.setAttribute("id",this.#eH),e.style.display="none",ta(e,"role","tooltip"),this.#aq.set(e)}#aV(e){e.removeAttribute("id"),e.removeAttribute("role"),this.#aq.set(null)}#aD(e){let t=this.#aA(),i=this.#aq();for(let a of(t&&(0,s.setAttribute)(t,"aria-describedby",e?this.#eH:null),[this.el,t,i]))a&&(0,s.setAttribute)(a,"data-visible",e);this.#aM.set(e)}}class iJ extends s.Component{constructor(){super(),new iD}onConnect(e){(0,s.onDispose)(tc(()=>
2{if(!this.connectScope)return;this.#aO();let e=(0,s.useContext)(i_);(0,s.onDispose)(()=>{let t=this.#aF();t&&e.detachTrigger(t)})}))}#aO(){let e=this.#aF(),t=(0,s.useContext)(i_);e&&t.attachTrigger(e)}#aF(){let e=this.el.firstElementChild;return e?.localName==="button"||e?.getAttribute("role")==="button"?e:this.el}}class iZ extends s.Component{static props={placement:"top center",offset:0,alignOffset:0};constructor(){super(),new iD;const{placement:e}=this.$props;this.setAttributes({"data-placement":e})}onAttach(e){this.#aO(e),Object.assign(e.style,{position:"absolute",top:0,left:0,width:"max-content"})}onConnect(e){this.#aO(e);let t=(0,s.useContext)(i_);(0,s.onDispose)(()=>t.detachContent(e)),(0,s.onDispose)(tc(()=>{this.connectScope&&(0,s.effect)(this.#aN.bind(this))}))}#aO(e){(0,s.useContext)(i_).attachContent(e)}#aN(){let{showing:e}=(0,s.useContext)(i_);if(!e())return;let{placement:t,offset:i,alignOffset:a}=this.$props;return tu(this.el,this.#aB(),t(),{offsetVarName:"media-tooltip",xOffset:a(),yOffset:i()})}#aB(){return(0,s.useContext)(i_).trigger()}}class i0 extends s.ViewController{static props={disabled:!1};#aS;constructor(e){super(),this.#aS=e,new iD,e.keyShortcut&&new tP(e.keyShortcut)}onSetup(){let{disabled:e}=this.$props;this.setAttributes({"data-pressed":this.#aS.isPresssed,"aria-pressed":this.#aU.bind(this),"aria-disabled":()=>e()?"true":null})}onAttach(e){ta(e,"tabindex","0"),ta(e,"role","button"),ta(e,"type","button")}onConnect(e){let t=tl(e,this.#aK.bind(this));for(let e of["click","touchstart"])t.add(e,this.#aG.bind(this),{passive:!0})}#aU(){return(0,s.ariaBool)(this.#aS.isPresssed())}#aH(e){(0,s.isWriteSignal)(this.#aS.isPresssed)&&this.#aS.isPresssed.set(e=>!e)}#aK(e){if(this.$props.disabled()||this.el.hasAttribute("data-disabled")){e.preventDefault(),e.stopImmediatePropagation();return}e.preventDefault(),(this.#aS.onPress??this.#aH).call(this,e)}#aG(e){this.$props.disabled()&&(e.preventDefault(),e.stopImmediatePropagation())}}class i1 extends s.Component{static props={disabled:!1,defaultPressed:!1};#aQ=(0,s.signal)(!1);get pressed(){return this.#aQ()}constructor(){super(),new i0({isPresssed:this.#aQ})}}let i2=i1.prototype;(0,s.prop)(i2,"pressed");class i3 extends s.Component{static props=i0.props;#M;constructor(){super(),new i0({isPresssed:this.#aW.bind(this),onPress:this.#az.bind(this)})}onSetup(){this.#M=e1();let{canAirPlay:e,isAirPlayConnected:t}=this.#M.$state;this.setAttributes({"data-active":t,"data-supported":e,"data-state":this.#aj.bind(this),"aria-hidden":ik(()=>!e())})}onAttach(e){e.setAttribute("data-media-tooltip","airplay"),tn(e,this.#a_.bind(this))}#az(e){this.#M.remote.requestAirPlay(e)}#aW(){let{remotePlaybackType:e,remotePlaybackState:t}=this.#M.$state;return"airplay"===e()&&"disconnected"!==t()}#aj(){let{remotePlaybackType:e,remotePlaybackState:t}=this.#M.$state;return"airplay"===e()&&t()}#a_(){let{remotePlaybackState:e}=this.#M.$state;return`AirPlay ${e()}`}}class i5 extends s.Component{static props=i0.props;#M;constructor(){super(),new i0({isPresssed:this.#aW.bind(this),onPress:this.#az.bind(this)})}onSetup(){this.#M=e1();let{canGoogleCast:e,isGoogleCastConnected:t}=this.#M.$state;this.setAttributes({"data-active":t,"data-supported":e,"data-state":this.#aj.bind(this),"aria-hidden":ik(()=>!e())})}onAttach(e){e.setAttribute("data-media-tooltip","google-cast"),tn(e,this.#a_.bind(this))}#az(e){this.#M.remote.requestGoogleCast(e)}#aW(){let{remotePlaybackType:e,remotePlaybackState:t}=this.#M.$state;return"google-cast"===e()&&"disconnected"!==t()}#aj(){let{remotePlaybackType:e,remotePlaybackState:t}=this.#M.$state;return"google-cast"===e()&&t()}#a_(){let{remotePlaybackState:e}=this.#M.$state;return`Google Cast ${e()}`}}class i4 extends s.Component{static props=i0.props;#M;constructor(){super(),new i0({isPresssed:this.#aW.bind(this),keyShortcut:"togglePaused",onPress:this.#az.bind(this)})}onSetup(){this.#M=e1();let{paused:e,ended:t}=this.#M.$state;this.setAttributes({"data-paused":e,"data-ended":t})}onAttach(e){e.setAttribute("data-media-tooltip","play"),tn(e,"Play")}#az(e){let t=this.#M.remote;this.#aW()?t.pause(e):t.play(e)}#aW(){let{paused:e}=this.#M.$state;return!e()}}class i6 extends s.Component{static props=i0.props;#M;constructor(){super(),new i0({isPresssed:this.#aW.bind(this),keyShortcut:"toggleCaptions",onPress:this.#az.bind(this)})}onSetup(){this.#M=e1(),this.setAttributes({"data-active":this.#aW.bind(this),"data-supported":()=>!this.#aX(),"aria-hidden":ik(this.#aX.bind(this))})}onAttach(e){e.setAttribute("data-media-tooltip","caption"),tn(e,"Captions")}#az(e){this.#M.remote.toggleCaptions(e)}#aW(){let{textTrack:e}=this.#M.$state,t=e();return!!t&&ej(t)}#aX(){let{hasCaptions:e}=this.#M.$state;return!e()}}class i9 extends s.Component{static props={...i0.props,target:"prefer-media"};#M;constructor(){super(),new i0({isPresssed:this.#aW.bind(this),keyShortcut:"toggleFullscreen",onPress:this.#az.bind(this)})}onSetup(){this.#M=e1();let{fullscreen:e}=this.#M.$state,t=this.#aY.bind(this);this.setAttributes({"data-active":e,"data-supported":t,"aria-hidden":ik(()=>!t())})}onAttach(e){e.setAttribute("data-media-tooltip","fullscreen"),tn(e,"Fullscreen")}#az(e){let t=this.#M.remote,i=this.$props.target();this.#aW()?t.exitFullscreen(i,e):t.enterFullscreen(i,e)}#aW(){let{fullscreen:e}=this.#M.$state;return e()}#aY(){let{canFullscreen:e}=this.#M.$state;return e()}}class i8 extends s.Component{static props=i0.props;#M;constructor(){super(),new i0({isPresssed:this.#aW.bind(this),keyShortcut:"toggleMuted",onPress:this.#az.bind(this)})}onSetup(){this.#M=e1(),this.setAttributes({"data-muted":this.#aW.bind(this),"data-state":this.#aj.bind(this)})}onAttach(e){e.setAttribute("data-media-mute-button",""),e.setAttribute("data-media-tooltip","mute"),tn(e,"Mute")}#az(e){let t=this.#M.remote;this.#aW()?t.unmute(e):t.mute(e)}#aW(){let{muted:e,volume:t}=this.#M.$state;return e()||0===t()}#aj(){let{muted:e,volume:t}=this.#M.$state,i=t();return e()||0===i?"muted":i>=.5?"high":i<.5?"low":void 0}}class i7 extends s.Component{static props=i0.props;#M;constructor(){super(),new i0({isPresssed:this.#aW.bind(this),keyShortcut:"togglePictureInPicture",onPress:this.#az.bind(this)})}onSetup(){this.#M=e1();let{pictureInPicture:e}=this.#M.$state,t=this.#aY.bind(this);this.setAttributes({"data-active":e,"data-supported":t,"aria-hidden":ik(()=>!t())})}onAttach(e){e.setAttribute("data-media-tooltip","pip"),tn(e,"PiP")}#az(e){let t=this.#M.remote;this.#aW()?t.exitPictureInPicture(e):t.enterPictureInPicture(e)}#aW(){let{pictureInPicture:e}=this.#M.$state;return e()}#aY(){let{canPictureInPicture:e}=this.#M.$state;return e()}}class se extends s.Component{static props={disabled:!1,seconds:30};#M;constructor(){super(),new iD}onSetup(){this.#M=e1();let{seeking:e}=this.#M.$state,{seconds:t}=this.$props,i=this.#aY.bind(this);this.setAttributes({seconds:t,"data-seeking":e,"data-supported":i,"aria-hidden":ik(()=>!i())})}onAttach(e){ta(e,"tabindex","0"),ta(e,"role","button"),ta(e,"type","button"),e.setAttribute("data-media-tooltip","seek"),tn(e,this.#a_.bind(this))}onConnect(e){tl(e,this.#az.bind(this))}#aY(){let{canSeek:e}=this.#M.$state;return e()}#a_(){let{seconds:e}=this.$props;return`Seek ${e()>0?"forward":"backward"} ${e()} seconds`}#az(e){let{seconds:t,disabled:i}=this.$props;if(i())return;let{currentTime:s}=this.#M.$state,a=s()+t();this.#M.remote.seek(a,e)}}class st extends s.Component{static props={disabled:!1};#M;constructor(){super(),new iD}onSetup(){this.#M=e1();let{disabled:e}=this.$props,{live:t,liveEdge:i}=this.#M.$state,s=()=>!t();this.setAttributes({"data-edge":i,"data-hidden":s,"aria-disabled":ik(()=>e()||i()),"aria-hidden":ik(s)})}onAttach(e){ta(e,"tabindex","0"),ta(e,"role","button"),ta(e,"type","button"),e.setAttribute("data-media-tooltip","live")}onConnect(e){tl(e,this.#az.bind(this))}#az(e){let{disabled:t}=this.$props,{liveEdge:i}=this.#M.$state;t()||i()||this.#M.remote.seekToLiveEdge(e)}}let si=new s.State({min:0,max:100,value:0,step:1,pointerValue:0,focused:!1,dragging:!1,pointing:!1,hidden:!1,get active(){return this.dragging||this.focused||this.pointing},get fillRate(){return ss(this.min,this.max,this.value)},get fillPercent(){return 100*this.fillRate},get pointerRate(){return ss(this.min,this.max,this.pointerValue)},get pointerPercent(){return 100*this.pointerRate}});function ss(e,t,i){let s=t-e;return s>0?(i-e)/s:0}class sa extends s.ViewController{#ey;#aJ;constructor(e){super(),this.#ey=e}onConnect(e){this.#aJ=new IntersectionObserver(e=>{this.#ey.callback?.(e,this.#aJ)},this.#ey),this.#aJ.observe(e),(0,s.onDispose)(this.#eA.bind(this))}#eA(){this.#aJ?.disconnect(),this.#aJ=void 0}}let sn=(0,s.createContext)(),sr=(0,s.createContext)(),so={Left:-1,ArrowLeft:-1,Up:1,ArrowUp:1,Right:1,ArrowRight:1,Down:-1,ArrowDown:-1};class sh extends s.ViewController{#aS;#M;#aJ;constructor(e,t){super(),this.#aS=e,this.#M=t}onSetup(){(0,s.hasProvidedContext)(sr)&&(this.#aJ=(0,s.useContext)(sr))}onConnect(e){(0,s.effect)(this.#aZ.bind(this,e)),(0,s.effect)(this.#a0.bind(this,e)),this.#aS.swipeGesture&&(0,s.effect)(this.#a1.bind(this))}#a1(){let{pointer:e}=this.#M.$state;if("coarse"!==e()||!this.#aS.swipeGesture()){this.#ez=null;return}this.#ez=this.#M.player.el?.querySelector("media-provider,[data-media-provider]"),this.#ez&&new s.EventsController(this.#ez).add("touchstart",this.#a2.bind(this),{passive:!0}).add("touchmove",this.#a3.bind(this),{passive:!1})}#ez=null;#a5=null;#a4=null;#a2(e){this.#a5=e.touches[0]}#a3(e){if((0,s.isNull)(this.#a5)||td(e))return;let t=e.touches[0],i=t.clientX-this.#a5.clientX,a=t.clientY-this.#a5.clientY,n=this.$state.dragging();!n&&Math.abs(a)>5||!n&&(e.preventDefault(),Math.abs(i)>20&&(this.#a5=t,this.#a4=this.$state.value(),this.#a6(this.#a4,e)))}#aZ(e){let{hidden:t}=this.$props;(0,s.listenEvent)(e,"focus",this.#sM.bind(this)),t()||this.#aS.isDisabled()||new s.EventsController(e).add("keyup",this.#Z.bind(this)).add("keydown",this.#ee.bind(this)).add("pointerenter",this.#sA.bind(this)).add("pointermove",this.#a9.bind(this)).add("pointerleave",this.#sq.bind(this)).add("pointerdown",this.#a8.bind(this))}#a0(e){!this.#aS.isDisabled()&&this.$state.dragging()&&new s.EventsController(document).add("pointerup",this.#a
27.bind(this),{capture:!0}).add("pointermove",this.#ne.bind(this)).add("touchmove",this.#nt.bind(this),{passive:!1})}#sM(){this.#ni(this.$state.value())}#ns(e,t){let{value:i,min:s,max:a,dragging:n}=this.$state,r=Math.max(s(),Math.min(e,a()));i.set(r);let o=this.createEvent("value-change",{detail:r,trigger:t});if(this.dispatch(o),this.#aS.onValueChange?.(o),n()){let e=this.createEvent("drag-value-change",{detail:r,trigger:t});this.dispatch(e),this.#aS.onDragValueChange?.(e)}}#ni(e,t){let{pointerValue:i,dragging:s}=this.$state;i.set(e),this.dispatch("pointer-value-change",{detail:e,trigger:t}),s()&&this.#ns(e,t)}#na(e){var t,i,a,n;let r,o,h=this.el.getBoundingClientRect(),{min:l,max:d}=this.$state;if("vertical"===this.$props.orientation()){let{bottom:t,height:i}=h;o=(t-e.clientY)/i}else if(this.#a5&&(0,s.isNumber)(this.#a4)){let{width:t}=this.#ez.getBoundingClientRect(),i=(e.clientX-this.#a5.clientX)/t,s=d()-l(),a=s*Math.abs(i);o=(i<0?this.#a4-a:this.#a4+a)/s}else{let{left:t,width:i}=h;o=(e.clientX-t)/i}return Math.max(l(),Math.min(d(),this.#aS.roundValue((t=l(),i=d(),a=o,r=(n=this.#aS.getStep())*Math.round((i-t)*tt(0,a,1)/n),t+r))))}#sA(e){this.$state.pointing.set(!0)}#a9(e){let{dragging:t}=this.$state;t()||this.#ni(this.#na(e),e)}#sq(e){this.$state.pointing.set(!1)}#a8(e){if(0!==e.button)return;let t=this.#na(e);this.#a6(t,e),this.#ni(t,e)}#a6(e,t){let{dragging:i}=this.$state;if(i())return;i.set(!0),this.#M.remote.pauseControls(t);let s=this.createEvent("drag-start",{detail:e,trigger:t});this.dispatch(s),this.#aS.onDragStart?.(s),this.#aJ?.onDragStart?.()}#nn(e,t){let{dragging:i}=this.$state;if(!i())return;i.set(!1),this.#M.remote.resumeControls(t);let s=this.createEvent("drag-end",{detail:e,trigger:t});this.dispatch(s),this.#aS.onDragEnd?.(s),this.#a5=null,this.#a4=null,this.#aJ?.onDragEnd?.()}#nr;#no=!1;#ee(e){if(!Object.keys(so).includes(e.key))return;let{key:t}=e,i=this.#nh(e);if(!(0,s.isNull)(i)){this.#ni(i,e),this.#ns(i,e);return}let a=this.#nl(e);this.#no||(this.#no=t===this.#nr,!this.$state.dragging()&&this.#no&&this.#a6(a,e)),this.#ni(a,e),this.#nr=t}#Z(e){if(!Object.keys(so).includes(e.key)||!(0,s.isNull)(this.#nh(e)))return;let t=this.#no?this.$state.pointerValue():this.#nl(e);this.#ns(t,e),this.#nn(t,e),this.#nr="",this.#no=!1}#nh(e){let t=e.key,{min:i,max:s}=this.$state;return"Home"===t||"PageUp"===t?i():"End"===t||"PageDown"===t?s():!e.metaKey&&/^[0-9]$/.test(t)?(s()-i())/10*Number(t):null}#nl(e){let{key:t,shiftKey:i}=e;e.preventDefault(),e.stopPropagation();let{shiftKeyMultiplier:s}=this.$props,{min:a,max:n,value:r,pointerValue:o}=this.$state,h=this.#aS.getStep(),l=this.#aS.getKeyStep(),d=i?l*s():l,c=Number(so[t]),u=this.#no?o():this.#aS.getValue?.()??r();return Math.max(a(),Math.min(n(),Number(((u+d*c)/h*h).toFixed(3))))}#a7(e){if(0!==e.button)return;e.preventDefault(),e.stopImmediatePropagation();let t=this.#na(e);this.#ni(t,e),this.#nn(t,e)}#nt(e){e.preventDefault()}#ne=(0,s.functionThrottle)(e=>{this.#ni(this.#na(e),e)},20,{leading:!0})}let sl=(0,s.createContext)(()=>({}));class sd extends s.ViewController{static props={hidden:!1,disabled:!1,step:1,keyStep:1,orientation:"horizontal",shiftKeyMultiplier:5};#M;#aS;#nd=(0,s.signal)(!0);#nc=(0,s.signal)(!0);constructor(e){super(),this.#aS=e}onSetup(){this.#M=e1();let e=new iD;e.attach(this),this.$state.focused=e.focused.bind(e),(0,s.hasProvidedContext)(sl)||(0,s.provideContext)(sl,{default:"value"}),(0,s.provideContext)(sn,{orientation:this.$props.orientation,disabled:this.#aS.isDisabled,preview:(0,s.signal)(null)}),(0,s.effect)(this.#nu.bind(this)),(0,s.effect)(this.#np.bind(this)),(0,s.effect)(this.#nm.bind(this)),this.#ng(),new sh(this.#aS,this.#M).attach(this),new sa({callback:this.#nf.bind(this)}).attach(this)}onAttach(e){ta(e,"role","slider"),ta(e,"tabindex","0"),ta(e,"autocomplete","off"),el?this.#ny():(0,s.effect)(this.#ny.bind(this))}onConnect(e){(0,s.onDispose)(to(e,this.#nd.set)),(0,s.effect)(this.#nv.bind(this))}#nf(e){this.#nc.set(e[0].isIntersecting)}#nv(){let{hidden:e}=this.$props;this.$state.hidden.set(e()||!this.#nd()||!this.#nc.bind(this))}#nu(){let{dragging:e,value:t,min:i,max:a}=this.$state;if(!(0,s.peek)(e)){var n,r;t.set((n=i(),r=a(),tt(n,e7(t(),te(this.#aS.getStep())),r)))}}#np(){this.$state.step.set(this.#aS.getStep())}#nm(){if(!this.#aS.isDisabled())return;let{dragging:e,pointing:t}=this.$state;e.set(!1),t.set(!1)}#nb(){return(0,s.ariaBool)(this.#aS.isDisabled())}#ng(){let{orientation:e}=this.$props,{dragging:t,active:i,pointing:s}=this.$state;
2this.setAttributes({"data-dragging":t,"data-pointing":s,"data-active":i,"aria-disabled":this.#nb.bind(this),"aria-valuemin":this.#aS.aria.valueMin??this.$state.min,"aria-valuemax":this.#aS.aria.valueMax??this.$state.max,"aria-valuenow":this.#aS.aria.valueNow,"aria-valuetext":this.#aS.aria.valueText,"aria-orientation":e})}#ny(){let{fillPercent:e,pointerPercent:t}=this.$state;this.#nw(e7(e(),3),e7(t(),3))}#nw=(0,s.animationFrameThrottle)((e,t)=>{this.el?.style.setProperty("--slider-fill",e+"%"),this.el?.style.setProperty("--slider-pointer",t+"%")})}class sc extends s.Component{static props={...sd.props,min:0,max:100,value:0};static state=si;constructor(){super(),new sd({getStep:this.$props.step,getKeyStep:this.$props.keyStep,roundValue:Math.round,isDisabled:this.$props.disabled,aria:{valueNow:this.#nk.bind(this),valueText:this.#nT.bind(this)}})}onSetup(){(0,s.effect)(this.#nu.bind(this)),(0,s.effect)(this.#nS.bind(this))}#nk(){let{value:e}=this.$state;return Math.round(e())}#nT(){let{value:e,max:t}=this.$state;return e7(e()/t()*100,2)+"%"}#nu(){let{value:e}=this.$props;this.$state.value.set(e())}#nS(){let{min:e,max:t}=this.$props;this.$state.min.set(e()),this.$state.max.set(t())}}let su=new Map,sp=new Map;class sm{#M;#nx;#nC;$images=(0,s.signal)([]);static create(e,t){return new sm(e,t,e1())}constructor(e,t,i){this.#nx=e,this.#nC=t,this.#M=i,(0,s.effect)(this.#n$.bind(this))}#n$(){let{canLoad:t}=this.#M.$state;if(!t())return;let i=this.#nx();if(i){if((0,s.isString)(i)&&su.has(i)){let e=su.get(i);if(su.delete(i),su.set(i,e),su.size>99){let e=su.keys().next().value;su.delete(e)}this.$images.set(su.get(i))}else if((0,s.isString)(i)){let t=this.#nC(),a=i+"::"+t;if(!sp.has(a)){let n=new Promise(async(a,n)=>{try{let r=await fetch(i,{credentials:eK(t)});if("application/json"===r.headers.get("content-type")){let e=await r.json();if((0,s.isArray)(e))if(e[0]&&"text"in e[0])a(this.#nP(e));else{for(let t=0;t<e.length;t++){let i=e[t];t8((0,s.isObject)(i),!1),t8("url"in i&&(0,s.isString)(i.url),!1),t8("startTime"in i&&(0,s.isNumber)(i.startTime),!1)}a(e)}else a(this.#nE(e));return}e.A(4004).then(async({parseResponse:e})=>{try{let{cues:t}=await e(r);a(this.#nP(t))}catch(e){n(e)}})}catch(e){n(e)}}).then(e=>(su.set(a,e),e)).catch(e=>{this.#eE(i,e)}).finally(()=>{(0,s.isString)(a)&&sp.delete(a)});sp.set(a,n)}sp.get(a)?.then(e=>{this.$images.set(e||[])})}else if((0,s.isArray)(i))try{this.$images.set(this.#nA(i))}catch(e){this.#eE(i,e)}else try{this.$images.set(this.#nE(i))}catch(e){this.#eE(i,e)}return()=>{this.$images.set([])}}}#nA(e){let t=this.#nq();return e.map((e,i)=>(t8(e.url&&(0,s.isString)(e.url)),t8("startTime"in e&&(0,s.isNumber)(e.startTime)),{...e,url:(0,s.isString)(e.url)?this.#nM(e.url,t):e.url}))}#nE(e){t8((0,s.isString)(e.url)),t8((0,s.isArray)(e.tiles)&&e.tiles?.length);let t=new URL(e.url),i=[],a="tile_width"in e?e.tile_width:e.tileWidth,n="tile_height"in e?e.tile_height:e.tileHeight;for(let s of e.tiles)i.push({url:t,startTime:"start"in s?s.start:s.startTime,width:a,height:n,coords:{x:s.x,y:s.y}});return i}#nP(e){for(let t=0;t<e.length;t++){let i=e[t];t8("startTime"in i&&(0,s.isNumber)(i.startTime)),t8("text"in i&&(0,s.isString)(i.text))}let t=[],i=this.#nq();for(let a of e){let[e,n]=a.text.split("#"),r=this.#nD(n);t.push({url:this.#nM(e,i),startTime:a.startTime,endTime:a.endTime,width:r?.w,height:r?.h,coords:r&&(0,s.isNumber)(r.x)&&(0,s.isNumber)(r.y)?{x:r.x,y:r.y}:void 0})}return t}#nq(){let e=(0,s.peek)(this.#nx);return(0,s.isString)(e)&&/^https?:/.test(e)?e:location.href}#nM(e,t){return/^https?:/.test(e)?new URL(e):new URL(e,t)}#nD(e){if(!e)return{};let[t,i]=e.split("="),s=i?.split(","),a={};if(!t||!s)return null;for(let e=0;e<t.length;e++){let i=+s[e];isNaN(i)||(a[t[e]]=i)}return a}#eE(e,t){}}class sg extends s.Component{static props={src:null,time:0,crossOrigin:null};static state=new s.State({src:"",img:null,thumbnails:[],activeThumbnail:null,crossOrigin:null,loading:!1,error:null,hidden:!1});media;#s3;#nL=[];onSetup(){this.media=e1(),this.#s3=sm.create(this.$props.src,this.$state.crossOrigin),this.#sm(),this.setAttributes({"data-loading":this.#nI.bind(this),"data-error":this.#nR.bind(this),"data-hidden":this.$state.hidden,"aria-hidden":ik(this.$state.hidden)})}onConnect(e){(0,s.effect)(this.#nV.bind(this)),(0,s.effect)(this.#nv.bind(this)),(0,s.effect)(this.#sm.bind(this)),(0,s.effect)(this.#te.bind(this)),(0,s.effect)(this.#nO.bind(this)),(0,s.effect)(this.#nF.bind(this))}#nV(){let e=this.$state.img();e&&new s.EventsController(e).add("load",this.#ii.bind(this)).add("error",this.#eE.bind(this))}#sm(){let{crossOrigin:e}=this.$props,{crossOrigin:t}=this.$state,{crossOrigin:i}=this.media.$state,s=null!==e()?e():i();t.set(!0===s?"anonymous":s)}#te(){let{src:e,loading:t,error:i}=this.$state;return e()&&(t.set(!0),i.set(null)),()=>{this.#nN(),t.set(!1),i.set(null)}}#ii(){let{loading:e,error:t}=this.$state;this.#nF(),e.set(!1),t.set(null)}#eE(e){let{loading:t,error:i}=this.$state;t.set(!1),i.set(e)}#nI(){let{loading:e,hidden:t}=this.$state;return!t()&&e()}#nR(){let{error:e}=this.$state;return!(0,s.isNull)(e())}#nv(){let{hidden:e}=this.$state,{duration:t}=this.media.$state,i=this.#s3.$images();e.set(this.#nR()||!Number.isFinite(t())||0===i.length)}getTime(){return this.$props.time()}#nO(){let e=this.#s3.$images();if(!e.length)return;
2let t=this.getTime(),{src:i,activeThumbnail:s}=this.$state,a=-1,n=null;for(let i=e.length-1;i>=0;i--){let s=e[i];if(t>=s.startTime&&(!s.endTime||t<s.endTime)){a=i;break}}e[a]&&(n=e[a]),s.set(n),i.set(n?.url.href||"")}#nF(){if(!this.scope||this.$state.hidden())return;let e=this.el,t=this.$state.img(),i=this.$state.activeThumbnail();if(!t||!i||!e)return;let s=i.width??t.naturalWidth,a=i?.height??t.naturalHeight,{maxWidth:n,maxHeight:r,minWidth:o,minHeight:h,width:l,height:d}=getComputedStyle(this.el);"100%"===o&&(o=parseFloat(l)+""),"100%"===h&&(h=parseFloat(d)+"");let c=Math.max(parseInt(o)/s,parseInt(h)/a),u=Math.min(Math.max(parseInt(o),parseInt(n))/s,Math.max(parseInt(h),parseInt(r))/a),p=!isNaN(u)&&u<1?u:c>1?c:1;this.#nB(e,"--thumbnail-width",`${s*p}px`),this.#nB(e,"--thumbnail-height",`${a*p}px`),this.#nB(e,"--thumbnail-aspect-ratio",String(e7(s/a,5))),this.#nB(t,"width",`${t.naturalWidth*p}px`),this.#nB(t,"height",`${t.naturalHeight*p}px`),this.#nB(t,"transform",i.coords?`translate(-${i.coords.x*p}px, -${i.coords.y*p}px)`:""),this.#nB(t,"max-width","none")}#nB(e,t,i){e.style.setProperty(t,i),this.#nL.push(()=>e.style.removeProperty(t))}#nN(){for(let e of this.#nL)e();this.#nL=[]}}class sf extends sg{#nU;onAttach(e){this.#nU=(0,s.useState)(sc.state)}getTime(){let{duration:e,clipStartTime:t}=this.media.$state;return t()+this.#nU.pointerRate()*e()}}class sy extends s.Component{static props={src:null,crossOrigin:null};static state=new s.State({video:null,src:null,crossOrigin:null,canPlay:!1,error:null,hidden:!1});#M;#nU;get video(){return this.$state.video()}onSetup(){this.#M=e1(),this.#nU=(0,s.useState)(sc.state),this.#sm(),this.setAttributes({"data-loading":this.#nI.bind(this),"data-hidden":this.$state.hidden,"data-error":this.#nR.bind(this),"aria-hidden":ik(this.$state.hidden)})}onAttach(e){(0,s.effect)(this.#nK.bind(this)),(0,s.effect)(this.#nG.bind(this)),(0,s.effect)(this.#sm.bind(this)),(0,s.effect)(this.#nv.bind(this)),(0,s.effect)(this.#nH.bind(this)),(0,s.effect)(this.#nQ.bind(this))}#nK(){let e=this.$state.video();e&&(e.readyState>=2&&this.#to(),new s.EventsController(e).add("canplay",this.#to.bind(this)).add("error",this.#eE.bind(this)))}#nG(){let{src:e}=this.$state,{canLoad:t}=this.#M.$state;e.set(t()?this.$props.src():null)}#sm(){let{crossOrigin:e}=this.$props,{crossOrigin:t}=this.$state,{crossOrigin:i}=this.#M.$state,s=null!==e()?e():i();t.set(!0===s?"anonymous":s)}#nI(){let{canPlay:e,hidden:t}=this.$state;return!e()&&!t()}#nR(){let{error:e}=this.$state;return!(0,s.isNull)(e)}#nv(){let{src:e,hidden:t}=this.$state,{canLoad:i,duration:s}=this.#M.$state;t.set(i()&&(!e()||this.#nR()||!Number.isFinite(s())))}#nH(){let{src:e,canPlay:t,error:i}=this.$state;e(),t.set(!1),i.set(null)}#to(e){let{canPlay:t,error:i}=this.$state;t.set(!0),i.set(null),this.dispatch("can-play",{trigger:e})}#eE(e){let{canPlay:t,error:i}=this.$state;t.set(!1),i.set(e),this.dispatch("error",{trigger:e})}#nQ(){let{video:e,canPlay:t}=this.$state,{duration:i}=this.#M.$state,{pointerRate:s}=this.#nU,a=e();t()&&a&&Number.isFinite(i())&&Number.isFinite(s())&&(a.currentTime=s()*i())}}let sv=sy.prototype;(0,s.prop)(sv,"video");class sb extends s.Component{static props={type:"pointer",format:null,showHours:!1,showMs:!1,padHours:null,padMinutes:null,decimalPlaces:2};#nW;#nz;#nU;onSetup(){this.#nU=(0,s.useState)(sc.state),this.#nW=(0,s.useContext)(sl),this.#nz=(0,s.computed)(this.getValueText.bind(this))}getValueText(){let{type:e,format:t,decimalPlaces:i,padHours:s,padMinutes:a,showHours:n,showMs:r}=this.$props,{value:o,pointerValue:h,min:l,max:d}=this.#nU,c=t?.()??this.#nW.default,u="current"===e()?o():h();if("percent"===c){let e=u/(d()-l())*100;return(this.#nW.percent??e7)(e,i())+"%"}return"time"===c?(this.#nW.time??ic)(u,{padHrs:s(),padMins:a(),showHrs:n(),showMs:r()}):(this.#nW.value?.(u)??u.toFixed(2))+""}}let sw=sb.prototype;(0,s.method)(sw,"getValueText");class sk extends s.Component{static props={offset:0,noClamp:!1};#nU;onSetup(){this.#nU=(0,s.useContext)(sn);let{active:e}=(0,s.useState)(sc.state);this.setAttributes({"data-visible":e})}onAttach(e){Object.assign(e.style,{position:"absolute",top:0,left:0,width:"max-content"})}onConnect(e){let{preview:t}=this.#nU;t.set(e),(0,s.onDispose)(()=>t.set(null)),(0,s.effect)(this.#nj.bind(this));let i=new ResizeObserver(this.#nj.bind(this));i.observe(e),(0,s.onDispose)(()=>i.disconnect())}#nj=(0,s.animationFrameThrottle)(()=>{let{disabled:e,orientation:t}=this.#nU;if(e())return;let i=this.el,{offset:s,noClamp:a}=this.$props;i&&sT(i,{clamp:!a(),offset:s(),orientation:t()})})}function sT(e,{clamp:t,offset:i,orientation:s}){let a=getComputedStyle(e),n=parseFloat(a.width),r=parseFloat(a.height),o={top:null,right:null,bottom:null,left:null};if(o["horizontal"===s?"bottom":"left"]=`calc(100% + var(--media-slider-preview-offset, ${i}px))`,"horizontal"===s){let e=n/2;if(t){let t=`max(0px, calc(var(--slider-pointer) - ${e}px))`,i=`calc(100% - ${n}px)`;
2o.left=`min(${t}, ${i})`}else o.left=`calc(var(--slider-pointer) - ${e}px)`}else{let e=r/2;if(t){let t=`max(${e}px, calc(var(--slider-pointer) - ${e}px))`,i=`calc(100% - ${r}px)`;o.bottom=`min(${t}, ${i})`}else o.bottom=`calc(var(--slider-pointer) - ${e}px)`}Object.assign(e.style,o)}class sS extends s.Component{static props={...sd.props,keyStep:5,shiftKeyMultiplier:2};static state=si;#M;onSetup(){this.#M=e1();let{audioGain:e}=this.#M.$state;(0,s.provideContext)(sl,{default:"percent",value:t=>(t*(e()??1)).toFixed(2),percent:t=>Math.round(t*(e()??1))}),new sd({getStep:this.$props.step,getKeyStep:this.$props.keyStep,roundValue:Math.round,isDisabled:this.#n_.bind(this),aria:{valueMax:this.#nX.bind(this),valueNow:this.#nk.bind(this),valueText:this.#nT.bind(this)},onDragValueChange:this.#nY.bind(this),onValueChange:this.#nJ.bind(this)}).attach(this),(0,s.effect)(this.#sF.bind(this))}onAttach(e){e.setAttribute("data-media-volume-slider",""),ta(e,"aria-label","Volume");let{canSetVolume:t}=this.#M.$state;this.setAttributes({"data-supported":t,"aria-hidden":ik(()=>!t())})}#nk(){let{value:e}=this.$state,{audioGain:t}=this.#M.$state;return Math.round(e()*(t()??1))}#nT(){let{value:e,max:t}=this.$state,{audioGain:i}=this.#M.$state;return e7(e()/t()*(i()??1)*100,2)+"%"}#nX(){let{audioGain:e}=this.#M.$state;return this.$state.max()*(e()??1)}#n_(){let{disabled:e}=this.$props,{canSetVolume:t}=this.#M.$state;return e()||!t()}#sF(){let{muted:e,volume:t}=this.#M.$state,i=e()?0:100*t();this.$state.value.set(i),this.dispatch("value-change",{detail:i})}#nZ=(0,s.functionThrottle)(this.#ts.bind(this),25);#ts(e){if(!e.trigger)return;let t=e7(e.detail/100,3);this.#M.remote.changeVolume(t,e)}#nJ(e){this.#nZ(e)}#nY(e){this.#nZ(e)}}class sx extends s.Component{static props={...sd.props,step:25,keyStep:25,shiftKeyMultiplier:2,min:0,max:300};static state=si;#M;onSetup(){this.#M=e1(),(0,s.provideContext)(sl,{default:"percent",percent:(e,t)=>e7(this.$state.value(),t)+"%"}),new sd({getStep:this.$props.step,getKeyStep:this.$props.keyStep,roundValue:Math.round,isDisabled:this.#n_.bind(this),aria:{valueNow:this.#nk.bind(this),valueText:this.#nT.bind(this)},onDragValueChange:this.#nY.bind(this),onValueChange:this.#nJ.bind(this)}).attach(this),(0,s.effect)(this.#nS.bind(this)),(0,s.effect)(this.#n0.bind(this))}onAttach(e){e.setAttribute("data-media-audio-gain-slider",""),ta(e,"aria-label","Audio Boost");let{canSetAudioGain:t}=this.#M.$state;this.setAttributes({"data-supported":t,"aria-hidden":ik(()=>!t())})}#nk(){let{value:e}=this.$state;return Math.round(e())}#nT(){let{value:e}=this.$state;return e()+"%"}#nS(){let{min:e,max:t}=this.$props;this.$state.min.set(e()),this.$state.max.set(t())}#n0(){let{audioGain:e}=this.#M.$state,t=((e()??1)-1)*100;this.$state.value.set(t),this.dispatch("value-change",{detail:t})}#n_(){let{disabled:e}=this.$props,{canSetAudioGain:t}=this.#M.$state;return e()||!t()}#n1(e){if(!e.trigger)return;let t=e7(1+e.detail/100,2);this.#M.remote.changeAudioGain(t,e)}#nJ(e){this.#n1(e)}#nY(e){this.#n1(e)}}class sC extends s.Component{static props={...sd.props,step:.25,keyStep:.25,shiftKeyMultiplier:2,min:0,max:2};static state=si;#M;onSetup(){this.#M=e1(),new sd({getStep:this.$props.step,getKeyStep:this.$props.keyStep,roundValue:this.#n2,isDisabled:this.#n_.bind(this),aria:{valueNow:this.#nk.bind(this),valueText:this.#nT.bind(this)},onDragValueChange:this.#nY.bind(this),onValueChange:this.#nJ.bind(this)}).attach(this),(0,s.effect)(this.#nS.bind(this)),(0,s.effect)(this.#sB.bind(this))}onAttach(e){e.setAttribute("data-media-speed-slider",""),ta(e,"aria-label","Speed");let{canSetPlaybackRate:t}=this.#M.$state;this.setAttributes({"data-supported":t,"aria-hidden":ik(()=>!t())})}#nk(){let{value:e}=this.$state;return e()}#nT(){let{value:e}=this.$state;return e()+"x"}#nS(){let{min:e,max:t}=this.$props;this.$state.min.set(e()),this.$state.max.set(t())}#sB(){let{playbackRate:e}=this.#M.$state,t=e();this.$state.value.set(t),this.dispatch("value-change",{detail:t})}#n2(e){return e7(e,2)}#n_(){let{disabled:e}=this.$props,{canSetPlaybackRate:t}=this.#M.$state;return e()||!t()}#n3=(0,s.functionThrottle)(this.#n5.bind(this),25);#n5(e){if(!e.trigger)return;let t=e.detail;this.#M.remote.changePlaybackRate(t,e)}#nJ(e){this.#n3(e)}#nY(e){this.#n3(e)}}class s$ extends s.Component{static props={...sd.props,step:1,keyStep:1,shiftKeyMultiplier:1};static state=si;#M;
2#n4=(0,s.computed)(()=>{let{qualities:e}=this.#M.$state;return tb(e())});onSetup(){this.#M=e1(),new sd({getStep:this.$props.step,getKeyStep:this.$props.keyStep,roundValue:Math.round,isDisabled:this.#n_.bind(this),aria:{valueNow:this.#nk.bind(this),valueText:this.#nT.bind(this)},onDragValueChange:this.#nY.bind(this),onValueChange:this.#nJ.bind(this)}).attach(this),(0,s.effect)(this.#n6.bind(this)),(0,s.effect)(this.#n9.bind(this))}onAttach(e){e.setAttribute("data-media-quality-slider",""),ta(e,"aria-label","Video Quality");let{qualities:t,canSetQuality:i}=this.#M.$state,a=(0,s.computed)(()=>i()&&t().length>0);this.setAttributes({"data-supported":a,"aria-hidden":ik(()=>!a())})}#nk(){let{value:e}=this.$state;return e()}#nT(){let{quality:e}=this.#M.$state;if(!e())return"";let{height:t,bitrate:i}=e(),s=i&&i>0?`${(i/1e6).toFixed(2)} Mbps`:null;return t?`${t}p${s?` (${s})`:""}`:"Auto"}#n6(){let e=this.#n4();this.$state.max.set(Math.max(0,e.length-1))}#n9(){let{quality:e}=this.#M.$state,t=Math.max(0,this.#n4().indexOf(e()));this.$state.value.set(t),this.dispatch("value-change",{detail:t})}#n_(){let{disabled:e}=this.$props,{canSetQuality:t,qualities:i}=this.#M.$state;return e()||i().length<=1||!t()}#n8=(0,s.functionThrottle)(this.#tW.bind(this),25);#tW(e){if(!e.trigger)return;let{qualities:t}=this.#M,i=(0,s.peek)(this.#n4)[e.detail];this.#M.remote.changeQuality(t.indexOf(i),e)}#nJ(e){this.#n8(e)}#nY(e){this.#n8(e)}}class sP extends s.Component{static props={...sd.props,step:.1,keyStep:5,shiftKeyMultiplier:2,pauseWhileDragging:!1,noSwipeGesture:!1,seekingRequestThrottle:100};static state=si;#M;#n7;#re=(0,s.signal)(null);constructor(){super();const{noSwipeGesture:e}=this.$props;new sd({swipeGesture:()=>!e(),getValue:this.#rt.bind(this),getStep:this.#ri.bind(this),getKeyStep:this.#rs.bind(this),roundValue:this.#n2,isDisabled:this.#n_.bind(this),aria:{valueNow:this.#nk.bind(this),valueText:this.#nT.bind(this)},onDragStart:this.#ra.bind(this),onDragValueChange:this.#nY.bind(this),onDragEnd:this.#rn.bind(this),onValueChange:this.#nJ.bind(this)})}onSetup(){this.#M=e1(),(0,s.provideContext)(sl,{default:"time",value:this.#rr.bind(this),time:this.#ro.bind(this)}),this.setAttributes({"data-chapters":this.#rh.bind(this)}),this.setStyles({"--slider-progress":this.#rl.bind(this)}),(0,s.effect)(this.#sN.bind(this)),(0,s.effect)(this.#rd.bind(this))}onAttach(e){e.setAttribute("data-media-time-slider",""),ta(e,"aria-label","Seek")}onConnect(e){(0,s.effect)(this.#rc.bind(this)),eQ(this.#M.textTracks,"chapters",this.#re.set)}#rl(){let{bufferedEnd:e,duration:t}=this.#M.$state;return e7(100*Math.min(e()/Math.max(t(),1),1),3)+"%"}#rh(){let{duration:e}=this.#M.$state;return this.#re()?.cues.length&&Number.isFinite(e())&&e()>0}#rd(){this.#n7=(0,s.functionThrottle)(this.#er.bind(this),this.$props.seekingRequestThrottle())}#sN(){if(this.$state.hidden())return;let{value:e,dragging:t}=this.$state,i=this.#rt();(0,s.peek)(t)||(e.set(i),this.dispatch("value-change",{detail:i}))}#rc(){let e=this.#M.player.el,{preview:t}=(0,s.useContext)(sn);e&&t()&&(0,s.setAttribute)(e,"data-preview",this.$state.active())}#er(e,t){this.#M.remote.seeking(e,t)}#ru(e,t,i){this.#n7.cancel();let{live:s}=this.#M.$state;s()&&t>=99?this.#M.remote.seekToLiveEdge(i):this.#M.remote.seek(e,i)}#rp=!1;#ra(e){let{pauseWhileDragging:t}=this.$props;if(t()){let{paused:t}=this.#M.$state;this.#rp=!t(),this.#M.remote.pause(e)}}#nY(e){this.#n7(this.#rm(e.detail),e)}#rn(e){let{seeking:t}=this.#M.$state;(0,s.peek)(t)||this.#er(this.#rm(e.detail),e);let i=e.detail;this.#ru(this.#rm(i),i,e);let{pauseWhileDragging:a}=this.$props;a()&&this.#rp&&(this.#M.remote.play(e),this.#rp=!1)}#nJ(e){let{dragging:t}=this.$state;!t()&&e.trigger&&this.#rn(e)}#rt(){let{currentTime:e}=this.#M.$state;return this.#rg(e())}#ri(){let e=this.$props.step()/this.#M.$state.duration()*100;return Number.isFinite(e)?e:1}#rs(){let e=this.$props.keyStep()/this.#M.$state.duration()*100;return Number.isFinite(e)?e:1}#n2(e){return e7(e,3)}#n_(){let{disabled:e}=this.$props,{canSeek:t}=this.#M.$state;return e()||!t()}#nk(){let{value:e}=this.$state;return Math.round(e())}#nT(){let e=this.#rm(this.$state.value()),{duration:t}=this.#M.$state;return Number.isFinite(e)?`${iu(e)} out of ${iu(t())}`:"live"}#rm(e){let{duration:t}=this.#M.$state;return e7(e/100*t(),5)}#rg(e){let{liveEdge:t,duration:i}=this.#M.$state,s=Math.max(0,Math.min(1,t()?1:Math.min(e,i())/i()));return Number.isNaN(s)?0:Number.isFinite(s)?100*s:100}#rr(e){let t=this.#rm(e),{live:i,duration:s}=this.#M.$state;return Number.isFinite(t)?(i()?t-s():t).toFixed(0):"LIVE"}#ro(e,t){let i=this.#rm(e),{live:s,duration:a}=this.#M.$state,n=s()?i-a():i;return Number.isFinite(i)?`${n<0?"-":""}${ic(Math.abs(n),t)}`:"LIVE"}}class sE extends s.Component{static props={disabled:!1};#M;#rf;#ry;#rv=null;#rb=[];#rw=(0,s.signal)(null);#rk=(0,s.signal)([]);#rT=(0,s.signal)(-1);#rS=(0,s.signal)(-1);#rx=0;get cues(){return this.#rk()}get activeCue(){return this.#rk()[this.#rT()]||null}get activePointerCue(){return this.#rk()[this.#rS()]||null}
2onSetup(){this.#M=e1(),this.#rf=(0,s.useState)(sP.state)}onAttach(e){eQ(this.#M.textTracks,"chapters",this.#rC.bind(this)),(0,s.effect)(this.#r$.bind(this))}onConnect(){(0,s.onDispose)(()=>this.#t7.bind(this))}onDestroy(){this.#rC(null)}setRefs(e){if(this.#rb=e,this.#ry?.dispose(),1===this.#rb.length){let e=this.#rb[0];e.style.width="100%",e.style.setProperty("--chapter-fill","var(--slider-fill)"),e.style.setProperty("--chapter-progress","var(--slider-progress)")}else this.#rb.length>0&&(0,s.scoped)(()=>this.#rP(),this.#ry=(0,s.createScope)())}#rC(e){(0,s.peek)(this.#rw)!==e&&(this.#t7(),this.#rw.set(e))}#t7(){this.#rb=[],this.#rk.set([]),this.#rT.set(-1),this.#rS.set(-1),this.#rx=0,this.#ry?.dispose()}#rP(){this.#rb.length&&(0,s.effect)(this.#rE.bind(this))}#rE(){let{hidden:e}=this.#rf;e()||((0,s.effect)(this.#rA.bind(this)),(0,s.effect)(this.#rq.bind(this)),(0,s.effect)(this.#rM.bind(this)),(0,s.effect)(this.#rD.bind(this)))}#rA(){let e=this.#rk();if(!e.length)return;let t,{seekableStart:i,seekableEnd:s}=this.#M.$state,a=i(),n=(s()||e[e.length-1].endTime)-a,r=100;for(let i=0;i<e.length;i++)if(t=e[i],this.#rb[i]){let s=i===e.length-1?r:e7((t.endTime-Math.max(a,t.startTime))/n*100,3);this.#rb[i].style.width=s+"%",r-=s}}#rq(){let{liveEdge:e,seekableStart:t,seekableEnd:i}=this.#M.$state,{fillPercent:a,value:n}=this.#rf,r=this.#rk(),o=e(),h=(0,s.peek)(this.#rT),l=r[h],d=o?this.#rk.length-1:this.#rL(l&&l.startTime/i()*100<=(0,s.peek)(n)?h:0,a());o||!l?this.#rI(0,r.length,100):d>h?this.#rI(h,d,100):d<h&&this.#rI(d+1,h+1,0);let c=o?100:this.#rR(r[d],a(),t(),this.#rV(r));this.#rO(this.#rb[d],c),this.#rT.set(d)}#rM(){let{hidden:e,pointerPercent:t}=this.#rf;if(e())return void this.#rS.set(-1);let i=this.#rL(0,t());this.#rS.set(i)}#rI(e,t,i){for(let s=e;s<t;s++)this.#rO(this.#rb[s],i)}#rO(e,t){e&&(e.style.setProperty("--chapter-fill",t+"%"),(0,s.setAttribute)(e,"data-active",t>0&&t<100),(0,s.setAttribute)(e,"data-ended",100===t))}#rL(e,t){let i=0,s=this.#rk();if(0===t)return 0;if(100===t)return s.length-1;let{seekableStart:a}=this.#M.$state,n=a(),r=this.#rV(s);for(let a=e;a<s.length;a++)if((i=this.#rR(s[a],t,n,r))>=0&&i<100)return a;return 0}#rD(){this.#rF(this.#rN())}#rF=(0,s.animationFrameThrottle)(e=>{let t,i=this.#rk(),{seekableStart:s}=this.#M.$state,a=s(),n=this.#rV(i);for(let s=this.#rx;s<this.#rb.length;s++)if(t=this.#rR(i[s],e,a,n),this.#rb[s]?.style.setProperty("--chapter-progress",t+"%"),t<100){this.#rx=s;break}});#rN=(0,s.computed)(this.#rB.bind(this));#rB(){let{bufferedEnd:e,duration:t}=this.#M.$state;return 100*e7(Math.min(e()/Math.max(t(),1),1),3)}#rV(e){let{seekableEnd:t}=this.#M.$state,i=t();return Number.isFinite(i)?i:e[e.length-1]?.endTime||0}#rR(e,t,i,s){if(!e||0===this.#rk().length)return 0;let a=s-i,n=Math.max(0,e.startTime-i),r=Math.min(s,e.endTime)-i,o=n/a,h=100*o,l=100*Math.min(1,o+(r-n)/a);return Math.max(0,e7(t>=l?100:(t-h)/(l-h)*100,3))}#rU(e){let t=[],{seekableStart:i,seekableEnd:s,duration:a}=this.#M.$state,n=i(),r=s(),o=(e=e.filter(e=>e.startTime<=r&&e.endTime>=n))[0];o&&o.startTime>n&&t.push(new window.VTTCue(n,o.startTime,""));for(let i=0;i<e.length-1;i++){let s=e[i],a=e[i+1];if(t.push(s),a){let e=a.startTime-s.endTime;e>0&&t.push(new window.VTTCue(s.endTime,s.endTime+e,""))}}let h=e[e.length-1];if(h){t.push(h);let e=a();e>=0&&e-h.endTime>1&&t.push(new window.VTTCue(h.endTime,a(),""))}return t}#r$(){let{source:e}=this.#M.$state;e(),this.#tj()}#tj(){if(!this.scope)return;let{disabled:e}=this.$props;if(e()){this.#rk.set([]),this.#rT.set(0),this.#rx=0;return}let t=this.#rw();if(t){let e=this.#rK.bind(this);e(),new s.EventsController(t).add("add-cue",e).add("remove-cue",e),(0,s.effect)(this.#rG.bind(this))}return this.#rv=this.#rH(),this.#rv&&(0,s.effect)(this.#rQ.bind(this)),()=>{this.#rv&&(this.#rv.textContent="",this.#rv=null)}}#rG(){this.#M.$state.duration(),this.#rK()}#rK=(0,s.functionDebounce)(()=>{let e=(0,s.peek)(this.#rw);this.scope&&e&&e.cues.length&&(this.#rk.set(this.#rU(e.cues)),this.#rT.set(0),this.#rx=0)},150,!0);#rQ(){let e=this.activePointerCue||this.activeCue;this.#rv&&(this.#rv.textContent=e?.text||"")}#rW(){let e=this.el;
2for(;e&&"slider"!==e.getAttribute("role");)e=e.parentElement;return e}#rH(){let e=this.#rW();return e?e.querySelector('[data-part="chapter-title"]'):null}}let sA=sE.prototype;(0,s.prop)(sA,"cues"),(0,s.prop)(sA,"activeCue"),(0,s.prop)(sA,"activePointerCue"),(0,s.method)(sA,"setRefs");let sq=(0,s.createContext)(),sM=["a[href]","[tabindex]","input","select","button"].map(e=>`${e}:not([aria-hidden='true'])`).join(","),sD=new Set(["Escape","Tab","ArrowUp","ArrowDown","Home","PageUp","End","PageDown","Enter"," "]);class sL{#rz=-1;#rj=null;#r_=[];#aS;get items(){return this.#r_}constructor(e){this.#aS=e}attachMenu(e){(0,s.listenEvent)(e,"focus",this.#sM.bind(this)),this.#rj=e,(0,s.onDispose)(()=>{this.#rj=null})}listen(){this.#rj&&(this.update(),new s.EventsController(this.#rj).add("keyup",this.#Z.bind(this)).add("keydown",this.#ee.bind(this)),(0,s.onDispose)(()=>{this.#rz=-1,this.#r_=[]}))}update(){this.#rz=0,this.#r_=this.#rX()}scroll(e=this.#rY()){let t=this.#r_[e];t&&requestAnimationFrame(()=>{requestAnimationFrame(()=>{!function(e,t={}){var i={scrollMode:"if-needed",block:"center",inline:"center",...t};for(let{el:t,top:a,left:n}of(0,s.r)(e,i))t.scroll({top:a,left:n,behavior:i.behavior})}(t,{behavior:"smooth",boundary:e=>!e.hasAttribute("data-root")})})})}focusActive(e=!0){let t=this.#rY();this.#rJ(t>=0?t:0,e)}#rJ(e,t=!0){this.#rz=e,this.#r_[e]?(this.#r_[e].focus({preventScroll:!0}),t&&this.scroll(e)):this.#rj?.focus({preventScroll:!0})}#rY(){return this.#r_.findIndex(e=>document.activeElement===e||"menuitemradio"===e.getAttribute("role")&&"true"===e.getAttribute("aria-checked"))}#sM(){this.#rz>=0||(this.update(),this.focusActive())}#rZ(e){let t=e.target;if((0,s.wasEnterKeyPressed)(e)&&t instanceof Element){let e=t.getAttribute("role");return!/a|input|select|button/.test(t.localName)&&!e}return sD.has(e.key)}#Z(e){this.#rZ(e)&&(e.stopPropagation(),e.preventDefault())}#ee(e){if(this.#rZ(e))switch(e.stopPropagation(),e.preventDefault(),e.key){case"Escape":this.#aS.closeMenu(e);break;case"Tab":this.#rJ(this.#r0(e.shiftKey?-1:1));break;case"ArrowUp":this.#rJ(this.#r0(-1));break;case"ArrowDown":this.#rJ(this.#r0(1));break;case"Home":case"PageUp":this.#rJ(0);break;case"End":case"PageDown":this.#rJ(this.#r_.length-1)}}#r0(e){let t=this.#rz;do t=(t+e+this.#r_.length)%this.#r_.length;while(this.#r_[t]?.offsetParent===null)return t}#rX(){if(!this.#rj)return[];let e=this.#rj.querySelectorAll(sM),t=[],i=e=>"menu"===e.getAttribute("role");for(let s of e)tp(s)&&null!==s.offsetParent&&th(this.#rj,s,i)&&t.push(s);return t}}var sI=Object.defineProperty,sR=Object.getOwnPropertyDescriptor,sV=(e,t,i,s)=>{for(var a,n=sR(t,i),r=e.length-1;r>=0;r--)(a=e[r])&&(n=a(t,i,n)||n);return n&&sI(t,i,n),n};let sO=0;class sF extends s.Component{static props={showDelay:0};#M;#r1;#r2;#r3=(0,s.signal)(!1);#r5=(0,s.signal)(!1);#aA=(0,s.signal)(null);#aq=(0,s.signal)(null);#r4;#r6=new Set;#r9=null;#r8;#r7;#oe=!1;#ot=(0,s.signal)(!1);#oi=new Set;get triggerElement(){return this.#aA()}get contentElement(){return this.#aq()}get isSubmenu(){return!!this.#r4}constructor(){super();const{showDelay:e}=this.$props;this.#r8=new ij({trigger:this.#aA,content:this.#aq,showDelay:e,listen:(e,t,i)=>{tl(e,e=>{this.#r3()?i(e):t(e)});let s=this.#os();s&&tl(s,e=>{e.stopPropagation(),i(e)})},onChange:this.#oa.bind(this)})}onSetup(){this.#M=e1();let e=++sO;this.#r1=`media-menu-${e}`,this.#r2=`media-menu-button-${e}`,this.#r7=new sL({closeMenu:this.close.bind(this)}),(0,s.hasProvidedContext)(sq)&&(this.#r4=(0,s.useContext)(sq)),this.#on(),this.setAttributes({"data-open":this.#r3,"data-root":!this.isSubmenu,"data-submenu":this.isSubmenu,"data-disabled":this.#n_.bind(this)}),(0,s.provideContext)(sq,{button:this.#aA,content:this.#aq,expanded:this.#r3,hint:(0,s.signal)(""),submenu:!!this.#r4,disable:this.#or.bind(this),attachMenuButton:this.#oo.bind(this),attachMenuItems:this.#oh.bind(this),attachObserver:this.#ol.bind(this),disableMenuButton:this.#od.bind(this),addSubmenu:this.#oc.bind(this),onTransitionEvent:e=>{this.#oi.add(e),(0,s.onDispose)(()=>{this.#oi.delete(e)})}})}onAttach(e){e.style.setProperty("display","contents")}onConnect(e){(0,s.effect)(this.#ou.bind(this)),this.isSubmenu&&this.#r4?.addSubmenu(this)}onDestroy(){this.#aA.set(null),this.#aq.set(null),this.#r9=null,this.#oi.clear()}#on(){let e=-1,t=(0,s.hasProvidedContext)(sr)?(0,s.useContext)(sr):null;(0,s.provideContext)(sr,{onDragStart:()=>{t?.onDragStart?.(),window.clearTimeout(e),e=-1,this.#oe=!0},onDragEnd:()=>{t?.onDragEnd?.(),e=window.setTimeout(()=>{this.#oe=!1,e=-1},300)}})}#ou(){let e=this.#op();this.isSubmenu||this.#sQ(),this.#om(e),e&&((0,s.effect)(()=>{let{height:e}=this.#M.$state,t=this.#aq();t&&(0,s.setStyle)(t,"--player-height",e()+"px")}),this.#r7.listen(),this.listen("pointerup",this.#og.bind(this)),(0,s.listenEvent)(window,"pointerup",this.#of.bind(this)))}#oo(e){let t=e.el,i=this.isSubmenu,a=ik(this.#n_.bind(this));ta(t,"tabindex",i?"-1":"0"),ta(t,"role",i?"menuitem":"button"),(0,s.setAttribute)(t,"i
2d",this.#r2),(0,s.setAttribute)(t,"aria-haspopup","menu"),(0,s.setAttribute)(t,"aria-expanded","false"),(0,s.setAttribute)(t,"data-root",!this.isSubmenu),(0,s.setAttribute)(t,"data-submenu",this.isSubmenu);let n=()=>{(0,s.setAttribute)(t,"data-open",this.#r3()),(0,s.setAttribute)(t,"aria-disabled",a())};el?n():(0,s.effect)(n),this.#aA.set(t),(0,s.onDispose)(()=>{this.#aA.set(null)})}#oh(e){let t=e.el;t.style.setProperty("display","none"),(0,s.setAttribute)(t,"id",this.#r1),ta(t,"role","menu"),ta(t,"tabindex","-1"),(0,s.setAttribute)(t,"data-root",!this.isSubmenu),(0,s.setAttribute)(t,"data-submenu",this.isSubmenu),this.#aq.set(t),(0,s.onDispose)(()=>this.#aq.set(null));let i=()=>(0,s.setAttribute)(t,"data-open",this.#r3());el?i():(0,s.effect)(i),this.#r7.attachMenu(t),this.#om(!1);let a=this.#oy.bind(this);this.isSubmenu?this.#r4?.onTransitionEvent(a):(e.listen("transitionstart",a),e.listen("transitionend",a),e.listen("animationend",this.#sQ),e.listen("vds-menu-resize",this.#sQ))}#ol(e){this.#r9=e}#om(e){let t=(0,s.peek)(this.#aq);t&&(0,s.setAttribute)(t,"aria-hidden",(0,s.ariaBool)(!e))}#od(e){this.#ot.set(e)}#ov=!1;#oa(e,t){if(this.#ov=(0,s.isKeyboardEvent)(t),t?.stopPropagation(),this.#r3()===e)return;if(this.#n_()){e&&this.#r8.hide(t);return}this.el?.dispatchEvent(new Event("vds-menu-resize",{bubbles:!0,composed:!0}));let i=this.#aA(),a=this.#aq();if(i&&((0,s.setAttribute)(i,"aria-controls",e&&this.#r1),(0,s.setAttribute)(i,"aria-expanded",(0,s.ariaBool)(e))),a&&(0,s.setAttribute)(a,"aria-labelledby",e&&this.#r2),this.#r3.set(e),this.#ob(t),(0,s.tick)(),this.#ov)for(let t of(e?a?.focus():i?.focus(),[this.el,a]))t&&t.setAttribute("data-keyboard","");else for(let e of[this.el,a])e&&e.removeAttribute("data-keyboard");if(this.dispatch(e?"open":"close",{trigger:t}),e)this.isSubmenu||this.#M.activeMenu===this||(this.#M.activeMenu?.close(t),this.#M.activeMenu=this),this.#r9?.onOpen?.(t);else{if(this.isSubmenu)for(let e of this.#r6)e.close(t);else this.#M.activeMenu=null;this.#r9?.onClose?.(t)}e&&requestAnimationFrame(this.#ow.bind(this))}#ow(){this.#ok||this.#oT||(this.#r7.update(),requestAnimationFrame(()=>{this.#ov?this.#r7.focusActive():this.#r7.scroll()}))}#op(){return!this.#n_()&&this.#r3()}#n_(){return this.#r5()||this.#ot()}#or(e){this.#r5.set(e)}#og(e){let t=this.#aq();this.#oe||t&&ti(t,e)||e.stopPropagation()}#of(e){let t=this.#aq();this.#oe||t&&ti(t,e)||this.close(e)}#os(){let e=this.el?.querySelector('[data-part="close-target"]');return this.el&&e&&th(this.el,e,e=>"menu"===e.getAttribute("role"))?e:null}#ob(e){this.isSubmenu||(this.#r3()?this.#M.remote.pauseControls(e):this.#M.remote.resumeControls(e))}#oc(e){this.#r6.add(e),new s.EventsController(e).add("open",this.#oS).add("close",this.#ox),(0,s.onDispose)(this.#oC)}#oC=this.#o$.bind(this);#o$(e){this.#r6.delete(e)}#oT=!1;#oS=this.#oP.bind(this);#oP(e){this.#oT=!0;let t=this.#aq();for(let t of(this.isSubmenu&&this.triggerElement?.setAttribute("aria-hidden","true"),this.#r6))if(t!==e.target)for(let e of[t.el,t.triggerElement])e?.setAttribute("aria-hidden","true");if(t){let i=e.target.el;for(let e of t.children)e.contains(i)?e.setAttribute("data-open",""):e!==i&&e.setAttribute("data-hidden","")}}#ox=this.#oE.bind(this);#oE(e){this.#oT=!1;let t=this.#aq();for(let e of(this.isSubmenu&&this.triggerElement?.setAttribute("aria-hidden","false"),this.#r6))for(let t of[e.el,e.triggerElement])t?.setAttribute("aria-hidden","false");if(t)for(let e of t.children)e.removeAttribute("data-open"),e.removeAttribute("data-hidden")}#sQ=(0,s.animationFrameThrottle)(()=>{let e=(0,s.peek)(this.#aq);if(!e||el)return;let t=0,i=getComputedStyle(e),a=[...e.children];for(let e of["paddingTop","paddingBottom","borderTopWidth","borderBottomWidth"])t+=parseFloat(i[e])||0;for(let e of a)if(tp(e)&&"contents"===e.style.display)a.push(...e.children);else if(3===e.nodeType)t+=parseFloat(getComputedStyle(e).fontSize);else if(tp(e)){if(!tr(e))continue;let i=getComputedStyle(e);t+=e.offsetHeight+(parseFloat(i.marginTop)||0)+(parseFloat(i.marginBottom)||0)}(0,s.setStyle)(e,"--menu-height",t+"px")});#ok=!1;#oy(e){let t=this.#aq();
2for(let i of(t&&"height"===e.propertyName&&(this.#ok="transitionstart"===e.type,(0,s.setAttribute)(t,"data-transition",this.#ok?"height":null),this.#r3()&&this.#ow()),this.#oi))i(e)}open(e){(0,s.peek)(this.#r3)||(this.#r8.show(e),(0,s.tick)())}close(e){(0,s.peek)(this.#r3)&&(this.#r8.hide(e),(0,s.tick)())}}sV([s.prop],sF.prototype,"triggerElement"),sV([s.prop],sF.prototype,"contentElement"),sV([s.prop],sF.prototype,"isSubmenu"),sV([s.method],sF.prototype,"open"),sV([s.method],sF.prototype,"close");class sN extends s.Component{static props={disabled:!1};#oA;#oq=(0,s.signal)(null);get expanded(){return this.#oA?.expanded()??!1}constructor(){super(),new iD}onSetup(){this.#oA=(0,s.useContext)(sq)}onAttach(e){this.#oA.attachMenuButton(this),(0,s.effect)(this.#nm.bind(this)),ta(e,"type","button")}onConnect(e){(0,s.effect)(this.#oM.bind(this)),this.#ar();let t=new MutationObserver(this.#ar.bind(this));t.observe(e,{attributeFilter:["data-part"],childList:!0,subtree:!0}),(0,s.onDispose)(()=>t.disconnect()),tl(e,e=>{this.dispatch("select",{trigger:e})})}#nm(){this.#oA.disableMenuButton(this.$props.disabled())}#oM(){let e=this.#oq();e&&(0,s.effect)(()=>{let t=this.#oA.hint();t&&(e.textContent=t)})}#ar(){let e=this.el?.querySelector('[data-part="hint"]');this.#oq.set(e??null)}}let sB=sN.prototype;(0,s.prop)(sB,"expanded");class sU extends sN{}class sK extends s.Component{static props={container:null,disabled:!1};#m=null;#M;onSetup(){this.#M=e1(),(0,s.provideContext)(sG,{attach:this.#oD.bind(this)})}onAttach(e){e.style.setProperty("display","contents")}onConnect(e){}onDestroy(){this.#m?.remove(),this.#m=null}#oD(e){this.#oL(!1),this.#m=e,tc(()=>{tc(()=>{this.connectScope&&(0,s.effect)(this.#nm.bind(this))})})}#nm(){let{fullscreen:e}=this.#M.$state,{disabled:t}=this.$props;this.#oL("fullscreen"===t()?!e():!t())}#oL(e){if(!this.#m)return;let t=this.#oI(this.$props.container());if(!t)return;let i=this.#m.parentElement===t;(0,s.setAttribute)(this.#m,"data-portal",e),e?i||(this.#m.remove(),t.append(this.#m)):i&&this.#m.parentElement===t&&(this.#m.remove(),this.el?.append(this.#m))}#oI(e){return tp(e)?e:e?document.querySelector(e):document.body}}let sG=(0,s.createContext)();class sH extends s.Component{static props={placement:null,offset:0,alignOffset:0};#oA;constructor(){super(),new iD;const{placement:e}=this.$props;this.setAttributes({"data-placement":e})}onAttach(e){if(this.#oA=(0,s.useContext)(sq),this.#oA.attachMenuItems(this),(0,s.hasProvidedContext)(sG)){let t=(0,s.useContext)(sG);t&&((0,s.provideContext)(sG,null),t.attach(e),(0,s.onDispose)(()=>t.attach(null)))}}onConnect(e){(0,s.effect)(this.#aN.bind(this))}#aN(){let{expanded:e}=this.#oA;if(!this.el||!e())return;let t=this.$props.placement();if(!t)return;Object.assign(this.el.style,{position:"absolute",top:0,left:0,width:"max-content"});let{offset:i,alignOffset:a}=this.$props;(0,s.onDispose)(tu(this.el,this.#aF(),t,{offsetVarName:"media-menu",xOffset:a(),yOffset:i()})),(0,s.onDispose)(this.#oR.bind(this))}#oR(){this.el&&(this.el.removeAttribute("style"),this.el.style.display="none")}#aF(){return this.#oA.button()}}let sQ=(0,s.createContext)();class sW extends s.ViewController{#oV=new Set;#oO=(0,s.signal)("");#ir=null;onValueChange;get values(){return Array.from(this.#oV).map(e=>e.value())}get value(){return this.#oO()}set value(e){this.#C(e)}onSetup(){(0,s.provideContext)(sQ,{add:this.#oF.bind(this),remove:this.#oN.bind(this)})}onAttach(e){(0,s.hasProvidedContext)(sq)||ta(e,"role","radiogroup"),this.setAttributes({value:this.#oO})}onDestroy(){this.#oV.clear()}#oF(e){this.#oV.has(e)||(this.#oV.add(e),e.onCheck=this.#oB,e.check(e.value()===this.#oO()))}#oN(e){e.onCheck=null,this.#oV.delete(e)}#oB=this.#C.bind(this);#C(e,t){let i=(0,s.peek)(this.#oO);if(!e||e===i)return;let a=this.#oU(i),n=this.#oU(e);a?.check(!1,t),n?.check(!0,t),this.#oO.set(e),this.onValueChange?.(e,t)}#oU(e){for(let t of this.#oV)if(e===(0,s.peek)(t.value))return t;return null}}class sz extends s.Component{static props={value:""};#ir;get values(){return this.#ir.values}get value(){return this.#ir.value}set value(e){this.#ir.value=e}constructor(){super(),this.#ir=new sW,this.#ir.onValueChange=this.#nJ.bind(this)}onSetup(){el?this.#nu():(0,s.effect)(this.#nu.bind(this))}#nu(){this.#ir.value=this.$props.value()}#nJ(e,t){let i=this.createEvent("change",{detail:e,trigger:t});this.dispatch(i)}}let sj=sz.prototype;(0,s.prop)(sj,"values"),(0,s.prop)(sj,"value");class s_ extends s.Component{static props={value:""};#oK=(0,s.signal)(!1);#ir={value:this.$props.value,check:this.#oG.bind(this),onCheck:null};get checked(){return this.#oK()}constructor(){super(),new iD}onSetup(){this.setAttributes({value:this.$props.value,"data-checked":this.#oK,"aria-checked":ik(this.#oK)})}onAttach(e){let t=(0,s.hasProvidedContext)(sq);ta(e,"tabindex",t?"-1":"0"),ta(e,"role",t?"menuitemradio":"radio"),(0,s.effect)(this.#nu.bind(this))}onConnect(e){this.#oH(),tl(e,this.#az.bind(this)),(0,s.onDispose)(this.#eA.bind(this))}#eA(){(0,s.scoped)(()=>{(0,s.useContext)(sQ).remove(this.#ir)},this.connectScope)}#oH(){(0,s.useContext)(sQ).add(this.#ir)}#nu(){let{value:e}=this.$props,t=e();(0,s.peek)(this.#oK)&&this.#ir.onCheck?.(t)}#az(e){(0,s.peek)(this.#oK)||(this.#C(!0,e),this.#oQ(e),this.#ir.onCheck?.((0,s.peek)(this.$props.value),e))}#oG(e,t){(0,s.peek)(this.#oK)!==e&&this.#C(e,t)}#C(e,t){this.#oK.set(e),this.dispatch("change",{detail:e,trigger:t})}#oQ(e){this.dispatch("select",{trigger:e})}}let sX=s_.prototype;(0,s.prop)(sX,"checked");class sY extends s.Component{static props={disabled:!1,event:void 0,action:void 0};#M;#ez=null;onSetup(){this.#M=e1();let{event:e,action:t}=this.$props;this.setAttributes({event:e,action:t})}onAttach(e){e.setAttribute("data-media-gesture",""),e.style.setProperty("pointer-events","none")}onConnect(e){this.#ez=this.#M.player.el?.querySelector("[data-media-provider]"),(0,s.effect)(this.#oW.bind(this))}#oW(){let e=this.$props.event(),t=this.$props.disabled();this.#ez&&e&&!t&&(/^dbl/.test(e)&&(e=e.split(/^dbl/)[1]),("pointerup"===e||"pointerdown"===e)&&"coarse"===this.#M.$state.pointer()&&(e="pointerup"===e?"touchend":"touchstart"),(0,s.listenEvent)(this.#ez,e,this.#oz.bind(this),{passive:!1}))}#oj=0;#o_=-1;#oz(e){if(this.$props.disabled()||(0,s.isPointerEvent)(e)&&(0!==e.button||this.#M.activeMenu)||(0,s.isTouchEvent)(e)&&this.#M.activeMenu||td(e)||!this.#oX(e))return;e.MEDIA_GESTURE=!0,e.preventDefault();let t=(0,s.peek)(this.$props.event);if(t?.startsWith("dbl")){if(1===this.#oj){queueMicrotask(()=>this.#oY(e)),clearTimeout(this.#o_),this.#oj=0;return}}else 0===this.#oj&&setTimeout(()=>{1===this.#oj&&this.#oY(e)},250);
20===this.#oj&&(this.#o_=window.setTimeout(()=>{this.#oj=0},275)),this.#oj++}#oY(e){this.el.setAttribute("data-triggered",""),requestAnimationFrame(()=>{this.#oJ()&&this.#oZ((0,s.peek)(this.$props.action),e),requestAnimationFrame(()=>{this.el.removeAttribute("data-triggered")})})}#oX(e){if(!this.el)return!1;if((0,s.isPointerEvent)(e)||(0,s.isMouseEvent)(e)||(0,s.isTouchEvent)(e)){let t=(0,s.isTouchEvent)(e)?e.changedTouches[0]??e.touches[0]:void 0,i=t?.clientX??e.clientX,a=t?.clientY??e.clientY,n=this.el.getBoundingClientRect(),r=a>=n.top&&a<=n.bottom&&i>=n.left&&i<=n.right;return e.type.includes("leave")?!r:r}return!0}#oJ(){return Array.from(this.#M.player.el.querySelectorAll("[data-media-gesture][data-triggered]")).sort((e,t)=>getComputedStyle(t).zIndex-getComputedStyle(e).zIndex)[0]===this.el}#oZ(e,t){if(!e)return;let i=new s.DOMEvent("will-trigger",{detail:e,cancelable:!0,trigger:t});if(this.dispatchEvent(i),i.defaultPrevented)return;let[a,n]=e.replace(/:([a-z])/,"-$1").split(":");e.includes(":fullscreen")?this.#M.remote.toggleFullscreen("prefer-media",t):e.includes("seek:")?this.#M.remote.seek((0,s.peek)(this.#M.$state.currentTime)+(+n||0),t):this.#M.remote[(0,s.kebabToCamelCase)(a)](t),this.dispatch("trigger",{detail:e,trigger:t})}}class sJ{priority=10;#S=null;#o0;#e1;constructor(e){this.#o0=e}attach(){}canRender(){return!0}detach(){this.#e1?.abort(),this.#e1=void 0,this.#o0.reset(),this.#S=null}changeTrack(e){e&&this.#S!==e&&(this.#e1?.abort(),this.#e1=new s.EventsController(e),e.readyState<2?(this.#o0.reset(),this.#e1.add("load",()=>this.#o1(e),{once:!0})):this.#o1(e),this.#e1.add("add-cue",e=>{this.#o0.addCue(e.detail)}).add("remove-cue",e=>{this.#o0.removeCue(e.detail)}),this.#S=e)}#o1(e){this.#o0.changeTrack({cues:[...e.cues],regions:[...e.regions]})}}class sZ extends s.Component{static props={textDir:"ltr",exampleText:"Captions look like this."};#M;static lib=(0,s.signal)(null);onSetup(){this.#M=e1(),this.setAttributes({"aria-hidden":ik(this.#aX.bind(this))})}onAttach(e){e.style.setProperty("pointer-events","none")}onConnect(t){sZ.lib()||e.A(4004).then(e=>sZ.lib.set(e)),(0,s.effect)(this.#o2.bind(this))}#aX(){let{textTrack:e,remotePlaybackState:t,iOSControls:i}=this.#M.$state,s=e();return i()||"connected"===t()||!s||!ej(s)}#o2(){if(!sZ.lib())return;let{viewType:e}=this.#M.$state;return"audio"===e()?this.#o3():this.#o5()}#o3(){return(0,s.effect)(this.#tj.bind(this)),this.#o4(null),()=>{this.el.textContent=""}}#tj(){if(this.#aX())return;this.#o6();let{textTrack:e}=this.#M.$state;(0,s.listenEvent)(e(),"cue-change",this.#o6.bind(this)),(0,s.effect)(this.#o9.bind(this))}#o6(){this.el.textContent="",this.#o8>=0&&this.#o7();let{realCurrentTime:e,textTrack:t}=this.#M.$state,{renderVTTCueString:i}=sZ.lib(),a=(0,s.peek)(e);for(let e of(0,s.peek)(t).activeCues){let t=this.#he(),s=this.#ht();s.innerHTML=i(e,a),t.append(s),this.el.append(s)}}#o9(){let{realCurrentTime:e}=this.#M.$state,{updateTimedVTTCueNodes:t}=sZ.lib();t(this.el,e())}#o5(){let{CaptionsRenderer:e}=sZ.lib(),t=new e(this.el),i=new sJ(t);return this.#M.textRenderers.add(i),(0,s.effect)(this.#hi.bind(this,t)),(0,s.effect)(this.#hs.bind(this,t)),this.#o4(t),()=>{this.el.textContent="",this.#M.textRenderers.remove(i),t.destroy()}}#hi(e){e.dir=this.$props.textDir()}#hs(e){if(this.#aX())return;let{realCurrentTime:t,textTrack:i}=this.#M.$state;e.currentTime=t(),this.#o8>=0&&i()?.activeCues[0]&&this.#o7()}#o4(e){let t=this.#M.player;if(!t)return;let i=this.#ha.bind(this,e);(0,s.listenEvent)(t,"vds-font-change",i)}#ha(e){if(this.#o8>=0)return void this.#hn();let{textTrack:t}=this.#M.$state;t()?.activeCues[0]?e?.update(!0):this.#hr()}#hr(){let e=this.#he();(0,s.setAttribute)(e,"data-example","");let t=this.#ht();(0,s.setAttribute)(t,"data-example",""),t.textContent=this.$props.exampleText(),e?.append(t),this.el?.append(e),this.el?.setAttribute("data-example",""),this.#hn()}#o8=-1;#hn(){window.clearTimeout(this.#o8),this.#o8=window.setTimeout(this.#o7.bind(this),2500)}#o7(){this.el?.removeAttribute("data-example"),this.el?.querySelector("[data-example]")&&(this.el.textContent=""),this.#o8=-1}#he(){let e=document.createElement("div");return(0,s.setAttribute)(e,"data-part","cue-display"),e}#ht(){let e=document.createElement("div");return(0,s.setAttribute)(e,"data-part","cue"),e}}class s0 extends s.Component{static props={src:null,alt:null,crossOrigin:null};static state=new s.State({img:null,src:null,alt:null,crossOrigin:null,loading:!0,error:null,hidden:!1});#M;onSetup(){this.#M=e1(),this.#nG(),this.#ho(),this.#sm(),this.#nv()}onAttach(e){e.style.setProperty("pointer-events","none"),(0,s.effect)(this.#nV.bind(this)),(0,s.effect)(this.#nG.bind(this)),(0,s.effect)(this.#ho.bind(this)),(0,s.effect)(this.#sm.bind(this)),(0,s.effect)(this.#nv.bind(this));let{started:t}=this.#M.$state;this.setAttributes({"data-visible":()=>!t()&&!this.$state.hidden(),"data-loading":this.#nI.bind(this),"data-error":this.#nR.bind(this),"data-hidden":this.$state.hidden})}onConnect(e){(0,s.effect)(this.#hh.bind(this)),(0,s.effect)(this.#te.bind(this))}#nR(){let{error:e}=this.$state;return!(0,s.isNull)(e())}#hh(){let{canLoadPoster:e,poster:t}=this.#M.$state;!e()&&t()&&eN(t(),"preconnect")}#nv(){let{src:e}=this.$props,{poster:t,nativeControls:i}=this.#M.$state;this.el&&(0,s.setAttribute)(this.el,"display",i()?"none":null),this.$state.hidden.set(this.#nR()||!(e()||t())||i())}#nI(){let{loading:e,hidden:t}=this.$state;return!t()&&e()}#nV(){let e=this.$state.img();e&&(new s.EventsController(e).add("load",this.#hl.bind(this)).add("error",this.#eE.bind(this)),e.complete&&this.#hl())}#hd="";#nG(){let{poster:e}=this.#M.$props,{canLoadPoster:t,providedPoster:i,inferredPoster:s}=this.#M.$state,a=this.$props.src()||"",n=a||e()||s();this.#hd===i()&&i.set(a),this.$state.src.set(t()&&n.length?n:null),this.#hd=a}#ho(){let{src:e}=this.$props,{alt:t}=this.$state,{poster:i}=this.#M.$state;t.set(e()||i()?this.$props.alt():null)}#sm(){let{crossOrigin:e}=this.$props,{crossOrigin:t}=this.$state,{crossOrigin:i,poster:s}=this.#M.$state,a=null!==e()?e():i();t.set(/ytimg\.com|vimeo/.test(s()||"")?null:!0===a?"anonymous":a)}#te(){let{loading:e,error:t}
2=this.$state,{canLoadPoster:i,poster:s}=this.#M.$state;e.set(i()&&!!s()),t.set(null)}#hl(){let{loading:e,error:t}=this.$state;e.set(!1),t.set(null)}#eE(e){let{loading:t,error:i}=this.$state;t.set(!1),i.set(e)}}class s1 extends s.Component{static props={type:"current",showHours:!1,padHours:null,padMinutes:null,remainder:!1,toggle:!1,hidden:!1};static state=new s.State({timeText:"",hidden:!1});#M;#hc=(0,s.signal)(null);#nd=(0,s.signal)(!0);#nc=(0,s.signal)(!0);onSetup(){this.#M=e1(),this.#hu();let{type:e}=this.$props;this.setAttributes({"data-type":e,"data-remainder":this.#hp.bind(this)}),new sa({callback:this.#nf.bind(this)}).attach(this)}onAttach(e){e.hasAttribute("role")||(0,s.effect)(this.#hm.bind(this)),(0,s.effect)(this.#hu.bind(this))}onConnect(e){(0,s.onDispose)(to(e,this.#nd.set)),(0,s.effect)(this.#nv.bind(this)),(0,s.effect)(this.#hg.bind(this))}#nf(e){this.#nc.set(e[0].isIntersecting)}#nv(){let{hidden:e}=this.$props;this.$state.hidden.set(e()||!this.#nd()||!this.#nc())}#hg(){this.$props.toggle()?this.el&&tl(this.el,this.#hf.bind(this)):this.#hc.set(null)}#hu(){let{hidden:e,timeText:t}=this.$state,{duration:i}=this.#M.$state;if(e())return;let{type:s,padHours:a,padMinutes:n,showHours:r}=this.$props,o=this.#hy(s()),h=i(),l=this.#hp();if(!Number.isFinite(o+h))return void t.set("LIVE");let d=ic(l?Math.max(0,h-o):o,{padHrs:a(),padMins:n(),showHrs:r()});t.set((l?"-":"")+d)}#hm(){if(!this.el)return;let{toggle:e}=this.$props;(0,s.setAttribute)(this.el,"role",e()?"timer":null),(0,s.setAttribute)(this.el,"tabindex",e()?0:null)}#hy(e){let{bufferedEnd:t,duration:i,currentTime:s}=this.#M.$state;switch(e){case"buffered":return t();case"duration":return i();default:return s()}}#hp(){return this.$props.remainder()&&!1!==this.#hc()}#hf(e){(e.preventDefault(),null===this.#hc())?this.#hc.set(!this.$props.remainder()):this.#hc.set(e=>!e)}}class s2 extends iR{}class s3 extends sc{}let s5=i.forwardRef((e,t)=>{let{children:s,...a}=e,n=i.Children.toArray(s),r=n.find(s9);if(r){let e=r.props.children,s=n.map(t=>t!==r?t:i.Children.count(e)>1?i.Children.only(null):i.isValidElement(e)?e.props.children:null);return i.createElement(s4,{...a,ref:t},i.isValidElement(e)?i.cloneElement(e,void 0,s):null)}return i.createElement(s4,{...a,ref:t},s)});s5.displayName="Slot";let s4=i.forwardRef((e,t)=>{let{children:a,...n}=e;return i.isValidElement(a)?i.cloneElement(a,{...function(e,t){let i={...t};for(let s in t){let a=e[s],n=t[s];/^on[A-Z]/.test(s)?a&&n?i[s]=(...e)=>{n(...e),a(...e)}:a&&(i[s]=a):"style"===s?i[s]={...a,...n}:"className"===s&&(i[s]=[a,n].filter(Boolean).join(" "))}return{...e,...i}}(n,a.props),ref:t?(0,s.composeRefs)(t,a.ref):a.ref}):i.Children.count(a)>1?i.Children.only(null):null});s4.displayName="SlotClone";let s6=({children:e})=>i.createElement(i.Fragment,null,e);function s9(e){return i.isValidElement(e)&&e.type===s6}let s8=["button","div","span","img","video","audio"].reduce((e,t)=>{let s=i.forwardRef((e,s)=>{let{asChild:a,...n}=e,r=a?s5:t;return i.createElement(r,{...n,ref:s})});return s.displayName=`Primitive.${t}`,{...e,[t]:s}},{}),s7=s3.state.record,ae=Object.keys(s7).reduce((e,t)=>({...e,[t]:()=>s7[t]}),{}),at=s2.state.record,ai=Object.keys(at).reduce((e,t)=>({...e,[t]:()=>at[t]}),{});e.s(["AirPlayButtonInstance",0,class extends i3{},"AudioGainSliderInstance",0,class extends sx{},"CaptionButtonInstance",0,class extends i6{},"CaptionsInstance",0,class extends sZ{},"ControlsGroupInstance",0,class extends iz{},"ControlsInstance",0,class extends iW{},"FullscreenButtonInstance",0,class extends i9{},"GestureInstance",0,class extends sY{},"GoogleCastButtonInstance",0,class extends i5{},"HTMLAirPlayAdapter",0,tY,"HTMLMediaProvider",0,t_,"IS_CHROME",0,ep,"IS_IOS",0,ec,"IS_SERVER",0,el,"ListSymbol",0,e5,"LiveButtonInstance",0,class extends st{},"MediaAnnouncerInstance",0,class extends iQ{},"MediaPlayerInstance",0,s2,"MediaProviderInstance",0,class extends iG{},"MediaRemoteControl",0,e2,"MenuButtonInstance",0,class extends sN{},"MenuInstance",0,class extends sF{},"MenuItemInstance",0,class extends sU{},"MenuItemsInstance",0,class extends sH{},"MuteButtonInstance",0,class extends i8{},"PIPButtonInstance",0,class extends i7{},"PlayButtonInstance",0,class extends i4{},"PosterInstance",0,class extends s0{},"Primitive",0,s8,"QualitySliderInstance",0,class extends s${},"QualitySymbol",0,ty,"RAFLoop",0,tW,"RadioGroupController",0,sW,"RadioGroupInstance",0,class extends sz{},"RadioInstance",0,class extends s_{},"SeekButtonInstance",0,class extends se{},"SliderChaptersInstance",0,class extends sE{},"SliderInstance",0,s3,"SliderPreviewInstance",0,class extends sk{},"SliderThumbnailInstance",0,class extends sf{},"SliderValueInstance",0,class extends sb{},"SliderVideoInstance",0,class extends sy{},"SpeedSliderInstance",0,class extends sC{},"TextTrack",0,eW,"TextTrackSymbol",0,eG,"ThumbnailInstance",0,class extends sg{},"ThumbnailsLoader",0,sm,"TimeInstance",0,class extends s1{},"TimeRange",0,eS,"TimeSliderInstance",0,class extends sP{},"ToggleButtonInstance",0,class extends i1{},"TooltipContentInstance",0,class extends iZ{},"TooltipInstance",0,class extends iY{},"TooltipTriggerInstance",0,class extends iJ{},"VideoProvider",0,t3,"VolumeSliderInstance",0,class extends sS{},"appendParamsToURL",0,function(e,t){let i=new URL(e);for(let e of Object.keys(t))i.searchParams.set(e,t[e]+"");return i.toString()},"canGoogleCastSrc",0,eF,"coerceToError",0,t9,"formatSpokenTime",0,iu,"formatTime",0,ic,"isHLSSupported",0,eT,"isRemotionProvider",0,function(e){return e?.$$PROVIDER_TYPE==="REMOTION"},"isTrackCaptionKind",0,ej,"loadScript",0,eU,"mediaContext",0,e0,"mediaState",0,e_,"menuContext",0,sq,"preconnect",0,eN,"sortVideoQualities",0,tb,"updateSliderPreviewPlacement",0,sT,"useMediaContext",0,e1,"useMediaState",0,function(e,t){let i=(0,s.use
2StateContext)(e_);return(0,s.useSignal)((t?.current?.$state||i||ai)[e])},"useMediaStore",0,function(e){let t=(0,s.useStateContext)(e_);return(0,s.useSignalRecord)(e?.current?e.current.$state:t||ai)},"useSliderState",0,function(e,t){let i=(0,s.useStateContext)(si);return(0,s.useSignal)((t?.current?.$state||i||ae)[e])},"watchActiveTextTrack",0,eQ],21440)}]);
3
4//# debugId=3af59540-6a6d-c442-ebf9-cc37ab413c9f
5//# sourceMappingURL=36807d5mdx7sj.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.