@vkontakte/videoplayer-core 2.0.140-dev.b1537fc2.0 → 2.0.140-dev.d35428ab.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/es2024.esm.js CHANGED
@@ -1,10 +1,10 @@
1
1
  /**
2
- * @vkontakte/videoplayer-core v2.0.140-dev.b1537fc2.0
3
- * Tue, 26 Aug 2025 09:52:43 GMT
2
+ * @vkontakte/videoplayer-core v2.0.140-dev.d35428ab.0
3
+ * Wed, 03 Sep 2025 17:19:49 GMT
4
4
  * https://st.mycdn.me/static/vkontakte-videoplayer/2-0-140/doc/
5
5
  */
6
6
  var NI=Object.create;var Nd=Object.defineProperty;var qI=Object.getOwnPropertyDescriptor;var UI=Object.getOwnPropertyNames;var HI=Object.getPrototypeOf,jI=Object.prototype.hasOwnProperty;var m=(a,e)=>()=>(e||a((e={exports:{}}).exports,e),e.exports);var QI=(a,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of UI(e))!jI.call(a,r)&&r!==t&&Nd(a,r,{get:()=>e[r],enumerable:!(i=qI(e,r))||i.enumerable});return a};var C=(a,e,t)=>(t=a!=null?NI(HI(a)):{},QI(e||!a||!a.__esModule?Nd(t,"default",{value:a,enumerable:!0}):t,a));var re=m((Xo,Ud)=>{"use strict";var Fr=function(a){return a&&a.Math===Math&&a};Ud.exports=Fr(typeof globalThis=="object"&&globalThis)||Fr(typeof window=="object"&&window)||Fr(typeof self=="object"&&self)||Fr(typeof global=="object"&&global)||Fr(typeof Xo=="object"&&Xo)||function(){return this}()||Function("return this")()});var ce=m((G0,Hd)=>{"use strict";Hd.exports=function(a){try{return!!a()}catch{return!0}}});var Nr=m((z0,jd)=>{"use strict";var WI=ce();jd.exports=!WI(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")})});var Jo=m((Y0,zd)=>{"use strict";var GI=Nr(),Gd=Function.prototype,Qd=Gd.apply,Wd=Gd.call;zd.exports=typeof Reflect=="object"&&Reflect.apply||(GI?Wd.bind(Qd):function(){return Wd.apply(Qd,arguments)})});var de=m((K0,Xd)=>{"use strict";var Yd=Nr(),Kd=Function.prototype,Zo=Kd.call,zI=Yd&&Kd.bind.bind(Zo,Zo);Xd.exports=Yd?zI:function(a){return function(){return Zo.apply(a,arguments)}}});var si=m((X0,Zd)=>{"use strict";var Jd=de(),YI=Jd({}.toString),KI=Jd("".slice);Zd.exports=function(a){return KI(YI(a),8,-1)}});var eu=m((J0,ep)=>{"use strict";var XI=si(),JI=de();ep.exports=function(a){if(XI(a)==="Function")return JI(a)}});var ae=m((Z0,tp)=>{"use strict";var tu=typeof document=="object"&&document.all;tp.exports=typeof tu>"u"&&tu!==void 0?function(a){return typeof a=="function"||a===tu}:function(a){return typeof a=="function"}});var Fe=m((eV,ip)=>{"use strict";var ZI=ce();ip.exports=!ZI(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var Ne=m((tV,rp)=>{"use strict";var eE=Nr(),_s=Function.prototype.call;rp.exports=eE?_s.bind(_s):function(){return _s.apply(_s,arguments)}});var iu=m(np=>{"use strict";var ap={}.propertyIsEnumerable,sp=Object.getOwnPropertyDescriptor,tE=sp&&!ap.call({1:2},1);np.f=tE?function(e){var t=sp(this,e);return!!t&&t.enumerable}:ap});var qr=m((rV,op)=>{"use strict";op.exports=function(a,e){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:e}}});var lp=m((aV,up)=>{"use strict";var iE=de(),rE=ce(),aE=si(),ru=Object,sE=iE("".split);up.exports=rE(function(){return!ru("z").propertyIsEnumerable(0)})?function(a){return aE(a)==="String"?sE(a,""):ru(a)}:ru});var Ur=m((sV,cp)=>{"use strict";cp.exports=function(a){return a==null}});var Ft=m((nV,dp)=>{"use strict";var nE=Ur(),oE=TypeError;dp.exports=function(a){if(nE(a))throw new oE("Can't call method on "+a);return a}});var ni=m((oV,pp)=>{"use strict";var uE=lp(),lE=Ft();pp.exports=function(a){return uE(lE(a))}});var Le=m((uV,hp)=>{"use strict";var cE=ae();hp.exports=function(a){return typeof a=="object"?a!==null:cE(a)}});var oi=m((lV,fp)=>{"use strict";fp.exports={}});var wt=m((cV,bp)=>{"use strict";var au=oi(),su=re(),dE=ae(),mp=function(a){return dE(a)?a:void 0};bp.exports=function(a,e){return arguments.length<2?mp(au[a])||mp(su[a]):au[a]&&au[a][e]||su[a]&&su[a][e]}});var Hr=m((dV,gp)=>{"use strict";var pE=de();gp.exports=pE({}.isPrototypeOf)});var ui=m((pV,yp)=>{"use strict";var hE=re(),Sp=hE.navigator,vp=Sp&&Sp.userAgent;yp.exports=vp?String(vp):""});var ou=m((hV,Ap)=>{"use strict";var wp=re(),nu=ui(),Tp=wp.process,Ip=wp.Deno,Ep=Tp&&Tp.versions||Ip&&Ip.version,xp=Ep&&Ep.v8,et,Os;xp&&(et=xp.split("."),Os=et[0]>0&&et[0]<4?1:+(et[0]+et[1]));!Os&&nu&&(et=nu.match(/Edge\/(\d+)/),(!et||et[1]>=74)&&(et=nu.match(/Chrome\/(\d+)/),et&&(Os=+et[1])));Ap.exports=Os});var uu=m((fV,kp)=>{"use strict";var Pp=ou(),fE=ce(),mE=re(),bE=mE.String;kp.exports=!!Object.getOwnPropertySymbols&&!fE(function(){var a=Symbol("symbol detection");return!bE(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&Pp&&Pp<41})});var lu=m((mV,Rp)=>{"use strict";var gE=uu();Rp.exports=gE&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var cu=m((bV,Lp)=>{"use strict";var SE=wt(),vE=ae(),yE=Hr(),TE=lu(),IE=Object;Lp.exports=TE?function(a){return typeof a=="symbol"}:function(a){var e=SE("Symbol");return vE(e)&&yE(e.prototype,IE(a))}});var jr=m((gV,$p)=>{"use strict";var EE=String;$p.exports=function(a){try{return EE(a)}catch{return"Object"}}});var ht=m((SV,Mp)=>{"use strict";var xE=ae(),wE=jr(),AE=TypeError;Mp.exports=function(a){if(xE(a))return a;throw new AE(wE(a)+" is not a function")}});var Qr=m((vV,Dp)=>{"use strict";var PE=ht(),kE=Ur();Dp.exports=function(a,e){var t=a[e];return kE(t)?void 0:PE(t)}});var Bp=m((yV,Cp)=>{"use strict";var du=Ne(),pu=ae(),hu=Le(),RE=TypeError;Cp.exports=function(a,e){var t,i;if(e==="string"&&pu(t=a.toString)&&!hu(i=du(t,a))||pu(t=a.valueOf)&&!hu(i=du(t,a))||e!=="string"&&pu(t=a.toString)&&!hu(i=du(t,a)))return i;throw new RE("Can't convert object to primitive value")}});var tt=m((TV,Vp)=>{"use strict";Vp.exports=!0});var Fp=m((IV,Op)=>{"use strict";var _p=re(),LE=Object.defineProperty;Op.exports=function(a,e){try{LE(_p,a,{value:e,configurable:!0,writable:!0})}catch{_p[a]=e}return e}});var Wr=m((EV,Up)=>{"use strict";var $E=tt(),ME=re(),DE=Fp(),Np="__core-js_shared__",qp=Up.exports=ME[Np]||DE(Np,{});(qp.versions||(qp.versions=[])).push({version:"3.43.0",mode:$E?"pure":"global",copyright:"\xA9 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.43.0/LICENSE",source:"https://github.com/zloirock/core-js"})});var fu=m((xV,jp)=>{"use strict";var Hp=Wr();jp.exports=function(a,e){return Hp[a]||(Hp[a]=e||{})}});var Fi=m((wV,Qp)=>{"use strict";var CE=Ft(),BE=Object;Qp.exports=function(a){return BE(CE(a))}});var it=m((AV,Wp)=>{"use strict";var VE=de(),_E=Fi(),OE=VE({}.hasOwnProperty);Wp.exports=Object.hasOwn||function(e,t){return OE(_E(e),t)}});var mu=m((PV,Gp)=>{"use strict";var FE=de(),NE=0,qE=Math.random(),UE=FE(1.1.toString);Gp.exports=function(a){return"Symbol("+(a===void 0?"":a)+")_"+UE(++NE+qE,36)}});var be=m((kV,Yp)=>{"use strict";var HE=re(),jE=fu(),zp=it(),QE=mu(),WE=uu(),GE=lu(),Ni=HE.Symbol,bu=jE("wks"),zE=GE?Ni.for||Ni:Ni&&Ni.withoutSetter||QE;Yp.exports=function(a){return zp(bu,a)||(bu[a]=WE&&zp(Ni,a)?Ni[a]:zE("Symbol."+a)),bu[a]}});var Zp=m((RV,Jp)=>{"use strict";var YE=Ne(),Kp=Le(),Xp=cu(),KE=Qr(),XE=Bp(),JE=be(),ZE=TypeError,ex=JE("toPrimitive");Jp.exports=function(a,e){if(!Kp(a)||Xp(a))return a;var t=KE(a,ex),i;if(t){if(e===void 0&&(e="default"),i=YE(t,a,e),!Kp(i)||Xp(i))return i;throw new ZE("Can't convert object to primitive value")}return e===void 0&&(e="number"),XE(a,e)}});var gu=m((LV,eh)=>{"use strict";var tx=Zp(),ix=cu();eh.exports=function(a){var e=tx(a,"string");return ix(e)?e:e+""}});var Fs=m(($V,ih)=>{"use strict";var rx=re(),th=Le(),Su=rx.document,ax=th(Su)&&th(Su.createElement);ih.exports=function(a){return ax?Su.createElement(a):{}}});var vu=m((MV,rh)=>{"use strict";var sx=Fe(),nx=ce(),ox=Fs();rh.exports=!sx&&!nx(function(){return Object.defineProperty(ox("div"),"a",{get:function(){return 7}}).a!==7})});var nh=m(sh=>{"use strict";var ux=Fe(),lx=Ne(),cx=iu(),dx=qr(),px=ni(),hx=gu(),fx=it(),mx=vu(),ah=Object.getOwnPropertyDescriptor;sh.f=ux?ah:function(e,t){if(e=px(e),t=hx(t),mx)try{return ah(e,t)}catch{}if(fx(e,t))return dx(!lx(cx.f,e,t),e[t])}});var yu=m((CV,oh)=>{"use strict";var bx=ce(),gx=ae(),Sx=/#|\.prototype\./,Gr=function(a,e){var t=yx[vx(a)];return t===Ix?!0:t===Tx?!1:gx(e)?bx(e):!!e},vx=Gr.normalize=function(a){return String(a).replace(Sx,".").toLowerCase()},yx=Gr.data={},Tx=Gr.NATIVE="N",Ix=Gr.POLYFILL="P";oh.exports=Gr});var qi=m((BV,lh)=>{"use strict";var uh=eu(),Ex=ht(),xx=Nr(),wx=uh(uh.bind);lh.exports=function(a,e){return Ex(a),e===void 0?a:xx?wx(a,e):function(){return a.apply(e,arguments)}}});var Tu=m((VV,ch)=>{"use strict";var Ax=Fe(),Px=ce();ch.exports=Ax&&Px(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var ft=m((_V,dh)=>{"use strict";var kx=Le(),Rx=String,Lx=TypeError;dh.exports=function(a){if(kx(a))return a;throw new Lx(Rx(a)+" is not an object")}});var li=m(hh=>{"use strict";var $x=Fe(),Mx=vu(),Dx=Tu(),Ns=ft(),ph=gu(),Cx=TypeError,Iu=Object.defineProperty,Bx=Object.getOwnPropertyDescriptor,Eu="enumerable",xu="configurable",wu="writable";hh.f=$x?Dx?function(e,t,i){if(Ns(e),t=ph(t),Ns(i),typeof e=="function"&&t==="prototype"&&"value"in i&&wu in i&&!i[wu]){var r=Bx(e,t);r&&r[wu]&&(e[t]=i.value,i={configurable:xu in i?i[xu]:r[xu],enumerable:Eu in i?i[Eu]:r[Eu],writable:!1})}return Iu(e,t,i)}:Iu:function(e,t,i){if(Ns(e),t=ph(t),Ns(i),Mx)try{return Iu(e,t,i)}catch{}if("get"in i||"set"in i)throw new Cx("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var Ui=m((FV,fh)=>{"use strict";var Vx=Fe(),_x=li(),Ox=qr();fh.exports=Vx?function(a,e,t){return _x.f(a,e,Ox(1,t))}:function(a,e,t){return a[e]=t,a}});var oe=m((NV,bh)=>{"use strict";var zr=re(),Fx=Jo(),Nx=eu(),qx=ae(),Ux=nh().f,Hx=yu(),Hi=oi(),jx=qi(),ji=Ui(),mh=it();Wr();var Qx=function(a){var e=function(t,i,r){if(this instanceof e){switch(arguments.length){case 0:return new a;case 1:return new a(t);case 2:return new a(t,i)}return new a(t,i,r)}return Fx(a,this,arguments)};return e.prototype=a.prototype,e};bh.exports=function(a,e){var t=a.target,i=a.global,r=a.stat,s=a.proto,n=i?zr:r?zr[t]:zr[t]&&zr[t].prototype,u=i?Hi:Hi[t]||ji(Hi,t,{})[t],o=u.prototype,l,c,p,d,h,f,b,S,g;for(d in e)l=Hx(i?d:t+(r?".":"#")+d,a.forced),c=!l&&n&&mh(n,d),f=u[d],c&&(a.dontCallGetSet?(g=Ux(n,d),b=g&&g.value):b=n[d]),h=c&&b?b:e[d],!(!l&&!s&&typeof f==typeof h)&&(a.bind&&c?S=jx(h,zr):a.wrap&&c?S=Qx(h):s&&qx(h)?S=Nx(h):S=h,(a.sham||h&&h.sham||f&&f.sham)&&ji(S,"sham",!0),ji(u,d,S),s&&(p=t+"Prototype",mh(Hi,p)||ji(Hi,p,{}),ji(Hi[p],d,h),a.real&&o&&(l||!o[d])&&ji(o,d,h)))}});var qs=m((qV,Sh)=>{"use strict";var Wx=fu(),Gx=mu(),gh=Wx("keys");Sh.exports=function(a){return gh[a]||(gh[a]=Gx(a))}});var yh=m((UV,vh)=>{"use strict";var zx=ce();vh.exports=!zx(function(){function a(){}return a.prototype.constructor=null,Object.getPrototypeOf(new a)!==a.prototype})});var Us=m((HV,Ih)=>{"use strict";var Yx=it(),Kx=ae(),Xx=Fi(),Jx=qs(),Zx=yh(),Th=Jx("IE_PROTO"),Au=Object,ew=Au.prototype;Ih.exports=Zx?Au.getPrototypeOf:function(a){var e=Xx(a);if(Yx(e,Th))return e[Th];var t=e.constructor;return Kx(t)&&e instanceof t?t.prototype:e instanceof Au?ew:null}});var xh=m((jV,Eh)=>{"use strict";var tw=Math.ceil,iw=Math.floor;Eh.exports=Math.trunc||function(e){var t=+e;return(t>0?iw:tw)(t)}});var Yr=m((QV,wh)=>{"use strict";var rw=xh();wh.exports=function(a){var e=+a;return e!==e||e===0?0:rw(e)}});var Ph=m((WV,Ah)=>{"use strict";var aw=Yr(),sw=Math.max,nw=Math.min;Ah.exports=function(a,e){var t=aw(a);return t<0?sw(t+e,0):nw(t,e)}});var Pu=m((GV,kh)=>{"use strict";var ow=Yr(),uw=Math.min;kh.exports=function(a){var e=ow(a);return e>0?uw(e,9007199254740991):0}});var Qi=m((zV,Rh)=>{"use strict";var lw=Pu();Rh.exports=function(a){return lw(a.length)}});var ku=m((YV,$h)=>{"use strict";var cw=ni(),dw=Ph(),pw=Qi(),Lh=function(a){return function(e,t,i){var r=cw(e),s=pw(r);if(s===0)return!a&&-1;var n=dw(i,s),u;if(a&&t!==t){for(;s>n;)if(u=r[n++],u!==u)return!0}else for(;s>n;n++)if((a||n in r)&&r[n]===t)return a||n||0;return!a&&-1}};$h.exports={includes:Lh(!0),indexOf:Lh(!1)}});var Hs=m((KV,Mh)=>{"use strict";Mh.exports={}});var Bh=m((XV,Ch)=>{"use strict";var hw=de(),Ru=it(),fw=ni(),mw=ku().indexOf,bw=Hs(),Dh=hw([].push);Ch.exports=function(a,e){var t=fw(a),i=0,r=[],s;for(s in t)!Ru(bw,s)&&Ru(t,s)&&Dh(r,s);for(;e.length>i;)Ru(t,s=e[i++])&&(~mw(r,s)||Dh(r,s));return r}});var Lu=m((JV,Vh)=>{"use strict";Vh.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var $u=m((ZV,_h)=>{"use strict";var gw=Bh(),Sw=Lu();_h.exports=Object.keys||function(e){return gw(e,Sw)}});var Mu=m((e_,Uh)=>{"use strict";var Fh=Fe(),vw=ce(),Nh=de(),yw=Us(),Tw=$u(),Iw=ni(),Ew=iu().f,qh=Nh(Ew),xw=Nh([].push),ww=Fh&&vw(function(){var a=Object.create(null);return a[2]=2,!qh(a,2)}),Oh=function(a){return function(e){for(var t=Iw(e),i=Tw(t),r=ww&&yw(t)===null,s=i.length,n=0,u=[],o;s>n;)o=i[n++],(!Fh||(r?o in t:qh(t,o)))&&xw(u,a?[o,t[o]]:t[o]);return u}};Uh.exports={entries:Oh(!0),values:Oh(!1)}});var Hh=m(()=>{"use strict";var Aw=oe(),Pw=Mu().values;Aw({target:"Object",stat:!0},{values:function(e){return Pw(e)}})});var Qh=m((r_,jh)=>{"use strict";Hh();var kw=oi();jh.exports=kw.Object.values});var Gh=m((a_,Wh)=>{"use strict";var Rw=Qh();Wh.exports=Rw});var ci=m((s_,zh)=>{"use strict";var Lw=Gh();zh.exports=Lw});var Kr=m((n_,Yh)=>{"use strict";Yh.exports=function(){}});var Kh=m(()=>{"use strict";var $w=oe(),Mw=ku().includes,Dw=ce(),Cw=Kr(),Bw=Dw(function(){return!Array(1).includes()});$w({target:"Array",proto:!0,forced:Bw},{includes:function(e){return Mw(this,e,arguments.length>1?arguments[1]:void 0)}});Cw("includes")});var Nt=m((l_,Xh)=>{"use strict";var Vw=wt();Xh.exports=Vw});var Zh=m((c_,Jh)=>{"use strict";Kh();var _w=Nt();Jh.exports=_w("Array","includes")});var tf=m((d_,ef)=>{"use strict";var Ow=Zh();ef.exports=Ow});var Ee=m((p_,rf)=>{"use strict";var Fw=tf();rf.exports=Fw});var cf=m(()=>{"use strict";var Gw=oe(),zw=Mu().entries;Gw({target:"Object",stat:!0},{entries:function(e){return zw(e)}})});var pf=m((A_,df)=>{"use strict";cf();var Yw=oi();df.exports=Yw.Object.entries});var ff=m((P_,hf)=>{"use strict";var Kw=pf();hf.exports=Kw});var Wi=m((k_,mf)=>{"use strict";var Xw=ff();mf.exports=Xw});var di=m((R_,bf)=>{"use strict";bf.exports={}});var vf=m((L_,Sf)=>{"use strict";var Jw=re(),Zw=ae(),gf=Jw.WeakMap;Sf.exports=Zw(gf)&&/native code/.test(String(gf))});var Ou=m(($_,If)=>{"use strict";var eA=vf(),Tf=re(),tA=Le(),iA=Ui(),Bu=it(),Vu=Wr(),rA=qs(),aA=Hs(),yf="Object already initialized",_u=Tf.TypeError,sA=Tf.WeakMap,Ws,Xr,Gs,nA=function(a){return Gs(a)?Xr(a):Ws(a,{})},oA=function(a){return function(e){var t;if(!tA(e)||(t=Xr(e)).type!==a)throw new _u("Incompatible receiver, "+a+" required");return t}};eA||Vu.state?(rt=Vu.state||(Vu.state=new sA),rt.get=rt.get,rt.has=rt.has,rt.set=rt.set,Ws=function(a,e){if(rt.has(a))throw new _u(yf);return e.facade=a,rt.set(a,e),e},Xr=function(a){return rt.get(a)||{}},Gs=function(a){return rt.has(a)}):(pi=rA("state"),aA[pi]=!0,Ws=function(a,e){if(Bu(a,pi))throw new _u(yf);return e.facade=a,iA(a,pi,e),e},Xr=function(a){return Bu(a,pi)?a[pi]:{}},Gs=function(a){return Bu(a,pi)});var rt,pi;If.exports={set:Ws,get:Xr,has:Gs,enforce:nA,getterFor:oA}});var qu=m((M_,xf)=>{"use strict";var Fu=Fe(),uA=it(),Ef=Function.prototype,lA=Fu&&Object.getOwnPropertyDescriptor,Nu=uA(Ef,"name"),cA=Nu&&function(){}.name==="something",dA=Nu&&(!Fu||Fu&&lA(Ef,"name").configurable);xf.exports={EXISTS:Nu,PROPER:cA,CONFIGURABLE:dA}});var Af=m(wf=>{"use strict";var pA=Fe(),hA=Tu(),fA=li(),mA=ft(),bA=ni(),gA=$u();wf.f=pA&&!hA?Object.defineProperties:function(e,t){mA(e);for(var i=bA(t),r=gA(t),s=r.length,n=0,u;s>n;)fA.f(e,u=r[n++],i[u]);return e}});var Uu=m((C_,Pf)=>{"use strict";var SA=wt();Pf.exports=SA("document","documentElement")});var Wu=m((B_,Cf)=>{"use strict";var vA=ft(),yA=Af(),kf=Lu(),TA=Hs(),IA=Uu(),EA=Fs(),xA=qs(),Rf=">",Lf="<",ju="prototype",Qu="script",Mf=xA("IE_PROTO"),Hu=function(){},Df=function(a){return Lf+Qu+Rf+a+Lf+"/"+Qu+Rf},$f=function(a){a.write(Df("")),a.close();var e=a.parentWindow.Object;return a=null,e},wA=function(){var a=EA("iframe"),e="java"+Qu+":",t;return a.style.display="none",IA.appendChild(a),a.src=String(e),t=a.contentWindow.document,t.open(),t.write(Df("document.F=Object")),t.close(),t.F},zs,Ys=function(){try{zs=new ActiveXObject("htmlfile")}catch{}Ys=typeof document<"u"?document.domain&&zs?$f(zs):wA():$f(zs);for(var a=kf.length;a--;)delete Ys[ju][kf[a]];return Ys()};TA[Mf]=!0;Cf.exports=Object.create||function(e,t){var i;return e!==null?(Hu[ju]=vA(e),i=new Hu,Hu[ju]=null,i[Mf]=e):i=Ys(),t===void 0?i:yA.f(i,t)}});var Gi=m((V_,Bf)=>{"use strict";var AA=Ui();Bf.exports=function(a,e,t,i){return i&&i.enumerable?a[e]=t:AA(a,e,t),a}});var Ku=m((__,Of)=>{"use strict";var PA=ce(),kA=ae(),RA=Le(),LA=Wu(),Vf=Us(),$A=Gi(),MA=be(),DA=tt(),Yu=MA("iterator"),_f=!1,At,Gu,zu;[].keys&&(zu=[].keys(),"next"in zu?(Gu=Vf(Vf(zu)),Gu!==Object.prototype&&(At=Gu)):_f=!0);var CA=!RA(At)||PA(function(){var a={};return At[Yu].call(a)!==a});CA?At={}:DA&&(At=LA(At));kA(At[Yu])||$A(At,Yu,function(){return this});Of.exports={IteratorPrototype:At,BUGGY_SAFARI_ITERATORS:_f}});var Ks=m((O_,Nf)=>{"use strict";var BA=be(),VA=BA("toStringTag"),Ff={};Ff[VA]="z";Nf.exports=String(Ff)==="[object z]"});var Jr=m((F_,qf)=>{"use strict";var _A=Ks(),OA=ae(),Xs=si(),FA=be(),NA=FA("toStringTag"),qA=Object,UA=Xs(function(){return arguments}())==="Arguments",HA=function(a,e){try{return a[e]}catch{}};qf.exports=_A?Xs:function(a){var e,t,i;return a===void 0?"Undefined":a===null?"Null":typeof(t=HA(e=qA(a),NA))=="string"?t:UA?Xs(e):(i=Xs(e))==="Object"&&OA(e.callee)?"Arguments":i}});var Hf=m((N_,Uf)=>{"use strict";var jA=Ks(),QA=Jr();Uf.exports=jA?{}.toString:function(){return"[object "+QA(this)+"]"}});var Zr=m((q_,Qf)=>{"use strict";var WA=Ks(),GA=li().f,zA=Ui(),YA=it(),KA=Hf(),XA=be(),jf=XA("toStringTag");Qf.exports=function(a,e,t,i){var r=t?a:a&&a.prototype;r&&(YA(r,jf)||GA(r,jf,{configurable:!0,value:e}),i&&!WA&&zA(r,"toString",KA))}});var Gf=m((U_,Wf)=>{"use strict";var JA=Ku().IteratorPrototype,ZA=Wu(),eP=qr(),tP=Zr(),iP=di(),rP=function(){return this};Wf.exports=function(a,e,t,i){var r=e+" Iterator";return a.prototype=ZA(JA,{next:eP(+!i,t)}),tP(a,r,!1,!0),iP[r]=rP,a}});var Yf=m((H_,zf)=>{"use strict";var aP=de(),sP=ht();zf.exports=function(a,e,t){try{return aP(sP(Object.getOwnPropertyDescriptor(a,e)[t]))}catch{}}});var Xf=m((j_,Kf)=>{"use strict";var nP=Le();Kf.exports=function(a){return nP(a)||a===null}});var Zf=m((Q_,Jf)=>{"use strict";var oP=Xf(),uP=String,lP=TypeError;Jf.exports=function(a){if(oP(a))return a;throw new lP("Can't set "+uP(a)+" as a prototype")}});var Xu=m((W_,em)=>{"use strict";var cP=Yf(),dP=Le(),pP=Ft(),hP=Zf();em.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var a=!1,e={},t;try{t=cP(Object.prototype,"__proto__","set"),t(e,[]),a=e instanceof Array}catch{}return function(r,s){return pP(r),hP(s),dP(r)&&(a?t(r,s):r.__proto__=s),r}}():void 0)});var dm=m((G_,cm)=>{"use strict";var fP=oe(),mP=Ne(),Js=tt(),um=qu(),bP=ae(),gP=Gf(),tm=Us(),im=Xu(),SP=Zr(),vP=Ui(),Ju=Gi(),yP=be(),rm=di(),lm=Ku(),TP=um.PROPER,IP=um.CONFIGURABLE,am=lm.IteratorPrototype,Zs=lm.BUGGY_SAFARI_ITERATORS,ea=yP("iterator"),sm="keys",ta="values",nm="entries",om=function(){return this};cm.exports=function(a,e,t,i,r,s,n){gP(t,e,i);var u=function(g){if(g===r&&d)return d;if(!Zs&&g&&g in c)return c[g];switch(g){case sm:return function(){return new t(this,g)};case ta:return function(){return new t(this,g)};case nm:return function(){return new t(this,g)}}return function(){return new t(this)}},o=e+" Iterator",l=!1,c=a.prototype,p=c[ea]||c["@@iterator"]||r&&c[r],d=!Zs&&p||u(r),h=e==="Array"&&c.entries||p,f,b,S;if(h&&(f=tm(h.call(new a)),f!==Object.prototype&&f.next&&(!Js&&tm(f)!==am&&(im?im(f,am):bP(f[ea])||Ju(f,ea,om)),SP(f,o,!0,!0),Js&&(rm[o]=om))),TP&&r===ta&&p&&p.name!==ta&&(!Js&&IP?vP(c,"name",ta):(l=!0,d=function(){return mP(p,this)})),r)if(b={values:u(ta),keys:s?d:u(sm),entries:u(nm)},n)for(S in b)(Zs||l||!(S in c))&&Ju(c,S,b[S]);else fP({target:e,proto:!0,forced:Zs||l},b);return(!Js||n)&&c[ea]!==d&&Ju(c,ea,d,{name:r}),rm[e]=d,b}});var hm=m((z_,pm)=>{"use strict";pm.exports=function(a,e){return{value:a,done:e}}});var el=m((Y_,Sm)=>{"use strict";var EP=ni(),Zu=Kr(),fm=di(),bm=Ou(),xP=li().f,wP=dm(),en=hm(),AP=tt(),PP=Fe(),gm="Array Iterator",kP=bm.set,RP=bm.getterFor(gm);Sm.exports=wP(Array,"Array",function(a,e){kP(this,{type:gm,target:EP(a),index:0,kind:e})},function(){var a=RP(this),e=a.target,t=a.index++;if(!e||t>=e.length)return a.target=null,en(void 0,!0);switch(a.kind){case"keys":return en(t,!1);case"values":return en(e[t],!1)}return en([t,e[t]],!1)},"values");var mm=fm.Arguments=fm.Array;Zu("keys");Zu("values");Zu("entries");if(!AP&&PP&&mm.name!=="values")try{xP(mm,"name",{value:"values"})}catch{}});var ym=m((K_,vm)=>{"use strict";var LP=be(),$P=di(),MP=LP("iterator"),DP=Array.prototype;vm.exports=function(a){return a!==void 0&&($P.Array===a||DP[MP]===a)}});var tl=m((X_,Im)=>{"use strict";var CP=Jr(),Tm=Qr(),BP=Ur(),VP=di(),_P=be(),OP=_P("iterator");Im.exports=function(a){if(!BP(a))return Tm(a,OP)||Tm(a,"@@iterator")||VP[CP(a)]}});var xm=m((J_,Em)=>{"use strict";var FP=Ne(),NP=ht(),qP=ft(),UP=jr(),HP=tl(),jP=TypeError;Em.exports=function(a,e){var t=arguments.length<2?HP(a):e;if(NP(t))return qP(FP(t,a));throw new jP(UP(a)+" is not iterable")}});var Pm=m((Z_,Am)=>{"use strict";var QP=Ne(),wm=ft(),WP=Qr();Am.exports=function(a,e,t){var i,r;wm(a);try{if(i=WP(a,"return"),!i){if(e==="throw")throw t;return t}i=QP(i,a)}catch(s){r=!0,i=s}if(e==="throw")throw t;if(r)throw i;return wm(i),t}});var rn=m((eO,$m)=>{"use strict";var GP=qi(),zP=Ne(),YP=ft(),KP=jr(),XP=ym(),JP=Qi(),km=Hr(),ZP=xm(),ek=tl(),Rm=Pm(),tk=TypeError,tn=function(a,e){this.stopped=a,this.result=e},Lm=tn.prototype;$m.exports=function(a,e,t){var i=t&&t.that,r=!!(t&&t.AS_ENTRIES),s=!!(t&&t.IS_RECORD),n=!!(t&&t.IS_ITERATOR),u=!!(t&&t.INTERRUPTED),o=GP(e,i),l,c,p,d,h,f,b,S=function(I){return l&&Rm(l,"normal"),new tn(!0,I)},g=function(I){return r?(YP(I),u?o(I[0],I[1],S):o(I[0],I[1])):u?o(I,S):o(I)};if(s)l=a.iterator;else if(n)l=a;else{if(c=ek(a),!c)throw new tk(KP(a)+" is not iterable");if(XP(c)){for(p=0,d=JP(a);d>p;p++)if(h=g(a[p]),h&&km(Lm,h))return h;return new tn(!1)}l=ZP(a,c)}for(f=s?a.next:l.next;!(b=zP(f,l)).done;){try{h=g(b.value)}catch(I){Rm(l,"throw",I)}if(typeof h=="object"&&h&&km(Lm,h))return h}return new tn(!1)}});var Dm=m((tO,Mm)=>{"use strict";var ik=Fe(),rk=li(),ak=qr();Mm.exports=function(a,e,t){ik?rk.f(a,e,ak(0,t)):a[e]=t}});var Cm=m(()=>{"use strict";var sk=oe(),nk=rn(),ok=Dm();sk({target:"Object",stat:!0},{fromEntries:function(e){var t={};return nk(e,function(i,r){ok(t,i,r)},{AS_ENTRIES:!0}),t}})});var Vm=m((aO,Bm)=>{"use strict";el();Cm();var uk=oi();Bm.exports=uk.Object.fromEntries});var Om=m((sO,_m)=>{"use strict";_m.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}});var Nm=m(()=>{"use strict";el();var lk=Om(),ck=re(),dk=Zr(),Fm=di();for(an in lk)dk(ck[an],an),Fm[an]=Fm.Array;var an});var Um=m((uO,qm)=>{"use strict";var pk=Vm();Nm();qm.exports=pk});var il=m((lO,Hm)=>{"use strict";var hk=Um();Hm.exports=hk});var jm=m(()=>{"use strict"});var rl=m((pO,Qm)=>{"use strict";var ia=re(),fk=ui(),mk=si(),sn=function(a){return fk.slice(0,a.length)===a};Qm.exports=function(){return sn("Bun/")?"BUN":sn("Cloudflare-Workers")?"CLOUDFLARE":sn("Deno/")?"DENO":sn("Node.js/")?"NODE":ia.Bun&&typeof Bun.version=="string"?"BUN":ia.Deno&&typeof Deno.version=="object"?"DENO":mk(ia.process)==="process"?"NODE":ia.window&&ia.document?"BROWSER":"REST"}()});var nn=m((hO,Wm)=>{"use strict";var bk=rl();Wm.exports=bk==="NODE"});var zm=m((fO,Gm)=>{"use strict";var gk=li();Gm.exports=function(a,e,t){return gk.f(a,e,t)}});var Xm=m((mO,Km)=>{"use strict";var Sk=wt(),vk=zm(),yk=be(),Tk=Fe(),Ym=yk("species");Km.exports=function(a){var e=Sk(a);Tk&&e&&!e[Ym]&&vk(e,Ym,{configurable:!0,get:function(){return this}})}});var Zm=m((bO,Jm)=>{"use strict";var Ik=Hr(),Ek=TypeError;Jm.exports=function(a,e){if(Ik(e,a))return a;throw new Ek("Incorrect invocation")}});var sl=m((gO,eb)=>{"use strict";var xk=de(),wk=ae(),al=Wr(),Ak=xk(Function.toString);wk(al.inspectSource)||(al.inspectSource=function(a){return Ak(a)});eb.exports=al.inspectSource});var ol=m((SO,sb)=>{"use strict";var Pk=de(),kk=ce(),tb=ae(),Rk=Jr(),Lk=wt(),$k=sl(),ib=function(){},rb=Lk("Reflect","construct"),nl=/^\s*(?:class|function)\b/,Mk=Pk(nl.exec),Dk=!nl.test(ib),ra=function(e){if(!tb(e))return!1;try{return rb(ib,[],e),!0}catch{return!1}},ab=function(e){if(!tb(e))return!1;switch(Rk(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Dk||!!Mk(nl,$k(e))}catch{return!0}};ab.sham=!0;sb.exports=!rb||kk(function(){var a;return ra(ra.call)||!ra(Object)||!ra(function(){a=!0})||a})?ab:ra});var ob=m((vO,nb)=>{"use strict";var Ck=ol(),Bk=jr(),Vk=TypeError;nb.exports=function(a){if(Ck(a))return a;throw new Vk(Bk(a)+" is not a constructor")}});var ul=m((yO,lb)=>{"use strict";var ub=ft(),_k=ob(),Ok=Ur(),Fk=be(),Nk=Fk("species");lb.exports=function(a,e){var t=ub(a).constructor,i;return t===void 0||Ok(i=ub(t)[Nk])?e:_k(i)}});var db=m((TO,cb)=>{"use strict";var qk=de();cb.exports=qk([].slice)});var hb=m((IO,pb)=>{"use strict";var Uk=TypeError;pb.exports=function(a,e){if(a<e)throw new Uk("Not enough arguments");return a}});var ll=m((EO,fb)=>{"use strict";var Hk=ui();fb.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(Hk)});var Sl=m((xO,Eb)=>{"use strict";var qe=re(),jk=Jo(),Qk=qi(),mb=ae(),Wk=it(),Ib=ce(),bb=Uu(),Gk=db(),gb=Fs(),zk=hb(),Yk=ll(),Kk=nn(),ml=qe.setImmediate,bl=qe.clearImmediate,Xk=qe.process,cl=qe.Dispatch,Jk=qe.Function,Sb=qe.MessageChannel,Zk=qe.String,dl=0,aa={},vb="onreadystatechange",sa,hi,pl,hl;Ib(function(){sa=qe.location});var gl=function(a){if(Wk(aa,a)){var e=aa[a];delete aa[a],e()}},fl=function(a){return function(){gl(a)}},yb=function(a){gl(a.data)},Tb=function(a){qe.postMessage(Zk(a),sa.protocol+"//"+sa.host)};(!ml||!bl)&&(ml=function(e){zk(arguments.length,1);var t=mb(e)?e:Jk(e),i=Gk(arguments,1);return aa[++dl]=function(){jk(t,void 0,i)},hi(dl),dl},bl=function(e){delete aa[e]},Kk?hi=function(a){Xk.nextTick(fl(a))}:cl&&cl.now?hi=function(a){cl.now(fl(a))}:Sb&&!Yk?(pl=new Sb,hl=pl.port2,pl.port1.onmessage=yb,hi=Qk(hl.postMessage,hl)):qe.addEventListener&&mb(qe.postMessage)&&!qe.importScripts&&sa&&sa.protocol!=="file:"&&!Ib(Tb)?(hi=Tb,qe.addEventListener("message",yb,!1)):vb in gb("script")?hi=function(a){bb.appendChild(gb("script"))[vb]=function(){bb.removeChild(this),gl(a)}}:hi=function(a){setTimeout(fl(a),0)});Eb.exports={set:ml,clear:bl}});var Ab=m((wO,wb)=>{"use strict";var xb=re(),eR=Fe(),tR=Object.getOwnPropertyDescriptor;wb.exports=function(a){if(!eR)return xb[a];var e=tR(xb,a);return e&&e.value}});var vl=m((AO,kb)=>{"use strict";var Pb=function(){this.head=null,this.tail=null};Pb.prototype={add:function(a){var e={item:a,next:null},t=this.tail;t?t.next=e:this.head=e,this.tail=e},get:function(){var a=this.head;if(a){var e=this.head=a.next;return e===null&&(this.tail=null),a.item}}};kb.exports=Pb});var Lb=m((PO,Rb)=>{"use strict";var iR=ui();Rb.exports=/ipad|iphone|ipod/i.test(iR)&&typeof Pebble<"u"});var Mb=m((kO,$b)=>{"use strict";var rR=ui();$b.exports=/web0s(?!.*chrome)/i.test(rR)});var Fb=m((RO,Ob)=>{"use strict";var Yi=re(),aR=Ab(),Db=qi(),yl=Sl().set,sR=vl(),nR=ll(),oR=Lb(),uR=Mb(),Tl=nn(),Cb=Yi.MutationObserver||Yi.WebKitMutationObserver,Bb=Yi.document,Vb=Yi.process,on=Yi.Promise,xl=aR("queueMicrotask"),zi,Il,El,un,_b;xl||(na=new sR,oa=function(){var a,e;for(Tl&&(a=Vb.domain)&&a.exit();e=na.get();)try{e()}catch(t){throw na.head&&zi(),t}a&&a.enter()},!nR&&!Tl&&!uR&&Cb&&Bb?(Il=!0,El=Bb.createTextNode(""),new Cb(oa).observe(El,{characterData:!0}),zi=function(){El.data=Il=!Il}):!oR&&on&&on.resolve?(un=on.resolve(void 0),un.constructor=on,_b=Db(un.then,un),zi=function(){_b(oa)}):Tl?zi=function(){Vb.nextTick(oa)}:(yl=Db(yl,Yi),zi=function(){yl(oa)}),xl=function(a){na.head||zi(),na.add(a)});var na,oa;Ob.exports=xl});var qb=m((LO,Nb)=>{"use strict";Nb.exports=function(a,e){try{arguments.length===1?console.error(a):console.error(a,e)}catch{}}});var ln=m(($O,Ub)=>{"use strict";Ub.exports=function(a){try{return{error:!1,value:a()}}catch(e){return{error:!0,value:e}}}});var fi=m((MO,Hb)=>{"use strict";var lR=re();Hb.exports=lR.Promise});var Ki=m((DO,Gb)=>{"use strict";var cR=re(),ua=fi(),dR=ae(),pR=yu(),hR=sl(),fR=be(),jb=rl(),mR=tt(),wl=ou(),Qb=ua&&ua.prototype,bR=fR("species"),Al=!1,Wb=dR(cR.PromiseRejectionEvent),gR=pR("Promise",function(){var a=hR(ua),e=a!==String(ua);if(!e&&wl===66||mR&&!(Qb.catch&&Qb.finally))return!0;if(!wl||wl<51||!/native code/.test(a)){var t=new ua(function(s){s(1)}),i=function(s){s(function(){},function(){})},r=t.constructor={};if(r[bR]=i,Al=t.then(function(){})instanceof i,!Al)return!0}return!e&&(jb==="BROWSER"||jb==="DENO")&&!Wb});Gb.exports={CONSTRUCTOR:gR,REJECTION_EVENT:Wb,SUBCLASSING:Al}});var Xi=m((CO,Yb)=>{"use strict";var zb=ht(),SR=TypeError,vR=function(a){var e,t;this.promise=new a(function(i,r){if(e!==void 0||t!==void 0)throw new SR("Bad Promise constructor");e=i,t=r}),this.resolve=zb(e),this.reject=zb(t)};Yb.exports.f=function(a){return new vR(a)}});var mg=m(()=>{"use strict";var yR=oe(),TR=tt(),hn=nn(),qt=re(),IR=oi(),tr=Ne(),Kb=Gi(),Xb=Xu(),ER=Zr(),xR=Xm(),wR=ht(),pn=ae(),AR=Le(),PR=Zm(),kR=ul(),ig=Sl().set,$l=Fb(),RR=qb(),LR=ln(),$R=vl(),rg=Ou(),fn=fi(),Ml=Ki(),ag=Xi(),mn="Promise",sg=Ml.CONSTRUCTOR,MR=Ml.REJECTION_EVENT,DR=Ml.SUBCLASSING,Pl=rg.getterFor(mn),CR=rg.set,Ji=fn&&fn.prototype,mi=fn,cn=Ji,ng=qt.TypeError,kl=qt.document,Dl=qt.process,Rl=ag.f,BR=Rl,VR=!!(kl&&kl.createEvent&&qt.dispatchEvent),og="unhandledrejection",_R="rejectionhandled",Jb=0,ug=1,OR=2,Cl=1,lg=2,dn,Zb,cg,eg,dg=function(a){var e;return AR(a)&&pn(e=a.then)?e:!1},pg=function(a,e){var t=e.value,i=e.state===ug,r=i?a.ok:a.fail,s=a.resolve,n=a.reject,u=a.domain,o,l,c;try{r?(i||(e.rejection===lg&&NR(e),e.rejection=Cl),r===!0?o=t:(u&&u.enter(),o=r(t),u&&(u.exit(),c=!0)),o===a.promise?n(new ng("Promise-chain cycle")):(l=dg(o))?tr(l,o,s,n):s(o)):n(t)}catch(p){u&&!c&&u.exit(),n(p)}},hg=function(a,e){a.notified||(a.notified=!0,$l(function(){for(var t=a.reactions,i;i=t.get();)pg(i,a);a.notified=!1,e&&!a.rejection&&FR(a)}))},fg=function(a,e,t){var i,r;VR?(i=kl.createEvent("Event"),i.promise=e,i.reason=t,i.initEvent(a,!1,!0),qt.dispatchEvent(i)):i={promise:e,reason:t},!MR&&(r=qt["on"+a])?r(i):a===og&&RR("Unhandled promise rejection",t)},FR=function(a){tr(ig,qt,function(){var e=a.facade,t=a.value,i=tg(a),r;if(i&&(r=LR(function(){hn?Dl.emit("unhandledRejection",t,e):fg(og,e,t)}),a.rejection=hn||tg(a)?lg:Cl,r.error))throw r.value})},tg=function(a){return a.rejection!==Cl&&!a.parent},NR=function(a){tr(ig,qt,function(){var e=a.facade;hn?Dl.emit("rejectionHandled",e):fg(_R,e,a.value)})},Zi=function(a,e,t){return function(i){a(e,i,t)}},er=function(a,e,t){a.done||(a.done=!0,t&&(a=t),a.value=e,a.state=OR,hg(a,!0))},Ll=function(a,e,t){if(!a.done){a.done=!0,t&&(a=t);try{if(a.facade===e)throw new ng("Promise can't be resolved itself");var i=dg(e);i?$l(function(){var r={done:!1};try{tr(i,e,Zi(Ll,r,a),Zi(er,r,a))}catch(s){er(r,s,a)}}):(a.value=e,a.state=ug,hg(a,!1))}catch(r){er({done:!1},r,a)}}};if(sg&&(mi=function(e){PR(this,cn),wR(e),tr(dn,this);var t=Pl(this);try{e(Zi(Ll,t),Zi(er,t))}catch(i){er(t,i)}},cn=mi.prototype,dn=function(e){CR(this,{type:mn,done:!1,notified:!1,parent:!1,reactions:new $R,rejection:!1,state:Jb,value:null})},dn.prototype=Kb(cn,"then",function(e,t){var i=Pl(this),r=Rl(kR(this,mi));return i.parent=!0,r.ok=pn(e)?e:!0,r.fail=pn(t)&&t,r.domain=hn?Dl.domain:void 0,i.state===Jb?i.reactions.add(r):$l(function(){pg(r,i)}),r.promise}),Zb=function(){var a=new dn,e=Pl(a);this.promise=a,this.resolve=Zi(Ll,e),this.reject=Zi(er,e)},ag.f=Rl=function(a){return a===mi||a===cg?new Zb(a):BR(a)},!TR&&pn(fn)&&Ji!==Object.prototype)){eg=Ji.then,DR||Kb(Ji,"then",function(e,t){var i=this;return new mi(function(r,s){tr(eg,i,r,s)}).then(e,t)},{unsafe:!0});try{delete Ji.constructor}catch{}Xb&&Xb(Ji,cn)}yR({global:!0,constructor:!0,wrap:!0,forced:sg},{Promise:mi});cg=IR.Promise;ER(mi,mn,!1,!0);xR(mn)});var yg=m((_O,vg)=>{"use strict";var qR=be(),gg=qR("iterator"),Sg=!1;try{bg=0,Bl={next:function(){return{done:!!bg++}},return:function(){Sg=!0}},Bl[gg]=function(){return this},Array.from(Bl,function(){throw 2})}catch{}var bg,Bl;vg.exports=function(a,e){try{if(!e&&!Sg)return!1}catch{return!1}var t=!1;try{var i={};i[gg]=function(){return{next:function(){return{done:t=!0}}}},a(i)}catch{}return t}});var Vl=m((OO,Tg)=>{"use strict";var UR=fi(),HR=yg(),jR=Ki().CONSTRUCTOR;Tg.exports=jR||!HR(function(a){UR.all(a).then(void 0,function(){})})});var Ig=m(()=>{"use strict";var QR=oe(),WR=Ne(),GR=ht(),zR=Xi(),YR=ln(),KR=rn(),XR=Vl();QR({target:"Promise",stat:!0,forced:XR},{all:function(e){var t=this,i=zR.f(t),r=i.resolve,s=i.reject,n=YR(function(){var u=GR(t.resolve),o=[],l=0,c=1;KR(e,function(p){var d=l++,h=!1;c++,WR(u,t,p).then(function(f){h||(h=!0,o[d]=f,--c||r(o))},s)}),--c||r(o)});return n.error&&s(n.value),i.promise}})});var xg=m(()=>{"use strict";var JR=oe(),ZR=tt(),eL=Ki().CONSTRUCTOR,Ol=fi(),tL=wt(),iL=ae(),rL=Gi(),Eg=Ol&&Ol.prototype;JR({target:"Promise",proto:!0,forced:eL,real:!0},{catch:function(a){return this.then(void 0,a)}});!ZR&&iL(Ol)&&(_l=tL("Promise").prototype.catch,Eg.catch!==_l&&rL(Eg,"catch",_l,{unsafe:!0}));var _l});var wg=m(()=>{"use strict";var aL=oe(),sL=Ne(),nL=ht(),oL=Xi(),uL=ln(),lL=rn(),cL=Vl();aL({target:"Promise",stat:!0,forced:cL},{race:function(e){var t=this,i=oL.f(t),r=i.reject,s=uL(function(){var n=nL(t.resolve);lL(e,function(u){sL(n,t,u).then(i.resolve,r)})});return s.error&&r(s.value),i.promise}})});var Ag=m(()=>{"use strict";var dL=oe(),pL=Xi(),hL=Ki().CONSTRUCTOR;dL({target:"Promise",stat:!0,forced:hL},{reject:function(e){var t=pL.f(this),i=t.reject;return i(e),t.promise}})});var Fl=m((GO,Pg)=>{"use strict";var fL=ft(),mL=Le(),bL=Xi();Pg.exports=function(a,e){if(fL(a),mL(e)&&e.constructor===a)return e;var t=bL.f(a),i=t.resolve;return i(e),t.promise}});var Lg=m(()=>{"use strict";var gL=oe(),SL=wt(),kg=tt(),vL=fi(),Rg=Ki().CONSTRUCTOR,yL=Fl(),TL=SL("Promise"),IL=kg&&!Rg;gL({target:"Promise",stat:!0,forced:kg||Rg},{resolve:function(e){return yL(IL&&this===TL?vL:this,e)}})});var $g=m(()=>{"use strict";mg();Ig();xg();wg();Ag();Lg()});var Bg=m(()=>{"use strict";var EL=oe(),xL=tt(),bn=fi(),wL=ce(),Dg=wt(),Cg=ae(),AL=ul(),Mg=Fl(),PL=Gi(),ql=bn&&bn.prototype,kL=!!bn&&wL(function(){ql.finally.call({then:function(){}},function(){})});EL({target:"Promise",proto:!0,real:!0,forced:kL},{finally:function(a){var e=AL(this,Dg("Promise")),t=Cg(a);return this.then(t?function(i){return Mg(e,a()).then(function(){return i})}:a,t?function(i){return Mg(e,a()).then(function(){throw i})}:a)}});!xL&&Cg(bn)&&(Nl=Dg("Promise").prototype.finally,ql.finally!==Nl&&PL(ql,"finally",Nl,{unsafe:!0}));var Nl});var _g=m((eF,Vg)=>{"use strict";jm();$g();Bg();var RL=Nt();Vg.exports=RL("Promise","finally")});var Fg=m((tF,Og)=>{"use strict";var LL=_g();Og.exports=LL});var gn=m((iF,Ng)=>{"use strict";var $L=Fg();Ng.exports=$L});var mS=m(()=>{"use strict";var h$=oe(),f$=Fi(),m$=Qi(),b$=Yr(),g$=Kr();h$({target:"Array",proto:!0},{at:function(e){var t=f$(this),i=m$(t),r=b$(e),s=r>=0?r:i+r;return s<0||s>=i?void 0:t[s]}});g$("at")});var gS=m((GN,bS)=>{"use strict";mS();var S$=Nt();bS.exports=S$("Array","at")});var vS=m((zN,SS)=>{"use strict";var v$=gS();SS.exports=v$});var at=m((YN,yS)=>{"use strict";var y$=vS();yS.exports=y$});var pc=m((NU,tv)=>{"use strict";var eM=si();tv.exports=Array.isArray||function(e){return eM(e)==="Array"}});var rv=m((qU,iv)=>{"use strict";var tM=TypeError,iM=9007199254740991;iv.exports=function(a){if(a>iM)throw tM("Maximum allowed index exceeded");return a}});var nv=m((UU,sv)=>{"use strict";var rM=pc(),aM=Qi(),sM=rv(),nM=qi(),av=function(a,e,t,i,r,s,n,u){for(var o=r,l=0,c=n?nM(n,u):!1,p,d;l<i;)l in t&&(p=c?c(t[l],l,e):t[l],s>0&&rM(p)?(d=aM(p),o=av(a,e,p,d,o,s-1)-1):(sM(o+1),a[o]=p),o++),l++;return o};sv.exports=av});var cv=m((HU,lv)=>{"use strict";var ov=pc(),oM=ol(),uM=Le(),lM=be(),cM=lM("species"),uv=Array;lv.exports=function(a){var e;return ov(a)&&(e=a.constructor,oM(e)&&(e===uv||ov(e.prototype))?e=void 0:uM(e)&&(e=e[cM],e===null&&(e=void 0))),e===void 0?uv:e}});var pv=m((jU,dv)=>{"use strict";var dM=cv();dv.exports=function(a,e){return new(dM(a))(e===0?0:e)}});var hv=m(()=>{"use strict";var pM=oe(),hM=nv(),fM=ht(),mM=Fi(),bM=Qi(),gM=pv();pM({target:"Array",proto:!0},{flatMap:function(e){var t=mM(this),i=bM(t),r;return fM(e),r=gM(t,0),r.length=hM(r,t,t,i,0,1,e,arguments.length>1?arguments[1]:void 0),r}})});var fv=m(()=>{"use strict";var SM=Kr();SM("flatMap")});var bv=m((YU,mv)=>{"use strict";hv();fv();var vM=Nt();mv.exports=vM("Array","flatMap")});var Sv=m((KU,gv)=>{"use strict";var yM=bv();gv.exports=yM});var xa=m((XU,vv)=>{"use strict";var TM=Sv();vv.exports=TM});var wa=m((JU,yv)=>{"use strict";var IM=Jr(),EM=String;yv.exports=function(a){if(IM(a)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return EM(a)}});var hc=m((ZU,Tv)=>{"use strict";Tv.exports=`
7
- \v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`});var xv=m((e1,Ev)=>{"use strict";var xM=de(),wM=Ft(),AM=wa(),mc=hc(),Iv=xM("".replace),PM=RegExp("^["+mc+"]+"),kM=RegExp("(^|[^"+mc+"])["+mc+"]+$"),fc=function(a){return function(e){var t=AM(wM(e));return a&1&&(t=Iv(t,PM,"")),a&2&&(t=Iv(t,kM,"$1")),t}};Ev.exports={start:fc(1),end:fc(2),trim:fc(3)}});var kv=m((t1,Pv)=>{"use strict";var RM=qu().PROPER,LM=ce(),wv=hc(),Av="\u200B\x85\u180E";Pv.exports=function(a){return LM(function(){return!!wv[a]()||Av[a]()!==Av||RM&&wv[a].name!==a})}});var bc=m((i1,Rv)=>{"use strict";var $M=xv().start,MM=kv();Rv.exports=MM("trimStart")?function(){return $M(this)}:"".trimStart});var $v=m(()=>{"use strict";var DM=oe(),Lv=bc();DM({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==Lv},{trimLeft:Lv})});var Dv=m(()=>{"use strict";$v();var CM=oe(),Mv=bc();CM({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==Mv},{trimStart:Mv})});var Bv=m((o1,Cv)=>{"use strict";Dv();var BM=Nt();Cv.exports=BM("String","trimLeft")});var _v=m((u1,Vv)=>{"use strict";var VM=Bv();Vv.exports=VM});var Fv=m((l1,Ov)=>{"use strict";var _M=_v();Ov.exports=_M});var ty=m(()=>{"use strict"});var iy=m(()=>{"use strict"});var ay=m((Yj,ry)=>{"use strict";var oD=Le(),uD=si(),lD=be(),cD=lD("match");ry.exports=function(a){var e;return oD(a)&&((e=a[cD])!==void 0?!!e:uD(a)==="RegExp")}});var oy=m((Kj,ny)=>{"use strict";var dD=re(),pD=ce(),sy=dD.RegExp,hD=!pD(function(){var a=!0;try{sy(".","d")}catch{a=!1}var e={},t="",i=a?"dgimsy":"gimsy",r=function(o,l){Object.defineProperty(e,o,{get:function(){return t+=l,!0}})},s={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};a&&(s.hasIndices="d");for(var n in s)r(n,s[n]);var u=Object.getOwnPropertyDescriptor(sy.prototype,"flags").get.call(e);return u!==i||t!==i});ny.exports={correct:hD}});var ly=m((Xj,uy)=>{"use strict";var fD=ft();uy.exports=function(){var a=fD(this),e="";return a.hasIndices&&(e+="d"),a.global&&(e+="g"),a.ignoreCase&&(e+="i"),a.multiline&&(e+="m"),a.dotAll&&(e+="s"),a.unicode&&(e+="u"),a.unicodeSets&&(e+="v"),a.sticky&&(e+="y"),e}});var py=m((Jj,dy)=>{"use strict";var mD=Ne(),bD=it(),gD=Hr(),cy=oy(),SD=ly(),vD=RegExp.prototype;dy.exports=cy.correct?function(a){return a.flags}:function(a){return!cy.correct&&gD(vD,a)&&!bD(a,"flags")?mD(SD,a):a.flags}});var fy=m((Zj,hy)=>{"use strict";var Tc=de(),yD=Fi(),TD=Math.floor,vc=Tc("".charAt),ID=Tc("".replace),yc=Tc("".slice),ED=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,xD=/\$([$&'`]|\d{1,2})/g;hy.exports=function(a,e,t,i,r,s){var n=t+a.length,u=i.length,o=xD;return r!==void 0&&(r=yD(r),o=ED),ID(s,o,function(l,c){var p;switch(vc(c,0)){case"$":return"$";case"&":return a;case"`":return yc(e,0,t);case"'":return yc(e,n);case"<":p=r[yc(c,1,-1)];break;default:var d=+c;if(d===0)return l;if(d>u){var h=TD(d/10);return h===0?l:h<=u?i[h-1]===void 0?vc(c,1):i[h-1]+vc(c,1):l}p=i[d-1]}return p===void 0?"":p})}});var gy=m(()=>{"use strict";var wD=oe(),AD=Ne(),Ec=de(),my=Ft(),PD=ae(),kD=Le(),RD=ay(),mr=wa(),LD=Qr(),$D=py(),MD=fy(),DD=be(),CD=tt(),BD=DD("replace"),VD=TypeError,Ic=Ec("".indexOf),_D=Ec("".replace),by=Ec("".slice),OD=Math.max;wD({target:"String",proto:!0},{replaceAll:function(e,t){var i=my(this),r,s,n,u,o,l,c,p,d,h,f=0,b="";if(kD(e)){if(r=RD(e),r&&(s=mr(my($D(e))),!~Ic(s,"g")))throw new VD("`.replaceAll` does not allow non-global regexes");if(n=LD(e,BD),n)return AD(n,e,i,t);if(CD&&r)return _D(mr(i),e,t)}for(u=mr(i),o=mr(e),l=PD(t),l||(t=mr(t)),c=o.length,p=OD(1,c),d=Ic(u,o);d!==-1;)h=l?mr(t(o,d,u)):MD(o,u,d,[],void 0,t),b+=by(u,f,d)+h,f=d+c,d=d+p>u.length?-1:Ic(u,o,d+p);return f<u.length&&(b+=by(u,f)),b}})});var vy=m((iQ,Sy)=>{"use strict";ty();iy();gy();var FD=Nt();Sy.exports=FD("String","replaceAll")});var Ty=m((rQ,yy)=>{"use strict";var ND=vy();yy.exports=ND});var Ey=m((aQ,Iy)=>{"use strict";var qD=Ty();Iy.exports=qD});var wy=m((sQ,xy)=>{"use strict";var UD=Yr(),HD=wa(),jD=Ft(),QD=RangeError;xy.exports=function(e){var t=HD(jD(this)),i="",r=UD(e);if(r<0||r===1/0)throw new QD("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(t+=t))r&1&&(i+=t);return i}});var Ly=m((nQ,Ry)=>{"use strict";var ky=de(),WD=Pu(),Ay=wa(),GD=wy(),zD=Ft(),YD=ky(GD),KD=ky("".slice),XD=Math.ceil,Py=function(a){return function(e,t,i){var r=Ay(zD(e)),s=WD(t),n=r.length,u=i===void 0?" ":Ay(i),o,l;return s<=n||u===""?r:(o=s-n,l=YD(u,XD(o/u.length)),l.length>o&&(l=KD(l,0,o)),a?r+l:l+r)}};Ry.exports={start:Py(!1),end:Py(!0)}});var My=m((oQ,$y)=>{"use strict";var JD=ui();$y.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(JD)});var Dy=m(()=>{"use strict";var ZD=oe(),eC=Ly().start,tC=My();ZD({target:"String",proto:!0,forced:tC},{padStart:function(e){return eC(this,e,arguments.length>1?arguments[1]:void 0)}})});var By=m((cQ,Cy)=>{"use strict";Dy();var iC=Nt();Cy.exports=iC("String","padStart")});var _y=m((dQ,Vy)=>{"use strict";var rC=By();Vy.exports=rC});var Fy=m((pQ,Oy)=>{"use strict";var aC=_y();Oy.exports=aC});var qd="2.0.140-dev.b1537fc2.0";var Re=(r=>(r.STOPPED="stopped",r.READY="ready",r.PLAYING="playing",r.PAUSED="paused",r))(Re||{}),xt=(y=>(y.MPEG="MPEG",y.DASH="DASH",y.DASH_SEP="DASH_SEP",y.DASH_SEP_VK="DASH_SEP",y.DASH_WEBM="DASH_WEBM",y.DASH_WEBM_AV1="DASH_WEBM_AV1",y.DASH_STREAMS="DASH_STREAMS",y.DASH_WEBM_VK="DASH_WEBM",y.DASH_ONDEMAND="DASH_ONDEMAND",y.DASH_ONDEMAND_VK="DASH_ONDEMAND",y.DASH_LIVE="DASH_LIVE",y.DASH_LIVE_CMAF="DASH_LIVE_CMAF",y.DASH_LIVE_WEBM="DASH_LIVE_WEBM",y.HLS="HLS",y.HLS_ONDEMAND="HLS_ONDEMAND",y.HLS_JS="HLS",y.HLS_FMP4="HLS_FMP4",y.HLS_LIVE="HLS_LIVE",y.HLS_LIVE_CMAF="HLS_LIVE_CMAF",y.WEB_RTC_LIVE="WEB_RTC_LIVE",y))(xt||{});var Bs=(r=>(r.NOT_AVAILABLE="NOT_AVAILABLE",r.AVAILABLE="AVAILABLE",r.CONNECTING="CONNECTING",r.CONNECTED="CONNECTED",r))(Bs||{}),Yo=(i=>(i.HTTP1="http1",i.HTTP2="http2",i.QUIC="quic",i))(Yo||{});var Ko=(n=>(n.NONE="none",n.INLINE="inline",n.FULLSCREEN="fullscreen",n.SECOND_SCREEN="second_screen",n.PIP="pip",n.INVISIBLE="invisible",n))(Ko||{}),Vs=(i=>(i.TRAFFIC_SAVING="traffic_saving",i.HIGH_QUALITY="high_quality",i.UNKNOWN="unknown",i))(Vs||{});var Od=C(ci(),1),BI=C(Ee(),1);import{assertNever as lf,assertNonNullable as Nw,isNonNullable as js,ValueSubject as Du,Subject as qw,Subscription as Uw,merge as Hw,observableFrom as jw,fromEvent as sf,map as nf,tap as of,filterChanged as Qw,isNullable as Cu,ErrorCategory as uf}from"@vkontakte/videoplayer-shared/es2024";var af=a=>new Promise((e,t)=>{let i=document.createElement("script");i.setAttribute("src",a),i.onload=()=>e(),i.onerror=r=>t(r),document.body.appendChild(i)});var Qs=class{constructor(e){this.connection$=new Du(void 0);this.castState$=new Du("NOT_AVAILABLE");this.errorEvent$=new qw;this.realCastState$=new Du("NOT_AVAILABLE");this.subscription=new Uw;this.isDestroyed=!1;this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastInitializer");let t="chrome"in window;if(this.log({message:`[constructor] receiverApplicationId: ${this.params.receiverApplicationId}, isDisabled: ${this.params.isDisabled}, isSupported: ${t}`}),e.isDisabled||!t)return;let i=js(window.chrome?.cast),r=!!window.__onGCastApiAvailable;i?this.initializeCastApi():(window.__onGCastApiAvailable=s=>{delete window.__onGCastApiAvailable,s&&!this.isDestroyed&&this.initializeCastApi()},r||af("https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1").catch(()=>this.errorEvent$.next({id:"ChromecastLoading",category:uf.NETWORK,message:"Script loading failed!"})))}connect(){cast.framework.CastContext.getInstance()?.requestSession()}disconnect(){cast.framework.CastContext.getInstance()?.getCurrentSession()?.endSession(!0)}stopMedia(){return new Promise((e,t)=>{cast.framework.CastContext.getInstance()?.getCurrentSession()?.getMediaSession()?.stop(new chrome.cast.media.StopRequest,e,t)})}toggleConnection(){js(this.connection$.getValue())?this.disconnect():this.connect()}setVolume(e){let t=this.connection$.getValue();Cu(t)||(t.remotePlayer.volumeLevel=e,t.remotePlayerController.setVolumeLevel())}setMuted(e){let t=this.connection$.getValue();Cu(t)||e!==t.remotePlayer.isMuted&&t.remotePlayerController.muteOrUnmute()}destroy(){this.isDestroyed=!0,this.subscription.unsubscribe()}initListeners(){let e=new cast.framework.RemotePlayer,t=new cast.framework.RemotePlayerController(e),i=cast.framework.CastContext.getInstance();this.subscription.add(sf(i,cast.framework.CastContextEventType.SESSION_STATE_CHANGED).subscribe(r=>{switch(r.sessionState){case cast.framework.SessionState.SESSION_STARTED:case cast.framework.SessionState.SESSION_STARTING:case cast.framework.SessionState.SESSION_RESUMED:this.contentId=i.getCurrentSession()?.getMediaSession()?.media?.contentId;break;case cast.framework.SessionState.NO_SESSION:case cast.framework.SessionState.SESSION_ENDING:case cast.framework.SessionState.SESSION_ENDED:case cast.framework.SessionState.SESSION_START_FAILED:this.contentId=void 0;break;default:return lf(r.sessionState)}})).add(Hw(sf(i,cast.framework.CastContextEventType.CAST_STATE_CHANGED).pipe(of(r=>{this.log({message:`[cast.framework.RemotePlayerEventType.CAST_STATE_CHANGED]: ${JSON.stringify(r)}`})}),nf(r=>r.castState)),jw([i.getCastState()])).pipe(Qw(),nf(Ww),of(r=>{this.log({message:`realCastState$: ${r}`})})).subscribe(this.realCastState$)).add(this.realCastState$.subscribe(r=>{let s=r==="CONNECTED",n=js(this.connection$.getValue());if(s&&!n){let u=i.getCurrentSession();Nw(u);let o=u.getCastDevice(),l=u.getMediaSession()?.media?.contentId;(Cu(l)||l===this.contentId)&&(this.log({message:"connection created"}),this.connection$.next({remotePlayer:e,remotePlayerController:t,session:u,castDevice:o}))}else!s&&n&&(this.log({message:"connection destroyed"}),this.connection$.next(void 0));this.castState$.next(r==="CONNECTED"?js(this.connection$.getValue())?"CONNECTED":"AVAILABLE":r)}))}initializeCastApi(){let e,t,i;try{e=cast.framework.CastContext.getInstance(),t=chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,i=chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED}catch{return}try{e.setOptions({receiverApplicationId:this.params.receiverApplicationId??t,autoJoinPolicy:i}),this.initListeners()}catch(r){this.errorEvent$.next({id:"ChromecastInitializer",category:uf.EXTERNAL_API,message:"[initializeCastApi] failed",thrown:r})}}},Ww=a=>{switch(a){case cast.framework.CastState.NO_DEVICES_AVAILABLE:return"NOT_AVAILABLE";case cast.framework.CastState.NOT_CONNECTED:return"AVAILABLE";case cast.framework.CastState.CONNECTING:return"CONNECTING";case cast.framework.CastState.CONNECTED:return"CONNECTED";default:return lf(a)}};var Ld=C(Ee(),1),bI=C(Wi(),1),gI=C(il(),1);var iS=C(gn(),1);import{assertNever as qg}from"@vkontakte/videoplayer-shared/es2024";var se=(a,e=0,t=0)=>{switch(t){case 0:return a.replace("_offset_p",e===0?"":"_"+e.toFixed(0));case 1:{if(e===0)return a;let i=new URL(a);return i.searchParams.append("playback_shift",e.toFixed(0)),i.toString()}case 2:{let i=new URL(a);return!i.searchParams.get("offset_p")&&e===0?a:(i.searchParams.set("offset_p",e.toFixed(0)),i.toString())}default:qg(t)}return a},Ut=(a,e)=>{switch(e){case 0:return NaN;case 1:{let t=new URL(a);return Number(t.searchParams.get("playback_shift"))}case 2:{let t=new URL(a);return Number(t.searchParams.get("offset_p")??0)}default:qg(e)}};var P=(a,e,t=!1)=>{let i=a.getTransition();(t||!i||i.to===e)&&a.setState(e)};import{isNonNullable as ML,Subject as Sn,merge as Ug}from"@vkontakte/videoplayer-shared/es2024";var F=class{constructor(e){this.transitionStarted$=new Sn;this.transitionEnded$=new Sn;this.transitionUpdated$=new Sn;this.forceChanged$=new Sn;this.stateChangeStarted$=Ug(this.transitionStarted$,this.transitionUpdated$);this.stateChangeEnded$=Ug(this.transitionEnded$,this.forceChanged$);this.state=e,this.prevState=void 0}setState(e){let t=this.transition,i=this.state;this.transition=void 0,this.prevState=i,this.state=e,t?t.to===e?this.transitionEnded$.next(t):this.forceChanged$.next({from:t.from,to:e,canceledTransition:t}):this.forceChanged$.next({from:i,to:e,canceledTransition:t})}startTransitionTo(e){let t=this.transition,i=this.state;i===e||ML(t)&&t.to===e||(this.prevState=i,this.state=e,t?(this.transition={from:t.from,to:e,canceledTransition:t},this.transitionUpdated$.next(this.transition)):(this.transition={from:i,to:e},this.transitionStarted$.next(this.transition)))}getTransition(){return this.transition}getState(){return this.state}getPrevState(){return this.prevState}};import{assertNever as Yg}from"@vkontakte/videoplayer-shared/es2024";var vn=class{constructor(){this._isMiuiBrowser=!1}get current(){return this._current}get isChrome(){return this.current==="Chrome"}get isFirefox(){return this.current==="Firefox"}get isSafari(){return this.current==="Safari"}get isOpera(){return this.current==="Opera"}get isEdge(){return this.current==="Edge"}get isYandex(){return this.current==="Yandex"}get isSamsungBrowser(){return this.current==="SamsungBrowser"}get currentVersion(){return this._current_version}get chromeVersion(){return this._chromeVersion}get firefoxVersion(){return this._firefoxVersion}get safariVersion(){return this._safariVersion}get operaVersion(){return this._operaVersion}get edgeVersion(){return this._edgeVersion}get yandexVersion(){return this._yandexVersion}get isMiuiBrowser(){return this._isMiuiBrowser}detect(){let{userAgent:e}=navigator;try{let t=/yabrowser/i.test(e)?"Yandex":void 0,i=/samsungbrowser/i.test(e)?"SamsungBrowser":void 0,r=/chrome|crios/i.test(e)?"Chrome":void 0,s=/chromium/i.test(e)?"Chromium":void 0,n=/firefox|fxios/i.test(e)?"Firefox":void 0,u=/webkit|safari|khtml/i.test(e)?"Safari":void 0,o=/opr\//i.test(e)?"Opera":void 0,l=/edg/i.test(e)?"Edge":void 0;this._isMiuiBrowser=/(XiaoMi)|(MiuiBrowser)/i.test(e),this._current=t||i||n||o||l||r||s||u||"Rest"}catch(t){console.error(t)}this.isChrome&&this.detectChromeVersion(),this.isFirefox&&this.detectFirefoxVersion(),this.isSafari&&this.detectSafariVersion(),this.isOpera&&this.detectOperaVersion(),this.isEdge&&this.detectEdgeVersion(),this.isYandex&&this.detectYandexVersion()}detectVersion(e){try{let{userAgent:t}=window.navigator,i=t.match(e);if(!i)return;let r=i[1],s=parseInt(r,10);if(!isNaN(s))return this._current_version=s,s}catch(t){console.error(t)}}detectChromeVersion(){this._chromeVersion=this.detectVersion(/Chrome\/(\d+\.\d+)/)}detectFirefoxVersion(){this._firefoxVersion=this.detectVersion(/Firefox\/(\d+\.\d+)/)}detectSafariVersion(){this._safariVersion=this.detectVersion(/Version\/(\d+)/)}detectOperaVersion(){this._operaVersion=this.detectVersion(/OPR\/(\d+\.\d+)/)}detectEdgeVersion(){this._edgeVersion=this.detectVersion(/Edg\/(\d+\.\d+)/)}detectYandexVersion(){this._yandexVersion=this.detectVersion(/YaBrowser\/(\d+\.\d+\.\d+)/)}};var Hg=C(Ee(),1);var la=()=>/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(navigator.appVersion??navigator.userAgent)||navigator?.userAgentData?.mobile;var yn=class{constructor(e){this._highEntropyValues={};this._displayChecker=e}get current(){return this._current}get isIOS(){let e=["iPhone","iPad","iPod"];return this._highEntropyValues.platform==="iOS"||(0,Hg.default)(e,this.current)}get isMac(){return this._highEntropyValues.platform==="macOS"||this.current==="Mac"}get isApple(){return this.isIOS||this.isMac}get isIphoneOrOldIpad(){if(!this.isApple||!this._displayChecker.isTouch)return!1;let e=this.current==="iPad"||this._displayChecker.width>700,t=this._iosVersion;return!e||e&&!!t&&t<16}get isAndroid(){return this._highEntropyValues.platform==="Android"||this.current==="Android"}get isMobile(){return this._highEntropyValues.mobile||this._isMobile}get iOSVersion(){return this._iosVersion}detect(){let{userAgent:e}=navigator;try{this._isMobile=la()}catch(t){console.error(t)}this.detectDevice(e),this.detectHighEntropyValues(),this.isIOS&&this.detectIOSVersion()}async detectHighEntropyValues(){let{userAgentData:e}=navigator;if(e?.getHighEntropyValues){let t=await e.getHighEntropyValues(["architecture","bitness","brands","mobile","platform","formFactor","model","platformVersion","wow64"]);this._highEntropyValues=t}}detectDevice(e){try{let t=/android/i.test(e)?"Android":void 0,i=/iphone/i.test(e)?"iPhone":void 0,r=/ipad/i.test(e)?"iPad":void 0,s=/ipod/i.test(e)?"iPod":void 0,n=/mac/i.test(e)?"Mac":void 0,u=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(e)?"RestMobile":void 0;this._current=t||i||r||s||u||n||"Desktop"}catch(t){console.error(t)}}detectIOSVersion(){try{if(this._highEntropyValues.platformVersion){let s=this._highEntropyValues.platformVersion.split(".").slice(0,2).join("."),n=parseFloat(s);this._iosVersion=n;return}let{userAgent:e}=window.navigator,t=e.match(/OS (\d+(_\d+)?)/i);if(!t)return;let i=t[1].replace(/_/g,".");if(!i)return;let r=parseFloat(i);if(isNaN(r))return;this._iosVersion=r}catch(e){console.error(e)}}};var Tn=class{get isTouch(){return typeof this._maxTouchPoints=="number"?this._maxTouchPoints>1:"ontouchstart"in window}get maxTouchPoints(){return this._maxTouchPoints}get height(){return this._height}get width(){return this._width}get screenHeight(){return this._screenHeight}get screenWidth(){return this._screenWidth}get pixelRatio(){return this._pixelRatio}get isHDR(){return this._isHdr}get colorDepth(){return this._colorDepth}detect(){let{maxTouchPoints:e}=navigator;try{this._maxTouchPoints=e??0,this._isHdr=!!matchMedia("(dynamic-range: high)")?.matches,this._colorDepth=screen.colorDepth}catch(t){console.error(t)}try{this._pixelRatio=window.devicePixelRatio||1,this._height=screen.height,this._width=screen.width,this._height=screen.height,this._screenHeight=this._height*this._pixelRatio,this._screenWidth=this._width*this._pixelRatio}catch(t){console.error(t)}}};var Ue=()=>window.ManagedMediaSource||window.MediaSource,ir=()=>!!(window.ManagedMediaSource&&window.ManagedSourceBuffer?.prototype?.appendBuffer),jg=()=>!!(window.MediaSource&&window.SourceBuffer?.prototype?.appendBuffer),In=()=>window.ManagedMediaSource?new ManagedMediaSource:new MediaSource;var DL=document.createElement("video"),CL='video/mp4; codecs="avc1.42000a,mp4a.40.2"',BL='video/mp4; codecs="hev1.1.6.L93.B0"',Qg='video/webm; codecs="vp09.00.10.08"',Wg='video/webm; codecs="av01.0.00M.08"',VL='audio/mp4; codecs="mp4a.40.2"',_L='audio/webm; codecs="opus"',Gg,OL=async()=>{if(!window.navigator.mediaCapabilities)return;let a={type:"media-source",video:{contentType:"video/webm",width:1280,height:720,bitrate:1e6,framerate:30}},[e,t]=await Promise.all([window.navigator.mediaCapabilities.decodingInfo({...a,video:{...a.video,contentType:Wg}}),window.navigator.mediaCapabilities.decodingInfo({...a,video:{...a.video,contentType:Qg}})]);Gg={DASH_WEBM_AV1:e,DASH_WEBM:t}};OL().catch(a=>{console.log(DL),console.error(a)});var En=class{constructor(e,t){this._deviceChecker=e,this._browserChecker=t}get protocols(){return this._protocols}get containers(){return this._containers}get codecs(){return this._codecs}get webmDecodingInfo(){return Gg}get supportedCodecs(){return Object.keys(this._codecs).filter(e=>this._codecs[e])}get nativeHlsSupported(){return this._nativeHlsSupported}detect(){this._video=document.createElement("video");try{this._protocols={mms:ir(),mse:jg(),hls:!!(this._video.canPlayType?.("application/x-mpegurl")||this._video.canPlayType?.("vnd.apple.mpegURL")),webrtc:!!window.RTCPeerConnection,ws:!!window.WebSocket},this._containers={mp4:!!this._video.canPlayType?.("video/mp4"),webm:!!this._video.canPlayType?.("video/webm"),cmaf:!0};let e=!!Ue()?.isTypeSupported?.(CL),t=!!Ue()?.isTypeSupported?.(BL),i=!!Ue()?.isTypeSupported?.(VL);this._codecs={h264:e,h265:t,vp9:!!Ue()?.isTypeSupported?.(Qg),av1:!!Ue()?.isTypeSupported?.(Wg),aac:i,opus:!!Ue()?.isTypeSupported?.(_L),mpeg:(e||t)&&i},this._nativeHlsSupported=this._protocols.hls&&this._containers.mp4}catch(e){console.error(e)}try{this.destroyVideoElement()}catch(e){console.error("Error destroying video element:",e)}}destroyVideoElement(){if(!this._video)return;if(this._video.pause(),this._video.currentTime=0,this._video.removeAttribute("src"),this._video.src="",this._video.load(),this._video.remove){this._video.remove(),this._video=null;return}this._video.parentNode&&this._video.parentNode.removeChild(this._video);let e=this._video.cloneNode(!1);this._video.parentNode?.replaceChild(e,this._video),this._video=null}};var zg="audio/mpeg",xn=class{supportMp3(){return this._codecs.mp3&&this._containers.mpeg}detect(){this._audio=document.createElement("audio");try{this._containers={mpeg:!!this._audio.canPlayType?.(zg)},this._codecs={mp3:!!Ue()?.isTypeSupported?.(zg)}}catch(e){console.error(e)}try{this.destroyAudioElement()}catch(e){console.error("Error destroying audio element:",e)}}destroyAudioElement(){if(!this._audio)return;if(this._audio.pause(),this._audio.currentTime=0,this._audio.removeAttribute("src"),this._audio.src="",this._audio.load(),this._audio.remove){this._audio.remove(),this._audio=null;return}this._audio.parentNode&&this._audio.parentNode.removeChild(this._audio);let e=this._audio.cloneNode(!1);this._audio.parentNode?.replaceChild(e,this._audio),this._audio=null}};import{ValueSubject as FL}from"@vkontakte/videoplayer-shared/es2024";var Ul=class{constructor(){this.isInited$=new FL(!1);this._displayChecker=new Tn,this._deviceChecker=new yn(this._displayChecker),this._browserChecker=new vn,this._videoChecker=new En(this._deviceChecker,this._browserChecker),this._audioChecker=new xn,this.detect()}get display(){return this._displayChecker}get device(){return this._deviceChecker}get browser(){return this._browserChecker}get video(){return this._videoChecker}get audio(){return this._audioChecker}async detect(){this._displayChecker.detect(),this._deviceChecker.detect(),this._browserChecker.detect(),this._videoChecker.detect(),this._audioChecker.detect(),this.isInited$.next(!0)}},B=new Ul;var Hl=a=>{let{containers:e,protocols:t,codecs:i,nativeHlsSupported:r}=B.video,s=(i.h264||i.h265)&&i.aac,n=t.mse||t.mms;return a.filter(u=>{switch(u){case"DASH_SEP":return n&&e.mp4&&s;case"DASH_WEBM":return n&&e.webm&&i.vp9&&i.opus;case"DASH_WEBM_AV1":return n&&e.webm&&i.av1&&i.opus;case"DASH_STREAMS":return n&&(e.mp4&&s||e.webm&&(i.vp9||i.av1)&&(i.opus||i.aac));case"DASH_LIVE":return n&&e.mp4&&s;case"DASH_LIVE_CMAF":return n&&e.mp4&&s&&e.cmaf;case"DASH_ONDEMAND":return n&&e.mp4&&s;case"HLS":case"HLS_ONDEMAND":case"HLS_FMP4":case"HLS_LIVE":case"HLS_LIVE_CMAF":return r;case"MPEG":return e.mp4;case"DASH":case"DASH_LIVE_WEBM":return!1;case"WEB_RTC_LIVE":return t.webrtc&&t.ws&&i.h264&&(e.mp4||e.webm);default:return Yg(u)}})},jl=a=>{switch(a){case"MPEG":case"DASH":case"DASH_SEP":case"DASH_ONDEMAND":case"DASH_WEBM":case"DASH_WEBM_AV1":case"DASH_STREAMS":case"HLS":case"HLS_FMP4":case"HLS_ONDEMAND":return!1;case"DASH_LIVE":case"DASH_LIVE_CMAF":case"HLS_LIVE":case"HLS_LIVE_CMAF":case"DASH_LIVE_WEBM":case"WEB_RTC_LIVE":return!0;default:return Yg(a)}},NL=a=>{let t=Object.keys(a).filter(i=>!jl(i));return Hl(t).length>0};import{assertNever as rr,assertNonNullable as bi,debounce as Kg,ErrorCategory as Xg,fromEvent as gi,isNonNullable as Jg,map as Zg,merge as eS,observableFrom as qL,Subject as UL,Subscription as Ql,timeout as HL,getHighestQuality as jL}from"@vkontakte/videoplayer-shared/es2024";var QL=5,WL=5,GL=500,tS=7e3,ca=class{constructor(e){this.subscription=new Ql;this.loadMediaTimeoutSubscription=new Ql;this.videoState=new F("stopped");this.syncPlayback=()=>{let e=this.videoState.getState(),t=this.videoState.getTransition(),i=this.params.desiredState.playbackState.getState(),r=this.params.desiredState.playbackState.getTransition(),s=this.params.desiredState.seekState.getState();if(this.log({message:`[syncPlayback] videoState: ${e}; videoTransition: ${JSON.stringify(t)}; desiredPlaybackState: ${i}; desiredPlaybackStateTransition: ${this.params.desiredState.playbackState.getTransition()}; seekState: ${JSON.stringify(s)};`}),i==="stopped"){e!=="stopped"&&(this.videoState.startTransitionTo("stopped"),this.stop());return}if(!t){if(r?.to!=="paused"&&s.state==="requested"&&e!=="stopped"){this.seek(s.position/1e3);return}switch(i){case"ready":{switch(e){case"playing":case"paused":case"ready":break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:rr(e)}break}case"playing":{switch(e){case"playing":break;case"paused":this.videoState.startTransitionTo("playing"),this.params.connection.remotePlayerController.playOrPause();break;case"ready":this.videoState.startTransitionTo("playing"),this.params.connection.remotePlayerController.playOrPause();break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:rr(e)}break}case"paused":{switch(e){case"playing":this.videoState.startTransitionTo("paused"),this.params.connection.remotePlayerController.playOrPause();break;case"paused":break;case"ready":this.videoState.startTransitionTo("paused"),this.videoState.setState("paused");break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:rr(e)}break}default:rr(i)}}};this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastProvider"),this.log({message:`constructor, format: ${e.format}`}),this.params.output.isLive$.next(jl(e.format)),this.params.output.isAudioAvailable$.next(!0),this.handleRemoteVolumeChange({volume:this.params.connection.remotePlayer.volumeLevel,muted:this.params.connection.remotePlayer.isMuted});let t=this.params.connection.session.getMediaSession();t&&this.restoreSession(t),this.subscribe()}destroy(){this.log({message:"[destroy]"}),this.subscription.unsubscribe()}subscribe(){this.subscription.add(this.loadMediaTimeoutSubscription);let e=new Ql;this.subscription.add(e),this.subscription.add(eS(this.videoState.stateChangeStarted$.pipe(Zg(r=>`stateChangeStarted$ ${JSON.stringify(r)}`)),this.videoState.stateChangeEnded$.pipe(Zg(r=>`stateChangeEnded$ ${JSON.stringify(r)}`))).subscribe(r=>this.log({message:`[videoState] ${r}`})));let t=(r,s)=>this.subscription.add(r.subscribe(s));if(this.params.output.isLive$.getValue())this.params.output.position$.next(0),this.params.output.duration$.next(0);else{let r=new UL;e.add(r.pipe(Kg(GL)).subscribe(()=>{this.params.output.seekedEvent$.next()}));let s=NaN;e.add(gi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED).subscribe(n=>{this.logRemoteEvent(n);let u=n.value;this.params.output.position$.next(u),(this.params.desiredState.seekState.getState().state==="applying"||Math.abs(u-s)>QL)&&r.next(u),s=u})),e.add(gi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe(n=>{this.logRemoteEvent(n),this.params.output.duration$.next(n.value)}))}t(gi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemoteReady():(this.handleRemoteStop(),e.unsubscribe())}),t(gi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemotePause():this.handleRemotePlay()}),t(gi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED),r=>{this.logRemoteEvent(r);let{remotePlayer:s}=this.params.connection,n=r.value,u=this.params.output.isBuffering$.getValue(),o=n===chrome.cast.media.PlayerState.BUFFERING;switch(u!==o&&this.params.output.isBuffering$.next(o),n){case chrome.cast.media.PlayerState.IDLE:!this.params.output.isLive$.getValue()&&s.duration-s.currentTime<WL&&this.params.output.endedEvent$.next(),this.handleRemoteStop(),P(this.params.desiredState.playbackState,"stopped");break;case chrome.cast.media.PlayerState.PAUSED:{this.handleRemotePause();break}case chrome.cast.media.PlayerState.PLAYING:this.handleRemotePlay();break;case chrome.cast.media.PlayerState.BUFFERING:break;default:rr(n)}}),t(gi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({volume:r.value})}),t(gi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({muted:r.value})});let i=eS(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekState.stateChangeEnded$,this.videoState.stateChangeEnded$,qL(["init"])).pipe(Kg(0));t(i,this.syncPlayback)}restoreSession(e){this.log({message:"restoreSession"});let{remotePlayer:t}=this.params.connection;if(e.playerState!==chrome.cast.media.PlayerState.IDLE){t.isPaused?(this.videoState.setState("paused"),P(this.params.desiredState.playbackState,"paused")):(this.videoState.setState("playing"),P(this.params.desiredState.playbackState,"playing"));let i=this.params.output.isLive$.getValue();this.params.output.duration$.next(i?0:t.duration),this.params.output.position$.next(i?0:t.currentTime),this.params.desiredState.seekState.setState({state:"none"})}}prepare(){let e=this.params.format;this.log({message:`[prepare] format: ${e}`});let t=this.createMediaInfo(e),i=this.createLoadRequest(t);this.loadMedia(i)}handleRemotePause(){let e=this.videoState.getState();(this.videoState.getTransition()?.to==="paused"||e==="playing")&&(this.videoState.setState("paused"),P(this.params.desiredState.playbackState,"paused"))}handleRemotePlay(){let e=this.videoState.getState();(this.videoState.getTransition()?.to==="playing"||e==="paused")&&(this.videoState.setState("playing"),P(this.params.desiredState.playbackState,"playing"))}handleRemoteReady(){this.videoState.getTransition()?.to==="ready"&&this.videoState.setState("ready"),this.params.desiredState.playbackState.getTransition()?.to==="ready"&&P(this.params.desiredState.playbackState,"ready")}handleRemoteStop(){this.videoState.getState()!=="stopped"&&this.videoState.setState("stopped")}handleRemoteVolumeChange(e){let t=this.params.output.volume$.getValue(),i={volume:e.volume??t.volume,muted:e.muted??t.muted};(i.volume!==t.volume||i.muted!==i.muted)&&this.params.output.volume$.next(i)}seek(e){this.params.output.willSeekEvent$.next();let{remotePlayer:t,remotePlayerController:i}=this.params.connection;t.currentTime=e,i.seek()}stop(){let{remotePlayerController:e}=this.params.connection;e.stop()}createMediaInfo(e){let t=this.params.source,i,r,s;switch(e){case"MPEG":{let l=t[e];bi(l);let c=jL(Object.keys(l));bi(c);let p=l[c];bi(p),i=p,r="video/mp4",s=chrome.cast.media.StreamType.BUFFERED;break}case"HLS":case"HLS_FMP4":case"HLS_ONDEMAND":{let l=t[e];bi(l),i=l.url,r="application/x-mpegurl",s=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_SEP":case"DASH_ONDEMAND":case"DASH_WEBM":case"DASH_WEBM_AV1":case"DASH_STREAMS":{let l=t[e];bi(l),i=l.url,r="application/dash+xml",s=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_LIVE_CMAF":{let l=t[e];bi(l),i=l.url,r="application/dash+xml",s=chrome.cast.media.StreamType.LIVE;break}case"HLS_LIVE":case"HLS_LIVE_CMAF":{let l=t[e];bi(l),i=se(l.url),r="application/x-mpegurl",s=chrome.cast.media.StreamType.LIVE;break}case"DASH_LIVE":case"WEB_RTC_LIVE":{let l="Unsupported format for Chromecast",c=new Error(l);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",category:Xg.VIDEO_PIPELINE,message:l,thrown:c}),c}case"DASH":case"DASH_LIVE_WEBM":throw new Error(`${e} is no longer supported`);default:return rr(e)}let n=new chrome.cast.media.MediaInfo(this.params.meta.videoId??i,r);n.contentUrl=i,n.streamType=s,n.metadata=new chrome.cast.media.GenericMediaMetadata;let{title:u,subtitle:o}=this.params.meta;return Jg(u)&&(n.metadata.title=u),Jg(o)&&(n.metadata.subtitle=o),n}createLoadRequest(e){let t=new chrome.cast.media.LoadRequest(e);t.autoplay=!1;let i=this.params.desiredState.seekState.getState();return i.state==="applying"||i.state==="requested"?t.currentTime=this.params.output.isLive$.getValue()?0:i.position/1e3:t.currentTime=0,t}loadMedia(e){let t=this.params.connection.session.loadMedia(e),i=new Promise((r,s)=>{this.loadMediaTimeoutSubscription.add(HL(tS).subscribe(()=>s(`timeout(${tS})`)))});(0,iS.default)(Promise.race([t,i]).then(()=>{this.log({message:`[loadMedia] completed, format: ${this.params.format}`}),this.params.desiredState.seekState.getState().state==="applying"&&this.params.output.seekedEvent$.next(),this.handleRemoteReady()},r=>{let s=`[prepare] loadMedia failed, format: ${this.params.format}, reason: ${r}`;this.log({message:s}),this.params.output.error$.next({id:"ChromecastProvider.loadMedia",category:Xg.VIDEO_PIPELINE,message:s,thrown:r})}),()=>{this.loadMediaTimeoutSubscription.unsubscribe()})}logRemoteEvent(e){this.log({message:`[remoteEvent] ${JSON.stringify(e)}`})}};var cc=C(Ee(),1);import{clearVideoElement as aS}from"@vkontakte/videoplayer-shared/es2024";import{clearVideoElement as zL}from"@vkontakte/videoplayer-shared/es2024";var rS=a=>{try{a.pause(),a.playbackRate=0,zL(a),a.remove()}catch(e){console.error(e)}};import{fromEvent as YL,Subscription as KL}from"@vkontakte/videoplayer-shared/es2024";var Wl=class{constructor(){this.attribute="data-pool-reused"}get(e){return e.hasAttribute(this.attribute)}set(e,t){e.toggleAttribute(this.attribute,t)}delete(e){e.removeAttribute(this.attribute)}},Gl=window.WeakMap?new WeakMap:new Wl,zl=window.WeakMap?new WeakMap:new Map,XL=(a,e=20)=>{let t=0;return YL(a,"ratechange").subscribe(i=>{t++,t>=e&&(a.currentTime=a.currentTime,t=0)})},$e=(a,{audioVideoSyncRate:e,disableYandexPiP:t})=>{let i=a.querySelector("video"),r=!!i;i?aS(i):(i=document.createElement("video"),a.appendChild(i)),Gl.set(i,r);let s=new KL;return s.add(XL(i,e)),zl.set(i,s),i.setAttribute("crossorigin","anonymous"),i.setAttribute("playsinline","playsinline"),t&&i.setAttribute("x-yandex-pip","false"),i.controls=!1,i.setAttribute("poster","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),i},Me=a=>{zl.get(a)?.unsubscribe(),zl.delete(a);let t=Gl.get(a);Gl.delete(a),t?aS(a):rS(a)};var Kl=C(ci(),1);import{assertNonNullable as pa,isNonNullable as bt,isNullable as e$,fromEvent as ar,merge as sS,observableFrom as nS,filterChanged as oS,map as ha,Subject as uS,Subscription as t$,ValueSubject as i$,ErrorCategory as r$}from"@vkontakte/videoplayer-shared/es2024";import{isNonNullable as Yl,isNullable as JL,Subscription as ZL}from"@vkontakte/videoplayer-shared/es2024";var wn=(a,e,t,{equal:i=(n,u)=>n===u,changed$:r,onError:s}={})=>{let n=a.getState(),u=e(),o=JL(r),l=new ZL;return r&&l.add(r.subscribe(c=>{let p=a.getState();i(c,p)&&a.setState(c)},s)),i(u,n)||(t(n),o&&a.setState(n)),l.add(a.stateChangeStarted$.subscribe(c=>{t(c.to),o&&a.setState(c.to)},s)),l},mt=(a,e,t)=>wn(e,()=>a.loop,i=>{Yl(i)&&(a.loop=i)},{onError:t}),De=(a,e,t,i)=>wn(e,()=>({muted:a.muted,volume:a.volume}),r=>{Yl(r)&&(a.muted=r.muted,a.volume=r.volume)},{equal:(r,s)=>r===s||r?.muted===s?.muted&&r?.volume===s?.volume,changed$:t,onError:i}),ze=(a,e,t,i)=>wn(e,()=>a.playbackRate,r=>{Yl(r)&&(a.playbackRate=r)},{changed$:t,onError:i}),da=wn;var a$=a=>["__",a.language,a.label].join("|"),s$=(a,e)=>{if(a.id===e)return!0;let[t,i,r]=e.split("|");return a.language===i&&a.label===r},Xl=class a{constructor(e){this.available$=new uS;this.current$=new i$(void 0);this.error$=new uS;this.subscription=new t$;this.externalTracks=new Map;this.internalTracks=new Map;this.baseURL=e}connect(e,t,i){this.video=e,this.cueSettings=t.textTrackCuesSettings,this.subscribe();let r=s=>{this.error$.next({id:"TextTracksManager",category:r$.WTF,message:"Generic HtmlVideoTextTrackManager error",thrown:s})};this.subscription.add(this.available$.subscribe(i.availableTextTracks$)),this.subscription.add(this.current$.subscribe(i.currentTextTrack$)),this.subscription.add(this.error$.subscribe(i.error$)),this.subscription.add(da(t.internalTextTracks,()=>(0,Kl.default)(this.internalTracks),s=>{bt(s)&&this.setInternal(s)},{equal:(s,n)=>bt(s)&&bt(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe(ha(s=>s.filter(({type:n})=>n==="internal"))),onError:r})),this.subscription.add(da(t.externalTextTracks,()=>(0,Kl.default)(this.externalTracks),s=>{bt(s)&&this.setExternal(s)},{equal:(s,n)=>bt(s)&&bt(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe(ha(s=>s.filter(({type:n})=>n==="external"))),onError:r})),this.subscription.add(da(t.currentTextTrack,()=>{if(this.video)return;let s=this.htmlTextTracksAsArray().find(({mode:n})=>n==="showing");return s&&this.htmlTextTrackToITextTrack(s).id},s=>this.select(s),{changed$:this.current$,onError:r})),this.subscription.add(da(t.textTrackCuesSettings,()=>({}),()=>{if(this.video)for(let s of this.htmlTextTracksAsArray())this.applyCueSettings(s.cues),this.applyCueSettings(s.activeCues)}))}subscribe(){pa(this.video);let{textTracks:e}=this.video;this.subscription.add(ar(e,"addtrack").subscribe(()=>{let i=this.current$.getValue();i&&this.select(i)})),this.subscription.add(sS(ar(e,"addtrack"),ar(e,"removetrack"),nS(["init"])).pipe(ha(()=>this.htmlTextTracksAsArray().map(i=>this.htmlTextTrackToITextTrack(i))),oS((i,r)=>i.length===r.length&&i.every(({id:s},n)=>s===r[n].id))).subscribe(this.available$)),this.subscription.add(sS(ar(e,"change"),nS(["init"])).pipe(ha(()=>this.htmlTextTracksAsArray().find(({mode:i})=>i==="showing")),ha(i=>i&&this.htmlTextTrackToITextTrack(i).id),oS()).subscribe(this.current$));let t=i=>this.applyCueSettings(i.target?.activeCues??null);this.subscription.add(ar(e,"addtrack").subscribe(i=>{i.track?.addEventListener("cuechange",t);let r=s=>{let n=s.target?.cues??null;n&&n.length&&(this.applyCueSettings(s.target?.cues??null),s.target?.removeEventListener("cuechange",r))};i.track?.addEventListener("cuechange",r)})),this.subscription.add(ar(e,"removetrack").subscribe(i=>{i.track?.removeEventListener("cuechange",t)}))}applyCueSettings(e){if(!e||!e.length)return;let t=this.cueSettings.getState();for(let i of Array.from(e)){let r=i;bt(t.align)&&(r.align=t.align),bt(t.position)&&(r.position=t.position),bt(t.size)&&(r.size=t.size),bt(t.line)&&(r.line=t.line)}}htmlTextTracksAsArray(e=!1){pa(this.video);let t=[...this.video.textTracks];return e?t:t.filter(a.isHealthyTrack)}htmlTextTrackToITextTrack(e){let{language:t,label:i}=e,r=e.id?e.id:a$(e),s=this.externalTracks.has(r),n=(s?this.externalTracks.get(r)?.isAuto:this.internalTracks.get(r)?.isAuto)??r.includes("auto");return s?{id:r,type:"external",isAuto:n,language:t,label:i,url:this.externalTracks.get(r)?.url}:{id:r,type:"internal",isAuto:n,language:t,label:i,url:this.internalTracks.get(r)?.url}}static isHealthyTrack(e){return!(e.kind==="metadata"||e.groupId||e.id===""&&e.label===""&&e.language==="")}setExternal(e){this.internalTracks.size>0&&Array.from(this.internalTracks).forEach(([,t])=>this.detach(t)),e.filter(({id:t})=>!this.externalTracks.has(t)).forEach(t=>this.attach(t)),Array.from(this.externalTracks).filter(([t])=>!e.find(i=>i.id===t)).forEach(([,t])=>this.detach(t))}setInternal(e){let t=[...this.externalTracks];e.filter(({id:i,language:r,isAuto:s})=>!this.internalTracks.has(i)&&!t.some(([,n])=>n.language===r&&n.isAuto===s)).forEach(i=>this.attach(i)),Array.from(this.internalTracks).filter(([i])=>!e.find(r=>r.id===i)).forEach(([,i])=>this.detach(i))}select(e){pa(this.video);for(let t of this.htmlTextTracksAsArray(!0))t.mode="showing";for(let t of this.htmlTextTracksAsArray(!0))(e$(e)||!s$(t,e))&&(t.mode="disabled")}destroy(){if(this.subscription.unsubscribe(),this.video)for(let e of Array.from(this.video.getElementsByTagName("track"))){let t=e.getAttribute("id");t&&this.externalTracks.has(t)&&this.video.removeChild(e)}this.externalTracks.clear()}attach(e){pa(this.video);let t=document.createElement("track");this.baseURL?t.setAttribute("src",new URL(e.url,this.baseURL).toString()):t.setAttribute("src",e.url),t.setAttribute("id",e.id),e.label&&t.setAttribute("label",e.label),e.language&&t.setAttribute("srclang",e.language),e.type==="external"?this.externalTracks.set(e.id,e):e.type==="internal"&&this.internalTracks.set(e.id,e),this.video.appendChild(t)}detach(e){pa(this.video);let t=Array.prototype.find.call(this.video.getElementsByTagName("track"),i=>i.getAttribute("id")===e.id);t&&this.video.removeChild(t),e.type==="external"?this.externalTracks.delete(e.id):e.type==="internal"&&this.internalTracks.delete(e.id)}},Ye=Xl;var Si=class{constructor(){this.pausedTime=0;this.streamOffset=0;this.pauseTimestamp=0}getTotalPausedTime(){return this.pausedTime+this.getCurrentPausedTime()}getCurrentPausedTime(){return this.pauseTimestamp>0?Date.now()-this.pauseTimestamp:0}getStreamOffset(){return this.streamOffset}getTotalOffset(){return this.getTotalPausedTime()+this.streamOffset}pause(){this.pauseTimestamp===0&&(this.pauseTimestamp=Date.now())}resume(){this.pauseTimestamp>0&&(this.pausedTime+=this.getCurrentPausedTime(),this.pauseTimestamp=0)}resetTo(e,t=!1){this.streamOffset=e,this.pauseTimestamp=0,this.pausedTime=0,t&&this.pause()}};var lS=a=>{let e=a;for(;!(e instanceof Document)&&!(e instanceof ShadowRoot)&&e!==null;)e=e?.parentNode;return e??void 0},Jl=a=>{let e=lS(a);return!!(e&&e.fullscreenElement&&e.fullscreenElement===a)},cS=a=>{let e=lS(a);return!!(e&&e.pictureInPictureElement&&e.pictureInPictureElement===a)};import{fromEvent as xe,map as gt,merge as An,filterChanged as pS,isNonNullable as hS,Subject as o$,filter as Zl,mapTo as ec,combine as u$,once as l$,shareReplay as we,throttle as c$,ErrorCategory as d$,ValueSubject as fS,Subscription as p$}from"@vkontakte/videoplayer-shared/es2024";var n$=3,dS=(a,e,t=n$)=>{let i=0,r=0;for(let s=0;s<a.length;s++){let n=a.start(s),u=a.end(s);if(n<=e&&e<=u){if(i=n,r=u,!t)return{from:i,to:r};for(let o=s-1;o>=0;o--)a.end(o)+t>=i&&(i=a.start(o));for(let o=s+1;o<a.length;o++)a.start(o)-t<=r&&(r=a.end(o))}}return{from:i,to:r}};var Ce=a=>{let e=T=>xe(a,T).pipe(ec(void 0),we(1)),t=new p$,i=()=>t.unsubscribe(),r=An(xe(a,"progress"),xe(a,"timeupdate")).pipe(gt(()=>dS(a.buffered,a.currentTime)),we(1)),s=B.browser.isSafari?u$({play:e("play").pipe(l$()),playing:e("playing")}).pipe(ec(void 0),we(1)):e("playing"),n=xe(a,"volumechange").pipe(gt(()=>({muted:a.muted,volume:a.volume})),we(1)),u=xe(a,"ratechange").pipe(gt(()=>a.playbackRate),we(1)),o=xe(a,"error").pipe(Zl(()=>!!(a.error||a.played.length)),gt(()=>{let T=a.error;return{id:T?`MediaError#${T.code}`:"HtmlVideoError",category:d$.VIDEO_PIPELINE,message:T?T.message:"Error event from HTML video element",thrown:a.error??void 0}}),we(1)),l=xe(a,"timeupdate").pipe(gt(()=>a.currentTime),we(1)),c=["waiting","seeking","seeked","timeupdate"],p=new o$,d=.3,h;t.add(An(...c.map(T=>xe(a,T))).subscribe(T=>{let q=a.currentTime;a.loop&&hS(h)&&hS(q)&&h>=a.duration-d&&q<=d&&p.next(h),h=q}));let f=e("pause").pipe(Zl(()=>!a.error&&h!==a.duration),we(1)),b=xe(a,"enterpictureinpicture").pipe(we(1)),S=xe(a,"leavepictureinpicture").pipe(we(1)),g=new fS(cS(a));t.add(b.subscribe(()=>g.next(!0))),t.add(S.subscribe(()=>g.next(!1)));let I=new fS(Jl(a)),x=xe(a,"fullscreenchange").pipe(we(1));t.add(x.pipe(gt(()=>Jl(a))).subscribe(I));let y=.1,w=1e3,D=xe(a,"timeupdate").pipe(gt(T=>a.duration-a.currentTime<y),pS(),we(1)),L=An(D.pipe(Zl(T=>!a.loop&&T)),xe(a,"ended")).pipe(c$(w),ec(void 0),we(1)),R=An(...["waiting","pause","canplay","play","canplaythrough","playing","seeking","seeked","ended"].map(T=>xe(a,T)),D.pipe(gt(T=>({type:T?"ended":"unknown"})))).pipe(gt(T=>B.browser.isFirefox&&T.type==="ended"?a.readyState<2:a.readyState<3),pS(),we(1));return{playing$:s,pause$:f,canplay$:e("canplay"),ended$:L,looped$:p,error$:o,seeked$:e("seeked"),seeking$:e("seeking"),progress$:e("progress"),loadStart$:e("loadstart"),loadedMetadata$:e("loadedmetadata"),loadedData$:e("loadeddata"),timeUpdate$:l,durationChange$:xe(a,"durationchange").pipe(gt(()=>a.duration),we(1)),isBuffering$:R,currentBuffer$:r,volumeState$:n,playbackRateState$:u,inPiP$:g,inFullscreen$:I,enterPip$:b,leavePip$:S,destroy:i}};import{VideoQuality as Ht}from"@vkontakte/videoplayer-shared/es2024";var jt=a=>{switch(a){case"mobile":return Ht.Q_144P;case"lowest":return Ht.Q_240P;case"low":return Ht.Q_360P;case"sd":case"medium":return Ht.Q_480P;case"hd":case"high":return Ht.Q_720P;case"fullhd":case"full":return Ht.Q_1080P;case"quadhd":case"quad":return Ht.Q_1440P;case"ultrahd":case"ultra":return Ht.Q_2160P}};var Pe=C(at(),1),rc=C(Ee(),1),vi=C(Wi(),1);import{isNonNullable as K,isNullable as $n,now as LS,isHigher as Mn,isHigherOrEqual as nr,isInvariantQuality as Dn,isLowerOrEqual as or,videoSizeToQuality as $S,assertNotEmptyArray as Cn,assertNonNullable as MS}from"@vkontakte/videoplayer-shared/es2024";var tc=!1,kt={},TS=a=>{tc=a},IS=()=>{kt={}},ES=a=>{a(kt)},fa=(a,e)=>{tc&&(kt.meta=kt.meta??{},kt.meta[a]=e)},Ae=class{constructor(e){this.name=e}next(e){if(!tc)return;kt.series=kt.series??{};let t=kt.series[this.name]??[];t.push([Date.now(),e]),kt.series[this.name]=t}};import{isHigher as T$,isHigherOrEqual as tq,isLower as xS,isLowerOrEqual as iq,isNonNullable as Pn,isNullable as I$,videoHeightToQuality as kn}from"@vkontakte/videoplayer-shared/es2024";function ic(a,e,t){return!a.max&&a.min===e?"high_quality":!a.min&&a.max===t?"traffic_saving":"unknown"}function Rn(a,e,t){return!!a&&ic(a,e,t)==="high_quality"}function sr(a,e,t){return I$(a)||Pn(a.min)&&Pn(a.max)&&xS(a.max,a.min)||Pn(a.min)&&e&&T$(a.min,e)||Pn(a.max)&&t&&xS(a.max,t)}function wS({limits:a,highestAvailableHeight:e,lowestAvailableHeight:t}){return sr({max:a?.max?kn(a.max):void 0,min:a?.min?kn(a.min):void 0},e?kn(e):void 0,t?kn(t):void 0)}var DS=new Ae("best_bitrate"),Bn=(a,e,t)=>(e-t)*Math.pow(2,-10*a)+t;var ur=a=>(e,t)=>a*(Number(e.bitrate)-Number(t.bitrate)),Qt=class{constructor(){this.history={}}recordSelection(e){this.history[e.id]=LS()}recordSwitch(e){this.last=e}clear(){this.last=void 0,this.history={}}},Vn='Assertion "ABR Tracks is empty array" failed',Ln=new WeakMap,AS=new WeakMap,PS=new WeakMap,ma=(a,e,t,i)=>{let r=[...e].sort(ur(1)),s=[...t].sort(ur(1)),n=s.filter(o=>K(o.bitrate)&&K(a.bitrate)?a.bitrate/o.bitrate>i:!0),u=(0,Pe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Pe.default)(s,-1);return u&&(0,rc.default)(n,u)?u:n.length?(0,Pe.default)(n,-1):(0,Pe.default)(s,0)},ba=(a,e,t,i)=>{let r=Ln.get(e);r||(r=[...e].sort(ur(1)),Ln.set(e,r));let s=Ln.get(t);s||(s=[...t].sort(ur(1)),Ln.set(t,s));let n=PS.get(a);n||(n=s.filter(o=>K(o.bitrate)&&K(a.bitrate)?a.bitrate/o.bitrate>i:!0),PS.set(a,n));let u=(0,Pe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Pe.default)(s,-1);return u&&(0,rc.default)(n,u)?u:n.length?(0,Pe.default)(n,-1):(0,Pe.default)(s,0)},kS=a=>"quality"in a,_n=(a,e,t,i)=>{let r=K(i?.last?.bitrate)&&K(t?.bitrate)&&i.last.bitrate<t.bitrate?a.trackCooldownIncreaseQuality:a.trackCooldownDecreaseQuality,s=t&&i&&i.history[t.id]&&LS()-i.history[t.id]<=r&&(!i.last||t.id!==i.last.id);if(t?.id&&i&&!s&&i.recordSelection(t),s&&i?.last){let n=i.last;i?.recordSwitch(n);let u=kS(n)?"video":"audio",o=kS(n)?n.quality:n.bitrate;return e({message:`
7
+ \v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`});var xv=m((e1,Ev)=>{"use strict";var xM=de(),wM=Ft(),AM=wa(),mc=hc(),Iv=xM("".replace),PM=RegExp("^["+mc+"]+"),kM=RegExp("(^|[^"+mc+"])["+mc+"]+$"),fc=function(a){return function(e){var t=AM(wM(e));return a&1&&(t=Iv(t,PM,"")),a&2&&(t=Iv(t,kM,"$1")),t}};Ev.exports={start:fc(1),end:fc(2),trim:fc(3)}});var kv=m((t1,Pv)=>{"use strict";var RM=qu().PROPER,LM=ce(),wv=hc(),Av="\u200B\x85\u180E";Pv.exports=function(a){return LM(function(){return!!wv[a]()||Av[a]()!==Av||RM&&wv[a].name!==a})}});var bc=m((i1,Rv)=>{"use strict";var $M=xv().start,MM=kv();Rv.exports=MM("trimStart")?function(){return $M(this)}:"".trimStart});var $v=m(()=>{"use strict";var DM=oe(),Lv=bc();DM({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==Lv},{trimLeft:Lv})});var Dv=m(()=>{"use strict";$v();var CM=oe(),Mv=bc();CM({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==Mv},{trimStart:Mv})});var Bv=m((o1,Cv)=>{"use strict";Dv();var BM=Nt();Cv.exports=BM("String","trimLeft")});var _v=m((u1,Vv)=>{"use strict";var VM=Bv();Vv.exports=VM});var Fv=m((l1,Ov)=>{"use strict";var _M=_v();Ov.exports=_M});var ty=m(()=>{"use strict"});var iy=m(()=>{"use strict"});var ay=m((Yj,ry)=>{"use strict";var oD=Le(),uD=si(),lD=be(),cD=lD("match");ry.exports=function(a){var e;return oD(a)&&((e=a[cD])!==void 0?!!e:uD(a)==="RegExp")}});var oy=m((Kj,ny)=>{"use strict";var dD=re(),pD=ce(),sy=dD.RegExp,hD=!pD(function(){var a=!0;try{sy(".","d")}catch{a=!1}var e={},t="",i=a?"dgimsy":"gimsy",r=function(o,l){Object.defineProperty(e,o,{get:function(){return t+=l,!0}})},s={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};a&&(s.hasIndices="d");for(var n in s)r(n,s[n]);var u=Object.getOwnPropertyDescriptor(sy.prototype,"flags").get.call(e);return u!==i||t!==i});ny.exports={correct:hD}});var ly=m((Xj,uy)=>{"use strict";var fD=ft();uy.exports=function(){var a=fD(this),e="";return a.hasIndices&&(e+="d"),a.global&&(e+="g"),a.ignoreCase&&(e+="i"),a.multiline&&(e+="m"),a.dotAll&&(e+="s"),a.unicode&&(e+="u"),a.unicodeSets&&(e+="v"),a.sticky&&(e+="y"),e}});var py=m((Jj,dy)=>{"use strict";var mD=Ne(),bD=it(),gD=Hr(),cy=oy(),SD=ly(),vD=RegExp.prototype;dy.exports=cy.correct?function(a){return a.flags}:function(a){return!cy.correct&&gD(vD,a)&&!bD(a,"flags")?mD(SD,a):a.flags}});var fy=m((Zj,hy)=>{"use strict";var Tc=de(),yD=Fi(),TD=Math.floor,vc=Tc("".charAt),ID=Tc("".replace),yc=Tc("".slice),ED=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,xD=/\$([$&'`]|\d{1,2})/g;hy.exports=function(a,e,t,i,r,s){var n=t+a.length,u=i.length,o=xD;return r!==void 0&&(r=yD(r),o=ED),ID(s,o,function(l,c){var p;switch(vc(c,0)){case"$":return"$";case"&":return a;case"`":return yc(e,0,t);case"'":return yc(e,n);case"<":p=r[yc(c,1,-1)];break;default:var d=+c;if(d===0)return l;if(d>u){var h=TD(d/10);return h===0?l:h<=u?i[h-1]===void 0?vc(c,1):i[h-1]+vc(c,1):l}p=i[d-1]}return p===void 0?"":p})}});var gy=m(()=>{"use strict";var wD=oe(),AD=Ne(),Ec=de(),my=Ft(),PD=ae(),kD=Le(),RD=ay(),mr=wa(),LD=Qr(),$D=py(),MD=fy(),DD=be(),CD=tt(),BD=DD("replace"),VD=TypeError,Ic=Ec("".indexOf),_D=Ec("".replace),by=Ec("".slice),OD=Math.max;wD({target:"String",proto:!0},{replaceAll:function(e,t){var i=my(this),r,s,n,u,o,l,c,p,d,h,f=0,b="";if(kD(e)){if(r=RD(e),r&&(s=mr(my($D(e))),!~Ic(s,"g")))throw new VD("`.replaceAll` does not allow non-global regexes");if(n=LD(e,BD),n)return AD(n,e,i,t);if(CD&&r)return _D(mr(i),e,t)}for(u=mr(i),o=mr(e),l=PD(t),l||(t=mr(t)),c=o.length,p=OD(1,c),d=Ic(u,o);d!==-1;)h=l?mr(t(o,d,u)):MD(o,u,d,[],void 0,t),b+=by(u,f,d)+h,f=d+c,d=d+p>u.length?-1:Ic(u,o,d+p);return f<u.length&&(b+=by(u,f)),b}})});var vy=m((iQ,Sy)=>{"use strict";ty();iy();gy();var FD=Nt();Sy.exports=FD("String","replaceAll")});var Ty=m((rQ,yy)=>{"use strict";var ND=vy();yy.exports=ND});var Ey=m((aQ,Iy)=>{"use strict";var qD=Ty();Iy.exports=qD});var wy=m((sQ,xy)=>{"use strict";var UD=Yr(),HD=wa(),jD=Ft(),QD=RangeError;xy.exports=function(e){var t=HD(jD(this)),i="",r=UD(e);if(r<0||r===1/0)throw new QD("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(t+=t))r&1&&(i+=t);return i}});var Ly=m((nQ,Ry)=>{"use strict";var ky=de(),WD=Pu(),Ay=wa(),GD=wy(),zD=Ft(),YD=ky(GD),KD=ky("".slice),XD=Math.ceil,Py=function(a){return function(e,t,i){var r=Ay(zD(e)),s=WD(t),n=r.length,u=i===void 0?" ":Ay(i),o,l;return s<=n||u===""?r:(o=s-n,l=YD(u,XD(o/u.length)),l.length>o&&(l=KD(l,0,o)),a?r+l:l+r)}};Ry.exports={start:Py(!1),end:Py(!0)}});var My=m((oQ,$y)=>{"use strict";var JD=ui();$y.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(JD)});var Dy=m(()=>{"use strict";var ZD=oe(),eC=Ly().start,tC=My();ZD({target:"String",proto:!0,forced:tC},{padStart:function(e){return eC(this,e,arguments.length>1?arguments[1]:void 0)}})});var By=m((cQ,Cy)=>{"use strict";Dy();var iC=Nt();Cy.exports=iC("String","padStart")});var _y=m((dQ,Vy)=>{"use strict";var rC=By();Vy.exports=rC});var Fy=m((pQ,Oy)=>{"use strict";var aC=_y();Oy.exports=aC});var qd="2.0.140-dev.d35428ab.0";var Re=(r=>(r.STOPPED="stopped",r.READY="ready",r.PLAYING="playing",r.PAUSED="paused",r))(Re||{}),xt=(y=>(y.MPEG="MPEG",y.DASH="DASH",y.DASH_SEP="DASH_SEP",y.DASH_SEP_VK="DASH_SEP",y.DASH_WEBM="DASH_WEBM",y.DASH_WEBM_AV1="DASH_WEBM_AV1",y.DASH_STREAMS="DASH_STREAMS",y.DASH_WEBM_VK="DASH_WEBM",y.DASH_ONDEMAND="DASH_ONDEMAND",y.DASH_ONDEMAND_VK="DASH_ONDEMAND",y.DASH_LIVE="DASH_LIVE",y.DASH_LIVE_CMAF="DASH_LIVE_CMAF",y.DASH_LIVE_WEBM="DASH_LIVE_WEBM",y.HLS="HLS",y.HLS_ONDEMAND="HLS_ONDEMAND",y.HLS_JS="HLS",y.HLS_FMP4="HLS_FMP4",y.HLS_LIVE="HLS_LIVE",y.HLS_LIVE_CMAF="HLS_LIVE_CMAF",y.WEB_RTC_LIVE="WEB_RTC_LIVE",y))(xt||{});var Bs=(r=>(r.NOT_AVAILABLE="NOT_AVAILABLE",r.AVAILABLE="AVAILABLE",r.CONNECTING="CONNECTING",r.CONNECTED="CONNECTED",r))(Bs||{}),Yo=(i=>(i.HTTP1="http1",i.HTTP2="http2",i.QUIC="quic",i))(Yo||{});var Ko=(n=>(n.NONE="none",n.INLINE="inline",n.FULLSCREEN="fullscreen",n.SECOND_SCREEN="second_screen",n.PIP="pip",n.INVISIBLE="invisible",n))(Ko||{}),Vs=(i=>(i.TRAFFIC_SAVING="traffic_saving",i.HIGH_QUALITY="high_quality",i.UNKNOWN="unknown",i))(Vs||{});var Od=C(ci(),1),BI=C(Ee(),1);import{assertNever as lf,assertNonNullable as Nw,isNonNullable as js,ValueSubject as Du,Subject as qw,Subscription as Uw,merge as Hw,observableFrom as jw,fromEvent as sf,map as nf,tap as of,filterChanged as Qw,isNullable as Cu,ErrorCategory as uf}from"@vkontakte/videoplayer-shared/es2024";var af=a=>new Promise((e,t)=>{let i=document.createElement("script");i.setAttribute("src",a),i.onload=()=>e(),i.onerror=r=>t(r),document.body.appendChild(i)});var Qs=class{constructor(e){this.connection$=new Du(void 0);this.castState$=new Du("NOT_AVAILABLE");this.errorEvent$=new qw;this.realCastState$=new Du("NOT_AVAILABLE");this.subscription=new Uw;this.isDestroyed=!1;this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastInitializer");let t="chrome"in window;if(this.log({message:`[constructor] receiverApplicationId: ${this.params.receiverApplicationId}, isDisabled: ${this.params.isDisabled}, isSupported: ${t}`}),e.isDisabled||!t)return;let i=js(window.chrome?.cast),r=!!window.__onGCastApiAvailable;i?this.initializeCastApi():(window.__onGCastApiAvailable=s=>{delete window.__onGCastApiAvailable,s&&!this.isDestroyed&&this.initializeCastApi()},r||af("https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1").catch(()=>this.errorEvent$.next({id:"ChromecastLoading",category:uf.NETWORK,message:"Script loading failed!"})))}connect(){cast.framework.CastContext.getInstance()?.requestSession()}disconnect(){cast.framework.CastContext.getInstance()?.getCurrentSession()?.endSession(!0)}stopMedia(){return new Promise((e,t)=>{cast.framework.CastContext.getInstance()?.getCurrentSession()?.getMediaSession()?.stop(new chrome.cast.media.StopRequest,e,t)})}toggleConnection(){js(this.connection$.getValue())?this.disconnect():this.connect()}setVolume(e){let t=this.connection$.getValue();Cu(t)||(t.remotePlayer.volumeLevel=e,t.remotePlayerController.setVolumeLevel())}setMuted(e){let t=this.connection$.getValue();Cu(t)||e!==t.remotePlayer.isMuted&&t.remotePlayerController.muteOrUnmute()}destroy(){this.isDestroyed=!0,this.subscription.unsubscribe()}initListeners(){let e=new cast.framework.RemotePlayer,t=new cast.framework.RemotePlayerController(e),i=cast.framework.CastContext.getInstance();this.subscription.add(sf(i,cast.framework.CastContextEventType.SESSION_STATE_CHANGED).subscribe(r=>{switch(r.sessionState){case cast.framework.SessionState.SESSION_STARTED:case cast.framework.SessionState.SESSION_STARTING:case cast.framework.SessionState.SESSION_RESUMED:this.contentId=i.getCurrentSession()?.getMediaSession()?.media?.contentId;break;case cast.framework.SessionState.NO_SESSION:case cast.framework.SessionState.SESSION_ENDING:case cast.framework.SessionState.SESSION_ENDED:case cast.framework.SessionState.SESSION_START_FAILED:this.contentId=void 0;break;default:return lf(r.sessionState)}})).add(Hw(sf(i,cast.framework.CastContextEventType.CAST_STATE_CHANGED).pipe(of(r=>{this.log({message:`[cast.framework.RemotePlayerEventType.CAST_STATE_CHANGED]: ${JSON.stringify(r)}`})}),nf(r=>r.castState)),jw([i.getCastState()])).pipe(Qw(),nf(Ww),of(r=>{this.log({message:`realCastState$: ${r}`})})).subscribe(this.realCastState$)).add(this.realCastState$.subscribe(r=>{let s=r==="CONNECTED",n=js(this.connection$.getValue());if(s&&!n){let u=i.getCurrentSession();Nw(u);let o=u.getCastDevice(),l=u.getMediaSession()?.media?.contentId;(Cu(l)||l===this.contentId)&&(this.log({message:"connection created"}),this.connection$.next({remotePlayer:e,remotePlayerController:t,session:u,castDevice:o}))}else!s&&n&&(this.log({message:"connection destroyed"}),this.connection$.next(void 0));this.castState$.next(r==="CONNECTED"?js(this.connection$.getValue())?"CONNECTED":"AVAILABLE":r)}))}initializeCastApi(){let e,t,i;try{e=cast.framework.CastContext.getInstance(),t=chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,i=chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED}catch{return}try{e.setOptions({receiverApplicationId:this.params.receiverApplicationId??t,autoJoinPolicy:i}),this.initListeners()}catch(r){this.errorEvent$.next({id:"ChromecastInitializer",category:uf.EXTERNAL_API,message:"[initializeCastApi] failed",thrown:r})}}},Ww=a=>{switch(a){case cast.framework.CastState.NO_DEVICES_AVAILABLE:return"NOT_AVAILABLE";case cast.framework.CastState.NOT_CONNECTED:return"AVAILABLE";case cast.framework.CastState.CONNECTING:return"CONNECTING";case cast.framework.CastState.CONNECTED:return"CONNECTED";default:return lf(a)}};var Ld=C(Ee(),1),bI=C(Wi(),1),gI=C(il(),1);var iS=C(gn(),1);import{assertNever as qg}from"@vkontakte/videoplayer-shared/es2024";var se=(a,e=0,t=0)=>{switch(t){case 0:return a.replace("_offset_p",e===0?"":"_"+e.toFixed(0));case 1:{if(e===0)return a;let i=new URL(a);return i.searchParams.append("playback_shift",e.toFixed(0)),i.toString()}case 2:{let i=new URL(a);return!i.searchParams.get("offset_p")&&e===0?a:(i.searchParams.set("offset_p",e.toFixed(0)),i.toString())}default:qg(t)}return a},Ut=(a,e)=>{switch(e){case 0:return NaN;case 1:{let t=new URL(a);return Number(t.searchParams.get("playback_shift"))}case 2:{let t=new URL(a);return Number(t.searchParams.get("offset_p")??0)}default:qg(e)}};var P=(a,e,t=!1)=>{let i=a.getTransition();(t||!i||i.to===e)&&a.setState(e)};import{isNonNullable as ML,Subject as Sn,merge as Ug}from"@vkontakte/videoplayer-shared/es2024";var F=class{constructor(e){this.transitionStarted$=new Sn;this.transitionEnded$=new Sn;this.transitionUpdated$=new Sn;this.forceChanged$=new Sn;this.stateChangeStarted$=Ug(this.transitionStarted$,this.transitionUpdated$);this.stateChangeEnded$=Ug(this.transitionEnded$,this.forceChanged$);this.state=e,this.prevState=void 0}setState(e){let t=this.transition,i=this.state;this.transition=void 0,this.prevState=i,this.state=e,t?t.to===e?this.transitionEnded$.next(t):this.forceChanged$.next({from:t.from,to:e,canceledTransition:t}):this.forceChanged$.next({from:i,to:e,canceledTransition:t})}startTransitionTo(e){let t=this.transition,i=this.state;i===e||ML(t)&&t.to===e||(this.prevState=i,this.state=e,t?(this.transition={from:t.from,to:e,canceledTransition:t},this.transitionUpdated$.next(this.transition)):(this.transition={from:i,to:e},this.transitionStarted$.next(this.transition)))}getTransition(){return this.transition}getState(){return this.state}getPrevState(){return this.prevState}};import{assertNever as Yg}from"@vkontakte/videoplayer-shared/es2024";var vn=class{constructor(){this._isMiuiBrowser=!1}get current(){return this._current}get isChrome(){return this.current==="Chrome"}get isFirefox(){return this.current==="Firefox"}get isSafari(){return this.current==="Safari"}get isOpera(){return this.current==="Opera"}get isEdge(){return this.current==="Edge"}get isYandex(){return this.current==="Yandex"}get isSamsungBrowser(){return this.current==="SamsungBrowser"}get currentVersion(){return this._current_version}get chromeVersion(){return this._chromeVersion}get firefoxVersion(){return this._firefoxVersion}get safariVersion(){return this._safariVersion}get operaVersion(){return this._operaVersion}get edgeVersion(){return this._edgeVersion}get yandexVersion(){return this._yandexVersion}get isMiuiBrowser(){return this._isMiuiBrowser}detect(){let{userAgent:e}=navigator;try{let t=/yabrowser/i.test(e)?"Yandex":void 0,i=/samsungbrowser/i.test(e)?"SamsungBrowser":void 0,r=/chrome|crios/i.test(e)?"Chrome":void 0,s=/chromium/i.test(e)?"Chromium":void 0,n=/firefox|fxios/i.test(e)?"Firefox":void 0,u=/webkit|safari|khtml/i.test(e)?"Safari":void 0,o=/opr\//i.test(e)?"Opera":void 0,l=/edg/i.test(e)?"Edge":void 0;this._isMiuiBrowser=/(XiaoMi)|(MiuiBrowser)/i.test(e),this._current=t||i||n||o||l||r||s||u||"Rest"}catch(t){console.error(t)}this.isChrome&&this.detectChromeVersion(),this.isFirefox&&this.detectFirefoxVersion(),this.isSafari&&this.detectSafariVersion(),this.isOpera&&this.detectOperaVersion(),this.isEdge&&this.detectEdgeVersion(),this.isYandex&&this.detectYandexVersion()}detectVersion(e){try{let{userAgent:t}=window.navigator,i=t.match(e);if(!i)return;let r=i[1],s=parseInt(r,10);if(!isNaN(s))return this._current_version=s,s}catch(t){console.error(t)}}detectChromeVersion(){this._chromeVersion=this.detectVersion(/Chrome\/(\d+\.\d+)/)}detectFirefoxVersion(){this._firefoxVersion=this.detectVersion(/Firefox\/(\d+\.\d+)/)}detectSafariVersion(){this._safariVersion=this.detectVersion(/Version\/(\d+)/)}detectOperaVersion(){this._operaVersion=this.detectVersion(/OPR\/(\d+\.\d+)/)}detectEdgeVersion(){this._edgeVersion=this.detectVersion(/Edg\/(\d+\.\d+)/)}detectYandexVersion(){this._yandexVersion=this.detectVersion(/YaBrowser\/(\d+\.\d+\.\d+)/)}};var Hg=C(Ee(),1);var la=()=>/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(navigator.appVersion??navigator.userAgent)||navigator?.userAgentData?.mobile;var yn=class{constructor(e){this._highEntropyValues={};this._displayChecker=e}get current(){return this._current}get isIOS(){let e=["iPhone","iPad","iPod"];return this._highEntropyValues.platform==="iOS"||(0,Hg.default)(e,this.current)}get isMac(){return this._highEntropyValues.platform==="macOS"||this.current==="Mac"}get isApple(){return this.isIOS||this.isMac}get isIphoneOrOldIpad(){if(!this.isApple||!this._displayChecker.isTouch)return!1;let e=this.current==="iPad"||this._displayChecker.width>700,t=this._iosVersion;return!e||e&&!!t&&t<16}get isAndroid(){return this._highEntropyValues.platform==="Android"||this.current==="Android"}get isMobile(){return this._highEntropyValues.mobile||this._isMobile}get iOSVersion(){return this._iosVersion}detect(){let{userAgent:e}=navigator;try{this._isMobile=la()}catch(t){console.error(t)}this.detectDevice(e),this.detectHighEntropyValues(),this.isIOS&&this.detectIOSVersion()}async detectHighEntropyValues(){let{userAgentData:e}=navigator;if(e?.getHighEntropyValues){let t=await e.getHighEntropyValues(["architecture","bitness","brands","mobile","platform","formFactor","model","platformVersion","wow64"]);this._highEntropyValues=t}}detectDevice(e){try{let t=/android/i.test(e)?"Android":void 0,i=/iphone/i.test(e)?"iPhone":void 0,r=/ipad/i.test(e)?"iPad":void 0,s=/ipod/i.test(e)?"iPod":void 0,n=/mac/i.test(e)?"Mac":void 0,u=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(e)?"RestMobile":void 0;this._current=t||i||r||s||u||n||"Desktop"}catch(t){console.error(t)}}detectIOSVersion(){try{if(this._highEntropyValues.platformVersion){let s=this._highEntropyValues.platformVersion.split(".").slice(0,2).join("."),n=parseFloat(s);this._iosVersion=n;return}let{userAgent:e}=window.navigator,t=e.match(/OS (\d+(_\d+)?)/i);if(!t)return;let i=t[1].replace(/_/g,".");if(!i)return;let r=parseFloat(i);if(isNaN(r))return;this._iosVersion=r}catch(e){console.error(e)}}};var Tn=class{get isTouch(){return typeof this._maxTouchPoints=="number"?this._maxTouchPoints>1:"ontouchstart"in window}get maxTouchPoints(){return this._maxTouchPoints}get height(){return this._height}get width(){return this._width}get screenHeight(){return this._screenHeight}get screenWidth(){return this._screenWidth}get pixelRatio(){return this._pixelRatio}get isHDR(){return this._isHdr}get colorDepth(){return this._colorDepth}detect(){let{maxTouchPoints:e}=navigator;try{this._maxTouchPoints=e??0,this._isHdr=!!matchMedia("(dynamic-range: high)")?.matches,this._colorDepth=screen.colorDepth}catch(t){console.error(t)}try{this._pixelRatio=window.devicePixelRatio||1,this._height=screen.height,this._width=screen.width,this._height=screen.height,this._screenHeight=this._height*this._pixelRatio,this._screenWidth=this._width*this._pixelRatio}catch(t){console.error(t)}}};var Ue=()=>window.ManagedMediaSource||window.MediaSource,ir=()=>!!(window.ManagedMediaSource&&window.ManagedSourceBuffer?.prototype?.appendBuffer),jg=()=>!!(window.MediaSource&&window.SourceBuffer?.prototype?.appendBuffer),In=()=>window.ManagedMediaSource?new ManagedMediaSource:new MediaSource;var DL=document.createElement("video"),CL='video/mp4; codecs="avc1.42000a,mp4a.40.2"',BL='video/mp4; codecs="hev1.1.6.L93.B0"',Qg='video/webm; codecs="vp09.00.10.08"',Wg='video/webm; codecs="av01.0.00M.08"',VL='audio/mp4; codecs="mp4a.40.2"',_L='audio/webm; codecs="opus"',Gg,OL=async()=>{if(!window.navigator.mediaCapabilities)return;let a={type:"media-source",video:{contentType:"video/webm",width:1280,height:720,bitrate:1e6,framerate:30}},[e,t]=await Promise.all([window.navigator.mediaCapabilities.decodingInfo({...a,video:{...a.video,contentType:Wg}}),window.navigator.mediaCapabilities.decodingInfo({...a,video:{...a.video,contentType:Qg}})]);Gg={DASH_WEBM_AV1:e,DASH_WEBM:t}};OL().catch(a=>{console.log(DL),console.error(a)});var En=class{constructor(e,t){this._deviceChecker=e,this._browserChecker=t}get protocols(){return this._protocols}get containers(){return this._containers}get codecs(){return this._codecs}get webmDecodingInfo(){return Gg}get supportedCodecs(){return Object.keys(this._codecs).filter(e=>this._codecs[e])}get nativeHlsSupported(){return this._nativeHlsSupported}detect(){this._video=document.createElement("video");try{this._protocols={mms:ir(),mse:jg(),hls:!!(this._video.canPlayType?.("application/x-mpegurl")||this._video.canPlayType?.("vnd.apple.mpegURL")),webrtc:!!window.RTCPeerConnection,ws:!!window.WebSocket},this._containers={mp4:!!this._video.canPlayType?.("video/mp4"),webm:!!this._video.canPlayType?.("video/webm"),cmaf:!0};let e=!!Ue()?.isTypeSupported?.(CL),t=!!Ue()?.isTypeSupported?.(BL),i=!!Ue()?.isTypeSupported?.(VL);this._codecs={h264:e,h265:t,vp9:!!Ue()?.isTypeSupported?.(Qg),av1:!!Ue()?.isTypeSupported?.(Wg),aac:i,opus:!!Ue()?.isTypeSupported?.(_L),mpeg:(e||t)&&i},this._nativeHlsSupported=this._protocols.hls&&this._containers.mp4}catch(e){console.error(e)}try{this.destroyVideoElement()}catch(e){console.error("Error destroying video element:",e)}}destroyVideoElement(){if(!this._video)return;if(this._video.pause(),this._video.currentTime=0,this._video.removeAttribute("src"),this._video.src="",this._video.load(),this._video.remove){this._video.remove(),this._video=null;return}this._video.parentNode&&this._video.parentNode.removeChild(this._video);let e=this._video.cloneNode(!1);this._video.parentNode?.replaceChild(e,this._video),this._video=null}};var zg="audio/mpeg",xn=class{supportMp3(){return this._codecs.mp3&&this._containers.mpeg}detect(){this._audio=document.createElement("audio");try{this._containers={mpeg:!!this._audio.canPlayType?.(zg)},this._codecs={mp3:!!Ue()?.isTypeSupported?.(zg)}}catch(e){console.error(e)}try{this.destroyAudioElement()}catch(e){console.error("Error destroying audio element:",e)}}destroyAudioElement(){if(!this._audio)return;if(this._audio.pause(),this._audio.currentTime=0,this._audio.removeAttribute("src"),this._audio.src="",this._audio.load(),this._audio.remove){this._audio.remove(),this._audio=null;return}this._audio.parentNode&&this._audio.parentNode.removeChild(this._audio);let e=this._audio.cloneNode(!1);this._audio.parentNode?.replaceChild(e,this._audio),this._audio=null}};import{ValueSubject as FL}from"@vkontakte/videoplayer-shared/es2024";var Ul=class{constructor(){this.isInited$=new FL(!1);this._displayChecker=new Tn,this._deviceChecker=new yn(this._displayChecker),this._browserChecker=new vn,this._videoChecker=new En(this._deviceChecker,this._browserChecker),this._audioChecker=new xn,this.detect()}get display(){return this._displayChecker}get device(){return this._deviceChecker}get browser(){return this._browserChecker}get video(){return this._videoChecker}get audio(){return this._audioChecker}async detect(){this._displayChecker.detect(),this._deviceChecker.detect(),this._browserChecker.detect(),this._videoChecker.detect(),this._audioChecker.detect(),this.isInited$.next(!0)}},B=new Ul;var Hl=a=>{let{containers:e,protocols:t,codecs:i,nativeHlsSupported:r}=B.video,s=(i.h264||i.h265)&&i.aac,n=t.mse||t.mms;return a.filter(u=>{switch(u){case"DASH_SEP":return n&&e.mp4&&s;case"DASH_WEBM":return n&&e.webm&&i.vp9&&i.opus;case"DASH_WEBM_AV1":return n&&e.webm&&i.av1&&i.opus;case"DASH_STREAMS":return n&&(e.mp4&&s||e.webm&&(i.vp9||i.av1)&&(i.opus||i.aac));case"DASH_LIVE":return n&&e.mp4&&s;case"DASH_LIVE_CMAF":return n&&e.mp4&&s&&e.cmaf;case"DASH_ONDEMAND":return n&&e.mp4&&s;case"HLS":case"HLS_ONDEMAND":case"HLS_FMP4":case"HLS_LIVE":case"HLS_LIVE_CMAF":return r;case"MPEG":return e.mp4;case"DASH":case"DASH_LIVE_WEBM":return!1;case"WEB_RTC_LIVE":return t.webrtc&&t.ws&&i.h264&&(e.mp4||e.webm);default:return Yg(u)}})},jl=a=>{switch(a){case"MPEG":case"DASH":case"DASH_SEP":case"DASH_ONDEMAND":case"DASH_WEBM":case"DASH_WEBM_AV1":case"DASH_STREAMS":case"HLS":case"HLS_FMP4":case"HLS_ONDEMAND":return!1;case"DASH_LIVE":case"DASH_LIVE_CMAF":case"HLS_LIVE":case"HLS_LIVE_CMAF":case"DASH_LIVE_WEBM":case"WEB_RTC_LIVE":return!0;default:return Yg(a)}},NL=a=>{let t=Object.keys(a).filter(i=>!jl(i));return Hl(t).length>0};import{assertNever as rr,assertNonNullable as bi,debounce as Kg,ErrorCategory as Xg,fromEvent as gi,isNonNullable as Jg,map as Zg,merge as eS,observableFrom as qL,Subject as UL,Subscription as Ql,timeout as HL,getHighestQuality as jL}from"@vkontakte/videoplayer-shared/es2024";var QL=5,WL=5,GL=500,tS=7e3,ca=class{constructor(e){this.subscription=new Ql;this.loadMediaTimeoutSubscription=new Ql;this.videoState=new F("stopped");this.syncPlayback=()=>{let e=this.videoState.getState(),t=this.videoState.getTransition(),i=this.params.desiredState.playbackState.getState(),r=this.params.desiredState.playbackState.getTransition(),s=this.params.desiredState.seekState.getState();if(this.log({message:`[syncPlayback] videoState: ${e}; videoTransition: ${JSON.stringify(t)}; desiredPlaybackState: ${i}; desiredPlaybackStateTransition: ${this.params.desiredState.playbackState.getTransition()}; seekState: ${JSON.stringify(s)};`}),i==="stopped"){e!=="stopped"&&(this.videoState.startTransitionTo("stopped"),this.stop());return}if(!t){if(r?.to!=="paused"&&s.state==="requested"&&e!=="stopped"){this.seek(s.position/1e3);return}switch(i){case"ready":{switch(e){case"playing":case"paused":case"ready":break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:rr(e)}break}case"playing":{switch(e){case"playing":break;case"paused":this.videoState.startTransitionTo("playing"),this.params.connection.remotePlayerController.playOrPause();break;case"ready":this.videoState.startTransitionTo("playing"),this.params.connection.remotePlayerController.playOrPause();break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:rr(e)}break}case"paused":{switch(e){case"playing":this.videoState.startTransitionTo("paused"),this.params.connection.remotePlayerController.playOrPause();break;case"paused":break;case"ready":this.videoState.startTransitionTo("paused"),this.videoState.setState("paused");break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:rr(e)}break}default:rr(i)}}};this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastProvider"),this.log({message:`constructor, format: ${e.format}`}),this.params.output.isLive$.next(jl(e.format)),this.params.output.isAudioAvailable$.next(!0),this.handleRemoteVolumeChange({volume:this.params.connection.remotePlayer.volumeLevel,muted:this.params.connection.remotePlayer.isMuted});let t=this.params.connection.session.getMediaSession();t&&this.restoreSession(t),this.subscribe()}destroy(){this.log({message:"[destroy]"}),this.subscription.unsubscribe()}subscribe(){this.subscription.add(this.loadMediaTimeoutSubscription);let e=new Ql;this.subscription.add(e),this.subscription.add(eS(this.videoState.stateChangeStarted$.pipe(Zg(r=>`stateChangeStarted$ ${JSON.stringify(r)}`)),this.videoState.stateChangeEnded$.pipe(Zg(r=>`stateChangeEnded$ ${JSON.stringify(r)}`))).subscribe(r=>this.log({message:`[videoState] ${r}`})));let t=(r,s)=>this.subscription.add(r.subscribe(s));if(this.params.output.isLive$.getValue())this.params.output.position$.next(0),this.params.output.duration$.next(0);else{let r=new UL;e.add(r.pipe(Kg(GL)).subscribe(()=>{this.params.output.seekedEvent$.next()}));let s=NaN;e.add(gi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED).subscribe(n=>{this.logRemoteEvent(n);let u=n.value;this.params.output.position$.next(u),(this.params.desiredState.seekState.getState().state==="applying"||Math.abs(u-s)>QL)&&r.next(u),s=u})),e.add(gi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe(n=>{this.logRemoteEvent(n),this.params.output.duration$.next(n.value)}))}t(gi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemoteReady():(this.handleRemoteStop(),e.unsubscribe())}),t(gi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemotePause():this.handleRemotePlay()}),t(gi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED),r=>{this.logRemoteEvent(r);let{remotePlayer:s}=this.params.connection,n=r.value,u=this.params.output.isBuffering$.getValue(),o=n===chrome.cast.media.PlayerState.BUFFERING;switch(u!==o&&this.params.output.isBuffering$.next(o),n){case chrome.cast.media.PlayerState.IDLE:!this.params.output.isLive$.getValue()&&s.duration-s.currentTime<WL&&this.params.output.endedEvent$.next(),this.handleRemoteStop(),P(this.params.desiredState.playbackState,"stopped");break;case chrome.cast.media.PlayerState.PAUSED:{this.handleRemotePause();break}case chrome.cast.media.PlayerState.PLAYING:this.handleRemotePlay();break;case chrome.cast.media.PlayerState.BUFFERING:break;default:rr(n)}}),t(gi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({volume:r.value})}),t(gi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({muted:r.value})});let i=eS(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekState.stateChangeEnded$,this.videoState.stateChangeEnded$,qL(["init"])).pipe(Kg(0));t(i,this.syncPlayback)}restoreSession(e){this.log({message:"restoreSession"});let{remotePlayer:t}=this.params.connection;if(e.playerState!==chrome.cast.media.PlayerState.IDLE){t.isPaused?(this.videoState.setState("paused"),P(this.params.desiredState.playbackState,"paused")):(this.videoState.setState("playing"),P(this.params.desiredState.playbackState,"playing"));let i=this.params.output.isLive$.getValue();this.params.output.duration$.next(i?0:t.duration),this.params.output.position$.next(i?0:t.currentTime),this.params.desiredState.seekState.setState({state:"none"})}}prepare(){let e=this.params.format;this.log({message:`[prepare] format: ${e}`});let t=this.createMediaInfo(e),i=this.createLoadRequest(t);this.loadMedia(i)}handleRemotePause(){let e=this.videoState.getState();(this.videoState.getTransition()?.to==="paused"||e==="playing")&&(this.videoState.setState("paused"),P(this.params.desiredState.playbackState,"paused"))}handleRemotePlay(){let e=this.videoState.getState();(this.videoState.getTransition()?.to==="playing"||e==="paused")&&(this.videoState.setState("playing"),P(this.params.desiredState.playbackState,"playing"))}handleRemoteReady(){this.videoState.getTransition()?.to==="ready"&&this.videoState.setState("ready"),this.params.desiredState.playbackState.getTransition()?.to==="ready"&&P(this.params.desiredState.playbackState,"ready")}handleRemoteStop(){this.videoState.getState()!=="stopped"&&this.videoState.setState("stopped")}handleRemoteVolumeChange(e){let t=this.params.output.volume$.getValue(),i={volume:e.volume??t.volume,muted:e.muted??t.muted};(i.volume!==t.volume||i.muted!==i.muted)&&this.params.output.volume$.next(i)}seek(e){this.params.output.willSeekEvent$.next();let{remotePlayer:t,remotePlayerController:i}=this.params.connection;t.currentTime=e,i.seek()}stop(){let{remotePlayerController:e}=this.params.connection;e.stop()}createMediaInfo(e){let t=this.params.source,i,r,s;switch(e){case"MPEG":{let l=t[e];bi(l);let c=jL(Object.keys(l));bi(c);let p=l[c];bi(p),i=p,r="video/mp4",s=chrome.cast.media.StreamType.BUFFERED;break}case"HLS":case"HLS_FMP4":case"HLS_ONDEMAND":{let l=t[e];bi(l),i=l.url,r="application/x-mpegurl",s=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_SEP":case"DASH_ONDEMAND":case"DASH_WEBM":case"DASH_WEBM_AV1":case"DASH_STREAMS":{let l=t[e];bi(l),i=l.url,r="application/dash+xml",s=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_LIVE_CMAF":{let l=t[e];bi(l),i=l.url,r="application/dash+xml",s=chrome.cast.media.StreamType.LIVE;break}case"HLS_LIVE":case"HLS_LIVE_CMAF":{let l=t[e];bi(l),i=se(l.url),r="application/x-mpegurl",s=chrome.cast.media.StreamType.LIVE;break}case"DASH_LIVE":case"WEB_RTC_LIVE":{let l="Unsupported format for Chromecast",c=new Error(l);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",category:Xg.VIDEO_PIPELINE,message:l,thrown:c}),c}case"DASH":case"DASH_LIVE_WEBM":throw new Error(`${e} is no longer supported`);default:return rr(e)}let n=new chrome.cast.media.MediaInfo(this.params.meta.videoId??i,r);n.contentUrl=i,n.streamType=s,n.metadata=new chrome.cast.media.GenericMediaMetadata;let{title:u,subtitle:o}=this.params.meta;return Jg(u)&&(n.metadata.title=u),Jg(o)&&(n.metadata.subtitle=o),n}createLoadRequest(e){let t=new chrome.cast.media.LoadRequest(e);t.autoplay=!1;let i=this.params.desiredState.seekState.getState();return i.state==="applying"||i.state==="requested"?t.currentTime=this.params.output.isLive$.getValue()?0:i.position/1e3:t.currentTime=0,t}loadMedia(e){let t=this.params.connection.session.loadMedia(e),i=new Promise((r,s)=>{this.loadMediaTimeoutSubscription.add(HL(tS).subscribe(()=>s(`timeout(${tS})`)))});(0,iS.default)(Promise.race([t,i]).then(()=>{this.log({message:`[loadMedia] completed, format: ${this.params.format}`}),this.params.desiredState.seekState.getState().state==="applying"&&this.params.output.seekedEvent$.next(),this.handleRemoteReady()},r=>{let s=`[prepare] loadMedia failed, format: ${this.params.format}, reason: ${r}`;this.log({message:s}),this.params.output.error$.next({id:"ChromecastProvider.loadMedia",category:Xg.VIDEO_PIPELINE,message:s,thrown:r})}),()=>{this.loadMediaTimeoutSubscription.unsubscribe()})}logRemoteEvent(e){this.log({message:`[remoteEvent] ${JSON.stringify(e)}`})}};var cc=C(Ee(),1);import{clearVideoElement as aS}from"@vkontakte/videoplayer-shared/es2024";import{clearVideoElement as zL}from"@vkontakte/videoplayer-shared/es2024";var rS=a=>{try{a.pause(),a.playbackRate=0,zL(a),a.remove()}catch(e){console.error(e)}};import{fromEvent as YL,Subscription as KL}from"@vkontakte/videoplayer-shared/es2024";var Wl=class{constructor(){this.attribute="data-pool-reused"}get(e){return e.hasAttribute(this.attribute)}set(e,t){e.toggleAttribute(this.attribute,t)}delete(e){e.removeAttribute(this.attribute)}},Gl=window.WeakMap?new WeakMap:new Wl,zl=window.WeakMap?new WeakMap:new Map,XL=(a,e=20)=>{let t=0;return YL(a,"ratechange").subscribe(i=>{t++,t>=e&&(a.currentTime=a.currentTime,t=0)})},$e=(a,{audioVideoSyncRate:e,disableYandexPiP:t})=>{let i=a.querySelector("video"),r=!!i;i?aS(i):(i=document.createElement("video"),a.appendChild(i)),Gl.set(i,r);let s=new KL;return s.add(XL(i,e)),zl.set(i,s),i.setAttribute("crossorigin","anonymous"),i.setAttribute("playsinline","playsinline"),t&&i.setAttribute("x-yandex-pip","false"),i.controls=!1,i.setAttribute("poster","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),i},Me=a=>{zl.get(a)?.unsubscribe(),zl.delete(a);let t=Gl.get(a);Gl.delete(a),t?aS(a):rS(a)};var Kl=C(ci(),1);import{assertNonNullable as pa,isNonNullable as bt,isNullable as e$,fromEvent as ar,merge as sS,observableFrom as nS,filterChanged as oS,map as ha,Subject as uS,Subscription as t$,ValueSubject as i$,ErrorCategory as r$}from"@vkontakte/videoplayer-shared/es2024";import{isNonNullable as Yl,isNullable as JL,Subscription as ZL}from"@vkontakte/videoplayer-shared/es2024";var wn=(a,e,t,{equal:i=(n,u)=>n===u,changed$:r,onError:s}={})=>{let n=a.getState(),u=e(),o=JL(r),l=new ZL;return r&&l.add(r.subscribe(c=>{let p=a.getState();i(c,p)&&a.setState(c)},s)),i(u,n)||(t(n),o&&a.setState(n)),l.add(a.stateChangeStarted$.subscribe(c=>{t(c.to),o&&a.setState(c.to)},s)),l},mt=(a,e,t)=>wn(e,()=>a.loop,i=>{Yl(i)&&(a.loop=i)},{onError:t}),De=(a,e,t,i)=>wn(e,()=>({muted:a.muted,volume:a.volume}),r=>{Yl(r)&&(a.muted=r.muted,a.volume=r.volume)},{equal:(r,s)=>r===s||r?.muted===s?.muted&&r?.volume===s?.volume,changed$:t,onError:i}),ze=(a,e,t,i)=>wn(e,()=>a.playbackRate,r=>{Yl(r)&&(a.playbackRate=r)},{changed$:t,onError:i}),da=wn;var a$=a=>["__",a.language,a.label].join("|"),s$=(a,e)=>{if(a.id===e)return!0;let[t,i,r]=e.split("|");return a.language===i&&a.label===r},Xl=class a{constructor(e){this.available$=new uS;this.current$=new i$(void 0);this.error$=new uS;this.subscription=new t$;this.externalTracks=new Map;this.internalTracks=new Map;this.baseURL=e}connect(e,t,i){this.video=e,this.cueSettings=t.textTrackCuesSettings,this.subscribe();let r=s=>{this.error$.next({id:"TextTracksManager",category:r$.WTF,message:"Generic HtmlVideoTextTrackManager error",thrown:s})};this.subscription.add(this.available$.subscribe(i.availableTextTracks$)),this.subscription.add(this.current$.subscribe(i.currentTextTrack$)),this.subscription.add(this.error$.subscribe(i.error$)),this.subscription.add(da(t.internalTextTracks,()=>(0,Kl.default)(this.internalTracks),s=>{bt(s)&&this.setInternal(s)},{equal:(s,n)=>bt(s)&&bt(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe(ha(s=>s.filter(({type:n})=>n==="internal"))),onError:r})),this.subscription.add(da(t.externalTextTracks,()=>(0,Kl.default)(this.externalTracks),s=>{bt(s)&&this.setExternal(s)},{equal:(s,n)=>bt(s)&&bt(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe(ha(s=>s.filter(({type:n})=>n==="external"))),onError:r})),this.subscription.add(da(t.currentTextTrack,()=>{if(this.video)return;let s=this.htmlTextTracksAsArray().find(({mode:n})=>n==="showing");return s&&this.htmlTextTrackToITextTrack(s).id},s=>this.select(s),{changed$:this.current$,onError:r})),this.subscription.add(da(t.textTrackCuesSettings,()=>({}),()=>{if(this.video)for(let s of this.htmlTextTracksAsArray())this.applyCueSettings(s.cues),this.applyCueSettings(s.activeCues)}))}subscribe(){pa(this.video);let{textTracks:e}=this.video;this.subscription.add(ar(e,"addtrack").subscribe(()=>{let i=this.current$.getValue();i&&this.select(i)})),this.subscription.add(sS(ar(e,"addtrack"),ar(e,"removetrack"),nS(["init"])).pipe(ha(()=>this.htmlTextTracksAsArray().map(i=>this.htmlTextTrackToITextTrack(i))),oS((i,r)=>i.length===r.length&&i.every(({id:s},n)=>s===r[n].id))).subscribe(this.available$)),this.subscription.add(sS(ar(e,"change"),nS(["init"])).pipe(ha(()=>this.htmlTextTracksAsArray().find(({mode:i})=>i==="showing")),ha(i=>i&&this.htmlTextTrackToITextTrack(i).id),oS()).subscribe(this.current$));let t=i=>this.applyCueSettings(i.target?.activeCues??null);this.subscription.add(ar(e,"addtrack").subscribe(i=>{i.track?.addEventListener("cuechange",t);let r=s=>{let n=s.target?.cues??null;n&&n.length&&(this.applyCueSettings(s.target?.cues??null),s.target?.removeEventListener("cuechange",r))};i.track?.addEventListener("cuechange",r)})),this.subscription.add(ar(e,"removetrack").subscribe(i=>{i.track?.removeEventListener("cuechange",t)}))}applyCueSettings(e){if(!e||!e.length)return;let t=this.cueSettings.getState();for(let i of Array.from(e)){let r=i;bt(t.align)&&(r.align=t.align),bt(t.position)&&(r.position=t.position),bt(t.size)&&(r.size=t.size),bt(t.line)&&(r.line=t.line)}}htmlTextTracksAsArray(e=!1){pa(this.video);let t=[...this.video.textTracks];return e?t:t.filter(a.isHealthyTrack)}htmlTextTrackToITextTrack(e){let{language:t,label:i}=e,r=e.id?e.id:a$(e),s=this.externalTracks.has(r),n=(s?this.externalTracks.get(r)?.isAuto:this.internalTracks.get(r)?.isAuto)??r.includes("auto");return s?{id:r,type:"external",isAuto:n,language:t,label:i,url:this.externalTracks.get(r)?.url}:{id:r,type:"internal",isAuto:n,language:t,label:i,url:this.internalTracks.get(r)?.url}}static isHealthyTrack(e){return!(e.kind==="metadata"||e.groupId||e.id===""&&e.label===""&&e.language==="")}setExternal(e){this.internalTracks.size>0&&Array.from(this.internalTracks).forEach(([,t])=>this.detach(t)),e.filter(({id:t})=>!this.externalTracks.has(t)).forEach(t=>this.attach(t)),Array.from(this.externalTracks).filter(([t])=>!e.find(i=>i.id===t)).forEach(([,t])=>this.detach(t))}setInternal(e){let t=[...this.externalTracks];e.filter(({id:i,language:r,isAuto:s})=>!this.internalTracks.has(i)&&!t.some(([,n])=>n.language===r&&n.isAuto===s)).forEach(i=>this.attach(i)),Array.from(this.internalTracks).filter(([i])=>!e.find(r=>r.id===i)).forEach(([,i])=>this.detach(i))}select(e){pa(this.video);for(let t of this.htmlTextTracksAsArray(!0))t.mode="showing";for(let t of this.htmlTextTracksAsArray(!0))(e$(e)||!s$(t,e))&&(t.mode="disabled")}destroy(){if(this.subscription.unsubscribe(),this.video)for(let e of Array.from(this.video.getElementsByTagName("track"))){let t=e.getAttribute("id");t&&this.externalTracks.has(t)&&this.video.removeChild(e)}this.externalTracks.clear()}attach(e){pa(this.video);let t=document.createElement("track");this.baseURL?t.setAttribute("src",new URL(e.url,this.baseURL).toString()):t.setAttribute("src",e.url),t.setAttribute("id",e.id),e.label&&t.setAttribute("label",e.label),e.language&&t.setAttribute("srclang",e.language),e.type==="external"?this.externalTracks.set(e.id,e):e.type==="internal"&&this.internalTracks.set(e.id,e),this.video.appendChild(t)}detach(e){pa(this.video);let t=Array.prototype.find.call(this.video.getElementsByTagName("track"),i=>i.getAttribute("id")===e.id);t&&this.video.removeChild(t),e.type==="external"?this.externalTracks.delete(e.id):e.type==="internal"&&this.internalTracks.delete(e.id)}},Ye=Xl;var Si=class{constructor(){this.pausedTime=0;this.streamOffset=0;this.pauseTimestamp=0}getTotalPausedTime(){return this.pausedTime+this.getCurrentPausedTime()}getCurrentPausedTime(){return this.pauseTimestamp>0?Date.now()-this.pauseTimestamp:0}getStreamOffset(){return this.streamOffset}getTotalOffset(){return this.getTotalPausedTime()+this.streamOffset}pause(){this.pauseTimestamp===0&&(this.pauseTimestamp=Date.now())}resume(){this.pauseTimestamp>0&&(this.pausedTime+=this.getCurrentPausedTime(),this.pauseTimestamp=0)}resetTo(e,t=!1){this.streamOffset=e,this.pauseTimestamp=0,this.pausedTime=0,t&&this.pause()}};var lS=a=>{let e=a;for(;!(e instanceof Document)&&!(e instanceof ShadowRoot)&&e!==null;)e=e?.parentNode;return e??void 0},Jl=a=>{let e=lS(a);return!!(e&&e.fullscreenElement&&e.fullscreenElement===a)},cS=a=>{let e=lS(a);return!!(e&&e.pictureInPictureElement&&e.pictureInPictureElement===a)};import{fromEvent as xe,map as gt,merge as An,filterChanged as pS,isNonNullable as hS,Subject as o$,filter as Zl,mapTo as ec,combine as u$,once as l$,shareReplay as we,throttle as c$,ErrorCategory as d$,ValueSubject as fS,Subscription as p$}from"@vkontakte/videoplayer-shared/es2024";var n$=3,dS=(a,e,t=n$)=>{let i=0,r=0;for(let s=0;s<a.length;s++){let n=a.start(s),u=a.end(s);if(n<=e&&e<=u){if(i=n,r=u,!t)return{from:i,to:r};for(let o=s-1;o>=0;o--)a.end(o)+t>=i&&(i=a.start(o));for(let o=s+1;o<a.length;o++)a.start(o)-t<=r&&(r=a.end(o))}}return{from:i,to:r}};var Ce=a=>{let e=T=>xe(a,T).pipe(ec(void 0),we(1)),t=new p$,i=()=>t.unsubscribe(),r=An(xe(a,"progress"),xe(a,"timeupdate")).pipe(gt(()=>dS(a.buffered,a.currentTime)),we(1)),s=B.browser.isSafari?u$({play:e("play").pipe(l$()),playing:e("playing")}).pipe(ec(void 0),we(1)):e("playing"),n=xe(a,"volumechange").pipe(gt(()=>({muted:a.muted,volume:a.volume})),we(1)),u=xe(a,"ratechange").pipe(gt(()=>a.playbackRate),we(1)),o=xe(a,"error").pipe(Zl(()=>!!(a.error||a.played.length)),gt(()=>{let T=a.error;return{id:T?`MediaError#${T.code}`:"HtmlVideoError",category:d$.VIDEO_PIPELINE,message:T?T.message:"Error event from HTML video element",thrown:a.error??void 0}}),we(1)),l=xe(a,"timeupdate").pipe(gt(()=>a.currentTime),we(1)),c=["waiting","seeking","seeked","timeupdate"],p=new o$,d=.3,h;t.add(An(...c.map(T=>xe(a,T))).subscribe(T=>{let q=a.currentTime;a.loop&&hS(h)&&hS(q)&&h>=a.duration-d&&q<=d&&p.next(h),h=q}));let f=e("pause").pipe(Zl(()=>!a.error&&h!==a.duration),we(1)),b=xe(a,"enterpictureinpicture").pipe(we(1)),S=xe(a,"leavepictureinpicture").pipe(we(1)),g=new fS(cS(a));t.add(b.subscribe(()=>g.next(!0))),t.add(S.subscribe(()=>g.next(!1)));let I=new fS(Jl(a)),x=xe(a,"fullscreenchange").pipe(we(1));t.add(x.pipe(gt(()=>Jl(a))).subscribe(I));let y=.1,w=1e3,D=xe(a,"timeupdate").pipe(gt(T=>a.duration-a.currentTime<y),pS(),we(1)),L=An(D.pipe(Zl(T=>!a.loop&&T)),xe(a,"ended")).pipe(c$(w),ec(void 0),we(1)),R=An(...["waiting","pause","canplay","play","canplaythrough","playing","seeking","seeked","ended"].map(T=>xe(a,T)),D.pipe(gt(T=>({type:T?"ended":"unknown"})))).pipe(gt(T=>B.browser.isFirefox&&T.type==="ended"?a.readyState<2:a.readyState<3),pS(),we(1));return{playing$:s,pause$:f,canplay$:e("canplay"),ended$:L,looped$:p,error$:o,seeked$:e("seeked"),seeking$:e("seeking"),progress$:e("progress"),loadStart$:e("loadstart"),loadedMetadata$:e("loadedmetadata"),loadedData$:e("loadeddata"),timeUpdate$:l,durationChange$:xe(a,"durationchange").pipe(gt(()=>a.duration),we(1)),isBuffering$:R,currentBuffer$:r,volumeState$:n,playbackRateState$:u,inPiP$:g,inFullscreen$:I,enterPip$:b,leavePip$:S,destroy:i}};import{VideoQuality as Ht}from"@vkontakte/videoplayer-shared/es2024";var jt=a=>{switch(a){case"mobile":return Ht.Q_144P;case"lowest":return Ht.Q_240P;case"low":return Ht.Q_360P;case"sd":case"medium":return Ht.Q_480P;case"hd":case"high":return Ht.Q_720P;case"fullhd":case"full":return Ht.Q_1080P;case"quadhd":case"quad":return Ht.Q_1440P;case"ultrahd":case"ultra":return Ht.Q_2160P}};var Pe=C(at(),1),rc=C(Ee(),1),vi=C(Wi(),1);import{isNonNullable as K,isNullable as $n,now as LS,isHigher as Mn,isHigherOrEqual as nr,isInvariantQuality as Dn,isLowerOrEqual as or,videoSizeToQuality as $S,assertNotEmptyArray as Cn,assertNonNullable as MS}from"@vkontakte/videoplayer-shared/es2024";var tc=!1,kt={},TS=a=>{tc=a},IS=()=>{kt={}},ES=a=>{a(kt)},fa=(a,e)=>{tc&&(kt.meta=kt.meta??{},kt.meta[a]=e)},Ae=class{constructor(e){this.name=e}next(e){if(!tc)return;kt.series=kt.series??{};let t=kt.series[this.name]??[];t.push([Date.now(),e]),kt.series[this.name]=t}};import{isHigher as T$,isHigherOrEqual as tq,isLower as xS,isLowerOrEqual as iq,isNonNullable as Pn,isNullable as I$,videoHeightToQuality as kn}from"@vkontakte/videoplayer-shared/es2024";function ic(a,e,t){return!a.max&&a.min===e?"high_quality":!a.min&&a.max===t?"traffic_saving":"unknown"}function Rn(a,e,t){return!!a&&ic(a,e,t)==="high_quality"}function sr(a,e,t){return I$(a)||Pn(a.min)&&Pn(a.max)&&xS(a.max,a.min)||Pn(a.min)&&e&&T$(a.min,e)||Pn(a.max)&&t&&xS(a.max,t)}function wS({limits:a,highestAvailableHeight:e,lowestAvailableHeight:t}){return sr({max:a?.max?kn(a.max):void 0,min:a?.min?kn(a.min):void 0},e?kn(e):void 0,t?kn(t):void 0)}var DS=new Ae("best_bitrate"),Bn=(a,e,t)=>(e-t)*Math.pow(2,-10*a)+t;var ur=a=>(e,t)=>a*(Number(e.bitrate)-Number(t.bitrate)),Qt=class{constructor(){this.history={}}recordSelection(e){this.history[e.id]=LS()}recordSwitch(e){this.last=e}clear(){this.last=void 0,this.history={}}},Vn='Assertion "ABR Tracks is empty array" failed',Ln=new WeakMap,AS=new WeakMap,PS=new WeakMap,ma=(a,e,t,i)=>{let r=[...e].sort(ur(1)),s=[...t].sort(ur(1)),n=s.filter(o=>K(o.bitrate)&&K(a.bitrate)?a.bitrate/o.bitrate>i:!0),u=(0,Pe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Pe.default)(s,-1);return u&&(0,rc.default)(n,u)?u:n.length?(0,Pe.default)(n,-1):(0,Pe.default)(s,0)},ba=(a,e,t,i)=>{let r=Ln.get(e);r||(r=[...e].sort(ur(1)),Ln.set(e,r));let s=Ln.get(t);s||(s=[...t].sort(ur(1)),Ln.set(t,s));let n=PS.get(a);n||(n=s.filter(o=>K(o.bitrate)&&K(a.bitrate)?a.bitrate/o.bitrate>i:!0),PS.set(a,n));let u=(0,Pe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Pe.default)(s,-1);return u&&(0,rc.default)(n,u)?u:n.length?(0,Pe.default)(n,-1):(0,Pe.default)(s,0)},kS=a=>"quality"in a,_n=(a,e,t,i)=>{let r=K(i?.last?.bitrate)&&K(t?.bitrate)&&i.last.bitrate<t.bitrate?a.trackCooldownIncreaseQuality:a.trackCooldownDecreaseQuality,s=t&&i&&i.history[t.id]&&LS()-i.history[t.id]<=r&&(!i.last||t.id!==i.last.id);if(t?.id&&i&&!s&&i.recordSelection(t),s&&i?.last){let n=i.last;i?.recordSwitch(n);let u=kS(n)?"video":"audio",o=kS(n)?n.quality:n.bitrate;return e({message:`
8
8
  [last ${u} selected] ${o}
9
9
  `}),n}return i?.recordSwitch(t),t},E$=(a,e)=>Math.log(e)/Math.log(a),CS=({tuning:a,container:e,limits:t,panelSize:i})=>{let r=a.containerSizeFactor;if(i)return{containerSizeLimit:i,containerSizeFactor:r};if(a.usePixelRatio&&B.display.pixelRatio){let s=B.display.pixelRatio;if(a.pixelRatioMultiplier)r*=a.pixelRatioMultiplier*(s-1)+1;else{let n=a.pixelRatioLogBase,[u=0,o=0,l=0]=a.pixelRatioLogCoefficients,c=E$(n,u*s+o)+l;Number.isFinite(c)&&(r*=c)}}return Rn(t,a.highQualityLimit,a.trafficSavingLimit)&&(r*=2),{containerSizeLimit:a.limitByContainer&&e&&e.width>0&&e.height>0?{width:e.width*r,height:e.height*r}:void 0,containerSizeFactor:r}},RS=new WeakMap,St=(a,{container:e,estimatedThroughput:t,tuning:i,limits:r,reserve:s=0,forwardBufferHealth:n,playbackRate:u,current:o,history:l,visible:c,droppedVideoMaxQualityLimit:p,stallsVideoMaxQualityLimit:d,stallsPredictedThroughput:h,abrLogger:f,panelSize:b})=>{Cn(a,Vn);let{containerSizeFactor:S,containerSizeLimit:g}=CS({container:e,tuning:i,limits:r,panelSize:b}),I=i.considerPlaybackRate&&K(u)?u:1,x=RS.get(a);x||(x=a.filter(v=>!Dn(v.quality)).sort((v,E)=>Mn(v.quality,E.quality)?-1:1),RS.set(a,x));let y=(0,Pe.default)(x,-1)?.quality,w=(0,Pe.default)(x,0)?.quality,D=sr(r,w,y),L=I*Bn(n??.5,i.bitrateFactorAtEmptyBuffer,i.bitrateFactorAtFullBuffer),A={},R=null;for(let v of x){let E=!0;if(g)if(v.size)E=v.size.width<=g.width&&v.size.height<=g.height;else{let j=g&&$S(g);E=j?or(v.quality,j):!0}if(!E){A[v.quality]="FitsContainer";continue}let z=h||t,M=K(z)&&isFinite(z)&&K(v.bitrate)?z-s>=v.bitrate*L:!0,H=Rn(r,i.highQualityLimit,i.trafficSavingLimit)&&r?.min===v.quality;if(!M&&!H){A[v.quality]="FitsThroughput";continue}if(i.lazyQualitySwitch&&K(i.minBufferToSwitchUp)&&o&&!Dn(o.quality)&&(n??0)<i.minBufferToSwitchUp&&Mn(v.quality,o.quality)){A[v.quality]="Buffer";continue}if(!!p&&nr(v.quality,p)&&!H){A[v.quality]="DroppedFramesLimit";continue}if(!!d&&nr(v.quality,d)&&!H){A[v.quality]="StallsLimit";continue}let fe=D||($n(r?.max)||or(v.quality,r.max))&&($n(r?.min)||nr(v.quality,r.min)),me=K(c)&&!c?or(v.quality,i.backgroundVideoQualityLimit):!0;if(!fe||!me){A[v.quality]="FitsQualityLimits";continue}R||(R=v)}R&&R.bitrate&&DS.next(R.bitrate);let T=R??(0,Pe.default)(x,-1)??a[0],q=l?.last,$=_n(i,f,T,l);return K(l)&&$.quality!==q?.quality&&f({message:`
10
10
  [VIDEO TRACKS ABR]