@vkontakte/videoplayer-core 2.0.141-dev.752fa0a9.0 → 2.0.141-dev.95df362c.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/esnext.cjs.js CHANGED
@@ -1,10 +1,10 @@
1
1
  /**
2
- * @vkontakte/videoplayer-core v2.0.141-dev.752fa0a9.0
3
- * Mon, 22 Sep 2025 10:07:10 GMT
2
+ * @vkontakte/videoplayer-core v2.0.141-dev.95df362c.0
3
+ * Tue, 23 Sep 2025 09:38:09 GMT
4
4
  * https://st.mycdn.me/static/vkontakte-videoplayer/2-0-141/doc/
5
5
  */
6
- "use strict";var Lv=Object.create;var hs=Object.defineProperty;var $v=Object.getOwnPropertyDescriptor;var Mv=Object.getOwnPropertyNames;var Dv=Object.getPrototypeOf,Cv=Object.prototype.hasOwnProperty;var g=(a,e)=>()=>(e||a((e={exports:{}}).exports,e),e.exports),Bv=(a,e)=>{for(var t in e)hs(a,t,{get:e[t],enumerable:!0})},rc=(a,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Mv(e))!Cv.call(a,r)&&r!==t&&hs(a,r,{get:()=>e[r],enumerable:!(i=$v(e,r))||i.enumerable});return a};var W=(a,e,t)=>(t=a!=null?Lv(Dv(a)):{},rc(e||!a||!a.__esModule?hs(t,"default",{value:a,enumerable:!0}):t,a)),Vv=a=>rc(hs({},"__esModule",{value:!0}),a);var Se=g((ao,ac)=>{"use strict";var Lr=function(a){return a&&a.Math===Math&&a};ac.exports=Lr(typeof globalThis=="object"&&globalThis)||Lr(typeof window=="object"&&window)||Lr(typeof self=="object"&&self)||Lr(typeof global=="object"&&global)||Lr(typeof ao=="object"&&ao)||function(){return this}()||Function("return this")()});var we=g((PL,sc)=>{"use strict";sc.exports=function(a){try{return!!a()}catch{return!0}}});var $r=g((kL,nc)=>{"use strict";var _v=we();nc.exports=!_v(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")})});var so=g((RL,cc)=>{"use strict";var Ov=$r(),lc=Function.prototype,oc=lc.apply,uc=lc.call;cc.exports=typeof Reflect=="object"&&Reflect.apply||(Ov?uc.bind(oc):function(){return uc.apply(oc,arguments)})});var Ae=g((LL,hc)=>{"use strict";var dc=$r(),pc=Function.prototype,no=pc.call,Fv=dc&&pc.bind.bind(no,no);hc.exports=dc?Fv:function(a){return function(){return no.apply(a,arguments)}}});var hi=g(($L,mc)=>{"use strict";var fc=Ae(),Nv=fc({}.toString),qv=fc("".slice);mc.exports=function(a){return qv(Nv(a),8,-1)}});var oo=g((ML,bc)=>{"use strict";var Uv=hi(),Hv=Ae();bc.exports=function(a){if(Uv(a)==="Function")return Hv(a)}});var ve=g((DL,gc)=>{"use strict";var uo=typeof document=="object"&&document.all;gc.exports=typeof uo>"u"&&uo!==void 0?function(a){return typeof a=="function"||a===uo}:function(a){return typeof a=="function"}});var Ke=g((CL,Sc)=>{"use strict";var jv=we();Sc.exports=!jv(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var Xe=g((BL,vc)=>{"use strict";var Qv=$r(),bs=Function.prototype.call;vc.exports=Qv?bs.bind(bs):function(){return bs.apply(bs,arguments)}});var lo=g(Ic=>{"use strict";var yc={}.propertyIsEnumerable,Tc=Object.getOwnPropertyDescriptor,Wv=Tc&&!yc.call({1:2},1);Ic.f=Wv?function(e){var t=Tc(this,e);return!!t&&t.enumerable}:yc});var Mr=g((_L,Ec)=>{"use strict";Ec.exports=function(a,e){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:e}}});var wc=g((OL,xc)=>{"use strict";var Gv=Ae(),zv=we(),Yv=hi(),co=Object,Kv=Gv("".split);xc.exports=zv(function(){return!co("z").propertyIsEnumerable(0)})?function(a){return Yv(a)==="String"?Kv(a,""):co(a)}:co});var Dr=g((FL,Ac)=>{"use strict";Ac.exports=function(a){return a==null}});var Xt=g((NL,Pc)=>{"use strict";var Xv=Dr(),Jv=TypeError;Pc.exports=function(a){if(Xv(a))throw new Jv("Can't call method on "+a);return a}});var fi=g((qL,kc)=>{"use strict";var Zv=wc(),ey=Xt();kc.exports=function(a){return Zv(ey(a))}});var Ne=g((UL,Rc)=>{"use strict";var ty=ve();Rc.exports=function(a){return typeof a=="object"?a!==null:ty(a)}});var mi=g((HL,Lc)=>{"use strict";Lc.exports={}});var Vt=g((jL,Mc)=>{"use strict";var po=mi(),ho=Se(),iy=ve(),$c=function(a){return iy(a)?a:void 0};Mc.exports=function(a,e){return arguments.length<2?$c(po[a])||$c(ho[a]):po[a]&&po[a][e]||ho[a]&&ho[a][e]}});var Cr=g((QL,Dc)=>{"use strict";var ry=Ae();Dc.exports=ry({}.isPrototypeOf)});var bi=g((WL,Vc)=>{"use strict";var ay=Se(),Cc=ay.navigator,Bc=Cc&&Cc.userAgent;Vc.exports=Bc?String(Bc):""});var mo=g((GL,Uc)=>{"use strict";var qc=Se(),fo=bi(),_c=qc.process,Oc=qc.Deno,Fc=_c&&_c.versions||Oc&&Oc.version,Nc=Fc&&Fc.v8,ht,gs;Nc&&(ht=Nc.split("."),gs=ht[0]>0&&ht[0]<4?1:+(ht[0]+ht[1]));!gs&&fo&&(ht=fo.match(/Edge\/(\d+)/),(!ht||ht[1]>=74)&&(ht=fo.match(/Chrome\/(\d+)/),ht&&(gs=+ht[1])));Uc.exports=gs});var bo=g((zL,jc)=>{"use strict";var Hc=mo(),sy=we(),ny=Se(),oy=ny.String;jc.exports=!!Object.getOwnPropertySymbols&&!sy(function(){var a=Symbol("symbol detection");return!oy(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&Hc&&Hc<41})});var go=g((YL,Qc)=>{"use strict";var uy=bo();Qc.exports=uy&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var So=g((KL,Wc)=>{"use strict";var ly=Vt(),cy=ve(),dy=Cr(),py=go(),hy=Object;Wc.exports=py?function(a){return typeof a=="symbol"}:function(a){var e=ly("Symbol");return cy(e)&&dy(e.prototype,hy(a))}});var Br=g((XL,Gc)=>{"use strict";var fy=String;Gc.exports=function(a){try{return fy(a)}catch{return"Object"}}});var wt=g((JL,zc)=>{"use strict";var my=ve(),by=Br(),gy=TypeError;zc.exports=function(a){if(my(a))return a;throw new gy(by(a)+" is not a function")}});var Vr=g((ZL,Yc)=>{"use strict";var Sy=wt(),vy=Dr();Yc.exports=function(a,e){var t=a[e];return vy(t)?void 0:Sy(t)}});var Xc=g((e$,Kc)=>{"use strict";var vo=Xe(),yo=ve(),To=Ne(),yy=TypeError;Kc.exports=function(a,e){var t,i;if(e==="string"&&yo(t=a.toString)&&!To(i=vo(t,a))||yo(t=a.valueOf)&&!To(i=vo(t,a))||e!=="string"&&yo(t=a.toString)&&!To(i=vo(t,a)))return i;throw new yy("Can't convert object to primitive value")}});var ft=g((t$,Jc)=>{"use strict";Jc.exports=!0});var td=g((i$,ed)=>{"use strict";var Zc=Se(),Ty=Object.defineProperty;ed.exports=function(a,e){try{Ty(Zc,a,{value:e,configurable:!0,writable:!0})}catch{Zc[a]=e}return e}});var _r=g((r$,ad)=>{"use strict";var Iy=ft(),Ey=Se(),xy=td(),id="__core-js_shared__",rd=ad.exports=Ey[id]||xy(id,{});(rd.versions||(rd.versions=[])).push({version:"3.43.0",mode:Iy?"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 Io=g((a$,nd)=>{"use strict";var sd=_r();nd.exports=function(a,e){return sd[a]||(sd[a]=e||{})}});var qi=g((s$,od)=>{"use strict";var wy=Xt(),Ay=Object;od.exports=function(a){return Ay(wy(a))}});var mt=g((n$,ud)=>{"use strict";var Py=Ae(),ky=qi(),Ry=Py({}.hasOwnProperty);ud.exports=Object.hasOwn||function(e,t){return Ry(ky(e),t)}});var Eo=g((o$,ld)=>{"use strict";var Ly=Ae(),$y=0,My=Math.random(),Dy=Ly(1.1.toString);ld.exports=function(a){return"Symbol("+(a===void 0?"":a)+")_"+Dy(++$y+My,36)}});var Le=g((u$,dd)=>{"use strict";var Cy=Se(),By=Io(),cd=mt(),Vy=Eo(),_y=bo(),Oy=go(),Ui=Cy.Symbol,xo=By("wks"),Fy=Oy?Ui.for||Ui:Ui&&Ui.withoutSetter||Vy;dd.exports=function(a){return cd(xo,a)||(xo[a]=_y&&cd(Ui,a)?Ui[a]:Fy("Symbol."+a)),xo[a]}});var md=g((l$,fd)=>{"use strict";var Ny=Xe(),pd=Ne(),hd=So(),qy=Vr(),Uy=Xc(),Hy=Le(),jy=TypeError,Qy=Hy("toPrimitive");fd.exports=function(a,e){if(!pd(a)||hd(a))return a;var t=qy(a,Qy),i;if(t){if(e===void 0&&(e="default"),i=Ny(t,a,e),!pd(i)||hd(i))return i;throw new jy("Can't convert object to primitive value")}return e===void 0&&(e="number"),Uy(a,e)}});var wo=g((c$,bd)=>{"use strict";var Wy=md(),Gy=So();bd.exports=function(a){var e=Wy(a,"string");return Gy(e)?e:e+""}});var Ss=g((d$,Sd)=>{"use strict";var zy=Se(),gd=Ne(),Ao=zy.document,Yy=gd(Ao)&&gd(Ao.createElement);Sd.exports=function(a){return Yy?Ao.createElement(a):{}}});var Po=g((p$,vd)=>{"use strict";var Ky=Ke(),Xy=we(),Jy=Ss();vd.exports=!Ky&&!Xy(function(){return Object.defineProperty(Jy("div"),"a",{get:function(){return 7}}).a!==7})});var Id=g(Td=>{"use strict";var Zy=Ke(),eT=Xe(),tT=lo(),iT=Mr(),rT=fi(),aT=wo(),sT=mt(),nT=Po(),yd=Object.getOwnPropertyDescriptor;Td.f=Zy?yd:function(e,t){if(e=rT(e),t=aT(t),nT)try{return yd(e,t)}catch{}if(sT(e,t))return iT(!eT(tT.f,e,t),e[t])}});var ko=g((f$,Ed)=>{"use strict";var oT=we(),uT=ve(),lT=/#|\.prototype\./,Or=function(a,e){var t=dT[cT(a)];return t===hT?!0:t===pT?!1:uT(e)?oT(e):!!e},cT=Or.normalize=function(a){return String(a).replace(lT,".").toLowerCase()},dT=Or.data={},pT=Or.NATIVE="N",hT=Or.POLYFILL="P";Ed.exports=Or});var Hi=g((m$,wd)=>{"use strict";var xd=oo(),fT=wt(),mT=$r(),bT=xd(xd.bind);wd.exports=function(a,e){return fT(a),e===void 0?a:mT?bT(a,e):function(){return a.apply(e,arguments)}}});var Ro=g((b$,Ad)=>{"use strict";var gT=Ke(),ST=we();Ad.exports=gT&&ST(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var At=g((g$,Pd)=>{"use strict";var vT=Ne(),yT=String,TT=TypeError;Pd.exports=function(a){if(vT(a))return a;throw new TT(yT(a)+" is not an object")}});var gi=g(Rd=>{"use strict";var IT=Ke(),ET=Po(),xT=Ro(),vs=At(),kd=wo(),wT=TypeError,Lo=Object.defineProperty,AT=Object.getOwnPropertyDescriptor,$o="enumerable",Mo="configurable",Do="writable";Rd.f=IT?xT?function(e,t,i){if(vs(e),t=kd(t),vs(i),typeof e=="function"&&t==="prototype"&&"value"in i&&Do in i&&!i[Do]){var r=AT(e,t);r&&r[Do]&&(e[t]=i.value,i={configurable:Mo in i?i[Mo]:r[Mo],enumerable:$o in i?i[$o]:r[$o],writable:!1})}return Lo(e,t,i)}:Lo:function(e,t,i){if(vs(e),t=kd(t),vs(i),ET)try{return Lo(e,t,i)}catch{}if("get"in i||"set"in i)throw new wT("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var ji=g((v$,Ld)=>{"use strict";var PT=Ke(),kT=gi(),RT=Mr();Ld.exports=PT?function(a,e,t){return kT.f(a,e,RT(1,t))}:function(a,e,t){return a[e]=t,a}});var Te=g((y$,Md)=>{"use strict";var Fr=Se(),LT=so(),$T=oo(),MT=ve(),DT=Id().f,CT=ko(),Qi=mi(),BT=Hi(),Wi=ji(),$d=mt();_r();var VT=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 LT(a,this,arguments)};return e.prototype=a.prototype,e};Md.exports=function(a,e){var t=a.target,i=a.global,r=a.stat,s=a.proto,n=i?Fr:r?Fr[t]:Fr[t]&&Fr[t].prototype,u=i?Qi:Qi[t]||Wi(Qi,t,{})[t],o=u.prototype,l,p,d,c,h,m,b,S,v;for(c in e)l=CT(i?c:t+(r?".":"#")+c,a.forced),p=!l&&n&&$d(n,c),m=u[c],p&&(a.dontCallGetSet?(v=DT(n,c),b=v&&v.value):b=n[c]),h=p&&b?b:e[c],!(!l&&!s&&typeof m==typeof h)&&(a.bind&&p?S=BT(h,Fr):a.wrap&&p?S=VT(h):s&&MT(h)?S=$T(h):S=h,(a.sham||h&&h.sham||m&&m.sham)&&Wi(S,"sham",!0),Wi(u,c,S),s&&(d=t+"Prototype",$d(Qi,d)||Wi(Qi,d,{}),Wi(Qi[d],c,h),a.real&&o&&(l||!o[c])&&Wi(o,c,h)))}});var ys=g((T$,Cd)=>{"use strict";var _T=Io(),OT=Eo(),Dd=_T("keys");Cd.exports=function(a){return Dd[a]||(Dd[a]=OT(a))}});var Vd=g((I$,Bd)=>{"use strict";var FT=we();Bd.exports=!FT(function(){function a(){}return a.prototype.constructor=null,Object.getPrototypeOf(new a)!==a.prototype})});var Ts=g((E$,Od)=>{"use strict";var NT=mt(),qT=ve(),UT=qi(),HT=ys(),jT=Vd(),_d=HT("IE_PROTO"),Co=Object,QT=Co.prototype;Od.exports=jT?Co.getPrototypeOf:function(a){var e=UT(a);if(NT(e,_d))return e[_d];var t=e.constructor;return qT(t)&&e instanceof t?t.prototype:e instanceof Co?QT:null}});var Nd=g((x$,Fd)=>{"use strict";var WT=Math.ceil,GT=Math.floor;Fd.exports=Math.trunc||function(e){var t=+e;return(t>0?GT:WT)(t)}});var Nr=g((w$,qd)=>{"use strict";var zT=Nd();qd.exports=function(a){var e=+a;return e!==e||e===0?0:zT(e)}});var Hd=g((A$,Ud)=>{"use strict";var YT=Nr(),KT=Math.max,XT=Math.min;Ud.exports=function(a,e){var t=YT(a);return t<0?KT(t+e,0):XT(t,e)}});var Bo=g((P$,jd)=>{"use strict";var JT=Nr(),ZT=Math.min;jd.exports=function(a){var e=JT(a);return e>0?ZT(e,9007199254740991):0}});var Gi=g((k$,Qd)=>{"use strict";var eI=Bo();Qd.exports=function(a){return eI(a.length)}});var Vo=g((R$,Gd)=>{"use strict";var tI=fi(),iI=Hd(),rI=Gi(),Wd=function(a){return function(e,t,i){var r=tI(e),s=rI(r);if(s===0)return!a&&-1;var n=iI(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}};Gd.exports={includes:Wd(!0),indexOf:Wd(!1)}});var Is=g((L$,zd)=>{"use strict";zd.exports={}});var Xd=g(($$,Kd)=>{"use strict";var aI=Ae(),_o=mt(),sI=fi(),nI=Vo().indexOf,oI=Is(),Yd=aI([].push);Kd.exports=function(a,e){var t=sI(a),i=0,r=[],s;for(s in t)!_o(oI,s)&&_o(t,s)&&Yd(r,s);for(;e.length>i;)_o(t,s=e[i++])&&(~nI(r,s)||Yd(r,s));return r}});var Oo=g((M$,Jd)=>{"use strict";Jd.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Fo=g((D$,Zd)=>{"use strict";var uI=Xd(),lI=Oo();Zd.exports=Object.keys||function(e){return uI(e,lI)}});var No=g((C$,ap)=>{"use strict";var tp=Ke(),cI=we(),ip=Ae(),dI=Ts(),pI=Fo(),hI=fi(),fI=lo().f,rp=ip(fI),mI=ip([].push),bI=tp&&cI(function(){var a=Object.create(null);return a[2]=2,!rp(a,2)}),ep=function(a){return function(e){for(var t=hI(e),i=pI(t),r=bI&&dI(t)===null,s=i.length,n=0,u=[],o;s>n;)o=i[n++],(!tp||(r?o in t:rp(t,o)))&&mI(u,a?[o,t[o]]:t[o]);return u}};ap.exports={entries:ep(!0),values:ep(!1)}});var sp=g(()=>{"use strict";var gI=Te(),SI=No().values;gI({target:"Object",stat:!0},{values:function(e){return SI(e)}})});var op=g((_$,np)=>{"use strict";sp();var vI=mi();np.exports=vI.Object.values});var lp=g((O$,up)=>{"use strict";var yI=op();up.exports=yI});var Si=g((F$,cp)=>{"use strict";var TI=lp();cp.exports=TI});var qr=g((N$,dp)=>{"use strict";dp.exports=function(){}});var pp=g(()=>{"use strict";var II=Te(),EI=Vo().includes,xI=we(),wI=qr(),AI=xI(function(){return!Array(1).includes()});II({target:"Array",proto:!0,forced:AI},{includes:function(e){return EI(this,e,arguments.length>1?arguments[1]:void 0)}});wI("includes")});var Jt=g((H$,hp)=>{"use strict";var PI=Vt();hp.exports=PI});var mp=g((j$,fp)=>{"use strict";pp();var kI=Jt();fp.exports=kI("Array","includes")});var gp=g((Q$,bp)=>{"use strict";var RI=mp();bp.exports=RI});var qe=g((W$,Sp)=>{"use strict";var LI=gp();Sp.exports=LI});var yp=g(()=>{"use strict";var MI=Te(),DI=No().entries;MI({target:"Object",stat:!0},{entries:function(e){return DI(e)}})});var Ip=g((sM,Tp)=>{"use strict";yp();var CI=mi();Tp.exports=CI.Object.entries});var xp=g((nM,Ep)=>{"use strict";var BI=Ip();Ep.exports=BI});var zi=g((oM,wp)=>{"use strict";var VI=xp();wp.exports=VI});var vi=g((uM,Ap)=>{"use strict";Ap.exports={}});var Rp=g((lM,kp)=>{"use strict";var _I=Se(),OI=ve(),Pp=_I.WeakMap;kp.exports=OI(Pp)&&/native code/.test(String(Pp))});var jo=g((cM,Mp)=>{"use strict";var FI=Rp(),$p=Se(),NI=Ne(),qI=ji(),qo=mt(),Uo=_r(),UI=ys(),HI=Is(),Lp="Object already initialized",Ho=$p.TypeError,jI=$p.WeakMap,xs,Ur,ws,QI=function(a){return ws(a)?Ur(a):xs(a,{})},WI=function(a){return function(e){var t;if(!NI(e)||(t=Ur(e)).type!==a)throw new Ho("Incompatible receiver, "+a+" required");return t}};FI||Uo.state?(bt=Uo.state||(Uo.state=new jI),bt.get=bt.get,bt.has=bt.has,bt.set=bt.set,xs=function(a,e){if(bt.has(a))throw new Ho(Lp);return e.facade=a,bt.set(a,e),e},Ur=function(a){return bt.get(a)||{}},ws=function(a){return bt.has(a)}):(yi=UI("state"),HI[yi]=!0,xs=function(a,e){if(qo(a,yi))throw new Ho(Lp);return e.facade=a,qI(a,yi,e),e},Ur=function(a){return qo(a,yi)?a[yi]:{}},ws=function(a){return qo(a,yi)});var bt,yi;Mp.exports={set:xs,get:Ur,has:ws,enforce:QI,getterFor:WI}});var Go=g((dM,Cp)=>{"use strict";var Qo=Ke(),GI=mt(),Dp=Function.prototype,zI=Qo&&Object.getOwnPropertyDescriptor,Wo=GI(Dp,"name"),YI=Wo&&function(){}.name==="something",KI=Wo&&(!Qo||Qo&&zI(Dp,"name").configurable);Cp.exports={EXISTS:Wo,PROPER:YI,CONFIGURABLE:KI}});var Vp=g(Bp=>{"use strict";var XI=Ke(),JI=Ro(),ZI=gi(),eE=At(),tE=fi(),iE=Fo();Bp.f=XI&&!JI?Object.defineProperties:function(e,t){eE(e);for(var i=tE(t),r=iE(t),s=r.length,n=0,u;s>n;)ZI.f(e,u=r[n++],i[u]);return e}});var zo=g((hM,_p)=>{"use strict";var rE=Vt();_p.exports=rE("document","documentElement")});var Jo=g((fM,jp)=>{"use strict";var aE=At(),sE=Vp(),Op=Oo(),nE=Is(),oE=zo(),uE=Ss(),lE=ys(),Fp=">",Np="<",Ko="prototype",Xo="script",Up=lE("IE_PROTO"),Yo=function(){},Hp=function(a){return Np+Xo+Fp+a+Np+"/"+Xo+Fp},qp=function(a){a.write(Hp("")),a.close();var e=a.parentWindow.Object;return a=null,e},cE=function(){var a=uE("iframe"),e="java"+Xo+":",t;return a.style.display="none",oE.appendChild(a),a.src=String(e),t=a.contentWindow.document,t.open(),t.write(Hp("document.F=Object")),t.close(),t.F},As,Ps=function(){try{As=new ActiveXObject("htmlfile")}catch{}Ps=typeof document<"u"?document.domain&&As?qp(As):cE():qp(As);for(var a=Op.length;a--;)delete Ps[Ko][Op[a]];return Ps()};nE[Up]=!0;jp.exports=Object.create||function(e,t){var i;return e!==null?(Yo[Ko]=aE(e),i=new Yo,Yo[Ko]=null,i[Up]=e):i=Ps(),t===void 0?i:sE.f(i,t)}});var Yi=g((mM,Qp)=>{"use strict";var dE=ji();Qp.exports=function(a,e,t,i){return i&&i.enumerable?a[e]=t:dE(a,e,t),a}});var iu=g((bM,zp)=>{"use strict";var pE=we(),hE=ve(),fE=Ne(),mE=Jo(),Wp=Ts(),bE=Yi(),gE=Le(),SE=ft(),tu=gE("iterator"),Gp=!1,_t,Zo,eu;[].keys&&(eu=[].keys(),"next"in eu?(Zo=Wp(Wp(eu)),Zo!==Object.prototype&&(_t=Zo)):Gp=!0);var vE=!fE(_t)||pE(function(){var a={};return _t[tu].call(a)!==a});vE?_t={}:SE&&(_t=mE(_t));hE(_t[tu])||bE(_t,tu,function(){return this});zp.exports={IteratorPrototype:_t,BUGGY_SAFARI_ITERATORS:Gp}});var ks=g((gM,Kp)=>{"use strict";var yE=Le(),TE=yE("toStringTag"),Yp={};Yp[TE]="z";Kp.exports=String(Yp)==="[object z]"});var Hr=g((SM,Xp)=>{"use strict";var IE=ks(),EE=ve(),Rs=hi(),xE=Le(),wE=xE("toStringTag"),AE=Object,PE=Rs(function(){return arguments}())==="Arguments",kE=function(a,e){try{return a[e]}catch{}};Xp.exports=IE?Rs:function(a){var e,t,i;return a===void 0?"Undefined":a===null?"Null":typeof(t=kE(e=AE(a),wE))=="string"?t:PE?Rs(e):(i=Rs(e))==="Object"&&EE(e.callee)?"Arguments":i}});var Zp=g((vM,Jp)=>{"use strict";var RE=ks(),LE=Hr();Jp.exports=RE?{}.toString:function(){return"[object "+LE(this)+"]"}});var jr=g((yM,th)=>{"use strict";var $E=ks(),ME=gi().f,DE=ji(),CE=mt(),BE=Zp(),VE=Le(),eh=VE("toStringTag");th.exports=function(a,e,t,i){var r=t?a:a&&a.prototype;r&&(CE(r,eh)||ME(r,eh,{configurable:!0,value:e}),i&&!$E&&DE(r,"toString",BE))}});var rh=g((TM,ih)=>{"use strict";var _E=iu().IteratorPrototype,OE=Jo(),FE=Mr(),NE=jr(),qE=vi(),UE=function(){return this};ih.exports=function(a,e,t,i){var r=e+" Iterator";return a.prototype=OE(_E,{next:FE(+!i,t)}),NE(a,r,!1,!0),qE[r]=UE,a}});var sh=g((IM,ah)=>{"use strict";var HE=Ae(),jE=wt();ah.exports=function(a,e,t){try{return HE(jE(Object.getOwnPropertyDescriptor(a,e)[t]))}catch{}}});var oh=g((EM,nh)=>{"use strict";var QE=Ne();nh.exports=function(a){return QE(a)||a===null}});var lh=g((xM,uh)=>{"use strict";var WE=oh(),GE=String,zE=TypeError;uh.exports=function(a){if(WE(a))return a;throw new zE("Can't set "+GE(a)+" as a prototype")}});var ru=g((wM,ch)=>{"use strict";var YE=sh(),KE=Ne(),XE=Xt(),JE=lh();ch.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var a=!1,e={},t;try{t=YE(Object.prototype,"__proto__","set"),t(e,[]),a=e instanceof Array}catch{}return function(r,s){return XE(r),JE(s),KE(r)&&(a?t(r,s):r.__proto__=s),r}}():void 0)});var Th=g((AM,yh)=>{"use strict";var ZE=Te(),ex=Xe(),Ls=ft(),Sh=Go(),tx=ve(),ix=rh(),dh=Ts(),ph=ru(),rx=jr(),ax=ji(),au=Yi(),sx=Le(),hh=vi(),vh=iu(),nx=Sh.PROPER,ox=Sh.CONFIGURABLE,fh=vh.IteratorPrototype,$s=vh.BUGGY_SAFARI_ITERATORS,Qr=sx("iterator"),mh="keys",Wr="values",bh="entries",gh=function(){return this};yh.exports=function(a,e,t,i,r,s,n){ix(t,e,i);var u=function(v){if(v===r&&c)return c;if(!$s&&v&&v in p)return p[v];switch(v){case mh:return function(){return new t(this,v)};case Wr:return function(){return new t(this,v)};case bh:return function(){return new t(this,v)}}return function(){return new t(this)}},o=e+" Iterator",l=!1,p=a.prototype,d=p[Qr]||p["@@iterator"]||r&&p[r],c=!$s&&d||u(r),h=e==="Array"&&p.entries||d,m,b,S;if(h&&(m=dh(h.call(new a)),m!==Object.prototype&&m.next&&(!Ls&&dh(m)!==fh&&(ph?ph(m,fh):tx(m[Qr])||au(m,Qr,gh)),rx(m,o,!0,!0),Ls&&(hh[o]=gh))),nx&&r===Wr&&d&&d.name!==Wr&&(!Ls&&ox?ax(p,"name",Wr):(l=!0,c=function(){return ex(d,this)})),r)if(b={values:u(Wr),keys:s?c:u(mh),entries:u(bh)},n)for(S in b)($s||l||!(S in p))&&au(p,S,b[S]);else ZE({target:e,proto:!0,forced:$s||l},b);return(!Ls||n)&&p[Qr]!==c&&au(p,Qr,c,{name:r}),hh[e]=c,b}});var Eh=g((PM,Ih)=>{"use strict";Ih.exports=function(a,e){return{value:a,done:e}}});var nu=g((kM,kh)=>{"use strict";var ux=fi(),su=qr(),xh=vi(),Ah=jo(),lx=gi().f,cx=Th(),Ms=Eh(),dx=ft(),px=Ke(),Ph="Array Iterator",hx=Ah.set,fx=Ah.getterFor(Ph);kh.exports=cx(Array,"Array",function(a,e){hx(this,{type:Ph,target:ux(a),index:0,kind:e})},function(){var a=fx(this),e=a.target,t=a.index++;if(!e||t>=e.length)return a.target=null,Ms(void 0,!0);switch(a.kind){case"keys":return Ms(t,!1);case"values":return Ms(e[t],!1)}return Ms([t,e[t]],!1)},"values");var wh=xh.Arguments=xh.Array;su("keys");su("values");su("entries");if(!dx&&px&&wh.name!=="values")try{lx(wh,"name",{value:"values"})}catch{}});var Lh=g((RM,Rh)=>{"use strict";var mx=Le(),bx=vi(),gx=mx("iterator"),Sx=Array.prototype;Rh.exports=function(a){return a!==void 0&&(bx.Array===a||Sx[gx]===a)}});var ou=g((LM,Mh)=>{"use strict";var vx=Hr(),$h=Vr(),yx=Dr(),Tx=vi(),Ix=Le(),Ex=Ix("iterator");Mh.exports=function(a){if(!yx(a))return $h(a,Ex)||$h(a,"@@iterator")||Tx[vx(a)]}});var Ch=g(($M,Dh)=>{"use strict";var xx=Xe(),wx=wt(),Ax=At(),Px=Br(),kx=ou(),Rx=TypeError;Dh.exports=function(a,e){var t=arguments.length<2?kx(a):e;if(wx(t))return Ax(xx(t,a));throw new Rx(Px(a)+" is not iterable")}});var _h=g((MM,Vh)=>{"use strict";var Lx=Xe(),Bh=At(),$x=Vr();Vh.exports=function(a,e,t){var i,r;Bh(a);try{if(i=$x(a,"return"),!i){if(e==="throw")throw t;return t}i=Lx(i,a)}catch(s){r=!0,i=s}if(e==="throw")throw t;if(r)throw i;return Bh(i),t}});var Cs=g((DM,qh)=>{"use strict";var Mx=Hi(),Dx=Xe(),Cx=At(),Bx=Br(),Vx=Lh(),_x=Gi(),Oh=Cr(),Ox=Ch(),Fx=ou(),Fh=_h(),Nx=TypeError,Ds=function(a,e){this.stopped=a,this.result=e},Nh=Ds.prototype;qh.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=Mx(e,i),l,p,d,c,h,m,b,S=function(I){return l&&Fh(l,"normal"),new Ds(!0,I)},v=function(I){return r?(Cx(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(p=Fx(a),!p)throw new Nx(Bx(a)+" is not iterable");if(Vx(p)){for(d=0,c=_x(a);c>d;d++)if(h=v(a[d]),h&&Oh(Nh,h))return h;return new Ds(!1)}l=Ox(a,p)}for(m=s?a.next:l.next;!(b=Dx(m,l)).done;){try{h=v(b.value)}catch(I){Fh(l,"throw",I)}if(typeof h=="object"&&h&&Oh(Nh,h))return h}return new Ds(!1)}});var Hh=g((CM,Uh)=>{"use strict";var qx=Ke(),Ux=gi(),Hx=Mr();Uh.exports=function(a,e,t){qx?Ux.f(a,e,Hx(0,t)):a[e]=t}});var jh=g(()=>{"use strict";var jx=Te(),Qx=Cs(),Wx=Hh();jx({target:"Object",stat:!0},{fromEntries:function(e){var t={};return Qx(e,function(i,r){Wx(t,i,r)},{AS_ENTRIES:!0}),t}})});var Wh=g((_M,Qh)=>{"use strict";nu();jh();var Gx=mi();Qh.exports=Gx.Object.fromEntries});var zh=g((OM,Gh)=>{"use strict";Gh.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 Kh=g(()=>{"use strict";nu();var zx=zh(),Yx=Se(),Kx=jr(),Yh=vi();for(Bs in zx)Kx(Yx[Bs],Bs),Yh[Bs]=Yh.Array;var Bs});var Jh=g((qM,Xh)=>{"use strict";var Xx=Wh();Kh();Xh.exports=Xx});var uu=g((UM,Zh)=>{"use strict";var Jx=Jh();Zh.exports=Jx});var ef=g(()=>{"use strict"});var lu=g((QM,tf)=>{"use strict";var Gr=Se(),Zx=bi(),ew=hi(),Vs=function(a){return Zx.slice(0,a.length)===a};tf.exports=function(){return Vs("Bun/")?"BUN":Vs("Cloudflare-Workers")?"CLOUDFLARE":Vs("Deno/")?"DENO":Vs("Node.js/")?"NODE":Gr.Bun&&typeof Bun.version=="string"?"BUN":Gr.Deno&&typeof Deno.version=="object"?"DENO":ew(Gr.process)==="process"?"NODE":Gr.window&&Gr.document?"BROWSER":"REST"}()});var _s=g((WM,rf)=>{"use strict";var tw=lu();rf.exports=tw==="NODE"});var sf=g((GM,af)=>{"use strict";var iw=gi();af.exports=function(a,e,t){return iw.f(a,e,t)}});var uf=g((zM,of)=>{"use strict";var rw=Vt(),aw=sf(),sw=Le(),nw=Ke(),nf=sw("species");of.exports=function(a){var e=rw(a);nw&&e&&!e[nf]&&aw(e,nf,{configurable:!0,get:function(){return this}})}});var cf=g((YM,lf)=>{"use strict";var ow=Cr(),uw=TypeError;lf.exports=function(a,e){if(ow(e,a))return a;throw new uw("Incorrect invocation")}});var du=g((KM,df)=>{"use strict";var lw=Ae(),cw=ve(),cu=_r(),dw=lw(Function.toString);cw(cu.inspectSource)||(cu.inspectSource=function(a){return dw(a)});df.exports=cu.inspectSource});var hu=g((XM,bf)=>{"use strict";var pw=Ae(),hw=we(),pf=ve(),fw=Hr(),mw=Vt(),bw=du(),hf=function(){},ff=mw("Reflect","construct"),pu=/^\s*(?:class|function)\b/,gw=pw(pu.exec),Sw=!pu.test(hf),zr=function(e){if(!pf(e))return!1;try{return ff(hf,[],e),!0}catch{return!1}},mf=function(e){if(!pf(e))return!1;switch(fw(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Sw||!!gw(pu,bw(e))}catch{return!0}};mf.sham=!0;bf.exports=!ff||hw(function(){var a;return zr(zr.call)||!zr(Object)||!zr(function(){a=!0})||a})?mf:zr});var Sf=g((JM,gf)=>{"use strict";var vw=hu(),yw=Br(),Tw=TypeError;gf.exports=function(a){if(vw(a))return a;throw new Tw(yw(a)+" is not a constructor")}});var fu=g((ZM,yf)=>{"use strict";var vf=At(),Iw=Sf(),Ew=Dr(),xw=Le(),ww=xw("species");yf.exports=function(a,e){var t=vf(a).constructor,i;return t===void 0||Ew(i=vf(t)[ww])?e:Iw(i)}});var If=g((eD,Tf)=>{"use strict";var Aw=Ae();Tf.exports=Aw([].slice)});var xf=g((tD,Ef)=>{"use strict";var Pw=TypeError;Ef.exports=function(a,e){if(a<e)throw new Pw("Not enough arguments");return a}});var mu=g((iD,wf)=>{"use strict";var kw=bi();wf.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(kw)});var xu=g((rD,Cf)=>{"use strict";var Je=Se(),Rw=so(),Lw=Hi(),Af=ve(),$w=mt(),Df=we(),Pf=zo(),Mw=If(),kf=Ss(),Dw=xf(),Cw=mu(),Bw=_s(),Tu=Je.setImmediate,Iu=Je.clearImmediate,Vw=Je.process,bu=Je.Dispatch,_w=Je.Function,Rf=Je.MessageChannel,Ow=Je.String,gu=0,Yr={},Lf="onreadystatechange",Kr,Ti,Su,vu;Df(function(){Kr=Je.location});var Eu=function(a){if($w(Yr,a)){var e=Yr[a];delete Yr[a],e()}},yu=function(a){return function(){Eu(a)}},$f=function(a){Eu(a.data)},Mf=function(a){Je.postMessage(Ow(a),Kr.protocol+"//"+Kr.host)};(!Tu||!Iu)&&(Tu=function(e){Dw(arguments.length,1);var t=Af(e)?e:_w(e),i=Mw(arguments,1);return Yr[++gu]=function(){Rw(t,void 0,i)},Ti(gu),gu},Iu=function(e){delete Yr[e]},Bw?Ti=function(a){Vw.nextTick(yu(a))}:bu&&bu.now?Ti=function(a){bu.now(yu(a))}:Rf&&!Cw?(Su=new Rf,vu=Su.port2,Su.port1.onmessage=$f,Ti=Lw(vu.postMessage,vu)):Je.addEventListener&&Af(Je.postMessage)&&!Je.importScripts&&Kr&&Kr.protocol!=="file:"&&!Df(Mf)?(Ti=Mf,Je.addEventListener("message",$f,!1)):Lf in kf("script")?Ti=function(a){Pf.appendChild(kf("script"))[Lf]=function(){Pf.removeChild(this),Eu(a)}}:Ti=function(a){setTimeout(yu(a),0)});Cf.exports={set:Tu,clear:Iu}});var _f=g((aD,Vf)=>{"use strict";var Bf=Se(),Fw=Ke(),Nw=Object.getOwnPropertyDescriptor;Vf.exports=function(a){if(!Fw)return Bf[a];var e=Nw(Bf,a);return e&&e.value}});var wu=g((sD,Ff)=>{"use strict";var Of=function(){this.head=null,this.tail=null};Of.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}}};Ff.exports=Of});var qf=g((nD,Nf)=>{"use strict";var qw=bi();Nf.exports=/ipad|iphone|ipod/i.test(qw)&&typeof Pebble<"u"});var Hf=g((oD,Uf)=>{"use strict";var Uw=bi();Uf.exports=/web0s(?!.*chrome)/i.test(Uw)});var Kf=g((uD,Yf)=>{"use strict";var Xi=Se(),Hw=_f(),jf=Hi(),Au=xu().set,jw=wu(),Qw=mu(),Ww=qf(),Gw=Hf(),Pu=_s(),Qf=Xi.MutationObserver||Xi.WebKitMutationObserver,Wf=Xi.document,Gf=Xi.process,Os=Xi.Promise,Lu=Hw("queueMicrotask"),Ki,ku,Ru,Fs,zf;Lu||(Xr=new jw,Jr=function(){var a,e;for(Pu&&(a=Gf.domain)&&a.exit();e=Xr.get();)try{e()}catch(t){throw Xr.head&&Ki(),t}a&&a.enter()},!Qw&&!Pu&&!Gw&&Qf&&Wf?(ku=!0,Ru=Wf.createTextNode(""),new Qf(Jr).observe(Ru,{characterData:!0}),Ki=function(){Ru.data=ku=!ku}):!Ww&&Os&&Os.resolve?(Fs=Os.resolve(void 0),Fs.constructor=Os,zf=jf(Fs.then,Fs),Ki=function(){zf(Jr)}):Pu?Ki=function(){Gf.nextTick(Jr)}:(Au=jf(Au,Xi),Ki=function(){Au(Jr)}),Lu=function(a){Xr.head||Ki(),Xr.add(a)});var Xr,Jr;Yf.exports=Lu});var Jf=g((lD,Xf)=>{"use strict";Xf.exports=function(a,e){try{arguments.length===1?console.error(a):console.error(a,e)}catch{}}});var Ns=g((cD,Zf)=>{"use strict";Zf.exports=function(a){try{return{error:!1,value:a()}}catch(e){return{error:!0,value:e}}}});var Ii=g((dD,em)=>{"use strict";var zw=Se();em.exports=zw.Promise});var Ji=g((pD,am)=>{"use strict";var Yw=Se(),Zr=Ii(),Kw=ve(),Xw=ko(),Jw=du(),Zw=Le(),tm=lu(),eA=ft(),$u=mo(),im=Zr&&Zr.prototype,tA=Zw("species"),Mu=!1,rm=Kw(Yw.PromiseRejectionEvent),iA=Xw("Promise",function(){var a=Jw(Zr),e=a!==String(Zr);if(!e&&$u===66||eA&&!(im.catch&&im.finally))return!0;if(!$u||$u<51||!/native code/.test(a)){var t=new Zr(function(s){s(1)}),i=function(s){s(function(){},function(){})},r=t.constructor={};if(r[tA]=i,Mu=t.then(function(){})instanceof i,!Mu)return!0}return!e&&(tm==="BROWSER"||tm==="DENO")&&!rm});am.exports={CONSTRUCTOR:iA,REJECTION_EVENT:rm,SUBCLASSING:Mu}});var Zi=g((hD,nm)=>{"use strict";var sm=wt(),rA=TypeError,aA=function(a){var e,t;this.promise=new a(function(i,r){if(e!==void 0||t!==void 0)throw new rA("Bad Promise constructor");e=i,t=r}),this.resolve=sm(e),this.reject=sm(t)};nm.exports.f=function(a){return new aA(a)}});var Am=g(()=>{"use strict";var sA=Te(),nA=ft(),js=_s(),Zt=Se(),oA=mi(),rr=Xe(),om=Yi(),um=ru(),uA=jr(),lA=uf(),cA=wt(),Hs=ve(),dA=Ne(),pA=cf(),hA=fu(),hm=xu().set,_u=Kf(),fA=Jf(),mA=Ns(),bA=wu(),fm=jo(),Qs=Ii(),Ou=Ji(),mm=Zi(),Ws="Promise",bm=Ou.CONSTRUCTOR,gA=Ou.REJECTION_EVENT,SA=Ou.SUBCLASSING,Du=fm.getterFor(Ws),vA=fm.set,er=Qs&&Qs.prototype,Ei=Qs,qs=er,gm=Zt.TypeError,Cu=Zt.document,Fu=Zt.process,Bu=mm.f,yA=Bu,TA=!!(Cu&&Cu.createEvent&&Zt.dispatchEvent),Sm="unhandledrejection",IA="rejectionhandled",lm=0,vm=1,EA=2,Nu=1,ym=2,Us,cm,Tm,dm,Im=function(a){var e;return dA(a)&&Hs(e=a.then)?e:!1},Em=function(a,e){var t=e.value,i=e.state===vm,r=i?a.ok:a.fail,s=a.resolve,n=a.reject,u=a.domain,o,l,p;try{r?(i||(e.rejection===ym&&wA(e),e.rejection=Nu),r===!0?o=t:(u&&u.enter(),o=r(t),u&&(u.exit(),p=!0)),o===a.promise?n(new gm("Promise-chain cycle")):(l=Im(o))?rr(l,o,s,n):s(o)):n(t)}catch(d){u&&!p&&u.exit(),n(d)}},xm=function(a,e){a.notified||(a.notified=!0,_u(function(){for(var t=a.reactions,i;i=t.get();)Em(i,a);a.notified=!1,e&&!a.rejection&&xA(a)}))},wm=function(a,e,t){var i,r;TA?(i=Cu.createEvent("Event"),i.promise=e,i.reason=t,i.initEvent(a,!1,!0),Zt.dispatchEvent(i)):i={promise:e,reason:t},!gA&&(r=Zt["on"+a])?r(i):a===Sm&&fA("Unhandled promise rejection",t)},xA=function(a){rr(hm,Zt,function(){var e=a.facade,t=a.value,i=pm(a),r;if(i&&(r=mA(function(){js?Fu.emit("unhandledRejection",t,e):wm(Sm,e,t)}),a.rejection=js||pm(a)?ym:Nu,r.error))throw r.value})},pm=function(a){return a.rejection!==Nu&&!a.parent},wA=function(a){rr(hm,Zt,function(){var e=a.facade;js?Fu.emit("rejectionHandled",e):wm(IA,e,a.value)})},tr=function(a,e,t){return function(i){a(e,i,t)}},ir=function(a,e,t){a.done||(a.done=!0,t&&(a=t),a.value=e,a.state=EA,xm(a,!0))},Vu=function(a,e,t){if(!a.done){a.done=!0,t&&(a=t);try{if(a.facade===e)throw new gm("Promise can't be resolved itself");var i=Im(e);i?_u(function(){var r={done:!1};try{rr(i,e,tr(Vu,r,a),tr(ir,r,a))}catch(s){ir(r,s,a)}}):(a.value=e,a.state=vm,xm(a,!1))}catch(r){ir({done:!1},r,a)}}};if(bm&&(Ei=function(e){pA(this,qs),cA(e),rr(Us,this);var t=Du(this);try{e(tr(Vu,t),tr(ir,t))}catch(i){ir(t,i)}},qs=Ei.prototype,Us=function(e){vA(this,{type:Ws,done:!1,notified:!1,parent:!1,reactions:new bA,rejection:!1,state:lm,value:null})},Us.prototype=om(qs,"then",function(e,t){var i=Du(this),r=Bu(hA(this,Ei));return i.parent=!0,r.ok=Hs(e)?e:!0,r.fail=Hs(t)&&t,r.domain=js?Fu.domain:void 0,i.state===lm?i.reactions.add(r):_u(function(){Em(r,i)}),r.promise}),cm=function(){var a=new Us,e=Du(a);this.promise=a,this.resolve=tr(Vu,e),this.reject=tr(ir,e)},mm.f=Bu=function(a){return a===Ei||a===Tm?new cm(a):yA(a)},!nA&&Hs(Qs)&&er!==Object.prototype)){dm=er.then,SA||om(er,"then",function(e,t){var i=this;return new Ei(function(r,s){rr(dm,i,r,s)}).then(e,t)},{unsafe:!0});try{delete er.constructor}catch{}um&&um(er,qs)}sA({global:!0,constructor:!0,wrap:!0,forced:bm},{Promise:Ei});Tm=oA.Promise;uA(Ei,Ws,!1,!0);lA(Ws)});var $m=g((bD,Lm)=>{"use strict";var AA=Le(),km=AA("iterator"),Rm=!1;try{Pm=0,qu={next:function(){return{done:!!Pm++}},return:function(){Rm=!0}},qu[km]=function(){return this},Array.from(qu,function(){throw 2})}catch{}var Pm,qu;Lm.exports=function(a,e){try{if(!e&&!Rm)return!1}catch{return!1}var t=!1;try{var i={};i[km]=function(){return{next:function(){return{done:t=!0}}}},a(i)}catch{}return t}});var Uu=g((gD,Mm)=>{"use strict";var PA=Ii(),kA=$m(),RA=Ji().CONSTRUCTOR;Mm.exports=RA||!kA(function(a){PA.all(a).then(void 0,function(){})})});var Dm=g(()=>{"use strict";var LA=Te(),$A=Xe(),MA=wt(),DA=Zi(),CA=Ns(),BA=Cs(),VA=Uu();LA({target:"Promise",stat:!0,forced:VA},{all:function(e){var t=this,i=DA.f(t),r=i.resolve,s=i.reject,n=CA(function(){var u=MA(t.resolve),o=[],l=0,p=1;BA(e,function(d){var c=l++,h=!1;p++,$A(u,t,d).then(function(m){h||(h=!0,o[c]=m,--p||r(o))},s)}),--p||r(o)});return n.error&&s(n.value),i.promise}})});var Bm=g(()=>{"use strict";var _A=Te(),OA=ft(),FA=Ji().CONSTRUCTOR,ju=Ii(),NA=Vt(),qA=ve(),UA=Yi(),Cm=ju&&ju.prototype;_A({target:"Promise",proto:!0,forced:FA,real:!0},{catch:function(a){return this.then(void 0,a)}});!OA&&qA(ju)&&(Hu=NA("Promise").prototype.catch,Cm.catch!==Hu&&UA(Cm,"catch",Hu,{unsafe:!0}));var Hu});var Vm=g(()=>{"use strict";var HA=Te(),jA=Xe(),QA=wt(),WA=Zi(),GA=Ns(),zA=Cs(),YA=Uu();HA({target:"Promise",stat:!0,forced:YA},{race:function(e){var t=this,i=WA.f(t),r=i.reject,s=GA(function(){var n=QA(t.resolve);zA(e,function(u){jA(n,t,u).then(i.resolve,r)})});return s.error&&r(s.value),i.promise}})});var _m=g(()=>{"use strict";var KA=Te(),XA=Zi(),JA=Ji().CONSTRUCTOR;KA({target:"Promise",stat:!0,forced:JA},{reject:function(e){var t=XA.f(this),i=t.reject;return i(e),t.promise}})});var Qu=g((AD,Om)=>{"use strict";var ZA=At(),eP=Ne(),tP=Zi();Om.exports=function(a,e){if(ZA(a),eP(e)&&e.constructor===a)return e;var t=tP.f(a),i=t.resolve;return i(e),t.promise}});var qm=g(()=>{"use strict";var iP=Te(),rP=Vt(),Fm=ft(),aP=Ii(),Nm=Ji().CONSTRUCTOR,sP=Qu(),nP=rP("Promise"),oP=Fm&&!Nm;iP({target:"Promise",stat:!0,forced:Fm||Nm},{resolve:function(e){return sP(oP&&this===nP?aP:this,e)}})});var Um=g(()=>{"use strict";Am();Dm();Bm();Vm();_m();qm()});var Wm=g(()=>{"use strict";var uP=Te(),lP=ft(),Gs=Ii(),cP=we(),jm=Vt(),Qm=ve(),dP=fu(),Hm=Qu(),pP=Yi(),Gu=Gs&&Gs.prototype,hP=!!Gs&&cP(function(){Gu.finally.call({then:function(){}},function(){})});uP({target:"Promise",proto:!0,real:!0,forced:hP},{finally:function(a){var e=dP(this,jm("Promise")),t=Qm(a);return this.then(t?function(i){return Hm(e,a()).then(function(){return i})}:a,t?function(i){return Hm(e,a()).then(function(){throw i})}:a)}});!lP&&Qm(Gs)&&(Wu=jm("Promise").prototype.finally,Gu.finally!==Wu&&pP(Gu,"finally",Wu,{unsafe:!0}));var Wu});var zm=g((DD,Gm)=>{"use strict";ef();Um();Wm();var fP=Jt();Gm.exports=fP("Promise","finally")});var Km=g((CD,Ym)=>{"use strict";var mP=zm();Ym.exports=mP});var zs=g((BD,Xm)=>{"use strict";var bP=Km();Xm.exports=bP});var hb=g(()=>{"use strict";var LP=Te(),$P=qi(),MP=Gi(),DP=Nr(),CP=qr();LP({target:"Array",proto:!0},{at:function(e){var t=$P(this),i=MP(t),r=DP(e),s=r>=0?r:i+r;return s<0||s>=i?void 0:t[s]}});CP("at")});var mb=g((fB,fb)=>{"use strict";hb();var BP=Jt();fb.exports=BP("Array","at")});var gb=g((mB,bb)=>{"use strict";var VP=mb();bb.exports=VP});var gt=g((bB,Sb)=>{"use strict";var _P=gb();Sb.exports=_P});var fl=g((KV,Hb)=>{"use strict";var zP=hi();Hb.exports=Array.isArray||function(e){return zP(e)==="Array"}});var Qb=g((XV,jb)=>{"use strict";var YP=TypeError,KP=9007199254740991;jb.exports=function(a){if(a>KP)throw YP("Maximum allowed index exceeded");return a}});var zb=g((JV,Gb)=>{"use strict";var XP=fl(),JP=Gi(),ZP=Qb(),ek=Hi(),Wb=function(a,e,t,i,r,s,n,u){for(var o=r,l=0,p=n?ek(n,u):!1,d,c;l<i;)l in t&&(d=p?p(t[l],l,e):t[l],s>0&&XP(d)?(c=JP(d),o=Wb(a,e,d,c,o,s-1)-1):(ZP(o+1),a[o]=d),o++),l++;return o};Gb.exports=Wb});var Jb=g((ZV,Xb)=>{"use strict";var Yb=fl(),tk=hu(),ik=Ne(),rk=Le(),ak=rk("species"),Kb=Array;Xb.exports=function(a){var e;return Yb(a)&&(e=a.constructor,tk(e)&&(e===Kb||Yb(e.prototype))?e=void 0:ik(e)&&(e=e[ak],e===null&&(e=void 0))),e===void 0?Kb:e}});var eg=g((e0,Zb)=>{"use strict";var sk=Jb();Zb.exports=function(a,e){return new(sk(a))(e===0?0:e)}});var tg=g(()=>{"use strict";var nk=Te(),ok=zb(),uk=wt(),lk=qi(),ck=Gi(),dk=eg();nk({target:"Array",proto:!0},{flatMap:function(e){var t=lk(this),i=ck(t),r;return uk(e),r=dk(t,0),r.length=ok(r,t,t,i,0,1,e,arguments.length>1?arguments[1]:void 0),r}})});var ig=g(()=>{"use strict";var pk=qr();pk("flatMap")});var ag=g((s0,rg)=>{"use strict";tg();ig();var hk=Jt();rg.exports=hk("Array","flatMap")});var ng=g((n0,sg)=>{"use strict";var fk=ag();sg.exports=fk});var da=g((o0,og)=>{"use strict";var mk=ng();og.exports=mk});var pa=g((u0,ug)=>{"use strict";var bk=Hr(),gk=String;ug.exports=function(a){if(bk(a)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return gk(a)}});var ml=g((l0,lg)=>{"use strict";lg.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 pg=g((c0,dg)=>{"use strict";var Sk=Ae(),vk=Xt(),yk=pa(),gl=ml(),cg=Sk("".replace),Tk=RegExp("^["+gl+"]+"),Ik=RegExp("(^|[^"+gl+"])["+gl+"]+$"),bl=function(a){return function(e){var t=yk(vk(e));return a&1&&(t=cg(t,Tk,"")),a&2&&(t=cg(t,Ik,"$1")),t}};dg.exports={start:bl(1),end:bl(2),trim:bl(3)}});var bg=g((d0,mg)=>{"use strict";var Ek=Go().PROPER,xk=we(),hg=ml(),fg="\u200B\x85\u180E";mg.exports=function(a){return xk(function(){return!!hg[a]()||fg[a]()!==fg||Ek&&hg[a].name!==a})}});var Sl=g((p0,gg)=>{"use strict";var wk=pg().start,Ak=bg();gg.exports=Ak("trimStart")?function(){return wk(this)}:"".trimStart});var vg=g(()=>{"use strict";var Pk=Te(),Sg=Sl();Pk({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==Sg},{trimLeft:Sg})});var Tg=g(()=>{"use strict";vg();var kk=Te(),yg=Sl();kk({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==yg},{trimStart:yg})});var Eg=g((g0,Ig)=>{"use strict";Tg();var Rk=Jt();Ig.exports=Rk("String","trimLeft")});var wg=g((S0,xg)=>{"use strict";var Lk=Eg();xg.exports=Lk});var Pg=g((v0,Ag)=>{"use strict";var $k=wg();Ag.exports=$k});var Ug=g(()=>{"use strict"});var Hg=g(()=>{"use strict"});var Qg=g((eF,jg)=>{"use strict";var Xk=Ne(),Jk=hi(),Zk=Le(),eR=Zk("match");jg.exports=function(a){var e;return Xk(a)&&((e=a[eR])!==void 0?!!e:Jk(a)==="RegExp")}});var zg=g((tF,Gg)=>{"use strict";var tR=Se(),iR=we(),Wg=tR.RegExp,rR=!iR(function(){var a=!0;try{Wg(".","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(Wg.prototype,"flags").get.call(e);return u!==i||t!==i});Gg.exports={correct:rR}});var Kg=g((iF,Yg)=>{"use strict";var aR=At();Yg.exports=function(){var a=aR(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 Zg=g((rF,Jg)=>{"use strict";var sR=Xe(),nR=mt(),oR=Cr(),Xg=zg(),uR=Kg(),lR=RegExp.prototype;Jg.exports=Xg.correct?function(a){return a.flags}:function(a){return!Xg.correct&&oR(lR,a)&&!nR(a,"flags")?sR(uR,a):a.flags}});var tS=g((aF,eS)=>{"use strict";var Il=Ae(),cR=qi(),dR=Math.floor,yl=Il("".charAt),pR=Il("".replace),Tl=Il("".slice),hR=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,fR=/\$([$&'`]|\d{1,2})/g;eS.exports=function(a,e,t,i,r,s){var n=t+a.length,u=i.length,o=fR;return r!==void 0&&(r=cR(r),o=hR),pR(s,o,function(l,p){var d;switch(yl(p,0)){case"$":return"$";case"&":return a;case"`":return Tl(e,0,t);case"'":return Tl(e,n);case"<":d=r[Tl(p,1,-1)];break;default:var c=+p;if(c===0)return l;if(c>u){var h=dR(c/10);return h===0?l:h<=u?i[h-1]===void 0?yl(p,1):i[h-1]+yl(p,1):l}d=i[c-1]}return d===void 0?"":d})}});var aS=g(()=>{"use strict";var mR=Te(),bR=Xe(),xl=Ae(),iS=Xt(),gR=ve(),SR=Ne(),vR=Qg(),mr=pa(),yR=Vr(),TR=Zg(),IR=tS(),ER=Le(),xR=ft(),wR=ER("replace"),AR=TypeError,El=xl("".indexOf),PR=xl("".replace),rS=xl("".slice),kR=Math.max;mR({target:"String",proto:!0},{replaceAll:function(e,t){var i=iS(this),r,s,n,u,o,l,p,d,c,h,m=0,b="";if(SR(e)){if(r=vR(e),r&&(s=mr(iS(TR(e))),!~El(s,"g")))throw new AR("`.replaceAll` does not allow non-global regexes");if(n=yR(e,wR),n)return bR(n,e,i,t);if(xR&&r)return PR(mr(i),e,t)}for(u=mr(i),o=mr(e),l=gR(t),l||(t=mr(t)),p=o.length,d=kR(1,p),c=El(u,o);c!==-1;)h=l?mr(t(o,c,u)):IR(o,u,c,[],void 0,t),b+=rS(u,m,c)+h,m=c+p,c=c+d>u.length?-1:El(u,o,c+d);return m<u.length&&(b+=rS(u,m)),b}})});var nS=g((oF,sS)=>{"use strict";Ug();Hg();aS();var RR=Jt();sS.exports=RR("String","replaceAll")});var uS=g((uF,oS)=>{"use strict";var LR=nS();oS.exports=LR});var cS=g((lF,lS)=>{"use strict";var $R=uS();lS.exports=$R});var pS=g((cF,dS)=>{"use strict";var MR=Nr(),DR=pa(),CR=Xt(),BR=RangeError;dS.exports=function(e){var t=DR(CR(this)),i="",r=MR(e);if(r<0||r===1/0)throw new BR("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(t+=t))r&1&&(i+=t);return i}});var gS=g((dF,bS)=>{"use strict";var mS=Ae(),VR=Bo(),hS=pa(),_R=pS(),OR=Xt(),FR=mS(_R),NR=mS("".slice),qR=Math.ceil,fS=function(a){return function(e,t,i){var r=hS(OR(e)),s=VR(t),n=r.length,u=i===void 0?" ":hS(i),o,l;return s<=n||u===""?r:(o=s-n,l=FR(u,qR(o/u.length)),l.length>o&&(l=NR(l,0,o)),a?r+l:l+r)}};bS.exports={start:fS(!1),end:fS(!0)}});var vS=g((pF,SS)=>{"use strict";var UR=bi();SS.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(UR)});var yS=g(()=>{"use strict";var HR=Te(),jR=gS().start,QR=vS();HR({target:"String",proto:!0,forced:QR},{padStart:function(e){return jR(this,e,arguments.length>1?arguments[1]:void 0)}})});var IS=g((mF,TS)=>{"use strict";yS();var WR=Jt();TS.exports=WR("String","padStart")});var xS=g((bF,ES)=>{"use strict";var GR=IS();ES.exports=GR});var AS=g((gF,wS)=>{"use strict";var zR=xS();wS.exports=zR});var EL={};Bv(EL,{ChromecastState:()=>kr,HttpConnectionType:()=>fs,Observable:()=>Ct.Observable,PlaybackState:()=>Ve,Player:()=>as,PredefinedQualityLimits:()=>Rr,SDK_VERSION:()=>IL,Subject:()=>Ct.Subject,Subscription:()=>Ct.Subscription,Surface:()=>ms,VERSION:()=>ro,ValueSubject:()=>Ct.ValueSubject,VideoFormat:()=>xt,VideoQuality:()=>Ct.VideoQuality,areValidLiveRecordSources:()=>sb,clientChecker:()=>Q,isMobile:()=>ar});module.exports=Vv(EL);var ro="2.0.141-dev.752fa0a9.0";var Ve=(r=>(r.STOPPED="stopped",r.READY="ready",r.PLAYING="playing",r.PAUSED="paused",r))(Ve||{}),xt=(w=>(w.MPEG="MPEG",w.DASH="DASH",w.DASH_SEP="DASH_SEP",w.DASH_SEP_VK="DASH_SEP",w.DASH_WEBM="DASH_WEBM",w.DASH_WEBM_AV1="DASH_WEBM_AV1",w.DASH_STREAMS="DASH_STREAMS",w.DASH_WEBM_VK="DASH_WEBM",w.DASH_ONDEMAND="DASH_ONDEMAND",w.DASH_ONDEMAND_VK="DASH_ONDEMAND",w.DASH_LIVE="DASH_LIVE",w.DASH_LIVE_CMAF="DASH_LIVE_CMAF",w.DASH_LIVE_WEBM="DASH_LIVE_WEBM",w.HLS="HLS",w.HLS_ONDEMAND="HLS_ONDEMAND",w.HLS_JS="HLS",w.HLS_FMP4="HLS_FMP4",w.HLS_LIVE="HLS_LIVE",w.HLS_LIVE_CMAF="HLS_LIVE_CMAF",w.WEB_RTC_LIVE="WEB_RTC_LIVE",w))(xt||{});var kr=(r=>(r.NOT_AVAILABLE="NOT_AVAILABLE",r.AVAILABLE="AVAILABLE",r.CONNECTING="CONNECTING",r.CONNECTED="CONNECTED",r))(kr||{}),fs=(i=>(i.HTTP1="http1",i.HTTP2="http2",i.QUIC="quic",i))(fs||{});var ms=(n=>(n.NONE="none",n.INLINE="inline",n.FULLSCREEN="fullscreen",n.SECOND_SCREEN="second_screen",n.PIP="pip",n.INVISIBLE="invisible",n))(ms||{}),Rr=(i=>(i.TRAFFIC_SAVING="traffic_saving",i.HIGH_QUALITY="high_quality",i.UNKNOWN="unknown",i))(Rr||{});var tc=W(Si(),1),wv=W(qe(),1);var J=require("@vkontakte/videoplayer-shared");var vp=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 Es=class{constructor(e){this.connection$=new J.ValueSubject(void 0);this.castState$=new J.ValueSubject("NOT_AVAILABLE");this.errorEvent$=new J.Subject;this.realCastState$=new J.ValueSubject("NOT_AVAILABLE");this.subscription=new J.Subscription;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=(0,J.isNonNullable)(window.chrome?.cast),r=!!window.__onGCastApiAvailable;i?this.initializeCastApi():(window.__onGCastApiAvailable=s=>{delete window.__onGCastApiAvailable,s&&!this.isDestroyed&&this.initializeCastApi()},r||vp("https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1").catch(()=>this.errorEvent$.next({id:"ChromecastLoading",category:J.ErrorCategory.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(){(0,J.isNonNullable)(this.connection$.getValue())?this.disconnect():this.connect()}setVolume(e){let t=this.connection$.getValue();(0,J.isNullable)(t)||(t.remotePlayer.volumeLevel=e,t.remotePlayerController.setVolumeLevel())}setMuted(e){let t=this.connection$.getValue();(0,J.isNullable)(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((0,J.fromEvent)(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(0,J.assertNever)(r.sessionState)}})).add((0,J.merge)((0,J.fromEvent)(i,cast.framework.CastContextEventType.CAST_STATE_CHANGED).pipe((0,J.tap)(r=>{this.log({message:`[cast.framework.RemotePlayerEventType.CAST_STATE_CHANGED]: ${JSON.stringify(r)}`})}),(0,J.map)(r=>r.castState)),(0,J.observableFrom)([i.getCastState()])).pipe((0,J.filterChanged)(),(0,J.map)($I),(0,J.tap)(r=>{this.log({message:`realCastState$: ${r}`})})).subscribe(this.realCastState$)).add(this.realCastState$.subscribe(r=>{let s=r==="CONNECTED",n=(0,J.isNonNullable)(this.connection$.getValue());if(s&&!n){let u=i.getCurrentSession();(0,J.assertNonNullable)(u);let o=u.getCastDevice(),l=u.getMediaSession()?.media?.contentId;((0,J.isNullable)(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"?(0,J.isNonNullable)(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:J.ErrorCategory.EXTERNAL_API,message:"[initializeCastApi] failed",thrown:r})}}},$I=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(0,J.assertNever)(a)}};var Jl=W(qe(),1),pv=W(zi(),1),hv=W(uu(),1);var ob=W(zs(),1);var zu=require("@vkontakte/videoplayer-shared");var ye=(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:(0,zu.assertNever)(t)}return a},ei=(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:(0,zu.assertNever)(e)}};var B=(a,e,t=!1)=>{let i=a.getTransition();(t||!i||i.to===e)&&a.setState(e)};var Pt=require("@vkontakte/videoplayer-shared"),Z=class{constructor(e){this.transitionStarted$=new Pt.Subject;this.transitionEnded$=new Pt.Subject;this.transitionUpdated$=new Pt.Subject;this.forceChanged$=new Pt.Subject;this.stateChangeStarted$=(0,Pt.merge)(this.transitionStarted$,this.transitionUpdated$);this.stateChangeEnded$=(0,Pt.merge)(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||(0,Pt.isNonNullable)(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}};var Ku=require("@vkontakte/videoplayer-shared");var Ys=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 Jm=W(qe(),1);var ar=()=>/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(navigator.appVersion??navigator.userAgent)||navigator?.userAgentData?.mobile;var Ks=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,Jm.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=ar()}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 Xs=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 Ze=()=>window.ManagedMediaSource||window.MediaSource,sr=()=>!!(window.ManagedMediaSource&&window.ManagedSourceBuffer?.prototype?.appendBuffer),Zm=()=>!!(window.MediaSource&&window.SourceBuffer?.prototype?.appendBuffer),Js=()=>window.ManagedMediaSource?new ManagedMediaSource:new MediaSource;var gP=document.createElement("video"),SP='video/mp4; codecs="avc1.42000a,mp4a.40.2"',vP='video/mp4; codecs="hev1.1.6.L93.B0"',eb='video/webm; codecs="vp09.00.10.08"',tb='video/webm; codecs="av01.0.00M.08"',yP='audio/mp4; codecs="mp4a.40.2"',TP='audio/webm; codecs="opus"',ib,IP=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:tb}}),window.navigator.mediaCapabilities.decodingInfo({...a,video:{...a.video,contentType:eb}})]);ib={DASH_WEBM_AV1:e,DASH_WEBM:t}};IP().catch(a=>{console.log(gP),console.error(a)});var Zs=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 ib}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:sr(),mse:Zm(),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=!!Ze()?.isTypeSupported?.(SP),t=!!Ze()?.isTypeSupported?.(vP),i=!!Ze()?.isTypeSupported?.(yP);this._codecs={h264:e,h265:t,vp9:!!Ze()?.isTypeSupported?.(eb),av1:!!Ze()?.isTypeSupported?.(tb),aac:i,opus:!!Ze()?.isTypeSupported?.(TP),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 rb="audio/mpeg",en=class{supportMp3(){return this._codecs.mp3&&this._containers.mpeg}detect(){this._audio=document.createElement("audio");try{this._containers={mpeg:!!this._audio.canPlayType?.(rb)},this._codecs={mp3:!!Ze()?.isTypeSupported?.(rb)}}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}};var ab=require("@vkontakte/videoplayer-shared"),Yu=class{constructor(){this.isInited$=new ab.ValueSubject(!1);this._displayChecker=new Xs,this._deviceChecker=new Ks(this._displayChecker),this._browserChecker=new Ys,this._videoChecker=new Zs(this._deviceChecker,this._browserChecker),this._audioChecker=new en,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)}},Q=new Yu;var Xu=a=>{let{containers:e,protocols:t,codecs:i,nativeHlsSupported:r}=Q.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(0,Ku.assertNever)(u)}})},Ju=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(0,Ku.assertNever)(a)}},sb=a=>{let t=Object.keys(a).filter(i=>!Ju(i));return Xu(t).length>0};var q=require("@vkontakte/videoplayer-shared");var EP=5,xP=5,wP=500,nb=7e3,ea=class{constructor(e){this.subscription=new q.Subscription;this.loadMediaTimeoutSubscription=new q.Subscription;this.videoState=new Z("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:(0,q.assertNever)(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:(0,q.assertNever)(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:(0,q.assertNever)(e)}break}default:(0,q.assertNever)(i)}}};this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastProvider"),this.log({message:`constructor, format: ${e.format}`}),this.params.output.isLive$.next(Ju(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 q.Subscription;this.subscription.add(e),this.subscription.add((0,q.merge)(this.videoState.stateChangeStarted$.pipe((0,q.map)(r=>`stateChangeStarted$ ${JSON.stringify(r)}`)),this.videoState.stateChangeEnded$.pipe((0,q.map)(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 q.Subject;e.add(r.pipe((0,q.debounce)(wP)).subscribe(()=>{this.params.output.seekedEvent$.next()}));let s=NaN;e.add((0,q.fromEvent)(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)>EP)&&r.next(u),s=u})),e.add((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe(n=>{this.logRemoteEvent(n),this.params.output.duration$.next(n.value)}))}t((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemoteReady():(this.handleRemoteStop(),e.unsubscribe())}),t((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemotePause():this.handleRemotePlay()}),t((0,q.fromEvent)(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<xP&&this.params.output.endedEvent$.next(),this.handleRemoteStop(),B(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:(0,q.assertNever)(n)}}),t((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({volume:r.value})}),t((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({muted:r.value})});let i=(0,q.merge)(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekState.stateChangeEnded$,this.videoState.stateChangeEnded$,(0,q.observableFrom)(["init"])).pipe((0,q.debounce)(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"),B(this.params.desiredState.playbackState,"paused")):(this.videoState.setState("playing"),B(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"),B(this.params.desiredState.playbackState,"paused"))}handleRemotePlay(){let e=this.videoState.getState();(this.videoState.getTransition()?.to==="playing"||e==="paused")&&(this.videoState.setState("playing"),B(this.params.desiredState.playbackState,"playing"))}handleRemoteReady(){this.videoState.getTransition()?.to==="ready"&&this.videoState.setState("ready"),this.params.desiredState.playbackState.getTransition()?.to==="ready"&&B(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];(0,q.assertNonNullable)(l);let p=(0,q.getHighestQuality)(Object.keys(l));(0,q.assertNonNullable)(p);let d=l[p];(0,q.assertNonNullable)(d),i=d,r="video/mp4",s=chrome.cast.media.StreamType.BUFFERED;break}case"HLS":case"HLS_FMP4":case"HLS_ONDEMAND":{let l=t[e];(0,q.assertNonNullable)(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];(0,q.assertNonNullable)(l),i=l.url,r="application/dash+xml",s=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_LIVE_CMAF":{let l=t[e];(0,q.assertNonNullable)(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];(0,q.assertNonNullable)(l),i=ye(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",p=new Error(l);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",category:q.ErrorCategory.VIDEO_PIPELINE,message:l,thrown:p}),p}case"DASH":case"DASH_LIVE_WEBM":throw new Error(`${e} is no longer supported`);default:return(0,q.assertNever)(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(0,q.isNonNullable)(u)&&(n.metadata.title=u),(0,q.isNonNullable)(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((0,q.timeout)(nb).subscribe(()=>s(`timeout(${nb})`)))});(0,ob.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:q.ErrorCategory.VIDEO_PIPELINE,message:s,thrown:r})}),()=>{this.loadMediaTimeoutSubscription.unsubscribe()})}logRemoteEvent(e){this.log({message:`[remoteEvent] ${JSON.stringify(e)}`})}};var pl=W(qe(),1);var il=require("@vkontakte/videoplayer-shared");var ub=require("@vkontakte/videoplayer-shared"),lb=a=>{try{a.pause(),a.playbackRate=0,(0,ub.clearVideoElement)(a),a.remove()}catch(e){console.error(e)}};var tn=require("@vkontakte/videoplayer-shared"),Zu=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)}},el=window.WeakMap?new WeakMap:new Zu,tl=window.WeakMap?new WeakMap:new Map,AP=(a,e=20)=>{let t=0;return(0,tn.fromEvent)(a,"ratechange").subscribe(i=>{t++,t>=e&&(a.currentTime=a.currentTime,t=0)})},Ue=(a,{audioVideoSyncRate:e,disableYandexPiP:t})=>{let i=a.querySelector("video"),r=!!i;i?(0,il.clearVideoElement)(i):(i=document.createElement("video"),a.appendChild(i)),el.set(i,r);let s=new tn.Subscription;return s.add(AP(i,e)),tl.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},He=a=>{tl.get(a)?.unsubscribe(),tl.delete(a);let t=el.get(a);el.delete(a),t?(0,il.clearVideoElement)(a):lb(a)};var rl=W(Si(),1),U=require("@vkontakte/videoplayer-shared");var ti=require("@vkontakte/videoplayer-shared"),rn=(a,e,t,{equal:i=(n,u)=>n===u,changed$:r,onError:s}={})=>{let n=a.getState(),u=e(),o=(0,ti.isNullable)(r),l=new ti.Subscription;return r&&l.add(r.subscribe(p=>{let d=a.getState();i(p,d)&&a.setState(p)},s)),i(u,n)||(t(n),o&&a.setState(n)),l.add(a.stateChangeStarted$.subscribe(p=>{t(p.to),o&&a.setState(p.to)},s)),l},kt=(a,e,t)=>rn(e,()=>a.loop,i=>{(0,ti.isNonNullable)(i)&&(a.loop=i)},{onError:t}),je=(a,e,t,i)=>rn(e,()=>({muted:a.muted,volume:a.volume}),r=>{(0,ti.isNonNullable)(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}),nt=(a,e,t,i)=>rn(e,()=>a.playbackRate,r=>{(0,ti.isNonNullable)(r)&&(a.playbackRate=r)},{changed$:t,onError:i}),ta=rn;var PP=a=>["__",a.language,a.label].join("|"),kP=(a,e)=>{if(a.id===e)return!0;let[t,i,r]=e.split("|");return a.language===i&&a.label===r},al=class a{constructor(e){this.available$=new U.Subject;this.current$=new U.ValueSubject(void 0);this.error$=new U.Subject;this.subscription=new U.Subscription;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:U.ErrorCategory.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(ta(t.internalTextTracks,()=>(0,rl.default)(this.internalTracks),s=>{(0,U.isNonNullable)(s)&&this.setInternal(s)},{equal:(s,n)=>(0,U.isNonNullable)(s)&&(0,U.isNonNullable)(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe((0,U.map)(s=>s.filter(({type:n})=>n==="internal"))),onError:r})),this.subscription.add(ta(t.externalTextTracks,()=>(0,rl.default)(this.externalTracks),s=>{(0,U.isNonNullable)(s)&&this.setExternal(s)},{equal:(s,n)=>(0,U.isNonNullable)(s)&&(0,U.isNonNullable)(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe((0,U.map)(s=>s.filter(({type:n})=>n==="external"))),onError:r})),this.subscription.add(ta(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(ta(t.textTrackCuesSettings,()=>({}),()=>{if(this.video)for(let s of this.htmlTextTracksAsArray())this.applyCueSettings(s.cues),this.applyCueSettings(s.activeCues)}))}subscribe(){(0,U.assertNonNullable)(this.video);let{textTracks:e}=this.video;this.subscription.add((0,U.fromEvent)(e,"addtrack").subscribe(()=>{let i=this.current$.getValue();i&&this.select(i)})),this.subscription.add((0,U.merge)((0,U.fromEvent)(e,"addtrack"),(0,U.fromEvent)(e,"removetrack"),(0,U.observableFrom)(["init"])).pipe((0,U.map)(()=>this.htmlTextTracksAsArray().map(i=>this.htmlTextTrackToITextTrack(i))),(0,U.filterChanged)((i,r)=>i.length===r.length&&i.every(({id:s},n)=>s===r[n].id))).subscribe(this.available$)),this.subscription.add((0,U.merge)((0,U.fromEvent)(e,"change"),(0,U.observableFrom)(["init"])).pipe((0,U.map)(()=>this.htmlTextTracksAsArray().find(({mode:i})=>i==="showing")),(0,U.map)(i=>i&&this.htmlTextTrackToITextTrack(i).id),(0,U.filterChanged)()).subscribe(this.current$));let t=i=>this.applyCueSettings(i.target?.activeCues??null);this.subscription.add((0,U.fromEvent)(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((0,U.fromEvent)(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;(0,U.isNonNullable)(t.align)&&(r.align=t.align),(0,U.isNonNullable)(t.position)&&(r.position=t.position),(0,U.isNonNullable)(t.size)&&(r.size=t.size),(0,U.isNonNullable)(t.line)&&(r.line=t.line)}}htmlTextTracksAsArray(e=!1){(0,U.assertNonNullable)(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:PP(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){(0,U.assertNonNullable)(this.video);for(let t of this.htmlTextTracksAsArray(!0))t.mode="showing";for(let t of this.htmlTextTracksAsArray(!0))((0,U.isNullable)(e)||!kP(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){(0,U.assertNonNullable)(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){(0,U.assertNonNullable)(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)}},ot=al;var xi=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 cb=a=>{let e=a;for(;!(e instanceof Document)&&!(e instanceof ShadowRoot)&&e!==null;)e=e?.parentNode;return e??void 0},sl=a=>{let e=cb(a);return!!(e&&e.fullscreenElement&&e.fullscreenElement===a)},db=a=>{let e=cb(a);return!!(e&&e.pictureInPictureElement&&e.pictureInPictureElement===a)};var $=require("@vkontakte/videoplayer-shared");var RP=3,pb=(a,e,t=RP)=>{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 Qe=a=>{let e=L=>(0,$.fromEvent)(a,L).pipe((0,$.mapTo)(void 0),(0,$.shareReplay)(1)),t=new $.Subscription,i=()=>t.unsubscribe(),r=(0,$.merge)((0,$.fromEvent)(a,"progress"),(0,$.fromEvent)(a,"timeupdate")).pipe((0,$.map)(()=>pb(a.buffered,a.currentTime)),(0,$.shareReplay)(1)),s=Q.browser.isSafari?(0,$.combine)({play:e("play").pipe((0,$.once)()),playing:e("playing")}).pipe((0,$.mapTo)(void 0),(0,$.shareReplay)(1)):e("playing"),n=(0,$.fromEvent)(a,"volumechange").pipe((0,$.map)(()=>({muted:a.muted,volume:a.volume})),(0,$.shareReplay)(1)),u=(0,$.fromEvent)(a,"ratechange").pipe((0,$.map)(()=>a.playbackRate),(0,$.shareReplay)(1)),o=(0,$.fromEvent)(a,"error").pipe((0,$.filter)(()=>!!(a.error||a.played.length)),(0,$.map)(()=>{let L=a.error;return{id:L?`MediaError#${L.code}`:"HtmlVideoError",category:$.ErrorCategory.VIDEO_PIPELINE,message:L?L.message:"Error event from HTML video element",thrown:a.error??void 0}}),(0,$.shareReplay)(1)),l=(0,$.fromEvent)(a,"timeupdate").pipe((0,$.map)(()=>a.currentTime),(0,$.shareReplay)(1)),p=["waiting","seeking","seeked","timeupdate"],d=new $.Subject,c=.3,h;t.add((0,$.merge)(...p.map(L=>(0,$.fromEvent)(a,L))).subscribe(L=>{let ee=a.currentTime;a.loop&&(0,$.isNonNullable)(h)&&(0,$.isNonNullable)(ee)&&h>=a.duration-c&&ee<=c&&d.next(h),h=ee}));let m=e("pause").pipe((0,$.filter)(()=>!a.error&&h!==a.duration),(0,$.shareReplay)(1)),b=(0,$.fromEvent)(a,"enterpictureinpicture").pipe((0,$.shareReplay)(1)),S=(0,$.fromEvent)(a,"leavepictureinpicture").pipe((0,$.shareReplay)(1)),v=new $.ValueSubject(db(a));t.add(b.subscribe(()=>v.next(!0))),t.add(S.subscribe(()=>v.next(!1)));let I=new $.ValueSubject(sl(a)),k=(0,$.fromEvent)(a,"fullscreenchange").pipe((0,$.shareReplay)(1));t.add(k.pipe((0,$.map)(()=>sl(a))).subscribe(I));let w=.1,C=1e3,V=(0,$.fromEvent)(a,"timeupdate").pipe((0,$.map)(L=>a.duration-a.currentTime<w),(0,$.filterChanged)(),(0,$.shareReplay)(1)),_=(0,$.merge)(V.pipe((0,$.filter)(L=>!a.loop&&L)),(0,$.fromEvent)(a,"ended")).pipe((0,$.throttle)(C),(0,$.mapTo)(void 0),(0,$.shareReplay)(1)),j=(0,$.merge)(...["waiting","pause","canplay","play","canplaythrough","playing","seeking","seeked","ended"].map(L=>(0,$.fromEvent)(a,L)),V.pipe((0,$.map)(L=>({type:L?"ended":"unknown"})))).pipe((0,$.map)(L=>Q.browser.isFirefox&&L.type==="ended"?a.readyState<2:a.readyState<3),(0,$.filterChanged)(),(0,$.shareReplay)(1));return{playing$:s,pause$:m,canplay$:e("canplay"),ended$:_,looped$:d,error$:o,seeked$:e("seeked"),seeking$:e("seeking"),progress$:e("progress"),loadStart$:e("loadstart"),loadedMetadata$:e("loadedmetadata"),loadedData$:e("loadeddata"),timeUpdate$:l,durationChange$:(0,$.fromEvent)(a,"durationchange").pipe((0,$.map)(()=>a.duration),(0,$.shareReplay)(1)),isBuffering$:j,currentBuffer$:r,volumeState$:n,playbackRateState$:u,inPiP$:v,inFullscreen$:I,enterPip$:b,leavePip$:S,destroy:i}};var Ft=require("@vkontakte/videoplayer-shared"),ii=a=>{switch(a){case"mobile":return Ft.VideoQuality.Q_144P;case"lowest":return Ft.VideoQuality.Q_240P;case"low":return Ft.VideoQuality.Q_360P;case"sd":case"medium":return Ft.VideoQuality.Q_480P;case"hd":case"high":return Ft.VideoQuality.Q_720P;case"fullhd":case"full":return Ft.VideoQuality.Q_1080P;case"quadhd":case"quad":return Ft.VideoQuality.Q_1440P;case"ultrahd":case"ultra":return Ft.VideoQuality.Q_2160P}};var Oe=W(gt(),1),ol=W(qe(),1),wi=W(zi(),1),D=require("@vkontakte/videoplayer-shared");var nl=!1,Nt={},vb=a=>{nl=a},yb=()=>{Nt={}},Tb=a=>{a(Nt)},ia=(a,e)=>{nl&&(Nt.meta=Nt.meta??{},Nt.meta[a]=e)},_e=class{constructor(e){this.name=e}next(e){if(!nl)return;Nt.series=Nt.series??{};let t=Nt.series[this.name]??[];t.push([Date.now(),e]),Nt.series[this.name]=t}};var Ie=require("@vkontakte/videoplayer-shared");function Ib(a,e,t){return!a.max&&a.min===e?"high_quality":!a.min&&a.max===t?"traffic_saving":"unknown"}function nr(a,e,t){return(0,Ie.isNullable)(a)||(0,Ie.isNonNullable)(a.min)&&(0,Ie.isNonNullable)(a.max)&&(0,Ie.isLower)(a.max,a.min)||(0,Ie.isNonNullable)(a.min)&&e&&(0,Ie.isHigher)(a.min,e)||(0,Ie.isNonNullable)(a.max)&&t&&(0,Ie.isLower)(a.max,t)}function Eb({limits:a,highestAvailableHeight:e,lowestAvailableHeight:t}){return nr({max:a?.max?(0,Ie.videoHeightToQuality)(a.max):void 0,min:a?.min?(0,Ie.videoHeightToQuality)(a.min):void 0},e?(0,Ie.videoHeightToQuality)(e):void 0,t?(0,Ie.videoHeightToQuality)(t):void 0)}var kb=new _e("best_bitrate"),sn=(a,e,t)=>(e-t)*Math.pow(2,-10*a)+t;var or=a=>(e,t)=>a*(Number(e.bitrate)-Number(t.bitrate)),ri=class{constructor(){this.history={}}recordSelection(e){this.history[e.id]=(0,D.now)()}recordSwitch(e){this.last=e}clear(){this.last=void 0,this.history={}}},nn='Assertion "ABR Tracks is empty array" failed',an=new WeakMap,xb=new WeakMap,wb=new WeakMap,ra=(a,e,t,i)=>{let r=[...e].sort(or(1)),s=[...t].sort(or(1)),n=s.filter(o=>(0,D.isNonNullable)(o.bitrate)&&(0,D.isNonNullable)(a.bitrate)?a.bitrate/o.bitrate>i:!0),u=(0,Oe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Oe.default)(s,-1);return u&&(0,ol.default)(n,u)?u:n.length?(0,Oe.default)(n,-1):(0,Oe.default)(s,0)},aa=(a,e,t,i)=>{let r=an.get(e);r||(r=[...e].sort(or(1)),an.set(e,r));let s=an.get(t);s||(s=[...t].sort(or(1)),an.set(t,s));let n=wb.get(a);n||(n=s.filter(o=>(0,D.isNonNullable)(o.bitrate)&&(0,D.isNonNullable)(a.bitrate)?a.bitrate/o.bitrate>i:!0),wb.set(a,n));let u=(0,Oe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Oe.default)(s,-1);return u&&(0,ol.default)(n,u)?u:n.length?(0,Oe.default)(n,-1):(0,Oe.default)(s,0)},Ab=a=>"quality"in a,on=(a,e,t,i)=>{let r=(0,D.isNonNullable)(i?.last?.bitrate)&&(0,D.isNonNullable)(t?.bitrate)&&i.last.bitrate<t.bitrate?a.trackCooldownIncreaseQuality:a.trackCooldownDecreaseQuality,s=t&&i&&i.history[t.id]&&(0,D.now)()-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=Ab(n)?"video":"audio",o=Ab(n)?n.quality:n.bitrate;return e({message:`
6
+ "use strict";var Lv=Object.create;var hs=Object.defineProperty;var $v=Object.getOwnPropertyDescriptor;var Mv=Object.getOwnPropertyNames;var Dv=Object.getPrototypeOf,Cv=Object.prototype.hasOwnProperty;var g=(a,e)=>()=>(e||a((e={exports:{}}).exports,e),e.exports),Bv=(a,e)=>{for(var t in e)hs(a,t,{get:e[t],enumerable:!0})},rc=(a,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Mv(e))!Cv.call(a,r)&&r!==t&&hs(a,r,{get:()=>e[r],enumerable:!(i=$v(e,r))||i.enumerable});return a};var W=(a,e,t)=>(t=a!=null?Lv(Dv(a)):{},rc(e||!a||!a.__esModule?hs(t,"default",{value:a,enumerable:!0}):t,a)),Vv=a=>rc(hs({},"__esModule",{value:!0}),a);var Se=g((ao,ac)=>{"use strict";var Lr=function(a){return a&&a.Math===Math&&a};ac.exports=Lr(typeof globalThis=="object"&&globalThis)||Lr(typeof window=="object"&&window)||Lr(typeof self=="object"&&self)||Lr(typeof global=="object"&&global)||Lr(typeof ao=="object"&&ao)||function(){return this}()||Function("return this")()});var we=g((PL,sc)=>{"use strict";sc.exports=function(a){try{return!!a()}catch{return!0}}});var $r=g((kL,nc)=>{"use strict";var _v=we();nc.exports=!_v(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")})});var so=g((RL,cc)=>{"use strict";var Ov=$r(),lc=Function.prototype,oc=lc.apply,uc=lc.call;cc.exports=typeof Reflect=="object"&&Reflect.apply||(Ov?uc.bind(oc):function(){return uc.apply(oc,arguments)})});var Ae=g((LL,hc)=>{"use strict";var dc=$r(),pc=Function.prototype,no=pc.call,Fv=dc&&pc.bind.bind(no,no);hc.exports=dc?Fv:function(a){return function(){return no.apply(a,arguments)}}});var hi=g(($L,mc)=>{"use strict";var fc=Ae(),Nv=fc({}.toString),qv=fc("".slice);mc.exports=function(a){return qv(Nv(a),8,-1)}});var oo=g((ML,bc)=>{"use strict";var Uv=hi(),Hv=Ae();bc.exports=function(a){if(Uv(a)==="Function")return Hv(a)}});var ve=g((DL,gc)=>{"use strict";var uo=typeof document=="object"&&document.all;gc.exports=typeof uo>"u"&&uo!==void 0?function(a){return typeof a=="function"||a===uo}:function(a){return typeof a=="function"}});var Ke=g((CL,Sc)=>{"use strict";var jv=we();Sc.exports=!jv(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var Xe=g((BL,vc)=>{"use strict";var Qv=$r(),bs=Function.prototype.call;vc.exports=Qv?bs.bind(bs):function(){return bs.apply(bs,arguments)}});var lo=g(Ic=>{"use strict";var yc={}.propertyIsEnumerable,Tc=Object.getOwnPropertyDescriptor,Wv=Tc&&!yc.call({1:2},1);Ic.f=Wv?function(e){var t=Tc(this,e);return!!t&&t.enumerable}:yc});var Mr=g((_L,Ec)=>{"use strict";Ec.exports=function(a,e){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:e}}});var wc=g((OL,xc)=>{"use strict";var Gv=Ae(),zv=we(),Yv=hi(),co=Object,Kv=Gv("".split);xc.exports=zv(function(){return!co("z").propertyIsEnumerable(0)})?function(a){return Yv(a)==="String"?Kv(a,""):co(a)}:co});var Dr=g((FL,Ac)=>{"use strict";Ac.exports=function(a){return a==null}});var Xt=g((NL,Pc)=>{"use strict";var Xv=Dr(),Jv=TypeError;Pc.exports=function(a){if(Xv(a))throw new Jv("Can't call method on "+a);return a}});var fi=g((qL,kc)=>{"use strict";var Zv=wc(),ey=Xt();kc.exports=function(a){return Zv(ey(a))}});var Ne=g((UL,Rc)=>{"use strict";var ty=ve();Rc.exports=function(a){return typeof a=="object"?a!==null:ty(a)}});var mi=g((HL,Lc)=>{"use strict";Lc.exports={}});var Vt=g((jL,Mc)=>{"use strict";var po=mi(),ho=Se(),iy=ve(),$c=function(a){return iy(a)?a:void 0};Mc.exports=function(a,e){return arguments.length<2?$c(po[a])||$c(ho[a]):po[a]&&po[a][e]||ho[a]&&ho[a][e]}});var Cr=g((QL,Dc)=>{"use strict";var ry=Ae();Dc.exports=ry({}.isPrototypeOf)});var bi=g((WL,Vc)=>{"use strict";var ay=Se(),Cc=ay.navigator,Bc=Cc&&Cc.userAgent;Vc.exports=Bc?String(Bc):""});var mo=g((GL,Uc)=>{"use strict";var qc=Se(),fo=bi(),_c=qc.process,Oc=qc.Deno,Fc=_c&&_c.versions||Oc&&Oc.version,Nc=Fc&&Fc.v8,ht,gs;Nc&&(ht=Nc.split("."),gs=ht[0]>0&&ht[0]<4?1:+(ht[0]+ht[1]));!gs&&fo&&(ht=fo.match(/Edge\/(\d+)/),(!ht||ht[1]>=74)&&(ht=fo.match(/Chrome\/(\d+)/),ht&&(gs=+ht[1])));Uc.exports=gs});var bo=g((zL,jc)=>{"use strict";var Hc=mo(),sy=we(),ny=Se(),oy=ny.String;jc.exports=!!Object.getOwnPropertySymbols&&!sy(function(){var a=Symbol("symbol detection");return!oy(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&Hc&&Hc<41})});var go=g((YL,Qc)=>{"use strict";var uy=bo();Qc.exports=uy&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var So=g((KL,Wc)=>{"use strict";var ly=Vt(),cy=ve(),dy=Cr(),py=go(),hy=Object;Wc.exports=py?function(a){return typeof a=="symbol"}:function(a){var e=ly("Symbol");return cy(e)&&dy(e.prototype,hy(a))}});var Br=g((XL,Gc)=>{"use strict";var fy=String;Gc.exports=function(a){try{return fy(a)}catch{return"Object"}}});var wt=g((JL,zc)=>{"use strict";var my=ve(),by=Br(),gy=TypeError;zc.exports=function(a){if(my(a))return a;throw new gy(by(a)+" is not a function")}});var Vr=g((ZL,Yc)=>{"use strict";var Sy=wt(),vy=Dr();Yc.exports=function(a,e){var t=a[e];return vy(t)?void 0:Sy(t)}});var Xc=g((e$,Kc)=>{"use strict";var vo=Xe(),yo=ve(),To=Ne(),yy=TypeError;Kc.exports=function(a,e){var t,i;if(e==="string"&&yo(t=a.toString)&&!To(i=vo(t,a))||yo(t=a.valueOf)&&!To(i=vo(t,a))||e!=="string"&&yo(t=a.toString)&&!To(i=vo(t,a)))return i;throw new yy("Can't convert object to primitive value")}});var ft=g((t$,Jc)=>{"use strict";Jc.exports=!0});var td=g((i$,ed)=>{"use strict";var Zc=Se(),Ty=Object.defineProperty;ed.exports=function(a,e){try{Ty(Zc,a,{value:e,configurable:!0,writable:!0})}catch{Zc[a]=e}return e}});var _r=g((r$,ad)=>{"use strict";var Iy=ft(),Ey=Se(),xy=td(),id="__core-js_shared__",rd=ad.exports=Ey[id]||xy(id,{});(rd.versions||(rd.versions=[])).push({version:"3.43.0",mode:Iy?"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 Io=g((a$,nd)=>{"use strict";var sd=_r();nd.exports=function(a,e){return sd[a]||(sd[a]=e||{})}});var qi=g((s$,od)=>{"use strict";var wy=Xt(),Ay=Object;od.exports=function(a){return Ay(wy(a))}});var mt=g((n$,ud)=>{"use strict";var Py=Ae(),ky=qi(),Ry=Py({}.hasOwnProperty);ud.exports=Object.hasOwn||function(e,t){return Ry(ky(e),t)}});var Eo=g((o$,ld)=>{"use strict";var Ly=Ae(),$y=0,My=Math.random(),Dy=Ly(1.1.toString);ld.exports=function(a){return"Symbol("+(a===void 0?"":a)+")_"+Dy(++$y+My,36)}});var Le=g((u$,dd)=>{"use strict";var Cy=Se(),By=Io(),cd=mt(),Vy=Eo(),_y=bo(),Oy=go(),Ui=Cy.Symbol,xo=By("wks"),Fy=Oy?Ui.for||Ui:Ui&&Ui.withoutSetter||Vy;dd.exports=function(a){return cd(xo,a)||(xo[a]=_y&&cd(Ui,a)?Ui[a]:Fy("Symbol."+a)),xo[a]}});var md=g((l$,fd)=>{"use strict";var Ny=Xe(),pd=Ne(),hd=So(),qy=Vr(),Uy=Xc(),Hy=Le(),jy=TypeError,Qy=Hy("toPrimitive");fd.exports=function(a,e){if(!pd(a)||hd(a))return a;var t=qy(a,Qy),i;if(t){if(e===void 0&&(e="default"),i=Ny(t,a,e),!pd(i)||hd(i))return i;throw new jy("Can't convert object to primitive value")}return e===void 0&&(e="number"),Uy(a,e)}});var wo=g((c$,bd)=>{"use strict";var Wy=md(),Gy=So();bd.exports=function(a){var e=Wy(a,"string");return Gy(e)?e:e+""}});var Ss=g((d$,Sd)=>{"use strict";var zy=Se(),gd=Ne(),Ao=zy.document,Yy=gd(Ao)&&gd(Ao.createElement);Sd.exports=function(a){return Yy?Ao.createElement(a):{}}});var Po=g((p$,vd)=>{"use strict";var Ky=Ke(),Xy=we(),Jy=Ss();vd.exports=!Ky&&!Xy(function(){return Object.defineProperty(Jy("div"),"a",{get:function(){return 7}}).a!==7})});var Id=g(Td=>{"use strict";var Zy=Ke(),eT=Xe(),tT=lo(),iT=Mr(),rT=fi(),aT=wo(),sT=mt(),nT=Po(),yd=Object.getOwnPropertyDescriptor;Td.f=Zy?yd:function(e,t){if(e=rT(e),t=aT(t),nT)try{return yd(e,t)}catch{}if(sT(e,t))return iT(!eT(tT.f,e,t),e[t])}});var ko=g((f$,Ed)=>{"use strict";var oT=we(),uT=ve(),lT=/#|\.prototype\./,Or=function(a,e){var t=dT[cT(a)];return t===hT?!0:t===pT?!1:uT(e)?oT(e):!!e},cT=Or.normalize=function(a){return String(a).replace(lT,".").toLowerCase()},dT=Or.data={},pT=Or.NATIVE="N",hT=Or.POLYFILL="P";Ed.exports=Or});var Hi=g((m$,wd)=>{"use strict";var xd=oo(),fT=wt(),mT=$r(),bT=xd(xd.bind);wd.exports=function(a,e){return fT(a),e===void 0?a:mT?bT(a,e):function(){return a.apply(e,arguments)}}});var Ro=g((b$,Ad)=>{"use strict";var gT=Ke(),ST=we();Ad.exports=gT&&ST(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var At=g((g$,Pd)=>{"use strict";var vT=Ne(),yT=String,TT=TypeError;Pd.exports=function(a){if(vT(a))return a;throw new TT(yT(a)+" is not an object")}});var gi=g(Rd=>{"use strict";var IT=Ke(),ET=Po(),xT=Ro(),vs=At(),kd=wo(),wT=TypeError,Lo=Object.defineProperty,AT=Object.getOwnPropertyDescriptor,$o="enumerable",Mo="configurable",Do="writable";Rd.f=IT?xT?function(e,t,i){if(vs(e),t=kd(t),vs(i),typeof e=="function"&&t==="prototype"&&"value"in i&&Do in i&&!i[Do]){var r=AT(e,t);r&&r[Do]&&(e[t]=i.value,i={configurable:Mo in i?i[Mo]:r[Mo],enumerable:$o in i?i[$o]:r[$o],writable:!1})}return Lo(e,t,i)}:Lo:function(e,t,i){if(vs(e),t=kd(t),vs(i),ET)try{return Lo(e,t,i)}catch{}if("get"in i||"set"in i)throw new wT("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var ji=g((v$,Ld)=>{"use strict";var PT=Ke(),kT=gi(),RT=Mr();Ld.exports=PT?function(a,e,t){return kT.f(a,e,RT(1,t))}:function(a,e,t){return a[e]=t,a}});var Te=g((y$,Md)=>{"use strict";var Fr=Se(),LT=so(),$T=oo(),MT=ve(),DT=Id().f,CT=ko(),Qi=mi(),BT=Hi(),Wi=ji(),$d=mt();_r();var VT=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 LT(a,this,arguments)};return e.prototype=a.prototype,e};Md.exports=function(a,e){var t=a.target,i=a.global,r=a.stat,s=a.proto,n=i?Fr:r?Fr[t]:Fr[t]&&Fr[t].prototype,u=i?Qi:Qi[t]||Wi(Qi,t,{})[t],o=u.prototype,l,p,d,c,h,m,b,S,v;for(c in e)l=CT(i?c:t+(r?".":"#")+c,a.forced),p=!l&&n&&$d(n,c),m=u[c],p&&(a.dontCallGetSet?(v=DT(n,c),b=v&&v.value):b=n[c]),h=p&&b?b:e[c],!(!l&&!s&&typeof m==typeof h)&&(a.bind&&p?S=BT(h,Fr):a.wrap&&p?S=VT(h):s&&MT(h)?S=$T(h):S=h,(a.sham||h&&h.sham||m&&m.sham)&&Wi(S,"sham",!0),Wi(u,c,S),s&&(d=t+"Prototype",$d(Qi,d)||Wi(Qi,d,{}),Wi(Qi[d],c,h),a.real&&o&&(l||!o[c])&&Wi(o,c,h)))}});var ys=g((T$,Cd)=>{"use strict";var _T=Io(),OT=Eo(),Dd=_T("keys");Cd.exports=function(a){return Dd[a]||(Dd[a]=OT(a))}});var Vd=g((I$,Bd)=>{"use strict";var FT=we();Bd.exports=!FT(function(){function a(){}return a.prototype.constructor=null,Object.getPrototypeOf(new a)!==a.prototype})});var Ts=g((E$,Od)=>{"use strict";var NT=mt(),qT=ve(),UT=qi(),HT=ys(),jT=Vd(),_d=HT("IE_PROTO"),Co=Object,QT=Co.prototype;Od.exports=jT?Co.getPrototypeOf:function(a){var e=UT(a);if(NT(e,_d))return e[_d];var t=e.constructor;return qT(t)&&e instanceof t?t.prototype:e instanceof Co?QT:null}});var Nd=g((x$,Fd)=>{"use strict";var WT=Math.ceil,GT=Math.floor;Fd.exports=Math.trunc||function(e){var t=+e;return(t>0?GT:WT)(t)}});var Nr=g((w$,qd)=>{"use strict";var zT=Nd();qd.exports=function(a){var e=+a;return e!==e||e===0?0:zT(e)}});var Hd=g((A$,Ud)=>{"use strict";var YT=Nr(),KT=Math.max,XT=Math.min;Ud.exports=function(a,e){var t=YT(a);return t<0?KT(t+e,0):XT(t,e)}});var Bo=g((P$,jd)=>{"use strict";var JT=Nr(),ZT=Math.min;jd.exports=function(a){var e=JT(a);return e>0?ZT(e,9007199254740991):0}});var Gi=g((k$,Qd)=>{"use strict";var eI=Bo();Qd.exports=function(a){return eI(a.length)}});var Vo=g((R$,Gd)=>{"use strict";var tI=fi(),iI=Hd(),rI=Gi(),Wd=function(a){return function(e,t,i){var r=tI(e),s=rI(r);if(s===0)return!a&&-1;var n=iI(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}};Gd.exports={includes:Wd(!0),indexOf:Wd(!1)}});var Is=g((L$,zd)=>{"use strict";zd.exports={}});var Xd=g(($$,Kd)=>{"use strict";var aI=Ae(),_o=mt(),sI=fi(),nI=Vo().indexOf,oI=Is(),Yd=aI([].push);Kd.exports=function(a,e){var t=sI(a),i=0,r=[],s;for(s in t)!_o(oI,s)&&_o(t,s)&&Yd(r,s);for(;e.length>i;)_o(t,s=e[i++])&&(~nI(r,s)||Yd(r,s));return r}});var Oo=g((M$,Jd)=>{"use strict";Jd.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Fo=g((D$,Zd)=>{"use strict";var uI=Xd(),lI=Oo();Zd.exports=Object.keys||function(e){return uI(e,lI)}});var No=g((C$,ap)=>{"use strict";var tp=Ke(),cI=we(),ip=Ae(),dI=Ts(),pI=Fo(),hI=fi(),fI=lo().f,rp=ip(fI),mI=ip([].push),bI=tp&&cI(function(){var a=Object.create(null);return a[2]=2,!rp(a,2)}),ep=function(a){return function(e){for(var t=hI(e),i=pI(t),r=bI&&dI(t)===null,s=i.length,n=0,u=[],o;s>n;)o=i[n++],(!tp||(r?o in t:rp(t,o)))&&mI(u,a?[o,t[o]]:t[o]);return u}};ap.exports={entries:ep(!0),values:ep(!1)}});var sp=g(()=>{"use strict";var gI=Te(),SI=No().values;gI({target:"Object",stat:!0},{values:function(e){return SI(e)}})});var op=g((_$,np)=>{"use strict";sp();var vI=mi();np.exports=vI.Object.values});var lp=g((O$,up)=>{"use strict";var yI=op();up.exports=yI});var Si=g((F$,cp)=>{"use strict";var TI=lp();cp.exports=TI});var qr=g((N$,dp)=>{"use strict";dp.exports=function(){}});var pp=g(()=>{"use strict";var II=Te(),EI=Vo().includes,xI=we(),wI=qr(),AI=xI(function(){return!Array(1).includes()});II({target:"Array",proto:!0,forced:AI},{includes:function(e){return EI(this,e,arguments.length>1?arguments[1]:void 0)}});wI("includes")});var Jt=g((H$,hp)=>{"use strict";var PI=Vt();hp.exports=PI});var mp=g((j$,fp)=>{"use strict";pp();var kI=Jt();fp.exports=kI("Array","includes")});var gp=g((Q$,bp)=>{"use strict";var RI=mp();bp.exports=RI});var qe=g((W$,Sp)=>{"use strict";var LI=gp();Sp.exports=LI});var yp=g(()=>{"use strict";var MI=Te(),DI=No().entries;MI({target:"Object",stat:!0},{entries:function(e){return DI(e)}})});var Ip=g((sM,Tp)=>{"use strict";yp();var CI=mi();Tp.exports=CI.Object.entries});var xp=g((nM,Ep)=>{"use strict";var BI=Ip();Ep.exports=BI});var zi=g((oM,wp)=>{"use strict";var VI=xp();wp.exports=VI});var vi=g((uM,Ap)=>{"use strict";Ap.exports={}});var Rp=g((lM,kp)=>{"use strict";var _I=Se(),OI=ve(),Pp=_I.WeakMap;kp.exports=OI(Pp)&&/native code/.test(String(Pp))});var jo=g((cM,Mp)=>{"use strict";var FI=Rp(),$p=Se(),NI=Ne(),qI=ji(),qo=mt(),Uo=_r(),UI=ys(),HI=Is(),Lp="Object already initialized",Ho=$p.TypeError,jI=$p.WeakMap,xs,Ur,ws,QI=function(a){return ws(a)?Ur(a):xs(a,{})},WI=function(a){return function(e){var t;if(!NI(e)||(t=Ur(e)).type!==a)throw new Ho("Incompatible receiver, "+a+" required");return t}};FI||Uo.state?(bt=Uo.state||(Uo.state=new jI),bt.get=bt.get,bt.has=bt.has,bt.set=bt.set,xs=function(a,e){if(bt.has(a))throw new Ho(Lp);return e.facade=a,bt.set(a,e),e},Ur=function(a){return bt.get(a)||{}},ws=function(a){return bt.has(a)}):(yi=UI("state"),HI[yi]=!0,xs=function(a,e){if(qo(a,yi))throw new Ho(Lp);return e.facade=a,qI(a,yi,e),e},Ur=function(a){return qo(a,yi)?a[yi]:{}},ws=function(a){return qo(a,yi)});var bt,yi;Mp.exports={set:xs,get:Ur,has:ws,enforce:QI,getterFor:WI}});var Go=g((dM,Cp)=>{"use strict";var Qo=Ke(),GI=mt(),Dp=Function.prototype,zI=Qo&&Object.getOwnPropertyDescriptor,Wo=GI(Dp,"name"),YI=Wo&&function(){}.name==="something",KI=Wo&&(!Qo||Qo&&zI(Dp,"name").configurable);Cp.exports={EXISTS:Wo,PROPER:YI,CONFIGURABLE:KI}});var Vp=g(Bp=>{"use strict";var XI=Ke(),JI=Ro(),ZI=gi(),eE=At(),tE=fi(),iE=Fo();Bp.f=XI&&!JI?Object.defineProperties:function(e,t){eE(e);for(var i=tE(t),r=iE(t),s=r.length,n=0,u;s>n;)ZI.f(e,u=r[n++],i[u]);return e}});var zo=g((hM,_p)=>{"use strict";var rE=Vt();_p.exports=rE("document","documentElement")});var Jo=g((fM,jp)=>{"use strict";var aE=At(),sE=Vp(),Op=Oo(),nE=Is(),oE=zo(),uE=Ss(),lE=ys(),Fp=">",Np="<",Ko="prototype",Xo="script",Up=lE("IE_PROTO"),Yo=function(){},Hp=function(a){return Np+Xo+Fp+a+Np+"/"+Xo+Fp},qp=function(a){a.write(Hp("")),a.close();var e=a.parentWindow.Object;return a=null,e},cE=function(){var a=uE("iframe"),e="java"+Xo+":",t;return a.style.display="none",oE.appendChild(a),a.src=String(e),t=a.contentWindow.document,t.open(),t.write(Hp("document.F=Object")),t.close(),t.F},As,Ps=function(){try{As=new ActiveXObject("htmlfile")}catch{}Ps=typeof document<"u"?document.domain&&As?qp(As):cE():qp(As);for(var a=Op.length;a--;)delete Ps[Ko][Op[a]];return Ps()};nE[Up]=!0;jp.exports=Object.create||function(e,t){var i;return e!==null?(Yo[Ko]=aE(e),i=new Yo,Yo[Ko]=null,i[Up]=e):i=Ps(),t===void 0?i:sE.f(i,t)}});var Yi=g((mM,Qp)=>{"use strict";var dE=ji();Qp.exports=function(a,e,t,i){return i&&i.enumerable?a[e]=t:dE(a,e,t),a}});var iu=g((bM,zp)=>{"use strict";var pE=we(),hE=ve(),fE=Ne(),mE=Jo(),Wp=Ts(),bE=Yi(),gE=Le(),SE=ft(),tu=gE("iterator"),Gp=!1,_t,Zo,eu;[].keys&&(eu=[].keys(),"next"in eu?(Zo=Wp(Wp(eu)),Zo!==Object.prototype&&(_t=Zo)):Gp=!0);var vE=!fE(_t)||pE(function(){var a={};return _t[tu].call(a)!==a});vE?_t={}:SE&&(_t=mE(_t));hE(_t[tu])||bE(_t,tu,function(){return this});zp.exports={IteratorPrototype:_t,BUGGY_SAFARI_ITERATORS:Gp}});var ks=g((gM,Kp)=>{"use strict";var yE=Le(),TE=yE("toStringTag"),Yp={};Yp[TE]="z";Kp.exports=String(Yp)==="[object z]"});var Hr=g((SM,Xp)=>{"use strict";var IE=ks(),EE=ve(),Rs=hi(),xE=Le(),wE=xE("toStringTag"),AE=Object,PE=Rs(function(){return arguments}())==="Arguments",kE=function(a,e){try{return a[e]}catch{}};Xp.exports=IE?Rs:function(a){var e,t,i;return a===void 0?"Undefined":a===null?"Null":typeof(t=kE(e=AE(a),wE))=="string"?t:PE?Rs(e):(i=Rs(e))==="Object"&&EE(e.callee)?"Arguments":i}});var Zp=g((vM,Jp)=>{"use strict";var RE=ks(),LE=Hr();Jp.exports=RE?{}.toString:function(){return"[object "+LE(this)+"]"}});var jr=g((yM,th)=>{"use strict";var $E=ks(),ME=gi().f,DE=ji(),CE=mt(),BE=Zp(),VE=Le(),eh=VE("toStringTag");th.exports=function(a,e,t,i){var r=t?a:a&&a.prototype;r&&(CE(r,eh)||ME(r,eh,{configurable:!0,value:e}),i&&!$E&&DE(r,"toString",BE))}});var rh=g((TM,ih)=>{"use strict";var _E=iu().IteratorPrototype,OE=Jo(),FE=Mr(),NE=jr(),qE=vi(),UE=function(){return this};ih.exports=function(a,e,t,i){var r=e+" Iterator";return a.prototype=OE(_E,{next:FE(+!i,t)}),NE(a,r,!1,!0),qE[r]=UE,a}});var sh=g((IM,ah)=>{"use strict";var HE=Ae(),jE=wt();ah.exports=function(a,e,t){try{return HE(jE(Object.getOwnPropertyDescriptor(a,e)[t]))}catch{}}});var oh=g((EM,nh)=>{"use strict";var QE=Ne();nh.exports=function(a){return QE(a)||a===null}});var lh=g((xM,uh)=>{"use strict";var WE=oh(),GE=String,zE=TypeError;uh.exports=function(a){if(WE(a))return a;throw new zE("Can't set "+GE(a)+" as a prototype")}});var ru=g((wM,ch)=>{"use strict";var YE=sh(),KE=Ne(),XE=Xt(),JE=lh();ch.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var a=!1,e={},t;try{t=YE(Object.prototype,"__proto__","set"),t(e,[]),a=e instanceof Array}catch{}return function(r,s){return XE(r),JE(s),KE(r)&&(a?t(r,s):r.__proto__=s),r}}():void 0)});var Th=g((AM,yh)=>{"use strict";var ZE=Te(),ex=Xe(),Ls=ft(),Sh=Go(),tx=ve(),ix=rh(),dh=Ts(),ph=ru(),rx=jr(),ax=ji(),au=Yi(),sx=Le(),hh=vi(),vh=iu(),nx=Sh.PROPER,ox=Sh.CONFIGURABLE,fh=vh.IteratorPrototype,$s=vh.BUGGY_SAFARI_ITERATORS,Qr=sx("iterator"),mh="keys",Wr="values",bh="entries",gh=function(){return this};yh.exports=function(a,e,t,i,r,s,n){ix(t,e,i);var u=function(v){if(v===r&&c)return c;if(!$s&&v&&v in p)return p[v];switch(v){case mh:return function(){return new t(this,v)};case Wr:return function(){return new t(this,v)};case bh:return function(){return new t(this,v)}}return function(){return new t(this)}},o=e+" Iterator",l=!1,p=a.prototype,d=p[Qr]||p["@@iterator"]||r&&p[r],c=!$s&&d||u(r),h=e==="Array"&&p.entries||d,m,b,S;if(h&&(m=dh(h.call(new a)),m!==Object.prototype&&m.next&&(!Ls&&dh(m)!==fh&&(ph?ph(m,fh):tx(m[Qr])||au(m,Qr,gh)),rx(m,o,!0,!0),Ls&&(hh[o]=gh))),nx&&r===Wr&&d&&d.name!==Wr&&(!Ls&&ox?ax(p,"name",Wr):(l=!0,c=function(){return ex(d,this)})),r)if(b={values:u(Wr),keys:s?c:u(mh),entries:u(bh)},n)for(S in b)($s||l||!(S in p))&&au(p,S,b[S]);else ZE({target:e,proto:!0,forced:$s||l},b);return(!Ls||n)&&p[Qr]!==c&&au(p,Qr,c,{name:r}),hh[e]=c,b}});var Eh=g((PM,Ih)=>{"use strict";Ih.exports=function(a,e){return{value:a,done:e}}});var nu=g((kM,kh)=>{"use strict";var ux=fi(),su=qr(),xh=vi(),Ah=jo(),lx=gi().f,cx=Th(),Ms=Eh(),dx=ft(),px=Ke(),Ph="Array Iterator",hx=Ah.set,fx=Ah.getterFor(Ph);kh.exports=cx(Array,"Array",function(a,e){hx(this,{type:Ph,target:ux(a),index:0,kind:e})},function(){var a=fx(this),e=a.target,t=a.index++;if(!e||t>=e.length)return a.target=null,Ms(void 0,!0);switch(a.kind){case"keys":return Ms(t,!1);case"values":return Ms(e[t],!1)}return Ms([t,e[t]],!1)},"values");var wh=xh.Arguments=xh.Array;su("keys");su("values");su("entries");if(!dx&&px&&wh.name!=="values")try{lx(wh,"name",{value:"values"})}catch{}});var Lh=g((RM,Rh)=>{"use strict";var mx=Le(),bx=vi(),gx=mx("iterator"),Sx=Array.prototype;Rh.exports=function(a){return a!==void 0&&(bx.Array===a||Sx[gx]===a)}});var ou=g((LM,Mh)=>{"use strict";var vx=Hr(),$h=Vr(),yx=Dr(),Tx=vi(),Ix=Le(),Ex=Ix("iterator");Mh.exports=function(a){if(!yx(a))return $h(a,Ex)||$h(a,"@@iterator")||Tx[vx(a)]}});var Ch=g(($M,Dh)=>{"use strict";var xx=Xe(),wx=wt(),Ax=At(),Px=Br(),kx=ou(),Rx=TypeError;Dh.exports=function(a,e){var t=arguments.length<2?kx(a):e;if(wx(t))return Ax(xx(t,a));throw new Rx(Px(a)+" is not iterable")}});var _h=g((MM,Vh)=>{"use strict";var Lx=Xe(),Bh=At(),$x=Vr();Vh.exports=function(a,e,t){var i,r;Bh(a);try{if(i=$x(a,"return"),!i){if(e==="throw")throw t;return t}i=Lx(i,a)}catch(s){r=!0,i=s}if(e==="throw")throw t;if(r)throw i;return Bh(i),t}});var Cs=g((DM,qh)=>{"use strict";var Mx=Hi(),Dx=Xe(),Cx=At(),Bx=Br(),Vx=Lh(),_x=Gi(),Oh=Cr(),Ox=Ch(),Fx=ou(),Fh=_h(),Nx=TypeError,Ds=function(a,e){this.stopped=a,this.result=e},Nh=Ds.prototype;qh.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=Mx(e,i),l,p,d,c,h,m,b,S=function(I){return l&&Fh(l,"normal"),new Ds(!0,I)},v=function(I){return r?(Cx(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(p=Fx(a),!p)throw new Nx(Bx(a)+" is not iterable");if(Vx(p)){for(d=0,c=_x(a);c>d;d++)if(h=v(a[d]),h&&Oh(Nh,h))return h;return new Ds(!1)}l=Ox(a,p)}for(m=s?a.next:l.next;!(b=Dx(m,l)).done;){try{h=v(b.value)}catch(I){Fh(l,"throw",I)}if(typeof h=="object"&&h&&Oh(Nh,h))return h}return new Ds(!1)}});var Hh=g((CM,Uh)=>{"use strict";var qx=Ke(),Ux=gi(),Hx=Mr();Uh.exports=function(a,e,t){qx?Ux.f(a,e,Hx(0,t)):a[e]=t}});var jh=g(()=>{"use strict";var jx=Te(),Qx=Cs(),Wx=Hh();jx({target:"Object",stat:!0},{fromEntries:function(e){var t={};return Qx(e,function(i,r){Wx(t,i,r)},{AS_ENTRIES:!0}),t}})});var Wh=g((_M,Qh)=>{"use strict";nu();jh();var Gx=mi();Qh.exports=Gx.Object.fromEntries});var zh=g((OM,Gh)=>{"use strict";Gh.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 Kh=g(()=>{"use strict";nu();var zx=zh(),Yx=Se(),Kx=jr(),Yh=vi();for(Bs in zx)Kx(Yx[Bs],Bs),Yh[Bs]=Yh.Array;var Bs});var Jh=g((qM,Xh)=>{"use strict";var Xx=Wh();Kh();Xh.exports=Xx});var uu=g((UM,Zh)=>{"use strict";var Jx=Jh();Zh.exports=Jx});var ef=g(()=>{"use strict"});var lu=g((QM,tf)=>{"use strict";var Gr=Se(),Zx=bi(),ew=hi(),Vs=function(a){return Zx.slice(0,a.length)===a};tf.exports=function(){return Vs("Bun/")?"BUN":Vs("Cloudflare-Workers")?"CLOUDFLARE":Vs("Deno/")?"DENO":Vs("Node.js/")?"NODE":Gr.Bun&&typeof Bun.version=="string"?"BUN":Gr.Deno&&typeof Deno.version=="object"?"DENO":ew(Gr.process)==="process"?"NODE":Gr.window&&Gr.document?"BROWSER":"REST"}()});var _s=g((WM,rf)=>{"use strict";var tw=lu();rf.exports=tw==="NODE"});var sf=g((GM,af)=>{"use strict";var iw=gi();af.exports=function(a,e,t){return iw.f(a,e,t)}});var uf=g((zM,of)=>{"use strict";var rw=Vt(),aw=sf(),sw=Le(),nw=Ke(),nf=sw("species");of.exports=function(a){var e=rw(a);nw&&e&&!e[nf]&&aw(e,nf,{configurable:!0,get:function(){return this}})}});var cf=g((YM,lf)=>{"use strict";var ow=Cr(),uw=TypeError;lf.exports=function(a,e){if(ow(e,a))return a;throw new uw("Incorrect invocation")}});var du=g((KM,df)=>{"use strict";var lw=Ae(),cw=ve(),cu=_r(),dw=lw(Function.toString);cw(cu.inspectSource)||(cu.inspectSource=function(a){return dw(a)});df.exports=cu.inspectSource});var hu=g((XM,bf)=>{"use strict";var pw=Ae(),hw=we(),pf=ve(),fw=Hr(),mw=Vt(),bw=du(),hf=function(){},ff=mw("Reflect","construct"),pu=/^\s*(?:class|function)\b/,gw=pw(pu.exec),Sw=!pu.test(hf),zr=function(e){if(!pf(e))return!1;try{return ff(hf,[],e),!0}catch{return!1}},mf=function(e){if(!pf(e))return!1;switch(fw(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Sw||!!gw(pu,bw(e))}catch{return!0}};mf.sham=!0;bf.exports=!ff||hw(function(){var a;return zr(zr.call)||!zr(Object)||!zr(function(){a=!0})||a})?mf:zr});var Sf=g((JM,gf)=>{"use strict";var vw=hu(),yw=Br(),Tw=TypeError;gf.exports=function(a){if(vw(a))return a;throw new Tw(yw(a)+" is not a constructor")}});var fu=g((ZM,yf)=>{"use strict";var vf=At(),Iw=Sf(),Ew=Dr(),xw=Le(),ww=xw("species");yf.exports=function(a,e){var t=vf(a).constructor,i;return t===void 0||Ew(i=vf(t)[ww])?e:Iw(i)}});var If=g((eD,Tf)=>{"use strict";var Aw=Ae();Tf.exports=Aw([].slice)});var xf=g((tD,Ef)=>{"use strict";var Pw=TypeError;Ef.exports=function(a,e){if(a<e)throw new Pw("Not enough arguments");return a}});var mu=g((iD,wf)=>{"use strict";var kw=bi();wf.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(kw)});var xu=g((rD,Cf)=>{"use strict";var Je=Se(),Rw=so(),Lw=Hi(),Af=ve(),$w=mt(),Df=we(),Pf=zo(),Mw=If(),kf=Ss(),Dw=xf(),Cw=mu(),Bw=_s(),Tu=Je.setImmediate,Iu=Je.clearImmediate,Vw=Je.process,bu=Je.Dispatch,_w=Je.Function,Rf=Je.MessageChannel,Ow=Je.String,gu=0,Yr={},Lf="onreadystatechange",Kr,Ti,Su,vu;Df(function(){Kr=Je.location});var Eu=function(a){if($w(Yr,a)){var e=Yr[a];delete Yr[a],e()}},yu=function(a){return function(){Eu(a)}},$f=function(a){Eu(a.data)},Mf=function(a){Je.postMessage(Ow(a),Kr.protocol+"//"+Kr.host)};(!Tu||!Iu)&&(Tu=function(e){Dw(arguments.length,1);var t=Af(e)?e:_w(e),i=Mw(arguments,1);return Yr[++gu]=function(){Rw(t,void 0,i)},Ti(gu),gu},Iu=function(e){delete Yr[e]},Bw?Ti=function(a){Vw.nextTick(yu(a))}:bu&&bu.now?Ti=function(a){bu.now(yu(a))}:Rf&&!Cw?(Su=new Rf,vu=Su.port2,Su.port1.onmessage=$f,Ti=Lw(vu.postMessage,vu)):Je.addEventListener&&Af(Je.postMessage)&&!Je.importScripts&&Kr&&Kr.protocol!=="file:"&&!Df(Mf)?(Ti=Mf,Je.addEventListener("message",$f,!1)):Lf in kf("script")?Ti=function(a){Pf.appendChild(kf("script"))[Lf]=function(){Pf.removeChild(this),Eu(a)}}:Ti=function(a){setTimeout(yu(a),0)});Cf.exports={set:Tu,clear:Iu}});var _f=g((aD,Vf)=>{"use strict";var Bf=Se(),Fw=Ke(),Nw=Object.getOwnPropertyDescriptor;Vf.exports=function(a){if(!Fw)return Bf[a];var e=Nw(Bf,a);return e&&e.value}});var wu=g((sD,Ff)=>{"use strict";var Of=function(){this.head=null,this.tail=null};Of.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}}};Ff.exports=Of});var qf=g((nD,Nf)=>{"use strict";var qw=bi();Nf.exports=/ipad|iphone|ipod/i.test(qw)&&typeof Pebble<"u"});var Hf=g((oD,Uf)=>{"use strict";var Uw=bi();Uf.exports=/web0s(?!.*chrome)/i.test(Uw)});var Kf=g((uD,Yf)=>{"use strict";var Xi=Se(),Hw=_f(),jf=Hi(),Au=xu().set,jw=wu(),Qw=mu(),Ww=qf(),Gw=Hf(),Pu=_s(),Qf=Xi.MutationObserver||Xi.WebKitMutationObserver,Wf=Xi.document,Gf=Xi.process,Os=Xi.Promise,Lu=Hw("queueMicrotask"),Ki,ku,Ru,Fs,zf;Lu||(Xr=new jw,Jr=function(){var a,e;for(Pu&&(a=Gf.domain)&&a.exit();e=Xr.get();)try{e()}catch(t){throw Xr.head&&Ki(),t}a&&a.enter()},!Qw&&!Pu&&!Gw&&Qf&&Wf?(ku=!0,Ru=Wf.createTextNode(""),new Qf(Jr).observe(Ru,{characterData:!0}),Ki=function(){Ru.data=ku=!ku}):!Ww&&Os&&Os.resolve?(Fs=Os.resolve(void 0),Fs.constructor=Os,zf=jf(Fs.then,Fs),Ki=function(){zf(Jr)}):Pu?Ki=function(){Gf.nextTick(Jr)}:(Au=jf(Au,Xi),Ki=function(){Au(Jr)}),Lu=function(a){Xr.head||Ki(),Xr.add(a)});var Xr,Jr;Yf.exports=Lu});var Jf=g((lD,Xf)=>{"use strict";Xf.exports=function(a,e){try{arguments.length===1?console.error(a):console.error(a,e)}catch{}}});var Ns=g((cD,Zf)=>{"use strict";Zf.exports=function(a){try{return{error:!1,value:a()}}catch(e){return{error:!0,value:e}}}});var Ii=g((dD,em)=>{"use strict";var zw=Se();em.exports=zw.Promise});var Ji=g((pD,am)=>{"use strict";var Yw=Se(),Zr=Ii(),Kw=ve(),Xw=ko(),Jw=du(),Zw=Le(),tm=lu(),eA=ft(),$u=mo(),im=Zr&&Zr.prototype,tA=Zw("species"),Mu=!1,rm=Kw(Yw.PromiseRejectionEvent),iA=Xw("Promise",function(){var a=Jw(Zr),e=a!==String(Zr);if(!e&&$u===66||eA&&!(im.catch&&im.finally))return!0;if(!$u||$u<51||!/native code/.test(a)){var t=new Zr(function(s){s(1)}),i=function(s){s(function(){},function(){})},r=t.constructor={};if(r[tA]=i,Mu=t.then(function(){})instanceof i,!Mu)return!0}return!e&&(tm==="BROWSER"||tm==="DENO")&&!rm});am.exports={CONSTRUCTOR:iA,REJECTION_EVENT:rm,SUBCLASSING:Mu}});var Zi=g((hD,nm)=>{"use strict";var sm=wt(),rA=TypeError,aA=function(a){var e,t;this.promise=new a(function(i,r){if(e!==void 0||t!==void 0)throw new rA("Bad Promise constructor");e=i,t=r}),this.resolve=sm(e),this.reject=sm(t)};nm.exports.f=function(a){return new aA(a)}});var Am=g(()=>{"use strict";var sA=Te(),nA=ft(),js=_s(),Zt=Se(),oA=mi(),rr=Xe(),om=Yi(),um=ru(),uA=jr(),lA=uf(),cA=wt(),Hs=ve(),dA=Ne(),pA=cf(),hA=fu(),hm=xu().set,_u=Kf(),fA=Jf(),mA=Ns(),bA=wu(),fm=jo(),Qs=Ii(),Ou=Ji(),mm=Zi(),Ws="Promise",bm=Ou.CONSTRUCTOR,gA=Ou.REJECTION_EVENT,SA=Ou.SUBCLASSING,Du=fm.getterFor(Ws),vA=fm.set,er=Qs&&Qs.prototype,Ei=Qs,qs=er,gm=Zt.TypeError,Cu=Zt.document,Fu=Zt.process,Bu=mm.f,yA=Bu,TA=!!(Cu&&Cu.createEvent&&Zt.dispatchEvent),Sm="unhandledrejection",IA="rejectionhandled",lm=0,vm=1,EA=2,Nu=1,ym=2,Us,cm,Tm,dm,Im=function(a){var e;return dA(a)&&Hs(e=a.then)?e:!1},Em=function(a,e){var t=e.value,i=e.state===vm,r=i?a.ok:a.fail,s=a.resolve,n=a.reject,u=a.domain,o,l,p;try{r?(i||(e.rejection===ym&&wA(e),e.rejection=Nu),r===!0?o=t:(u&&u.enter(),o=r(t),u&&(u.exit(),p=!0)),o===a.promise?n(new gm("Promise-chain cycle")):(l=Im(o))?rr(l,o,s,n):s(o)):n(t)}catch(d){u&&!p&&u.exit(),n(d)}},xm=function(a,e){a.notified||(a.notified=!0,_u(function(){for(var t=a.reactions,i;i=t.get();)Em(i,a);a.notified=!1,e&&!a.rejection&&xA(a)}))},wm=function(a,e,t){var i,r;TA?(i=Cu.createEvent("Event"),i.promise=e,i.reason=t,i.initEvent(a,!1,!0),Zt.dispatchEvent(i)):i={promise:e,reason:t},!gA&&(r=Zt["on"+a])?r(i):a===Sm&&fA("Unhandled promise rejection",t)},xA=function(a){rr(hm,Zt,function(){var e=a.facade,t=a.value,i=pm(a),r;if(i&&(r=mA(function(){js?Fu.emit("unhandledRejection",t,e):wm(Sm,e,t)}),a.rejection=js||pm(a)?ym:Nu,r.error))throw r.value})},pm=function(a){return a.rejection!==Nu&&!a.parent},wA=function(a){rr(hm,Zt,function(){var e=a.facade;js?Fu.emit("rejectionHandled",e):wm(IA,e,a.value)})},tr=function(a,e,t){return function(i){a(e,i,t)}},ir=function(a,e,t){a.done||(a.done=!0,t&&(a=t),a.value=e,a.state=EA,xm(a,!0))},Vu=function(a,e,t){if(!a.done){a.done=!0,t&&(a=t);try{if(a.facade===e)throw new gm("Promise can't be resolved itself");var i=Im(e);i?_u(function(){var r={done:!1};try{rr(i,e,tr(Vu,r,a),tr(ir,r,a))}catch(s){ir(r,s,a)}}):(a.value=e,a.state=vm,xm(a,!1))}catch(r){ir({done:!1},r,a)}}};if(bm&&(Ei=function(e){pA(this,qs),cA(e),rr(Us,this);var t=Du(this);try{e(tr(Vu,t),tr(ir,t))}catch(i){ir(t,i)}},qs=Ei.prototype,Us=function(e){vA(this,{type:Ws,done:!1,notified:!1,parent:!1,reactions:new bA,rejection:!1,state:lm,value:null})},Us.prototype=om(qs,"then",function(e,t){var i=Du(this),r=Bu(hA(this,Ei));return i.parent=!0,r.ok=Hs(e)?e:!0,r.fail=Hs(t)&&t,r.domain=js?Fu.domain:void 0,i.state===lm?i.reactions.add(r):_u(function(){Em(r,i)}),r.promise}),cm=function(){var a=new Us,e=Du(a);this.promise=a,this.resolve=tr(Vu,e),this.reject=tr(ir,e)},mm.f=Bu=function(a){return a===Ei||a===Tm?new cm(a):yA(a)},!nA&&Hs(Qs)&&er!==Object.prototype)){dm=er.then,SA||om(er,"then",function(e,t){var i=this;return new Ei(function(r,s){rr(dm,i,r,s)}).then(e,t)},{unsafe:!0});try{delete er.constructor}catch{}um&&um(er,qs)}sA({global:!0,constructor:!0,wrap:!0,forced:bm},{Promise:Ei});Tm=oA.Promise;uA(Ei,Ws,!1,!0);lA(Ws)});var $m=g((bD,Lm)=>{"use strict";var AA=Le(),km=AA("iterator"),Rm=!1;try{Pm=0,qu={next:function(){return{done:!!Pm++}},return:function(){Rm=!0}},qu[km]=function(){return this},Array.from(qu,function(){throw 2})}catch{}var Pm,qu;Lm.exports=function(a,e){try{if(!e&&!Rm)return!1}catch{return!1}var t=!1;try{var i={};i[km]=function(){return{next:function(){return{done:t=!0}}}},a(i)}catch{}return t}});var Uu=g((gD,Mm)=>{"use strict";var PA=Ii(),kA=$m(),RA=Ji().CONSTRUCTOR;Mm.exports=RA||!kA(function(a){PA.all(a).then(void 0,function(){})})});var Dm=g(()=>{"use strict";var LA=Te(),$A=Xe(),MA=wt(),DA=Zi(),CA=Ns(),BA=Cs(),VA=Uu();LA({target:"Promise",stat:!0,forced:VA},{all:function(e){var t=this,i=DA.f(t),r=i.resolve,s=i.reject,n=CA(function(){var u=MA(t.resolve),o=[],l=0,p=1;BA(e,function(d){var c=l++,h=!1;p++,$A(u,t,d).then(function(m){h||(h=!0,o[c]=m,--p||r(o))},s)}),--p||r(o)});return n.error&&s(n.value),i.promise}})});var Bm=g(()=>{"use strict";var _A=Te(),OA=ft(),FA=Ji().CONSTRUCTOR,ju=Ii(),NA=Vt(),qA=ve(),UA=Yi(),Cm=ju&&ju.prototype;_A({target:"Promise",proto:!0,forced:FA,real:!0},{catch:function(a){return this.then(void 0,a)}});!OA&&qA(ju)&&(Hu=NA("Promise").prototype.catch,Cm.catch!==Hu&&UA(Cm,"catch",Hu,{unsafe:!0}));var Hu});var Vm=g(()=>{"use strict";var HA=Te(),jA=Xe(),QA=wt(),WA=Zi(),GA=Ns(),zA=Cs(),YA=Uu();HA({target:"Promise",stat:!0,forced:YA},{race:function(e){var t=this,i=WA.f(t),r=i.reject,s=GA(function(){var n=QA(t.resolve);zA(e,function(u){jA(n,t,u).then(i.resolve,r)})});return s.error&&r(s.value),i.promise}})});var _m=g(()=>{"use strict";var KA=Te(),XA=Zi(),JA=Ji().CONSTRUCTOR;KA({target:"Promise",stat:!0,forced:JA},{reject:function(e){var t=XA.f(this),i=t.reject;return i(e),t.promise}})});var Qu=g((AD,Om)=>{"use strict";var ZA=At(),eP=Ne(),tP=Zi();Om.exports=function(a,e){if(ZA(a),eP(e)&&e.constructor===a)return e;var t=tP.f(a),i=t.resolve;return i(e),t.promise}});var qm=g(()=>{"use strict";var iP=Te(),rP=Vt(),Fm=ft(),aP=Ii(),Nm=Ji().CONSTRUCTOR,sP=Qu(),nP=rP("Promise"),oP=Fm&&!Nm;iP({target:"Promise",stat:!0,forced:Fm||Nm},{resolve:function(e){return sP(oP&&this===nP?aP:this,e)}})});var Um=g(()=>{"use strict";Am();Dm();Bm();Vm();_m();qm()});var Wm=g(()=>{"use strict";var uP=Te(),lP=ft(),Gs=Ii(),cP=we(),jm=Vt(),Qm=ve(),dP=fu(),Hm=Qu(),pP=Yi(),Gu=Gs&&Gs.prototype,hP=!!Gs&&cP(function(){Gu.finally.call({then:function(){}},function(){})});uP({target:"Promise",proto:!0,real:!0,forced:hP},{finally:function(a){var e=dP(this,jm("Promise")),t=Qm(a);return this.then(t?function(i){return Hm(e,a()).then(function(){return i})}:a,t?function(i){return Hm(e,a()).then(function(){throw i})}:a)}});!lP&&Qm(Gs)&&(Wu=jm("Promise").prototype.finally,Gu.finally!==Wu&&pP(Gu,"finally",Wu,{unsafe:!0}));var Wu});var zm=g((DD,Gm)=>{"use strict";ef();Um();Wm();var fP=Jt();Gm.exports=fP("Promise","finally")});var Km=g((CD,Ym)=>{"use strict";var mP=zm();Ym.exports=mP});var zs=g((BD,Xm)=>{"use strict";var bP=Km();Xm.exports=bP});var hb=g(()=>{"use strict";var LP=Te(),$P=qi(),MP=Gi(),DP=Nr(),CP=qr();LP({target:"Array",proto:!0},{at:function(e){var t=$P(this),i=MP(t),r=DP(e),s=r>=0?r:i+r;return s<0||s>=i?void 0:t[s]}});CP("at")});var mb=g((fB,fb)=>{"use strict";hb();var BP=Jt();fb.exports=BP("Array","at")});var gb=g((mB,bb)=>{"use strict";var VP=mb();bb.exports=VP});var gt=g((bB,Sb)=>{"use strict";var _P=gb();Sb.exports=_P});var fl=g((K0,Hb)=>{"use strict";var zP=hi();Hb.exports=Array.isArray||function(e){return zP(e)==="Array"}});var Qb=g((X0,jb)=>{"use strict";var YP=TypeError,KP=9007199254740991;jb.exports=function(a){if(a>KP)throw YP("Maximum allowed index exceeded");return a}});var zb=g((J0,Gb)=>{"use strict";var XP=fl(),JP=Gi(),ZP=Qb(),ek=Hi(),Wb=function(a,e,t,i,r,s,n,u){for(var o=r,l=0,p=n?ek(n,u):!1,d,c;l<i;)l in t&&(d=p?p(t[l],l,e):t[l],s>0&&XP(d)?(c=JP(d),o=Wb(a,e,d,c,o,s-1)-1):(ZP(o+1),a[o]=d),o++),l++;return o};Gb.exports=Wb});var Jb=g((Z0,Xb)=>{"use strict";var Yb=fl(),tk=hu(),ik=Ne(),rk=Le(),ak=rk("species"),Kb=Array;Xb.exports=function(a){var e;return Yb(a)&&(e=a.constructor,tk(e)&&(e===Kb||Yb(e.prototype))?e=void 0:ik(e)&&(e=e[ak],e===null&&(e=void 0))),e===void 0?Kb:e}});var eg=g((eV,Zb)=>{"use strict";var sk=Jb();Zb.exports=function(a,e){return new(sk(a))(e===0?0:e)}});var tg=g(()=>{"use strict";var nk=Te(),ok=zb(),uk=wt(),lk=qi(),ck=Gi(),dk=eg();nk({target:"Array",proto:!0},{flatMap:function(e){var t=lk(this),i=ck(t),r;return uk(e),r=dk(t,0),r.length=ok(r,t,t,i,0,1,e,arguments.length>1?arguments[1]:void 0),r}})});var ig=g(()=>{"use strict";var pk=qr();pk("flatMap")});var ag=g((sV,rg)=>{"use strict";tg();ig();var hk=Jt();rg.exports=hk("Array","flatMap")});var ng=g((nV,sg)=>{"use strict";var fk=ag();sg.exports=fk});var da=g((oV,og)=>{"use strict";var mk=ng();og.exports=mk});var pa=g((uV,ug)=>{"use strict";var bk=Hr(),gk=String;ug.exports=function(a){if(bk(a)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return gk(a)}});var ml=g((lV,lg)=>{"use strict";lg.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 pg=g((cV,dg)=>{"use strict";var Sk=Ae(),vk=Xt(),yk=pa(),gl=ml(),cg=Sk("".replace),Tk=RegExp("^["+gl+"]+"),Ik=RegExp("(^|[^"+gl+"])["+gl+"]+$"),bl=function(a){return function(e){var t=yk(vk(e));return a&1&&(t=cg(t,Tk,"")),a&2&&(t=cg(t,Ik,"$1")),t}};dg.exports={start:bl(1),end:bl(2),trim:bl(3)}});var bg=g((dV,mg)=>{"use strict";var Ek=Go().PROPER,xk=we(),hg=ml(),fg="\u200B\x85\u180E";mg.exports=function(a){return xk(function(){return!!hg[a]()||fg[a]()!==fg||Ek&&hg[a].name!==a})}});var Sl=g((pV,gg)=>{"use strict";var wk=pg().start,Ak=bg();gg.exports=Ak("trimStart")?function(){return wk(this)}:"".trimStart});var vg=g(()=>{"use strict";var Pk=Te(),Sg=Sl();Pk({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==Sg},{trimLeft:Sg})});var Tg=g(()=>{"use strict";vg();var kk=Te(),yg=Sl();kk({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==yg},{trimStart:yg})});var Eg=g((gV,Ig)=>{"use strict";Tg();var Rk=Jt();Ig.exports=Rk("String","trimLeft")});var wg=g((SV,xg)=>{"use strict";var Lk=Eg();xg.exports=Lk});var Pg=g((vV,Ag)=>{"use strict";var $k=wg();Ag.exports=$k});var Ug=g(()=>{"use strict"});var Hg=g(()=>{"use strict"});var Qg=g((eF,jg)=>{"use strict";var Xk=Ne(),Jk=hi(),Zk=Le(),eR=Zk("match");jg.exports=function(a){var e;return Xk(a)&&((e=a[eR])!==void 0?!!e:Jk(a)==="RegExp")}});var zg=g((tF,Gg)=>{"use strict";var tR=Se(),iR=we(),Wg=tR.RegExp,rR=!iR(function(){var a=!0;try{Wg(".","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(Wg.prototype,"flags").get.call(e);return u!==i||t!==i});Gg.exports={correct:rR}});var Kg=g((iF,Yg)=>{"use strict";var aR=At();Yg.exports=function(){var a=aR(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 Zg=g((rF,Jg)=>{"use strict";var sR=Xe(),nR=mt(),oR=Cr(),Xg=zg(),uR=Kg(),lR=RegExp.prototype;Jg.exports=Xg.correct?function(a){return a.flags}:function(a){return!Xg.correct&&oR(lR,a)&&!nR(a,"flags")?sR(uR,a):a.flags}});var tS=g((aF,eS)=>{"use strict";var Il=Ae(),cR=qi(),dR=Math.floor,yl=Il("".charAt),pR=Il("".replace),Tl=Il("".slice),hR=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,fR=/\$([$&'`]|\d{1,2})/g;eS.exports=function(a,e,t,i,r,s){var n=t+a.length,u=i.length,o=fR;return r!==void 0&&(r=cR(r),o=hR),pR(s,o,function(l,p){var d;switch(yl(p,0)){case"$":return"$";case"&":return a;case"`":return Tl(e,0,t);case"'":return Tl(e,n);case"<":d=r[Tl(p,1,-1)];break;default:var c=+p;if(c===0)return l;if(c>u){var h=dR(c/10);return h===0?l:h<=u?i[h-1]===void 0?yl(p,1):i[h-1]+yl(p,1):l}d=i[c-1]}return d===void 0?"":d})}});var aS=g(()=>{"use strict";var mR=Te(),bR=Xe(),xl=Ae(),iS=Xt(),gR=ve(),SR=Ne(),vR=Qg(),mr=pa(),yR=Vr(),TR=Zg(),IR=tS(),ER=Le(),xR=ft(),wR=ER("replace"),AR=TypeError,El=xl("".indexOf),PR=xl("".replace),rS=xl("".slice),kR=Math.max;mR({target:"String",proto:!0},{replaceAll:function(e,t){var i=iS(this),r,s,n,u,o,l,p,d,c,h,m=0,b="";if(SR(e)){if(r=vR(e),r&&(s=mr(iS(TR(e))),!~El(s,"g")))throw new AR("`.replaceAll` does not allow non-global regexes");if(n=yR(e,wR),n)return bR(n,e,i,t);if(xR&&r)return PR(mr(i),e,t)}for(u=mr(i),o=mr(e),l=gR(t),l||(t=mr(t)),p=o.length,d=kR(1,p),c=El(u,o);c!==-1;)h=l?mr(t(o,c,u)):IR(o,u,c,[],void 0,t),b+=rS(u,m,c)+h,m=c+p,c=c+d>u.length?-1:El(u,o,c+d);return m<u.length&&(b+=rS(u,m)),b}})});var nS=g((oF,sS)=>{"use strict";Ug();Hg();aS();var RR=Jt();sS.exports=RR("String","replaceAll")});var uS=g((uF,oS)=>{"use strict";var LR=nS();oS.exports=LR});var cS=g((lF,lS)=>{"use strict";var $R=uS();lS.exports=$R});var pS=g((cF,dS)=>{"use strict";var MR=Nr(),DR=pa(),CR=Xt(),BR=RangeError;dS.exports=function(e){var t=DR(CR(this)),i="",r=MR(e);if(r<0||r===1/0)throw new BR("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(t+=t))r&1&&(i+=t);return i}});var gS=g((dF,bS)=>{"use strict";var mS=Ae(),VR=Bo(),hS=pa(),_R=pS(),OR=Xt(),FR=mS(_R),NR=mS("".slice),qR=Math.ceil,fS=function(a){return function(e,t,i){var r=hS(OR(e)),s=VR(t),n=r.length,u=i===void 0?" ":hS(i),o,l;return s<=n||u===""?r:(o=s-n,l=FR(u,qR(o/u.length)),l.length>o&&(l=NR(l,0,o)),a?r+l:l+r)}};bS.exports={start:fS(!1),end:fS(!0)}});var vS=g((pF,SS)=>{"use strict";var UR=bi();SS.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(UR)});var yS=g(()=>{"use strict";var HR=Te(),jR=gS().start,QR=vS();HR({target:"String",proto:!0,forced:QR},{padStart:function(e){return jR(this,e,arguments.length>1?arguments[1]:void 0)}})});var IS=g((mF,TS)=>{"use strict";yS();var WR=Jt();TS.exports=WR("String","padStart")});var xS=g((bF,ES)=>{"use strict";var GR=IS();ES.exports=GR});var AS=g((gF,wS)=>{"use strict";var zR=xS();wS.exports=zR});var EL={};Bv(EL,{ChromecastState:()=>kr,HttpConnectionType:()=>fs,Observable:()=>Ct.Observable,PlaybackState:()=>Ve,Player:()=>as,PredefinedQualityLimits:()=>Rr,SDK_VERSION:()=>IL,Subject:()=>Ct.Subject,Subscription:()=>Ct.Subscription,Surface:()=>ms,VERSION:()=>ro,ValueSubject:()=>Ct.ValueSubject,VideoFormat:()=>xt,VideoQuality:()=>Ct.VideoQuality,areValidLiveRecordSources:()=>sb,clientChecker:()=>Q,isMobile:()=>ar});module.exports=Vv(EL);var ro="2.0.141-dev.95df362c.0";var Ve=(r=>(r.STOPPED="stopped",r.READY="ready",r.PLAYING="playing",r.PAUSED="paused",r))(Ve||{}),xt=(w=>(w.MPEG="MPEG",w.DASH="DASH",w.DASH_SEP="DASH_SEP",w.DASH_SEP_VK="DASH_SEP",w.DASH_WEBM="DASH_WEBM",w.DASH_WEBM_AV1="DASH_WEBM_AV1",w.DASH_STREAMS="DASH_STREAMS",w.DASH_WEBM_VK="DASH_WEBM",w.DASH_ONDEMAND="DASH_ONDEMAND",w.DASH_ONDEMAND_VK="DASH_ONDEMAND",w.DASH_LIVE="DASH_LIVE",w.DASH_LIVE_CMAF="DASH_LIVE_CMAF",w.DASH_LIVE_WEBM="DASH_LIVE_WEBM",w.HLS="HLS",w.HLS_ONDEMAND="HLS_ONDEMAND",w.HLS_JS="HLS",w.HLS_FMP4="HLS_FMP4",w.HLS_LIVE="HLS_LIVE",w.HLS_LIVE_CMAF="HLS_LIVE_CMAF",w.WEB_RTC_LIVE="WEB_RTC_LIVE",w))(xt||{});var kr=(r=>(r.NOT_AVAILABLE="NOT_AVAILABLE",r.AVAILABLE="AVAILABLE",r.CONNECTING="CONNECTING",r.CONNECTED="CONNECTED",r))(kr||{}),fs=(i=>(i.HTTP1="http1",i.HTTP2="http2",i.QUIC="quic",i))(fs||{});var ms=(n=>(n.NONE="none",n.INLINE="inline",n.FULLSCREEN="fullscreen",n.SECOND_SCREEN="second_screen",n.PIP="pip",n.INVISIBLE="invisible",n))(ms||{}),Rr=(i=>(i.TRAFFIC_SAVING="traffic_saving",i.HIGH_QUALITY="high_quality",i.UNKNOWN="unknown",i))(Rr||{});var tc=W(Si(),1),wv=W(qe(),1);var J=require("@vkontakte/videoplayer-shared");var vp=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 Es=class{constructor(e){this.connection$=new J.ValueSubject(void 0);this.castState$=new J.ValueSubject("NOT_AVAILABLE");this.errorEvent$=new J.Subject;this.realCastState$=new J.ValueSubject("NOT_AVAILABLE");this.subscription=new J.Subscription;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=(0,J.isNonNullable)(window.chrome?.cast),r=!!window.__onGCastApiAvailable;i?this.initializeCastApi():(window.__onGCastApiAvailable=s=>{delete window.__onGCastApiAvailable,s&&!this.isDestroyed&&this.initializeCastApi()},r||vp("https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1").catch(()=>this.errorEvent$.next({id:"ChromecastLoading",category:J.ErrorCategory.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(){(0,J.isNonNullable)(this.connection$.getValue())?this.disconnect():this.connect()}setVolume(e){let t=this.connection$.getValue();(0,J.isNullable)(t)||(t.remotePlayer.volumeLevel=e,t.remotePlayerController.setVolumeLevel())}setMuted(e){let t=this.connection$.getValue();(0,J.isNullable)(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((0,J.fromEvent)(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(0,J.assertNever)(r.sessionState)}})).add((0,J.merge)((0,J.fromEvent)(i,cast.framework.CastContextEventType.CAST_STATE_CHANGED).pipe((0,J.tap)(r=>{this.log({message:`[cast.framework.RemotePlayerEventType.CAST_STATE_CHANGED]: ${JSON.stringify(r)}`})}),(0,J.map)(r=>r.castState)),(0,J.observableFrom)([i.getCastState()])).pipe((0,J.filterChanged)(),(0,J.map)($I),(0,J.tap)(r=>{this.log({message:`realCastState$: ${r}`})})).subscribe(this.realCastState$)).add(this.realCastState$.subscribe(r=>{let s=r==="CONNECTED",n=(0,J.isNonNullable)(this.connection$.getValue());if(s&&!n){let u=i.getCurrentSession();(0,J.assertNonNullable)(u);let o=u.getCastDevice(),l=u.getMediaSession()?.media?.contentId;((0,J.isNullable)(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"?(0,J.isNonNullable)(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:J.ErrorCategory.EXTERNAL_API,message:"[initializeCastApi] failed",thrown:r})}}},$I=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(0,J.assertNever)(a)}};var Jl=W(qe(),1),pv=W(zi(),1),hv=W(uu(),1);var ob=W(zs(),1);var zu=require("@vkontakte/videoplayer-shared");var ye=(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:(0,zu.assertNever)(t)}return a},ei=(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:(0,zu.assertNever)(e)}};var B=(a,e,t=!1)=>{let i=a.getTransition();(t||!i||i.to===e)&&a.setState(e)};var Pt=require("@vkontakte/videoplayer-shared"),Z=class{constructor(e){this.transitionStarted$=new Pt.Subject;this.transitionEnded$=new Pt.Subject;this.transitionUpdated$=new Pt.Subject;this.forceChanged$=new Pt.Subject;this.stateChangeStarted$=(0,Pt.merge)(this.transitionStarted$,this.transitionUpdated$);this.stateChangeEnded$=(0,Pt.merge)(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||(0,Pt.isNonNullable)(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}};var Ku=require("@vkontakte/videoplayer-shared");var Ys=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 Jm=W(qe(),1);var ar=()=>/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(navigator.appVersion??navigator.userAgent)||navigator?.userAgentData?.mobile;var Ks=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,Jm.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=ar()}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 Xs=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 Ze=()=>window.ManagedMediaSource||window.MediaSource,sr=()=>!!(window.ManagedMediaSource&&window.ManagedSourceBuffer?.prototype?.appendBuffer),Zm=()=>!!(window.MediaSource&&window.SourceBuffer?.prototype?.appendBuffer),Js=()=>window.ManagedMediaSource?new ManagedMediaSource:new MediaSource;var gP=document.createElement("video"),SP='video/mp4; codecs="avc1.42000a,mp4a.40.2"',vP='video/mp4; codecs="hev1.1.6.L93.B0"',eb='video/webm; codecs="vp09.00.10.08"',tb='video/webm; codecs="av01.0.00M.08"',yP='audio/mp4; codecs="mp4a.40.2"',TP='audio/webm; codecs="opus"',ib,IP=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:tb}}),window.navigator.mediaCapabilities.decodingInfo({...a,video:{...a.video,contentType:eb}})]);ib={DASH_WEBM_AV1:e,DASH_WEBM:t}};IP().catch(a=>{console.log(gP),console.error(a)});var Zs=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 ib}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:sr(),mse:Zm(),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=!!Ze()?.isTypeSupported?.(SP),t=!!Ze()?.isTypeSupported?.(vP),i=!!Ze()?.isTypeSupported?.(yP);this._codecs={h264:e,h265:t,vp9:!!Ze()?.isTypeSupported?.(eb),av1:!!Ze()?.isTypeSupported?.(tb),aac:i,opus:!!Ze()?.isTypeSupported?.(TP),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 rb="audio/mpeg",en=class{supportMp3(){return this._codecs.mp3&&this._containers.mpeg}detect(){this._audio=document.createElement("audio");try{this._containers={mpeg:!!this._audio.canPlayType?.(rb)},this._codecs={mp3:!!Ze()?.isTypeSupported?.(rb)}}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}};var ab=require("@vkontakte/videoplayer-shared"),Yu=class{constructor(){this.isInited$=new ab.ValueSubject(!1);this._displayChecker=new Xs,this._deviceChecker=new Ks(this._displayChecker),this._browserChecker=new Ys,this._videoChecker=new Zs(this._deviceChecker,this._browserChecker),this._audioChecker=new en,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)}},Q=new Yu;var Xu=a=>{let{containers:e,protocols:t,codecs:i,nativeHlsSupported:r}=Q.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(0,Ku.assertNever)(u)}})},Ju=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(0,Ku.assertNever)(a)}},sb=a=>{let t=Object.keys(a).filter(i=>!Ju(i));return Xu(t).length>0};var q=require("@vkontakte/videoplayer-shared");var EP=5,xP=5,wP=500,nb=7e3,ea=class{constructor(e){this.subscription=new q.Subscription;this.loadMediaTimeoutSubscription=new q.Subscription;this.videoState=new Z("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:(0,q.assertNever)(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:(0,q.assertNever)(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:(0,q.assertNever)(e)}break}default:(0,q.assertNever)(i)}}};this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastProvider"),this.log({message:`constructor, format: ${e.format}`}),this.params.output.isLive$.next(Ju(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 q.Subscription;this.subscription.add(e),this.subscription.add((0,q.merge)(this.videoState.stateChangeStarted$.pipe((0,q.map)(r=>`stateChangeStarted$ ${JSON.stringify(r)}`)),this.videoState.stateChangeEnded$.pipe((0,q.map)(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 q.Subject;e.add(r.pipe((0,q.debounce)(wP)).subscribe(()=>{this.params.output.seekedEvent$.next()}));let s=NaN;e.add((0,q.fromEvent)(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)>EP)&&r.next(u),s=u})),e.add((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe(n=>{this.logRemoteEvent(n),this.params.output.duration$.next(n.value)}))}t((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemoteReady():(this.handleRemoteStop(),e.unsubscribe())}),t((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemotePause():this.handleRemotePlay()}),t((0,q.fromEvent)(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<xP&&this.params.output.endedEvent$.next(),this.handleRemoteStop(),B(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:(0,q.assertNever)(n)}}),t((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({volume:r.value})}),t((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({muted:r.value})});let i=(0,q.merge)(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekState.stateChangeEnded$,this.videoState.stateChangeEnded$,(0,q.observableFrom)(["init"])).pipe((0,q.debounce)(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"),B(this.params.desiredState.playbackState,"paused")):(this.videoState.setState("playing"),B(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"),B(this.params.desiredState.playbackState,"paused"))}handleRemotePlay(){let e=this.videoState.getState();(this.videoState.getTransition()?.to==="playing"||e==="paused")&&(this.videoState.setState("playing"),B(this.params.desiredState.playbackState,"playing"))}handleRemoteReady(){this.videoState.getTransition()?.to==="ready"&&this.videoState.setState("ready"),this.params.desiredState.playbackState.getTransition()?.to==="ready"&&B(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];(0,q.assertNonNullable)(l);let p=(0,q.getHighestQuality)(Object.keys(l));(0,q.assertNonNullable)(p);let d=l[p];(0,q.assertNonNullable)(d),i=d,r="video/mp4",s=chrome.cast.media.StreamType.BUFFERED;break}case"HLS":case"HLS_FMP4":case"HLS_ONDEMAND":{let l=t[e];(0,q.assertNonNullable)(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];(0,q.assertNonNullable)(l),i=l.url,r="application/dash+xml",s=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_LIVE_CMAF":{let l=t[e];(0,q.assertNonNullable)(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];(0,q.assertNonNullable)(l),i=ye(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",p=new Error(l);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",category:q.ErrorCategory.VIDEO_PIPELINE,message:l,thrown:p}),p}case"DASH":case"DASH_LIVE_WEBM":throw new Error(`${e} is no longer supported`);default:return(0,q.assertNever)(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(0,q.isNonNullable)(u)&&(n.metadata.title=u),(0,q.isNonNullable)(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((0,q.timeout)(nb).subscribe(()=>s(`timeout(${nb})`)))});(0,ob.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:q.ErrorCategory.VIDEO_PIPELINE,message:s,thrown:r})}),()=>{this.loadMediaTimeoutSubscription.unsubscribe()})}logRemoteEvent(e){this.log({message:`[remoteEvent] ${JSON.stringify(e)}`})}};var pl=W(qe(),1);var il=require("@vkontakte/videoplayer-shared");var ub=require("@vkontakte/videoplayer-shared"),lb=a=>{try{a.pause(),a.playbackRate=0,(0,ub.clearVideoElement)(a),a.remove()}catch(e){console.error(e)}};var tn=require("@vkontakte/videoplayer-shared"),Zu=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)}},el=window.WeakMap?new WeakMap:new Zu,tl=window.WeakMap?new WeakMap:new Map,AP=(a,e=20)=>{let t=0;return(0,tn.fromEvent)(a,"ratechange").subscribe(i=>{t++,t>=e&&(a.currentTime=a.currentTime,t=0)})},Ue=(a,{audioVideoSyncRate:e,disableYandexPiP:t})=>{let i=a.querySelector("video"),r=!!i;i?(0,il.clearVideoElement)(i):(i=document.createElement("video"),a.appendChild(i)),el.set(i,r);let s=new tn.Subscription;return s.add(AP(i,e)),tl.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},He=a=>{tl.get(a)?.unsubscribe(),tl.delete(a);let t=el.get(a);el.delete(a),t?(0,il.clearVideoElement)(a):lb(a)};var rl=W(Si(),1),U=require("@vkontakte/videoplayer-shared");var ti=require("@vkontakte/videoplayer-shared"),rn=(a,e,t,{equal:i=(n,u)=>n===u,changed$:r,onError:s}={})=>{let n=a.getState(),u=e(),o=(0,ti.isNullable)(r),l=new ti.Subscription;return r&&l.add(r.subscribe(p=>{let d=a.getState();i(p,d)&&a.setState(p)},s)),i(u,n)||(t(n),o&&a.setState(n)),l.add(a.stateChangeStarted$.subscribe(p=>{t(p.to),o&&a.setState(p.to)},s)),l},kt=(a,e,t)=>rn(e,()=>a.loop,i=>{(0,ti.isNonNullable)(i)&&(a.loop=i)},{onError:t}),je=(a,e,t,i)=>rn(e,()=>({muted:a.muted,volume:a.volume}),r=>{(0,ti.isNonNullable)(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}),nt=(a,e,t,i)=>rn(e,()=>a.playbackRate,r=>{(0,ti.isNonNullable)(r)&&(a.playbackRate=r)},{changed$:t,onError:i}),ta=rn;var PP=a=>["__",a.language,a.label].join("|"),kP=(a,e)=>{if(a.id===e)return!0;let[t,i,r]=e.split("|");return a.language===i&&a.label===r},al=class a{constructor(e){this.available$=new U.Subject;this.current$=new U.ValueSubject(void 0);this.error$=new U.Subject;this.subscription=new U.Subscription;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:U.ErrorCategory.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(ta(t.internalTextTracks,()=>(0,rl.default)(this.internalTracks),s=>{(0,U.isNonNullable)(s)&&this.setInternal(s)},{equal:(s,n)=>(0,U.isNonNullable)(s)&&(0,U.isNonNullable)(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe((0,U.map)(s=>s.filter(({type:n})=>n==="internal"))),onError:r})),this.subscription.add(ta(t.externalTextTracks,()=>(0,rl.default)(this.externalTracks),s=>{(0,U.isNonNullable)(s)&&this.setExternal(s)},{equal:(s,n)=>(0,U.isNonNullable)(s)&&(0,U.isNonNullable)(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe((0,U.map)(s=>s.filter(({type:n})=>n==="external"))),onError:r})),this.subscription.add(ta(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(ta(t.textTrackCuesSettings,()=>({}),()=>{if(this.video)for(let s of this.htmlTextTracksAsArray())this.applyCueSettings(s.cues),this.applyCueSettings(s.activeCues)}))}subscribe(){(0,U.assertNonNullable)(this.video);let{textTracks:e}=this.video;this.subscription.add((0,U.fromEvent)(e,"addtrack").subscribe(()=>{let i=this.current$.getValue();i&&this.select(i)})),this.subscription.add((0,U.merge)((0,U.fromEvent)(e,"addtrack"),(0,U.fromEvent)(e,"removetrack"),(0,U.observableFrom)(["init"])).pipe((0,U.map)(()=>this.htmlTextTracksAsArray().map(i=>this.htmlTextTrackToITextTrack(i))),(0,U.filterChanged)((i,r)=>i.length===r.length&&i.every(({id:s},n)=>s===r[n].id))).subscribe(this.available$)),this.subscription.add((0,U.merge)((0,U.fromEvent)(e,"change"),(0,U.observableFrom)(["init"])).pipe((0,U.map)(()=>this.htmlTextTracksAsArray().find(({mode:i})=>i==="showing")),(0,U.map)(i=>i&&this.htmlTextTrackToITextTrack(i).id),(0,U.filterChanged)()).subscribe(this.current$));let t=i=>this.applyCueSettings(i.target?.activeCues??null);this.subscription.add((0,U.fromEvent)(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((0,U.fromEvent)(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;(0,U.isNonNullable)(t.align)&&(r.align=t.align),(0,U.isNonNullable)(t.position)&&(r.position=t.position),(0,U.isNonNullable)(t.size)&&(r.size=t.size),(0,U.isNonNullable)(t.line)&&(r.line=t.line)}}htmlTextTracksAsArray(e=!1){(0,U.assertNonNullable)(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:PP(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){(0,U.assertNonNullable)(this.video);for(let t of this.htmlTextTracksAsArray(!0))t.mode="showing";for(let t of this.htmlTextTracksAsArray(!0))((0,U.isNullable)(e)||!kP(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){(0,U.assertNonNullable)(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){(0,U.assertNonNullable)(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)}},ot=al;var xi=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 cb=a=>{let e=a;for(;!(e instanceof Document)&&!(e instanceof ShadowRoot)&&e!==null;)e=e?.parentNode;return e??void 0},sl=a=>{let e=cb(a);return!!(e&&e.fullscreenElement&&e.fullscreenElement===a)},db=a=>{let e=cb(a);return!!(e&&e.pictureInPictureElement&&e.pictureInPictureElement===a)};var $=require("@vkontakte/videoplayer-shared");var RP=3,pb=(a,e,t=RP)=>{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 Qe=a=>{let e=L=>(0,$.fromEvent)(a,L).pipe((0,$.mapTo)(void 0),(0,$.shareReplay)(1)),t=new $.Subscription,i=()=>t.unsubscribe(),r=(0,$.merge)((0,$.fromEvent)(a,"progress"),(0,$.fromEvent)(a,"timeupdate")).pipe((0,$.map)(()=>pb(a.buffered,a.currentTime)),(0,$.shareReplay)(1)),s=Q.browser.isSafari?(0,$.combine)({play:e("play").pipe((0,$.once)()),playing:e("playing")}).pipe((0,$.mapTo)(void 0),(0,$.shareReplay)(1)):e("playing"),n=(0,$.fromEvent)(a,"volumechange").pipe((0,$.map)(()=>({muted:a.muted,volume:a.volume})),(0,$.shareReplay)(1)),u=(0,$.fromEvent)(a,"ratechange").pipe((0,$.map)(()=>a.playbackRate),(0,$.shareReplay)(1)),o=(0,$.fromEvent)(a,"error").pipe((0,$.filter)(()=>!!(a.error||a.played.length)),(0,$.map)(()=>{let L=a.error;return{id:L?`MediaError#${L.code}`:"HtmlVideoError",category:$.ErrorCategory.VIDEO_PIPELINE,message:L?L.message:"Error event from HTML video element",thrown:a.error??void 0}}),(0,$.shareReplay)(1)),l=(0,$.fromEvent)(a,"timeupdate").pipe((0,$.map)(()=>a.currentTime),(0,$.shareReplay)(1)),p=["waiting","seeking","seeked","timeupdate"],d=new $.Subject,c=.3,h;t.add((0,$.merge)(...p.map(L=>(0,$.fromEvent)(a,L))).subscribe(L=>{let ee=a.currentTime;a.loop&&(0,$.isNonNullable)(h)&&(0,$.isNonNullable)(ee)&&h>=a.duration-c&&ee<=c&&d.next(h),h=ee}));let m=e("pause").pipe((0,$.filter)(()=>!a.error&&h!==a.duration),(0,$.shareReplay)(1)),b=(0,$.fromEvent)(a,"enterpictureinpicture").pipe((0,$.shareReplay)(1)),S=(0,$.fromEvent)(a,"leavepictureinpicture").pipe((0,$.shareReplay)(1)),v=new $.ValueSubject(db(a));t.add(b.subscribe(()=>v.next(!0))),t.add(S.subscribe(()=>v.next(!1)));let I=new $.ValueSubject(sl(a)),k=(0,$.fromEvent)(a,"fullscreenchange").pipe((0,$.shareReplay)(1));t.add(k.pipe((0,$.map)(()=>sl(a))).subscribe(I));let w=.1,C=1e3,V=(0,$.fromEvent)(a,"timeupdate").pipe((0,$.map)(L=>a.duration-a.currentTime<w),(0,$.filterChanged)(),(0,$.shareReplay)(1)),_=(0,$.merge)(V.pipe((0,$.filter)(L=>!a.loop&&L)),(0,$.fromEvent)(a,"ended")).pipe((0,$.throttle)(C),(0,$.mapTo)(void 0),(0,$.shareReplay)(1)),j=(0,$.merge)(...["waiting","pause","canplay","play","canplaythrough","playing","seeking","seeked","ended"].map(L=>(0,$.fromEvent)(a,L)),V.pipe((0,$.map)(L=>({type:L?"ended":"unknown"})))).pipe((0,$.map)(L=>Q.browser.isFirefox&&L.type==="ended"?a.readyState<2:a.readyState<3),(0,$.filterChanged)(),(0,$.shareReplay)(1));return{playing$:s,pause$:m,canplay$:e("canplay"),ended$:_,looped$:d,error$:o,seeked$:e("seeked"),seeking$:e("seeking"),progress$:e("progress"),loadStart$:e("loadstart"),loadedMetadata$:e("loadedmetadata"),loadedData$:e("loadeddata"),timeUpdate$:l,durationChange$:(0,$.fromEvent)(a,"durationchange").pipe((0,$.map)(()=>a.duration),(0,$.shareReplay)(1)),isBuffering$:j,currentBuffer$:r,volumeState$:n,playbackRateState$:u,inPiP$:v,inFullscreen$:I,enterPip$:b,leavePip$:S,destroy:i}};var Ft=require("@vkontakte/videoplayer-shared"),ii=a=>{switch(a){case"mobile":return Ft.VideoQuality.Q_144P;case"lowest":return Ft.VideoQuality.Q_240P;case"low":return Ft.VideoQuality.Q_360P;case"sd":case"medium":return Ft.VideoQuality.Q_480P;case"hd":case"high":return Ft.VideoQuality.Q_720P;case"fullhd":case"full":return Ft.VideoQuality.Q_1080P;case"quadhd":case"quad":return Ft.VideoQuality.Q_1440P;case"ultrahd":case"ultra":return Ft.VideoQuality.Q_2160P}};var Oe=W(gt(),1),ol=W(qe(),1),wi=W(zi(),1),D=require("@vkontakte/videoplayer-shared");var nl=!1,Nt={},vb=a=>{nl=a},yb=()=>{Nt={}},Tb=a=>{a(Nt)},ia=(a,e)=>{nl&&(Nt.meta=Nt.meta??{},Nt.meta[a]=e)},_e=class{constructor(e){this.name=e}next(e){if(!nl)return;Nt.series=Nt.series??{};let t=Nt.series[this.name]??[];t.push([Date.now(),e]),Nt.series[this.name]=t}};var Ie=require("@vkontakte/videoplayer-shared");function Ib(a,e,t){return!a.max&&a.min===e?"high_quality":!a.min&&a.max===t?"traffic_saving":"unknown"}function nr(a,e,t){return(0,Ie.isNullable)(a)||(0,Ie.isNonNullable)(a.min)&&(0,Ie.isNonNullable)(a.max)&&(0,Ie.isLower)(a.max,a.min)||(0,Ie.isNonNullable)(a.min)&&e&&(0,Ie.isHigher)(a.min,e)||(0,Ie.isNonNullable)(a.max)&&t&&(0,Ie.isLower)(a.max,t)}function Eb({limits:a,highestAvailableHeight:e,lowestAvailableHeight:t}){return nr({max:a?.max?(0,Ie.videoHeightToQuality)(a.max):void 0,min:a?.min?(0,Ie.videoHeightToQuality)(a.min):void 0},e?(0,Ie.videoHeightToQuality)(e):void 0,t?(0,Ie.videoHeightToQuality)(t):void 0)}var kb=new _e("best_bitrate"),sn=(a,e,t)=>(e-t)*Math.pow(2,-10*a)+t;var or=a=>(e,t)=>a*(Number(e.bitrate)-Number(t.bitrate)),ri=class{constructor(){this.history={}}recordSelection(e){this.history[e.id]=(0,D.now)()}recordSwitch(e){this.last=e}clear(){this.last=void 0,this.history={}}},nn='Assertion "ABR Tracks is empty array" failed',an=new WeakMap,xb=new WeakMap,wb=new WeakMap,ra=(a,e,t,i)=>{let r=[...e].sort(or(1)),s=[...t].sort(or(1)),n=s.filter(o=>(0,D.isNonNullable)(o.bitrate)&&(0,D.isNonNullable)(a.bitrate)?a.bitrate/o.bitrate>i:!0),u=(0,Oe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Oe.default)(s,-1);return u&&(0,ol.default)(n,u)?u:n.length?(0,Oe.default)(n,-1):(0,Oe.default)(s,0)},aa=(a,e,t,i)=>{let r=an.get(e);r||(r=[...e].sort(or(1)),an.set(e,r));let s=an.get(t);s||(s=[...t].sort(or(1)),an.set(t,s));let n=wb.get(a);n||(n=s.filter(o=>(0,D.isNonNullable)(o.bitrate)&&(0,D.isNonNullable)(a.bitrate)?a.bitrate/o.bitrate>i:!0),wb.set(a,n));let u=(0,Oe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Oe.default)(s,-1);return u&&(0,ol.default)(n,u)?u:n.length?(0,Oe.default)(n,-1):(0,Oe.default)(s,0)},Ab=a=>"quality"in a,on=(a,e,t,i)=>{let r=(0,D.isNonNullable)(i?.last?.bitrate)&&(0,D.isNonNullable)(t?.bitrate)&&i.last.bitrate<t.bitrate?a.trackCooldownIncreaseQuality:a.trackCooldownDecreaseQuality,s=t&&i&&i.history[t.id]&&(0,D.now)()-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=Ab(n)?"video":"audio",o=Ab(n)?n.quality:n.bitrate;return e({message:`
8
8
  [last ${u} selected] ${o}
9
9
  `}),n}return i?.recordSwitch(t),t},OP=(a,e)=>Math.log(e)/Math.log(a),Rb=({tuning:a,container:e,limits:t,panelSize:i})=>{let r=a.containerSizeFactor;if(i)return{containerSizeLimit:i,containerSizeFactor:r};if(a.usePixelRatio&&Q.display.pixelRatio){let s=Q.display.pixelRatio;if(a.pixelRatioMultiplier)r*=a.pixelRatioMultiplier*(s-1)+1;else{let n=a.pixelRatioLogBase,[u=0,o=0,l=0]=a.pixelRatioLogCoefficients,p=OP(n,u*s+o)+l;Number.isFinite(p)&&(r*=p)}}return(0,D.isNonNullable)(t?.min)&&(0,D.isHigherOrEqual)(t.min,a.highQualityLimit)&&(r*=2),{containerSizeLimit:a.limitByContainer&&e&&e.width>0&&e.height>0?{width:e.width*r,height:e.height*r}:void 0,containerSizeFactor:r}},Pb=new WeakMap,Rt=(a,{container:e,estimatedThroughput:t,tuning:i,limits:r,reserve:s=0,forwardBufferHealth:n,playbackRate:u,current:o,history:l,visible:p,droppedVideoMaxQualityLimit:d,stallsVideoMaxQualityLimit:c,stallsPredictedThroughput:h,abrLogger:m,panelSize:b})=>{(0,D.assertNotEmptyArray)(a,nn);let{containerSizeFactor:S,containerSizeLimit:v}=Rb({container:e,tuning:i,limits:r,panelSize:b}),I=i.considerPlaybackRate&&(0,D.isNonNullable)(u)?u:1,k=Pb.get(a);k||(k=a.filter(x=>!(0,D.isInvariantQuality)(x.quality)).sort((x,R)=>(0,D.isHigher)(x.quality,R.quality)?-1:1),Pb.set(a,k));let w=(0,Oe.default)(k,-1)?.quality,C=(0,Oe.default)(k,0)?.quality,V=nr(r,C,w),_=I*sn(n??.5,i.bitrateFactorAtEmptyBuffer,i.bitrateFactorAtFullBuffer),M={},j=null;for(let x of k){let R=!0;if(v)if(x.size)R=x.size.width<=v.width&&x.size.height<=v.height;else{let ae=v&&(0,D.videoSizeToQuality)(v);R=ae?(0,D.isLowerOrEqual)(x.quality,ae):!0}if(!R){M[x.quality]="FitsContainer";continue}let oe=h||t,N=(0,D.isNonNullable)(oe)&&isFinite(oe)&&(0,D.isNonNullable)(x.bitrate)?oe-s>=x.bitrate*_:!0,re=r?.min===x.quality;if(!N&&!re){M[x.quality]="FitsThroughput";continue}if(i.lazyQualitySwitch&&(0,D.isNonNullable)(i.minBufferToSwitchUp)&&o&&!(0,D.isInvariantQuality)(o.quality)&&(n??0)<i.minBufferToSwitchUp&&(0,D.isHigher)(x.quality,o.quality)){M[x.quality]="Buffer";continue}if(!!d&&(0,D.isHigherOrEqual)(x.quality,d)&&!re){M[x.quality]="DroppedFramesLimit";continue}if(!!c&&(0,D.isHigherOrEqual)(x.quality,c)&&!re){M[x.quality]="StallsLimit";continue}let ke=V||((0,D.isNullable)(r?.max)||(0,D.isLowerOrEqual)(x.quality,r.max))&&((0,D.isNullable)(r?.min)||(0,D.isHigherOrEqual)(x.quality,r.min)),Re=(0,D.isNonNullable)(p)&&!p?(0,D.isLowerOrEqual)(x.quality,i.backgroundVideoQualityLimit):!0;if(!ke||!Re){M[x.quality]="FitsQualityLimits";continue}j||(j=x)}j&&j.bitrate&&kb.next(j.bitrate);let L=j??(0,Oe.default)(k,-1)??a[0],ee=l?.last,F=on(i,m,L,l);return(0,D.isNonNullable)(l)&&F.quality!==ee?.quality&&m({message:`
10
10
  [VIDEO TRACKS ABR]
@@ -114,7 +114,7 @@
114
114
  minBufferToSwitchUp: ${r.minBufferToSwitchUp},
115
115
 
116
116
  [selected audio track] ${I?.id}
117
- `}),I};var $e=a=>new URL(a).hostname;var Y=require("@vkontakte/videoplayer-shared");var Bb=W(gt(),1);var $b=W(qe(),1),Lb=a=>{if(a instanceof DOMException&&(0,$b.default)(["Failed to load because no supported source was found.","The element has no supported sources."],a.message))throw a;return!(a instanceof DOMException&&(a.code===20||a.name==="AbortError"))},We=async(a,e)=>{let t=a.muted;try{await a.play()}catch(i){if(!Lb(i))return!1;if(e&&e(),t)return console.warn(i),!1;a.muted=!0;try{await a.play()}catch(r){return Lb(r)&&(a.muted=!1,console.warn(r)),!1}}return!0};var et=require("@vkontakte/videoplayer-shared");var Mb=W(Si(),1),Lt=require("@vkontakte/videoplayer-shared");function Pe(){return(0,Lt.now)()}function ul(a){return Pe()-a}function ll(a){let e=a.split("/"),t=e.slice(0,e.length-1).join("/"),i=/^([a-z]+:)?\/\//i,r=n=>i.test(n);return{resolve:(n,u,o=!1)=>{r(n)||(n.startsWith("/")||(n="/"+n),n=t+n);let l=n.indexOf("?")>-1?"&":"?";return o&&(n+=l+"lowLat=1",l="&"),u&&(n+=l+"_rnd="+Math.floor(999999999*Math.random())),n}}}function Db(a,e,t){let i=(...r)=>{t.apply(null,r),a.removeEventListener(e,i)};a.addEventListener(e,i)}function ur(a,e,t,i){let r=window.XMLHttpRequest,s,n,u,o=!1,l=0,p,d,c=!1,h="arraybuffer",m=7e3,b=2e3,S=()=>{if(o)return;(0,Lt.assertNonNullable)(p);let F=ul(p),x;if(F<b){x=b-F,setTimeout(S,x);return}b*=2,b>m&&(b=m),n&&n.abort(),n=new r,V()},v=F=>(s=F,ee),I=F=>(d=F,ee),k=()=>(h="json",ee),w=()=>{if(!o){if(--l>=0){S(),i&&i();return}o=!0,d&&d(),t&&t()}},C=F=>(c=F,ee),V=()=>{p=Pe(),n=new r,n.open("get",a);let F=0,x,R=0,oe=()=>((0,Lt.assertNonNullable)(p),Math.max(p,Math.max(x||0,R||0)));if(s&&n.addEventListener("progress",N=>{let re=Pe();s.updateChunk&&N.loaded>F&&(s.updateChunk(oe(),N.loaded-F),F=N.loaded,x=re)}),u&&(n.timeout=u,n.addEventListener("timeout",()=>w())),n.addEventListener("load",()=>{if(o)return;(0,Lt.assertNonNullable)(n);let N=n.status;if(N>=200&&N<300){let{response:re,responseType:le}=n,ge=re?.byteLength;if(typeof ge=="number"&&s){let Ee=ge-F;Ee&&s.updateChunk&&s.updateChunk(oe(),Ee)}le==="json"&&(!re||!(0,Mb.default)(re).length)?w():(d&&d(),e(re))}else w()}),n.addEventListener("error",()=>{w()}),c){let N=()=>{(0,Lt.assertNonNullable)(n),n.readyState===XMLHttpRequest.HEADERS_RECEIVED&&(R=Pe(),n.removeEventListener("readystatechange",N))};n.addEventListener("readystatechange",N)}return n.responseType=h,n.send(),ee},ee={withBitrateReporting:v,withParallel:C,withJSONResponse:k,withRetryCount:F=>(l=F,ee),withRetryInterval:(F,x)=>((0,Lt.isNonNullable)(F)&&(b=F),(0,Lt.isNonNullable)(x)&&(m=x),ee),withTimeout:F=>(u=F,ee),withFinally:I,send:V,abort:()=>{n&&(n.abort(),n=void 0),o=!0,d&&d()}};return ee}var sa=class{constructor(e){this.intervals=[];this.currentRate=0;this.logger=e}_updateRate(e){let t=.2;this.currentRate&&(e<this.currentRate*.1?t=.8:e<this.currentRate*.5?t=.5:e<this.currentRate*.7&&(t=.3)),e=Math.max(1,Math.min(e,100*1024*1024)),this.currentRate=this.currentRate?this.currentRate*(1-t)+e*t:e}_createInterval(e,t,i){return{start:e,end:t,bytes:i}}_doMergeIntervals(e,t){e.start=Math.min(t.start,e.start),e.end=Math.max(t.end,e.end),e.bytes+=t.bytes}_mergeIntervals(e,t){return e.start<=t.end&&t.start<=e.end?(this._doMergeIntervals(e,t),!0):!1}_flushIntervals(){if(!this.intervals.length)return!1;let e=this.intervals[0].start,t=this.intervals[this.intervals.length-1].end-500;if(t-e>2e3){let i=0,r=0;for(;this.intervals.length>0;){let s=this.intervals[0];if(s.end<=t)i+=s.end-s.start,r+=s.bytes,this.intervals.splice(0,1);else{if(s.start>=t)break;{let n=t-s.start,u=s.end-s.start;i+=n;let o=s.bytes*n/u;r+=o,s.start=t,s.bytes-=o}}}if(r>0&&i>0){let s=r*8/(i/1e3);return this._updateRate(s),this.logger(`rate updated, new=${Math.round(s/1024)}K; average=${Math.round(this.currentRate/1024)}K bytes/ms=${Math.round(r)}/${Math.round(i)} interval=${Math.round(t-e)}`),!0}}return!1}_joinIntervals(){let e;do{e=!1;for(let t=0;t<this.intervals.length-1;++t)this._mergeIntervals(this.intervals[t],this.intervals[t+1])&&(this.intervals.splice(t+1,1),e=!0)}while(e)}addInterval(e,t,i){return this.intervals.push(this._createInterval(e,t,i)),this._joinIntervals(),this.intervals.length>100&&(this.logger(`too many intervals (${this.intervals.length}); will merge`,{type:"warn"}),this._doMergeIntervals(this.intervals[1],this.intervals[0]),this.intervals.splice(0,1)),this._flushIntervals()}getBitRate(){return this.currentRate}};var Cb=W(Si(),1);var na=class{constructor(e,t,i,r,s){this.pendingQueue=[];this.activeRequests={};this.completeRequests={};this.averageSegmentDuration=2e3;this.lastPrefetchStart=0;this.throttleTimeout=null;this.RETRY_COUNT=e,this.TIMEOUT=t,this.BITRATE_ESTIMATOR=i,this.MAX_PARALLEL_REQUESTS=r,this.logger=s}limitCompleteCount(){let e;for(;(e=Object.keys(this.completeRequests)).length>this._getParallelRequestCount()+2;){let t=e[Math.floor(Math.random()*e.length)];this.logger(`Dropping completed request for url ${t}`,{type:"warn"}),delete this.completeRequests[t]}}_sendRequest(e,t){let i=Pe(),r=o=>{delete this.activeRequests[t],this.limitCompleteCount(),this.completeRequests[t]=e,this._sendPending(),e._error=1,e._errorMsg=o,e._errorCB?e._errorCB(o):(this.limitCompleteCount(),this.completeRequests[t]=e)},s=o=>{e._complete=1,e._responseData=o,e._downloadTime=Pe()-i,delete this.activeRequests[t],this._sendPending(),e._cb?e._cb(o,e._downloadTime):(this.limitCompleteCount(),this.completeRequests[t]=e)},n=()=>{e._finallyCB&&e._finallyCB()},u=()=>{e._retry=1,e._retryCB&&e._retryCB()};e._request=ur(t,s,()=>r("error"),u),e._request.withRetryCount(this.RETRY_COUNT).withTimeout(this.TIMEOUT).withBitrateReporting(this.BITRATE_ESTIMATOR).withParallel(this._getParallelRequestCount()>1).withFinally(n),this.activeRequests[t]=e,e._request.send(),this.lastPrefetchStart=Pe()}_getParallelRequestCount(){return Math.min(this.MAX_PARALLEL_REQUESTS,this.averageSegmentDuration<3e3?3:2)}_getPrefetchDelay(){return Math.max(100,Math.min(5e3,this.averageSegmentDuration/3))}_canSendPending(){let e=this._getParallelRequestCount(),t=Pe();if(Object.keys(this.activeRequests).length>=e)return!1;let i=this._getPrefetchDelay()-(t-this.lastPrefetchStart);return this.throttleTimeout&&clearTimeout(this.throttleTimeout),i>0?(this.throttleTimeout=window.setTimeout(()=>this._sendPending(),i),!1):!0}_sendPending(){for(;this._canSendPending();){let e=this.pendingQueue.pop();if(e){if(this.activeRequests[e]||this.completeRequests[e])continue;this.logger(`Submitting pending request url=${e}`),this._sendRequest({},e)}else return}}_removeFromActive(e){delete this.completeRequests[e],delete this.activeRequests[e]}abortAll(){(0,Cb.default)(this.activeRequests).forEach(e=>{e&&e._request&&e._request.abort()}),this.activeRequests={},this.pendingQueue=[],this.completeRequests={}}requestData(e,t,i,r){let s={};return s.send=()=>{let n=this.activeRequests[e]||this.completeRequests[e];if(n)n._cb=t,n._errorCB=i,n._retryCB=r,n._finallyCB=s._finallyCB,n._error||n._complete?(this._removeFromActive(e),setTimeout(()=>{n._complete?(this.logger(`Requested url already prefetched, url=${e}`),t(n._responseData,n._downloadTime)):(this.logger(`Requested url already prefetched with error, url=${e}`),i(n._errorMsg)),s._finallyCB&&s._finallyCB()},0)):this.logger(`Attached to active request, url=${e}`);else{let u=this.pendingQueue.indexOf(e);u!==-1&&this.pendingQueue.splice(u,1),this.logger(`Request not prefetched, starting new request, url=${e}${u===-1?"":"; removed pending"}`),this._sendRequest(s,e)}},s._cb=t,s._errorCB=i,s._retryCB=r,s.abort=function(){s.request&&s.request.abort()},s.withFinally=n=>(s._finallyCB=n,s),s}prefetch(e){this.activeRequests[e]||this.completeRequests[e]?this.logger(`Request already active for url=${e}`):(this.logger(`Added to pending queue; url=${e}`),this.pendingQueue.unshift(e),this._sendPending())}optimizeForSegDuration(e){this.averageSegmentDuration=e}};var Vb=require("@vkontakte/videoplayer-shared");var dn=1e4,cl=3;var NP=6e4,qP=10,UP=1,HP=500,oa=class{constructor(e){this.paused=!1;this.autoQuality=!0;this.autoQualityLimits=void 0;this.buffering=!0;this.destroyed=!1;this.videoPlayStarted=!1;this.lowLatency=!1;this.bitrate=0;this.manifest=[];this.sourceBuffer=0;this.bufferStates=[];this.sourceJitter=-1;this.waitingForFirstBufferAfterSrcChange=!1;this.params=e,this.soundProhibitedEvent$=new Vb.Subject,this.chunkRateEstimator=new sa(this.params.logger),this._initVideo()}attachSource(e){this.manifestUrl=e,this.urlResolver=ll(e),this.bitrateSwitcher=this._initBitrateSwitcher(),this._initManifest()}setAutoQualityEnabled(e){this.autoQuality=e}setAutoQualityLimits(e){this.autoQualityLimits=e}switchByName(e){let t;for(let i=0;i<this.manifest.length;++i)if(t=this.manifest[i],t.name===e){this._switchToQuality(t);return}}catchUp(){if(this.rep&&this.rep.stop(),this.currentManifestEntry){let e=this.params.playbackState.getState();this.paused=e==="paused",this._initPlayerWith(this.currentManifestEntry),this._notifyBuffering(!0)}}stop(){this.params.videoElement.pause(),this.rep&&(this.rep.stop(),this.rep=null)}pause(){this.paused=!0,this.params.videoElement.pause(),this.videoPlayStarted=!1,this._notifyBuffering(!1)}play(){this.paused=!1;let e=this.lowLatency&&this._getBufferSizeSec()>this.sourceJitter+5;this.rep&&!e?(this.bufferStates=[],this.videoPlayStarted=!1,this.shouldPlay()?this._playVideoElement():this._notifyBuffering(!0)):this.catchUp()}startPlay(e,t){this.autoQuality=t,this._initPlayerWith(e)}destroy(){this.destroyed=!0,this.rep&&(this.rep.stop(),this.rep=null),this.manifestRequest&&this.manifestRequest.abort(),this.manifestRefetchTimer&&(clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=void 0)}reinit(e){this.manifestUrl=e,this.urlResolver=ll(e),this.catchUp()}_handleNetworkError(){this.params.logger("Fatal network error"),this.params.playerCallback({name:"error",type:"network"})}_retryCallback(){this.params.playerCallback({name:"retry"})}_getBufferSizeSec(){let e=this.params.videoElement,t=0,i=e.buffered.length;return i!==0&&(t=e.buffered.end(i-1)-Math.max(e.currentTime,e.buffered.start(0))),t}_notifyBuffering(e){this.destroyed||(this.params.logger(`buffering: ${e}`),this.params.playerCallback({name:"buffering",isBuffering:e}),this.buffering=e)}_initVideo(){let{videoElement:e,logger:t}=this.params;e.addEventListener("error",()=>{!!e.error&&!this.destroyed&&(t(`Video element error: ${e.error?.code}, details: ${e.error?.message}`),this.params.playerCallback({name:"error",type:"media"}))}),e.addEventListener("timeupdate",()=>{let i=this._getBufferSizeSec();!this.paused&&i<.3?this.buffering||(this.buffering=!0,window.setTimeout(()=>{!this.paused&&this.buffering&&this._notifyBuffering(!0)},(i+.1)*1e3)):this.buffering&&this.videoPlayStarted&&this._notifyBuffering(!1)}),e.addEventListener("playing",()=>{t("playing")}),e.addEventListener("stalled",()=>this._fixupStall()),e.addEventListener("waiting",()=>this._fixupStall())}_fixupStall(){let{logger:e,videoElement:t}=this.params,i=t.buffered.length,r;i!==0&&!this.waitingForFirstBufferAfterSrcChange&&(r=t.buffered.start(i-1),t.currentTime<r&&(e("Fixup stall"),t.currentTime=r))}_selectQuality(e){let{videoElement:t}=this.params,i,r,s,n=t&&1.62*(Q.display.pixelRatio||1)*t.offsetHeight||520;for(let u=0;u<this.manifest.length;++u){s=this.manifest[u];let{max:o,min:l}=this.autoQualityLimits||{};!Eb({limits:this.autoQualityLimits,highestAvailableHeight:this.manifest[0].video.height,lowestAvailableHeight:(0,Bb.default)(this.manifest,-1).video.height})&&(o&&s.video.height>o||l&&s.video.height<l)||(s.bitrate<e&&n>Math.min(s.video.height,s.video.width)?(!r||s.bitrate>r.bitrate)&&(r=s):(!i||i.bitrate>s.bitrate)&&(i=s))}return r||i}shouldPlay(){if(this.paused)return!1;let t=this._getBufferSizeSec()-Math.max(1,this.sourceJitter);return t>3||(0,et.isNonNullable)(this.downloadRate)&&(this.downloadRate>1.5&&t>2||this.downloadRate>2&&t>1)}_setVideoSrc(e,t){let{logger:i,videoElement:r,playerCallback:s}=this.params;this.mediaSource=new window.MediaSource,i("setting video src"),r.src=URL.createObjectURL(this.mediaSource),this.mediaSource.addEventListener("sourceopen",()=>{this.mediaSource&&(this.sourceBuffer=this.mediaSource.addSourceBuffer(e.codecs),this.bufferStates=[],t())}),this.videoPlayStarted=!1,r.addEventListener("canplay",()=>{this.shouldPlay()&&(this.videoPlayStarted=!0,this._playVideoElement())});let n=()=>{Db(r,"progress",()=>{r.buffered.length?(r.currentTime=r.buffered.start(0),this.waitingForFirstBufferAfterSrcChange=!1,s({name:"playing"})):n()})};this.waitingForFirstBufferAfterSrcChange=!0,n()}_initPlayerWith(e){this.bitrate=0,this.rep=0,this.sourceBuffer=0,this.bufferStates=[],this.filesFetcher&&this.filesFetcher.abortAll(),this.filesFetcher=new na(cl,dn,this.bitrateSwitcher,this.params.config.maxParallelRequests,this.params.logger),this._setVideoSrc(e,()=>this._switchToQuality(e))}_representation(e){let{logger:t,videoElement:i,playerCallback:r}=this.params,s=!1,n=null,u=null,o=null,l=null,p=!1,d=()=>{let w=s&&(!p||p===this.rep);return w||t("Not running!"),w},c=(w,C,V)=>{o&&o.abort(),o=ur(this.urlResolver.resolve(w,!1),C,V,()=>this._retryCallback()).withTimeout(dn).withBitrateReporting(this.bitrateSwitcher).withRetryCount(cl).withFinally(()=>{o=null}).send()},h=(w,C,V)=>{(0,et.assertNonNullable)(this.filesFetcher),u?.abort(),u=this.filesFetcher.requestData(this.urlResolver.resolve(w,!1),C,V,()=>this._retryCallback()).withFinally(()=>{u=null}).send()},m=w=>{let C=i.playbackRate;i.playbackRate!==w&&(t(`Playback rate switch: ${C}=>${w}`),i.playbackRate=w)},b=w=>{this.lowLatency=w,t(`lowLatency changed to ${w}`),S()},S=()=>{if(!this.lowLatency&&!this.params.config.isLiveCatchUpMode)m(1);else{let w=this._getBufferSizeSec();if(this.bufferStates.length<5){m(1);return}let V=Pe()-1e4,_=0;for(let j=0;j<this.bufferStates.length;j++){let L=this.bufferStates[j];w=Math.min(w,L.buf),L.ts<V&&_++}this.bufferStates.splice(0,_),t(`update playback rate; minBuffer=${w} drop=${_} jitter=${this.sourceJitter}`);let M=w-UP;this.sourceJitter>=0?M-=this.sourceJitter/2:this.sourceJitter-=1,M>3?m(1.15):M>1?m(1.1):M>.3?m(1.05):m(1)}},v=w=>{let C,V=()=>C&&C.start?C.start.length:0,_=N=>C.start[N]/1e3,M=N=>C.dur[N]/1e3,j=N=>C.fragIndex+N,L=(N,re)=>({chunkIdx:j(N),startTS:_(N),dur:M(N),discontinuity:re}),ee=()=>{let N=0;if(C&&C.dur){let re=this.lowLatency?this.params.config.lowLatencyMinBuffer:this.params.config.minBuffer,le=this.lowLatency?this.params.config.lowLatencyMinBufferSegments:this.params.config.minBufferSegments,ge=re;this.sourceJitter>1&&(ge+=this.sourceJitter-1);let Ee=C.dur.length-1;for(;Ee>=0&&(ge-=C.dur[Ee],!(ge<=0));--Ee);N=Math.min(Ee,C.dur.length-1-le),N=Math.max(N,0)}return L(N,!0)},F=N=>{let re=V();if(!(re<=0)){if((0,et.isNonNullable)(N)){for(let le=0;le<re;le++)if(_(le)>N)return L(le)}return ee()}},x=N=>{let re=V(),le=N?N.chunkIdx+1:0,ge=le-C.fragIndex;if(!(re<=0)){if(!N||ge<0||ge-re>qP)return t(`Resync: offset=${ge} bChunks=${re} chunk=`+JSON.stringify(N)),ee();if(!(ge>=re))return L(le-C.fragIndex,!1)}},R=(N,re,le)=>{l&&l.abort(),l=ur(this.urlResolver.resolve(N,!0,this.lowLatency),re,le,()=>this._retryCallback()).withTimeout(dn).withRetryCount(cl).withFinally(()=>{l=null}).withJSONResponse().send()};return{seek:(N,re)=>{R(w,le=>{if(!d())return;C=le;let ge=!!C.lowLatency;ge!==this.lowLatency&&b(ge);let Ee=0;for(let ke=0;ke<C.dur.length;++ke)Ee+=C.dur[ke];Ee>0&&((0,et.assertNonNullable)(this.filesFetcher),this.filesFetcher.optimizeForSegDuration(Ee/C.dur.length)),r({name:"index",zeroTime:C.zeroTime,shiftDuration:C.shiftDuration}),this.sourceJitter=C.hasOwnProperty("jitter")?Math.min(10,Math.max(.01,C.jitter/1e3)):1,N(F(re))},()=>this._handleNetworkError())},nextChunk:x}},I=()=>{s=!1,u&&u.abort(),o&&o.abort(),l&&l.abort(),(0,et.assertNonNullable)(this.filesFetcher),this.filesFetcher.abortAll()};return p={start:w=>{let{videoElement:C,logger:V}=this.params,_=v(e.jidxUrl),M,j,L,ee,F=0,x,R,oe,N=()=>{x&&(clearTimeout(x),x=void 0);let te=Math.max(HP,1e3*(this._getBufferSizeSec()-this.sourceJitter-5)),Fe=F+te,Ce=Pe(),xe=Math.min(1e4,Fe-Ce);F=Ce;let at=()=>{l||d()&&_.seek(()=>{d()&&(F=Pe(),re(),N())})};xe>0?x=window.setTimeout(()=>{this.paused?N():at()},xe):at()},re=()=>{let te;for(;te=_.nextChunk(ee);)ee=te,Re(te);let Fe=_.nextChunk(L);if(Fe){if(L&&Fe.discontinuity){V("Detected discontinuity; restarting playback"),this.paused?N():(I(),this._initPlayerWith(e));return}ke(Fe)}else N()},le=(te,Fe)=>{if(!d()||!this.sourceBuffer)return;let Ce,xe,at,Gt=yt=>{window.setTimeout(()=>{d()&&le(te,Fe)},yt)};if(this.sourceBuffer.updating)V("Source buffer is updating; delaying appendBuffer"),Gt(100);else{let yt=Pe(),Ye=C.currentTime;!this.paused&&C.buffered.length>1&&R===Ye&&yt-oe>500&&(V("Stall suspected; trying to fix"),this._fixupStall()),R!==Ye&&(R=Ye,oe=yt);let zt=this._getBufferSizeSec();if(zt>30)V(`Buffered ${zt} seconds; delaying appendBuffer`),Gt(2e3);else try{this.sourceBuffer.appendBuffer(te),this.videoPlayStarted?(this.bufferStates.push({ts:yt,buf:zt}),S(),this.bufferStates.length>200&&this.bufferStates.shift()):this.shouldPlay()&&(this.videoPlayStarted=!0,this._playVideoElement()),Fe&&Fe()}catch(Tt){if(Tt.name==="QuotaExceededError")V("QuotaExceededError; delaying appendBuffer"),at=this.sourceBuffer.buffered.length,at!==0&&(Ce=this.sourceBuffer.buffered.start(0),xe=Ye,xe-Ce>4&&this.sourceBuffer.remove(Ce,xe-3)),Gt(1e3);else throw Tt}}},ge=()=>{j&&M&&(V([`Appending chunk, sz=${j.byteLength}:`,JSON.stringify(L)]),le(j,function(){j=null,re()}))},Ee=te=>e.fragUrlTemplate.replace("%%id%%",te.chunkIdx),ke=te=>{d()&&h(Ee(te),(Fe,Ce)=>{if(d()){if(Ce/=1e3,j=Fe,L=te,n=te.startTS,Ce){let xe=Math.min(10,te.dur/Ce);this.downloadRate=this.downloadRate?(1-.3)*this.downloadRate+.3*xe:xe}ge()}},()=>this._handleNetworkError())},Re=te=>{d()&&((0,et.assertNonNullable)(this.filesFetcher),this.filesFetcher.prefetch(this.urlResolver.resolve(Ee(te),!1)))},ae=te=>{d()&&(e.cachedHeader=te,le(te,()=>{M=!0,ge()}))};s=!0,_.seek(te=>{if(d()){if(F=Pe(),!te){N();return}ee=te,!(0,et.isNullable)(w)||te.startTS>w?ke(te):(L=te,re())}},w),e.cachedHeader?ae(e.cachedHeader):c(e.headerUrl,ae,()=>this._handleNetworkError())},stop:I,getTimestampSec:()=>n},p}_switchToQuality(e){let{logger:t,playerCallback:i}=this.params,r;e.bitrate!==this.bitrate&&(this.rep&&(r=this.rep.getTimestampSec(),(0,et.isNonNullable)(r)&&(r+=.1),this.rep.stop()),this.currentManifestEntry=e,this.rep=this._representation(e),t(`switch to quality: codecs=${e.codecs}; headerUrl=${e.headerUrl}; bitrate=${e.bitrate}`),this.bitrate=e.bitrate,(0,et.assertNonNullable)(this.bitrateSwitcher),this.bitrateSwitcher.notifySwitch(this.bitrate),this.rep.start(r),i({name:"qualitySwitch",quality:e}))}_qualityAvailable(e){return(0,et.isNonNullable)(this.manifest.find(t=>t.name===e))}_initBitrateSwitcher(){let{logger:e,playerCallback:t}=this.params,i=d=>{if(!this.autoQuality)return;let c,h,m;if(this.currentManifestEntry&&this._qualityAvailable(this.currentManifestEntry.name)&&d<this.bitrate&&(h=this._getBufferSizeSec(),m=d/this.bitrate,h>10&&m>.8||h>15&&m>.5||h>20&&m>.3)){e(`Not switching: buffer=${Math.floor(h)}; bitrate=${this.bitrate}; newRate=${Math.floor(d)}`);return}c=this._selectQuality(d),c?this._switchToQuality(c):e(`Could not find quality by bitrate ${d}`)},s={updateChunk:(c,h)=>{let m=Pe();if(this.chunkRateEstimator.addInterval(c,m,h)){let S=this.chunkRateEstimator.getBitRate();return t({name:"bandwidth",size:h,duration:m-c,speed:S}),!0}},get:()=>{let c=this.chunkRateEstimator.getBitRate();return c?c*.85:0}},n=-1/0,u,o=!0,l=()=>{let d=s.get();if(d&&u&&this.autoQuality){if(o&&d>u&&ul(n)<3e4)return;i(d)}o=this.autoQuality};return{updateChunk:(d,c)=>{let h=s.updateChunk(d,c);return h&&l(),h},notifySwitch:d=>{let c=Pe();d<u&&(n=c),u=d}}}_fetchManifest(e,t,i){this.manifestRequest=ur(this.urlResolver.resolve(e,!0),t,i,()=>this._retryCallback()).withJSONResponse().withTimeout(dn).withRetryCount(this.params.config.manifestRetryMaxCount).withRetryInterval(this.params.config.manifestRetryInterval,this.params.config.manifestRetryMaxInterval).send().withFinally(()=>{this.manifestRequest=void 0})}_playVideoElement(){let{videoElement:e}=this.params;We(e,()=>{this.soundProhibitedEvent$.next()}).then(t=>{t||(this.params.liveOffset.pause(),this.params.videoState.setState("paused"))})}_handleManifestUpdate(e){let{logger:t,playerCallback:i,videoElement:r}=this.params,s=n=>{let u=[];return n?.length?(n.forEach((o,l)=>{o.video&&r.canPlayType(o.codecs).replace(/no/,"")&&window.MediaSource?.isTypeSupported?.(o.codecs)&&(o.index=l,u.push(o))}),u.sort(function(o,l){return o.video&&l.video?l.video.height-o.video.height:l.bitrate-o.bitrate}),u):(i({name:"error",type:"empty_manifest"}),[])};this.manifest=s(e),t(`Valid manifest entries: ${this.manifest.length}/${e.length}`),i({name:"manifest",manifest:this.manifest})}_refetchManifest(e){this.destroyed||(this.manifestRefetchTimer&&clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=window.setTimeout(()=>{this._fetchManifest(e,t=>{this.destroyed||(this._handleManifestUpdate(t),this._refetchManifest(e))},()=>this._refetchManifest(e))},NP))}_initManifest(){this._fetchManifest(this.manifestUrl,e=>{this.destroyed||(this._handleManifestUpdate(e),this._refetchManifest(this.manifestUrl))},()=>this._handleNetworkError())}};var _b=W(zi(),1),be=require("@vkontakte/videoplayer-shared"),dl=class{constructor(){this.onDroopedVideoFramesLimit$=new be.Subject;this.subscription=new be.Subscription;this.playing=!1;this.tracks=[];this.forceChecker$=new be.Subject;this.isForceCheckCounter=0;this.prevTotalVideoFrames=0;this.prevDroppedVideoFrames=0;this.limitCounts={};this.handleChangeVideoQuality=()=>{let e=this.tracks.find(({size:t})=>t?.height===this.video.videoHeight&&t?.width===this.video.videoWidth);e&&!(0,be.isInvariantQuality)(e.quality)&&this.onChangeQuality(e.quality)};this.checkDroppedFrames=()=>{let{totalVideoFrames:e,droppedVideoFrames:t}=this.video.getVideoPlaybackQuality(),i=e-this.prevTotalVideoFrames,r=t-this.prevDroppedVideoFrames,s=1-(i-r)/i;!isNaN(s)&&s>0&&this.log({message:`[dropped]. current dropped percent: ${s}, limit: ${this.droppedFramesChecker.percentLimit}`}),!isNaN(s)&&s>=this.droppedFramesChecker.percentLimit&&(0,be.isHigher)(this.currentQuality,this.droppedFramesChecker.minQualityBanLimit)&&(this.limitCounts[this.currentQuality]=(this.limitCounts[this.currentQuality]??0)+1,this.maxQualityLimit=this.getMaxQualityLimit(this.currentQuality),this.currentTimer&&window.clearTimeout(this.currentTimer),this.currentTimer=window.setTimeout(()=>this.maxQualityLimit=this.getMaxQualityLimit(),this.droppedFramesChecker.qualityUpWaitingTime),this.onDroopedVideoFramesLimitTrigger()),this.savePrevFrameCounts(e,t)}}connect(e){this.log=e.logger.createComponentLog("DroppedFramesManager"),this.video=e.video,this.isAuto=e.isAuto,this.tracks=e.tracks,this.droppedFramesChecker=e.droppedFramesChecker,this.subscription.add(e.playing$.subscribe(()=>this.playing=!0)),this.subscription.add(e.pause$.subscribe(()=>this.playing=!1)),this.isEnabled&&this.subscribe()}destroy(){this.currentTimer&&window.clearTimeout(this.currentTimer),this.subscription.unsubscribe()}get droppedVideoMaxQualityLimit(){return this.maxQualityLimit}subscribe(){this.subscription.add((0,be.fromEvent)(this.video,"resize").subscribe(this.handleChangeVideoQuality));let e=(0,be.interval)(this.droppedFramesChecker.checkTime).pipe((0,be.filter)(()=>this.playing),(0,be.filter)(()=>{let r=!!this.isForceCheckCounter;return r&&(this.isForceCheckCounter-=1),!r})),t=this.forceChecker$.pipe((0,be.debounce)(this.droppedFramesChecker.checkTime)),i=(0,be.merge)(e,t);this.subscription.add(i.subscribe(this.checkDroppedFrames))}onChangeQuality(e){this.currentQuality=e;let{totalVideoFrames:t,droppedVideoFrames:i}=this.video.getVideoPlaybackQuality();this.savePrevFrameCounts(t,i),this.isForceCheckCounter=this.droppedFramesChecker.tickCountAfterQualityChange,this.forceChecker$.next()}onDroopedVideoFramesLimitTrigger(){this.isAuto.getState()&&(this.log({message:`[onDroopedVideoFramesLimit]. maxQualityLimit: ${this.maxQualityLimit}`}),this.onDroopedVideoFramesLimit$.next())}getMaxQualityLimit(e){let t=(0,_b.default)(this.limitCounts).filter(([,i])=>i>=this.droppedFramesChecker.countLimit).sort(([i],[r])=>(0,be.isLower)(i,r)?-1:1)?.[0]?.[0];return e??t}get isEnabled(){return this.droppedFramesChecker.enabled&&this.isDroppedFramesCheckerSupport}get isDroppedFramesCheckerSupport(){return!!this.video&&typeof this.video.getVideoPlaybackQuality=="function"}savePrevFrameCounts(e,t){this.prevTotalVideoFrames=e,this.prevDroppedVideoFrames=t}},lr=dl;var pn=require("@vkontakte/videoplayer-shared"),Ob=require("@vkontakte/videoplayer-shared");var ua=()=>!!window.documentPictureInPicture?.window||!!document.pictureInPictureElement;var jP=(a,e)=>new pn.Observable(t=>{if(!window.IntersectionObserver)return;let i={root:null},r=new IntersectionObserver((n,u)=>{n.forEach(o=>t.next(o.isIntersecting||ua()))},{...i,...e});r.observe(a);let s=(0,Ob.fromEvent)(document,"visibilitychange").pipe((0,pn.map)(n=>!document.hidden||ua())).subscribe(n=>t.next(n));return()=>{r.unobserve(a),s.unsubscribe()}}),ut=jP;var QP=["paused","playing","ready"],WP=["paused","playing","ready"],la=class{constructor(e){this.subscription=new Y.Subscription;this.videoState=new Z("stopped");this.representations$=new Y.ValueSubject([]);this.droppedFramesManager=new lr;this.maxSeekBackTime$=new Y.ValueSubject(1/0);this.zeroTime$=new Y.ValueSubject(void 0);this.liveOffset=new xi;this._dashCb=e=>{switch(e.name){case"buffering":{let t=e.isBuffering;this.params.output.isBuffering$.next(t);break}case"error":{this.params.output.error$.next({id:`DashLiveProviderInternal:${e.type}`,category:Y.ErrorCategory.WTF,message:"LiveDashPlayer reported error"});break}case"manifest":{let t=e.manifest,i=[];for(let r of t){let s=r.name??r.index.toString(10),n=ii(r.name)??(0,Y.videoSizeToQuality)(r.video),u=r.bitrate/1e3,o={...r.video};if(!n)continue;let l={id:s,quality:n,bitrate:u,size:o};i.push({track:l,representation:r})}this.representations$.next(i),this.params.output.availableVideoTracks$.next(i.map(({track:r})=>r)),this.videoState.getTransition()?.to==="manifest_ready"&&this.videoState.setState("manifest_ready");break}case"qualitySwitch":{let t=e.quality,i=this.representations$.getValue().find(({representation:r})=>r===t)?.track;this.params.output.hostname$.next(new URL(t.headerUrl,this.params.source.url).hostname),(0,Y.isNonNullable)(i)&&this.params.output.currentVideoTrack$.next(i);break}case"bandwidth":{let{size:t,duration:i}=e;this.params.dependencies.throughputEstimator.addRawSpeed(t,i);break}case"index":{this.maxSeekBackTime$.next(e.shiftDuration||0),this.zeroTime$.next(e.zeroTime);break}}};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}; seekState: ${JSON.stringify(s)};`}),i==="stopped"){e!=="stopped"&&(this.videoState.startTransitionTo("stopped"),this.dash.destroy(),this.video.removeAttribute("src"),this.video.load(),this.videoState.setState("stopped"));return}if(t)return;let n=this.params.desiredState.videoTrack.getTransition(),u=this.params.desiredState.autoVideoTrackSwitching.getTransition();if((0,pl.default)(WP,e)&&(n||u)){this.prepare();return}if(r?.to!=="paused"&&s.state==="requested"&&(0,pl.default)(QP,e)){this.seek(s.position-this.liveOffset.getTotalPausedTime());return}switch(e){case"stopped":this.videoState.startTransitionTo("manifest_ready"),this.dash.attachSource(ye(this.params.source.url));return;case"manifest_ready":this.videoState.startTransitionTo("ready"),this.prepare();break;case"ready":if(i==="paused")this.videoState.setState("paused");else if(i==="playing"){this.videoState.startTransitionTo("playing");let o=r?.from;o&&o==="ready"&&this.dash.catchUp(),this.dash.play()}return;case"playing":i==="paused"&&(this.videoState.startTransitionTo("paused"),this.liveOffset.pause(),this.dash.pause());return;case"paused":if(i==="playing")if(this.videoState.startTransitionTo("playing"),this.liveOffset.getTotalPausedTime()<this.params.config.maxPausedTime&&this.liveOffset.getTotalOffset()<this.maxSeekBackTime$.getValue())this.liveOffset.resume(),this.dash.play(),this.params.output.position$.next(-this.liveOffset.getTotalOffset()/1e3);else{let o=this.liveOffset.getTotalOffset();o>=this.maxSeekBackTime$.getValue()&&(o=0,this.liveOffset.resetTo(o)),this.liveOffset.resume(),this.params.output.position$.next(-o/1e3),this.dash.reinit(ye(this.params.source.url,o))}return;default:return(0,Y.assertNever)(e)}};this.textTracksManager=new ot(e.source.url),this.params=e,this.log=this.params.dependencies.logger.createComponentLog("DashLiveProvider");let t=r=>{e.output.error$.next({id:"DashLiveProvider",category:Y.ErrorCategory.WTF,message:"DashLiveProvider internal logic error",thrown:r})};this.subscription.add((0,Y.merge)(this.videoState.stateChangeStarted$.pipe((0,Y.map)(r=>({transition:r,type:"start"}))),this.videoState.stateChangeEnded$.pipe((0,Y.map)(r=>({transition:r,type:"end"})))).subscribe(({transition:r,type:s})=>{this.log({message:`[videoState change] ${s}: ${JSON.stringify(r)}`})})),this.video=Ue(e.container,e.tuning),this.params.output.element$.next(this.video),this.dash=this.createLiveDashPlayer(),this.subscription.add(this.dash.soundProhibitedEvent$.subscribe(this.params.output.soundProhibitedEvent$)),this.params.output.duration$.next(1/0),this.params.output.position$.next(0),this.params.output.isLive$.next(!0),this.params.output.canChangePlaybackSpeed$.next(!1),this.params.output.hostname$.next($e(this.params.source.url)),this.params.output.autoVideoTrackLimitingAvailable$.next(!0),this.params.output.availableVideoTracks$.next([]),this.params.output.availableAudioTracks$.next([]),this.params.output.isAudioAvailable$.next(!0),this.params.output.availableTextTracks$.next([]),this.params.desiredState.internalTextTracks.setState([]),this.textTracksManager.connect(this.video,this.params.desiredState,this.params.output);let i=Qe(this.video);this.subscription.add(()=>i.destroy()),this.subscription.add(this.representations$.pipe((0,Y.map)(r=>r.map(({track:s})=>s)),(0,Y.filter)(r=>!!r.length),(0,Y.once)()).subscribe(r=>this.droppedFramesManager.connect({logger:this.params.dependencies.logger,video:this.video,droppedFramesChecker:this.params.tuning.droppedFramesChecker,isAuto:this.params.desiredState.autoVideoTrackSwitching,playing$:i.playing$,pause$:i.pause$,tracks:r}))),this.subscription.add(i.canplay$.subscribe(()=>{this.videoState.getTransition()?.to==="ready"&&this.videoState.setState("ready")},t)).add(i.pause$.subscribe(()=>{this.videoState.setState("paused")},t)).add(i.playing$.subscribe(()=>{this.params.desiredState.seekState.getState().state==="applying"&&this.params.output.seekedEvent$.next(),this.videoState.setState("playing")},t)).add(i.error$.subscribe(this.params.output.error$)).add(this.maxSeekBackTime$.pipe((0,Y.filterChanged)(),(0,Y.map)(r=>-r/1e3)).subscribe(this.params.output.duration$)).add((0,Y.combine)({zeroTime:this.zeroTime$.pipe((0,Y.filter)(Y.isNonNullable)),position:i.timeUpdate$}).subscribe(({zeroTime:r,position:s})=>this.params.output.liveTime$.next(r+s*1e3),t)).add(kt(this.video,this.params.desiredState.isLooped,t)).add(je(this.video,this.params.desiredState.volume,i.volumeState$,t)).add(i.volumeState$.subscribe(this.params.output.volume$,t)).add(nt(this.video,this.params.desiredState.playbackRate,i.playbackRateState$,t)).add(i.loadStart$.subscribe(this.params.output.firstBytesEvent$)).add(i.loadedMetadata$.subscribe(this.params.output.loadedMetadataEvent$)).add(i.playing$.subscribe(this.params.output.firstFrameEvent$)).add(i.canplay$.subscribe(this.params.output.canplay$)).add(i.inPiP$.subscribe(this.params.output.inPiP$)).add(i.inFullscreen$.subscribe(this.params.output.inFullscreen$)).add(ut(this.video).subscribe(this.params.output.elementVisible$)).add(this.params.desiredState.autoVideoTrackLimits.stateChangeStarted$.subscribe(({to:{max:r,min:s}})=>{this.dash.setAutoQualityLimits({max:r&&(0,Y.videoQualityToHeight)(r),min:s&&(0,Y.videoQualityToHeight)(s)}),this.params.output.autoVideoTrackLimits$.next({max:r,min:s})})).add(this.videoState.stateChangeEnded$.subscribe(r=>{switch(r.to){case"stopped":this.params.output.position$.next(0),this.params.output.duration$.next(1/0),this.params.desiredState.playbackState.setState("stopped");break;case"manifest_ready":case"ready":this.params.desiredState.playbackState.getTransition()?.to==="ready"&&this.params.desiredState.playbackState.setState("ready");break;case"paused":this.params.desiredState.playbackState.setState("paused");break;case"playing":this.params.desiredState.playbackState.setState("playing");break;default:return(0,Y.assertNever)(r.to)}},t)).add((0,Y.merge)(e.desiredState.playbackState.stateChangeStarted$,e.desiredState.seekState.stateChangeEnded$,e.desiredState.videoTrack.stateChangeStarted$,e.desiredState.autoVideoTrackSwitching.stateChangeStarted$,this.videoState.stateChangeEnded$,this.droppedFramesManager.onDroopedVideoFramesLimit$,(0,Y.observableFrom)(["init"])).pipe((0,Y.debounce)(0)).subscribe(this.syncPlayback,t))}destroy(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.droppedFramesManager.destroy(),this.dash.destroy(),this.params.output.element$.next(void 0),He(this.video)}createLiveDashPlayer(){let e=new oa({videoElement:this.video,videoState:this.videoState,playbackState:this.params.desiredState.playbackState,liveOffset:this.liveOffset,config:{maxParallelRequests:this.params.config.maxParallelRequests,minBuffer:this.params.tuning.live.minBuffer,minBufferSegments:this.params.tuning.live.minBufferSegments,lowLatencyMinBuffer:this.params.tuning.live.lowLatencyMinBuffer,lowLatencyMinBufferSegments:this.params.tuning.live.lowLatencyMinBufferSegments,isLiveCatchUpMode:this.params.tuning.live.isLiveCatchUpMode,manifestRetryInterval:this.params.tuning.manifestRetryInterval,manifestRetryMaxInterval:this.params.tuning.manifestRetryMaxInterval,manifestRetryMaxCount:this.params.tuning.manifestRetryMaxCount},playerCallback:this._dashCb,logger:t=>{this.params.dependencies.logger.log({message:String(t),component:"LiveDashPlayer"})}});return e.pause(),e}prepare(){let e=this.representations$.getValue(),t=this.params.desiredState.videoTrack.getTransition()?.to??this.params.desiredState.videoTrack.getState(),i=this.params.desiredState.autoVideoTrackSwitching.getTransition()?.to??this.params.desiredState.autoVideoTrackSwitching.getState(),r=!i&&(0,Y.isNonNullable)(t)?t:Rt(e.map(({track:l})=>l),{container:this.video.getBoundingClientRect(),panelSize:this.params.panelSize,estimatedThroughput:this.params.dependencies.throughputEstimator.throughput$.getValue(),tuning:this.params.tuning.autoTrackSelection,limits:this.params.desiredState.autoVideoTrackLimits.getState(),droppedVideoMaxQualityLimit:this.droppedFramesManager.droppedVideoMaxQualityLimit,abrLogger:this.params.dependencies.abrLogger}),s=r?.id,n=this.params.desiredState.videoTrack.getTransition(),u=this.params.desiredState.videoTrack.getState()?.id,o=this.params.desiredState.autoVideoTrackSwitching.getTransition();if(r&&(n||s!==u)&&this.setVideoTrack(r),o&&this.setAutoQuality(i),n||o||s!==u){let l=e.find(({track:p})=>p.id===s)?.representation;(0,Y.assertNonNullable)(l,"Representations missing"),this.dash.startPlay(l,i)}}setVideoTrack(e){let t=this.representations$.getValue().find(({track:i})=>i.id===e.id)?.representation;(0,Y.assertNonNullable)(t,`No such representation ${e.id}`),this.dash.switchByName(t.name),this.params.desiredState.videoTrack.setState(e)}setAutoQuality(e){this.dash.setAutoQualityEnabled(e),this.params.desiredState.autoVideoTrackSwitching.setState(e)}seek(e){this.log({message:`[seek] position: ${e}`}),this.params.output.willSeekEvent$.next();let t=this.params.desiredState.playbackState.getState(),i=this.videoState.getState(),r=t==="paused"&&i==="paused",s=-e,n=s<=this.maxSeekBackTime$.getValue()?s:0;this.params.output.position$.next(e/1e3),this.dash.reinit(ye(this.params.source.url,n)),r&&this.dash.pause(),this.liveOffset.resetTo(n,r)}};var Fb=la;var Me=(a,e)=>{let t=0;for(let i=0;i<a.length;i++){let r=a.start(i)*1e3,s=a.end(i)*1e3;r<=e&&e<=s&&(t=s)}return Math.max(t-e,0)};var O=require("@vkontakte/videoplayer-shared");var{NativeAbortSignal:VV,NativeAbortController:_V}=function(a){return{NativeAbortSignal:a.AbortSignal,NativeAbortController:a.AbortController}}(typeof self<"u"?self:global);function Nb(a){let e;try{e=new Event("abort")}catch{typeof document<"u"?document.createEvent?(e=document.createEvent("Event"),e.initEvent("abort",!1,!1)):(e=document.createEventObject(),e.type="abort"):e={type:"abort",bubbles:!1,cancelable:!1}}return e.reason=a,e}function qb(a){if(a===void 0)if(typeof document>"u")a=new Error("This operation was aborted"),a.name="AbortError";else try{a=new DOMException("signal is aborted without reason"),Object.defineProperty(a,"name",{value:"AbortError"})}catch{a=new Error("This operation was aborted"),a.name="AbortError"}return a}var hn=class{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(e,t,i){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push({callback:t,options:i})}removeEventListener(e,t){if(!(e in this.listeners))return;let i=this.listeners[e];for(let r=0,s=i.length;r<s;r++)if(i[r].callback===t){i.splice(r,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return;let i=this.listeners[e.type].slice();for(let r=0,s=i.length;r<s;r++){let n=i[r];try{n.callback.call(this,e)}catch(u){Promise.resolve().then(()=>{throw u})}n.options&&n.options.once&&this.removeEventListener(e.type,n.callback)}return!e.defaultPrevented}},cr=class extends hn{constructor(){super(),this.listeners||hn.call(this),Object.defineProperty(this,"aborted",{value:!1,writable:!0,configurable:!0}),Object.defineProperty(this,"onabort",{value:null,writable:!0,configurable:!0}),Object.defineProperty(this,"reason",{value:void 0,writable:!0,configurable:!0})}toString(){return"[object AbortSignal]"}dispatchEvent(e){e.type==="abort"&&(this.aborted=!0,typeof this.onabort=="function"&&this.onabort.call(this,e)),super.dispatchEvent(e)}throwIfAborted(){let{aborted:e,reason:t="Aborted"}=this;if(e)throw t}static timeout(e){let t=new Ai;return setTimeout(()=>t.abort(new DOMException(`This signal is timeout in ${e}ms`,"TimeoutError")),e),t.signal}static any(e){let t=new Ai;function i(){t.abort(this.reason),r()}function r(){for(let s of e)s.removeEventListener("abort",i)}for(let s of e)if(s.aborted){t.abort(s.reason);break}else s.addEventListener("abort",i);return t.signal}},Ai=class{constructor(){Object.defineProperty(this,"signal",{value:new cr,writable:!0,configurable:!0})}abort(e){let t=qb(e),i=Nb(t);this.signal.reason=t,this.signal.dispatchEvent(i)}toString(){return"[object AbortController]"}};typeof Symbol<"u"&&Symbol.toStringTag&&(Ai.prototype[Symbol.toStringTag]="AbortController",cr.prototype[Symbol.toStringTag]="AbortSignal");function fn(a){return a.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof a.Request=="function"&&!a.Request.prototype.hasOwnProperty("signal")||!a.AbortController}function hl(a){typeof a=="function"&&(a={fetch:a});let{fetch:e,Request:t=e.Request,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:r=!1}=a;if(!fn({fetch:e,Request:t,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:r}))return{fetch:e,Request:s};let s=t;(s&&!s.prototype.hasOwnProperty("signal")||r)&&(s=function(l,p){let d;p&&p.signal&&(d=p.signal,delete p.signal);let c=new t(l,p);return d&&Object.defineProperty(c,"signal",{writable:!1,enumerable:!1,configurable:!0,value:d}),c},s.prototype=t.prototype);let n=e;return{fetch:(o,l)=>{let p=s&&s.prototype.isPrototypeOf(o)?o.signal:l?l.signal:void 0;if(p){let d;try{d=new DOMException("Aborted","AbortError")}catch{d=new Error("Aborted"),d.name="AbortError"}if(p.aborted)return Promise.reject(d);let c=new Promise((h,m)=>{p.addEventListener("abort",()=>m(d),{once:!0})});return l&&l.signal&&delete l.signal,Promise.race([c,n(o,l)])}return n(o,l)},Request:s}}var GP=()=>"fetch"in window,ca=GP()&&fn({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),Ub=ca?hl({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,lt=ca?Ub.fetch:window.fetch,GV=ca?Ub.Request:window.Request,ue=ca?Ai:window.AbortController,zV=ca?cr:window.AbortSignal;var jS=W(qe(),1),_l=W(da(),1);var kg=W(Pg(),1),dr=require("@vkontakte/videoplayer-shared"),mn=a=>{if(!a)return{id:"EmptyResponse",category:dr.ErrorCategory.PARSER,message:"Empty response"};if(a.length<=2&&a.match(/^\d+$/))return{id:`UVError#${a}`,category:dr.ErrorCategory.NETWORK,message:`UV Error ${a}`};let e=(0,kg.default)(a).substring(0,100).toLowerCase();if(e.startsWith("<!doctype")||e.startsWith("<html>")||e.startsWith("<body>")||e.startsWith("<head>"))return{id:"UnexpectedHTML",category:dr.ErrorCategory.NETWORK,message:"Received unexpected HTML, possibly a ISP block"};if(e.startsWith("<?xml"))return new DOMParser().parseFromString(a,"text/xml").querySelector("parsererror")?{id:"InvalidXML",category:dr.ErrorCategory.PARSER,message:"XML parsing error"}:{id:"XMLParserLogicError",category:dr.ErrorCategory.PARSER,message:"Response is valid XML, but parser failed"}};var De=(a,e,t=0)=>{for(let i=0;i<a.length;i++)if(a.start(i)*1e3-t<=e&&a.end(i)*1e3+t>e)return!0;return!1};var T=require("@vkontakte/videoplayer-shared");var Sn=W(qe(),1),Ri=W(gt(),1),vn=W(da(),1);var Mk=(a,e={})=>{let i=e.timeout||1,r=performance.now();return window.setTimeout(()=>{a({get didTimeout(){return e.timeout?!1:performance.now()-r-1>i},timeRemaining(){return Math.max(0,1+(performance.now()-r))}})},1)},Dk=a=>window.clearTimeout(a),Rg=a=>typeof a=="function"&&a?.toString().endsWith("{ [native code] }"),Lg=!Rg(window.requestIdleCallback)||!Rg(window.cancelIdleCallback),pr=Lg?Mk:window.requestIdleCallback,$t=Lg?Dk:window.cancelIdleCallback;var OS=W(zs(),1);var ai=require("@vkontakte/videoplayer-shared");var Ck=18,$g=!1;try{$g=Q.browser.isSafari&&!!Q.browser.safariVersion&&Q.browser.safariVersion<=Ck}catch(a){console.error(a)}var vl=class{constructor(e){this.bufferFull$=new ai.Subject;this.error$=new ai.Subject;this.queue=[];this.currentTask=null;this.destroyed=!1;this.abortRequested=!1;this.completeTask=()=>{try{if(this.currentTask){let e=this.currentTask.signal?.aborted;this.currentTask.callback(!e),this.currentTask=null}this.queue.length&&this.pull()}catch(e){this.error$.next({id:"BufferTaskQueueUnknown",category:ai.ErrorCategory.VIDEO_PIPELINE,message:"Buffer appending or removal failed",thrown:e})}};this.buffer=e,this.buffer.addEventListener("updateend",this.completeTask)}async append(e,t){return t&&t.aborted?!1:new Promise(i=>{let r={operation:"append",data:e,signal:t,callback:i};this.queue.push(r),this.pull()})}async remove(e,t,i){return i&&i.aborted?!1:new Promise(r=>{let s={operation:"remove",from:e,to:t,signal:i,callback:r};this.queue.unshift(s),this.pull()})}async abort(e){return new Promise(t=>{let i,r=s=>{this.abortRequested=!1,t(s)};$g&&e?i={operation:"safariAbort",init:e,callback:r}:i={operation:"abort",callback:r};for(let{callback:s}of this.queue)s(!1);this.abortRequested=!0,i&&(this.queue=[i]),this.pull()})}destroy(){this.destroyed=!0,this.buffer.removeEventListener("updateend",this.completeTask),this.queue=[],this.currentTask=null;try{this.buffer.abort()}catch(e){if(!(e instanceof DOMException&&e.name==="InvalidStateError"))throw e}}pull(){if((this.buffer.updating||this.currentTask||this.destroyed)&&!this.abortRequested)return;let e=this.queue.shift();if(!e)return;if(e.signal?.aborted){e.callback(!1),this.pull();return}this.currentTask=e;let{operation:t}=this.currentTask;try{this.execute(this.currentTask)}catch(r){r instanceof DOMException&&r.name==="QuotaExceededError"&&t==="append"?this.bufferFull$.next(this.currentTask.data.byteLength):r instanceof DOMException&&r.name==="InvalidStateError"||this.error$.next({id:`BufferTaskQueue:${t}`,category:ai.ErrorCategory.VIDEO_PIPELINE,message:"Buffer operation failed",thrown:r}),this.currentTask.callback(!1),this.currentTask=null}this.currentTask&&this.currentTask.operation==="abort"&&this.completeTask()}execute(e){let{operation:t}=e;switch(t){case"append":this.buffer.appendBuffer(e.data);break;case"remove":this.buffer.remove(e.from/1e3,e.to/1e3);break;case"abort":this.buffer.abort();break;case"safariAbort":{this.buffer.abort(),this.buffer.appendBuffer(e.init);break}default:(0,ai.assertNever)(t)}}},Mg=vl;var hr=a=>{let e=0;for(let t=0;t<a.length;t++)e+=a.end(t)-a.start(t);return e*1e3};var A=require("@vkontakte/videoplayer-shared");var Cg=W(gt(),1);var bn=a=>a.valid,se=class{constructor(e,t){this.cursor=0;this.source=e,this.boxParser=t,this.children=[];let i=this.readUint32();this.type=this.readString(4),i===1&&(this.cursor+=8);let r=e.byteOffset+this.cursor,s;i===0?(this.size=void 0,this.valid=!1,s=void 0):i===1?(this.size=void 0,this.valid=!1,s=void 0):i>e.byteLength?(this.size=i,this.valid=!1,s=Math.min(i-this.cursor,e.byteLength-this.cursor)):(this.size=i,this.valid=!0,s=i-this.cursor),this.content=new DataView(e.buffer,r,s)}get id(){return this.type}scanForBoxes(e){return this.boxParser.parse(e)}readString(e,t="ascii"){let r=new TextDecoder(t).decode(new DataView(this.source.buffer,this.source.byteOffset+this.cursor,e));return this.cursor+=e,r}readUint8(){let e=this.source.getUint8(this.cursor);return this.cursor+=1,e}readUint16(){let e=this.source.getUint16(this.cursor);return this.cursor+=2,e}readUint32(){let e=this.source.getUint32(this.cursor);return this.cursor+=4,e}readUint64(){let e=this.source.getBigInt64(this.cursor);return this.cursor+=8,e}};var fr=class extends se{};var Dg=require("@vkontakte/videoplayer-shared");var ha=class extends se{constructor(e,t){if(super(e,t),!this.valid)return;let i=this.readString(16),r=new DataView(this.content.buffer,this.content.byteOffset+16,this.content.byteLength-16);this.userData=this.parseData(i,r)}parseData(e,t){switch(e){case"ondemandlivejson":{let i=new TextDecoder("ascii").decode(t),r=JSON.parse(i);return{received:r["t-in"],prepared:r["t-out"]}}default:(0,Dg.assertNever)(e)}}};var fa=class extends se{constructor(e,t){if(super(e,t),!this.valid)return;this.compatibleBrands=[],this.majorBrand=this.readString(4),this.minorVersion=this.readUint32();let i=new DataView(this.content.buffer,this.content.byteOffset+8,this.content.byteLength-8);for(let r=0;r<i.byteLength;r+=4){let s=this.readString(4);this.compatibleBrands.push(s)}}};var ma=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var pe=class extends se{constructor(e,t){if(super(e,t),!this.valid)return;let i=this.readUint32();this.version=i>>>24,this.flags=i&16777215,this.content=new DataView(this.content.buffer,this.content.byteOffset+4,this.content.byteLength-4)}};var ba=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.creationTime=this.readUint32(),this.modificationTime=this.readUint32(),this.timescale=this.readUint32(),this.duration=this.readUint32(),this.rate=this.readUint32(),this.volume=this.readUint16())}};var ga=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Sa=class extends se{constructor(e,t){super(e,t),this.data=this.content}};var Pi=class extends pe{get earliestPresentationTime(){return this.earliestPresentationTime32}get firstOffset(){return this.firstOffset32}constructor(e,t){if(super(e,t),!!this.valid){this.segments=[],this.referenceId=this.readUint32(),this.timescale=this.readUint32(),this.earliestPresentationTime32=this.readUint32(),this.firstOffset32=this.readUint32(),this.earliestPresentationTime64=0,this.firstOffset64=0,this.referenceCount=this.readUint32()&65535;for(let i=0;i<this.referenceCount;i++){let r=this.readUint32(),s=r>>>31,n=r<<1>>>1,u=this.readUint32();r=this.readUint32();let o=r>>>28,l=r<<3>>>3;this.segments.push({referenceType:s,referencedSize:n,subsegmentDuration:u,SAPType:o,SAPDeltaTime:l})}}}};var va=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var ya=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Ta=class extends pe{constructor(e,t){if(super(e,t),!this.valid)return;switch(this.readUint8()){case 0:this.stereoMode=0;break;case 1:this.stereoMode=1;break;case 2:this.stereoMode=2;break;case 3:this.stereoMode=3;break;case 4:this.stereoMode=4;break}this.cursor+=1}};var Ia=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.poseYawDegrees=this.readUint32(),this.posePitchDegrees=this.readUint32(),this.poseRollDegrees=this.readUint32())}};var Ea=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.projectionBoundsTop=this.readUint32(),this.projectionBoundsBottom=this.readUint32(),this.projectionBoundsLeft=this.readUint32(),this.projectionBoundsRight=this.readUint32())}};var xa=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var wa=class extends pe{constructor(e,t){super(e,t),this.creationTime=this.readUint32(),this.modificationTime=this.readUint32(),this.trackId=this.readUint32(),this.cursor+=4,this.duration=this.readUint32(),this.cursor+=8,this.layer=this.readUint16(),this.alternateGroup=this.readUint16(),this.cursor+=2,this.cursor+=2,this.matrix=[[this.readUint32(),this.readUint32(),this.readUint32()],[this.readUint32(),this.readUint32(),this.readUint32()],[this.readUint32(),this.readUint32(),this.readUint32()]],this.width=this.readUint32(),this.height=this.readUint32()}};var Aa=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Pa=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var ka=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.sequenceNumber=this.readUint32())}};var Ra=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var La=class extends pe{constructor(e,t){super(e,t),this.trackId=this.readUint32(),this.flags&1&&(this.baseDataOffset=this.readUint64()),this.flags&2&&(this.sampleDescriptionIndex=this.readUint32()),this.flags&8&&(this.defaultSampleDuration=this.readUint32()),this.flags&16&&(this.defaultSampleSize=this.readUint32()),this.flags&32&&(this.defaultSampleFlags=this.readUint32())}};var $a=class extends pe{constructor(t,i){super(t,i);this.baseMediaDecodeTime32=0;this.baseMediaDecodeTime64=BigInt(0);this.version===1?this.baseMediaDecodeTime64=this.readUint64():this.baseMediaDecodeTime32=this.readUint32()}get baseMediaDecodeTime(){return this.version===1?this.baseMediaDecodeTime64:this.baseMediaDecodeTime32}};var Ma=class extends pe{constructor(t,i){super(t,i);this.sampleDuration=[];this.sampleSize=[];this.sampleFlags=[];this.sampleCompositionTimeOffset=[];this.optionalFields=0;this.sampleCount=this.readUint32(),this.flags&1&&(this.dataOffset=this.readUint32()),this.flags&4&&(this.firstSampleFlags=this.readUint32());for(let r=0;r<this.sampleCount;r++)this.flags&256&&this.sampleDuration.push(this.readUint32()),this.flags&512&&this.sampleSize.push(this.readUint32()),this.flags&1024&&this.sampleFlags.push(this.readUint32()),this.flags&2048&&this.sampleCompositionTimeOffset.push(this.readUint32())}};var Da=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Ca=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.entryCount=this.readUint32(),this.children=this.scanForBoxes(new DataView(this.content.buffer,this.content.byteOffset+4,this.content.byteLength-4)))}};var Ba=class extends se{constructor(e,t){super(e,t),this.valid&&(this.children=this.scanForBoxes(new DataView(this.content.buffer,this.content.byteOffset+78,this.content.byteLength-78)))}};var Vk={ftyp:fa,moov:ma,mvhd:ba,moof:ga,mdat:Sa,sidx:Pi,trak:va,mdia:xa,mfhd:ka,tkhd:wa,traf:Ra,tfhd:La,tfdt:$a,trun:Ma,minf:Aa,sv3d:ya,st3d:Ta,prhd:Ia,proj:Pa,equi:Ea,uuid:ha,stbl:Da,stsd:Ca,avc1:Ba,unknown:fr},qt=class a{constructor(e={}){this.options={offset:0,...e}}parse(e){let t=[],i=this.options.offset;for(;i<e.byteLength;){let s=new TextDecoder("ascii").decode(new DataView(e.buffer,e.byteOffset+i+4,4)),n;try{n=this.createBox(s,new DataView(e.buffer,e.byteOffset+i,e.byteLength-i))}catch(u){if(!(u instanceof RangeError))throw u}if(!n||!bn(n))break;t.push(n),i+=n.size}return t}createBox(e,t){let i=Vk[e];return i?new i(t,new a):new fr(t,new a)}};var si=class{constructor(e){this.index={},this.indexBoxLevel(e)}indexBoxLevel(e){e.forEach(t=>{bn(t)&&(this.index[t.type]??=[],this.index[t.type].push(t),t.children.length>0&&this.indexBoxLevel(t.children))})}find(e){return this.index[e]&&this.index[e][0]?this.index[e][0]:null}findAll(e){return this.index[e]||[]}};var Ok=new TextDecoder("ascii"),Fk=a=>Ok.decode(new DataView(a.buffer,a.byteOffset+4,4))==="ftyp",Nk=a=>{let e=new Pi(a,new qt),t=e.earliestPresentationTime/e.timescale*1e3,i=a.byteOffset+a.byteLength+e.firstOffset;return e.segments.map(s=>{if(s.referenceType!==0)throw new Error("Unsupported multilevel sidx");let n=s.subsegmentDuration/e.timescale*1e3,u={status:"none",time:{from:t,to:t+n},byte:{from:i,to:i+s.referencedSize-1}};return t+=n,i+=s.referencedSize,u})},qk=(a,e)=>{let i=new qt().parse(a),r=new si(i),s=r.findAll("moof"),n=e?r.findAll("uuid"):r.findAll("mdat");if(!(n.length&&s.length))return null;let u=s[0],o=n[n.length-1],l=u.source.byteOffset,d=o.source.byteOffset-u.source.byteOffset+o.size;return new DataView(a.buffer,l,d)},Uk=a=>{let t=new qt().parse(a),i=new si(t),r={},s=i.findAll("uuid"),n=(0,Cg.default)(s,-1);return n?{serverDataReceivedTimestamp:n.userData.received,serverDataPreparedTime:n.userData.received}:r},Hk=a=>{let t=new qt().parse(a);return new si(t).find("sidx")?.timescale},jk=(a,e)=>{let i=new qt().parse(a),s=new si(i).findAll("traf"),n=s[s.length-1].children.find(d=>d.type==="tfhd"),u=s[s.length-1].children.find(d=>d.type==="tfdt"),o=s[s.length-1].children.find(d=>d.type==="trun"),l=0;return o.sampleDuration.length?l=o.sampleDuration.reduce((d,c)=>d+c,0):l=n.defaultSampleDuration*o.sampleCount,(Number(u.baseMediaDecodeTime)+l)/e*1e3},Qk=a=>{let e={is3dVideo:!1,stereoMode:0,projectionType:1,projectionData:{pose:{yaw:0,pitch:0,roll:0},bounds:{top:0,bottom:0,left:0,right:0}}},i=new qt().parse(a),r=new si(i);if(r.find("sv3d")){e.is3dVideo=!0;let n=r.find("st3d");n&&(e.stereoMode=n.stereoMode);let u=r.find("prhd");u&&(e.projectionData.pose.yaw=u.poseYawDegrees,e.projectionData.pose.pitch=u.posePitchDegrees,e.projectionData.pose.roll=u.poseRollDegrees);let o=r.find("equi");o&&(e.projectionData.bounds.top=o.projectionBoundsTop,e.projectionData.bounds.right=o.projectionBoundsRight,e.projectionData.bounds.bottom=o.projectionBoundsBottom,e.projectionData.bounds.left=o.projectionBoundsLeft)}return e},Bg={validateData:Fk,parseInit:Qk,getIndexRange:()=>{},parseSegments:Nk,parseFeedableSegmentChunk:qk,getChunkEndTime:jk,getServerLatencyTimestamps:Uk,getTimescaleFromIndex:Hk};var Oa=W(qe(),1),Ut=require("@vkontakte/videoplayer-shared");var _g=require("@vkontakte/videoplayer-shared");var Vg={440786851:{type:"master"},17030:{type:"uint"},17143:{type:"uint"},17138:{type:"uint"},17139:{type:"uint"},17026:{type:"string"},17031:{type:"uint"},17029:{type:"uint"},236:{type:"binary"},408125543:{type:"master"},290298740:{type:"master"},19899:{type:"master"},21419:{type:"binary"},21420:{type:"uint"},357149030:{type:"master"},2807729:{type:"uint"},17545:{type:"float"},374648427:{type:"master"},174:{type:"master"},224:{type:"master"},30320:{type:"master"},30321:{type:"uint"},30322:{type:"master"},272869232:{type:"master"},524531317:{type:"master"},231:{type:"uint"},22612:{type:"master"},22743:{type:"uint"},167:{type:"uint"},171:{type:"uint"},163:{type:"binary"},160:{type:"master"},175:{type:"binary"},423732329:{type:"master"},307544935:{type:"master"},475249515:{type:"master"},187:{type:"master"},179:{type:"uint"},183:{type:"master"},247:{type:"uint"},241:{type:"uint"},240:{type:"uint"},178:{type:"uint"},21368:{type:"uint"},234:{type:"uint"},219:{type:"master"},150:{type:"uint"}},Og=a=>{let e=a.getUint8(0),t=0;e&128?t=1:e&64?t=2:e&32?t=3:e&16&&(t=4);let i=_a(a,t),r=i in Vg,s=r?Vg[i].type:"binary",n=a.getUint8(t),u=0;n&128?u=1:n&64?u=2:n&32?u=3:n&16?u=4:n&8?u=5:n&4?u=6:n&2?u=7:n&1&&(u=8);let o=new DataView(a.buffer,a.byteOffset+t+1,u-1),l=n&255>>u,p=_a(o),d=l*2**((u-1)*8)+p,c=t+u,h;return c+d>a.byteLength?h=new DataView(a.buffer,a.byteOffset+c):h=new DataView(a.buffer,a.byteOffset+c,d),{tag:r?i:"0x"+i.toString(16).toUpperCase(),type:s,tagHeaderSize:c,tagSize:c+d,value:h,valueSize:d}},_a=(a,e=a.byteLength)=>{switch(e){case 1:return a.getUint8(0);case 2:return a.getUint16(0);case 3:return a.getUint8(0)*2**16+a.getUint16(1);case 4:return a.getUint32(0);case 5:return a.getUint8(0)*2**32+a.getUint32(1);case 6:return a.getUint16(0)*2**32+a.getUint32(2);case 7:{let t=a.getUint8(0)*281474976710656+a.getUint16(1)*4294967296+a.getUint32(3);if(Number.isSafeInteger(t))return t}case 8:throw new ReferenceError("Int64 is not supported")}return 0},St=(a,e)=>{switch(e){case"int":return a.getInt8(0);case"uint":return _a(a);case"float":return a.byteLength===4?a.getFloat32(0):a.getFloat64(0);case"string":return new TextDecoder("ascii").decode(a);case"utf8":return new TextDecoder("utf-8").decode(a);case"date":return new Date(Date.UTC(2001,0)+a.getInt8(0)).getTime();case"master":return a;case"binary":return a;default:(0,_g.assertNever)(e)}},ki=(a,e)=>{let t=0;for(;t<a.byteLength;){let i=new DataView(a.buffer,a.byteOffset+t),r=Og(i);if(!e(r))return;r.type==="master"&&ki(r.value,e),t=r.value.byteOffset-a.byteOffset+r.valueSize}},Fg=a=>{if(a.getUint32(0)!==440786851)return!1;let e,t,i,r=Og(a);return ki(r.value,({tag:s,type:n,value:u})=>(s===17143?e=St(u,n):s===17026?t=St(u,n):s===17029&&(i=St(u,n)),!0)),(e===void 0||e<=1)&&t!==void 0&&t==="webm"&&(i===void 0||i<=2)};var Ng=[357149030,290298740,374648427,174,224,30320,30321,30322,272869232,524531317,475249515,423732329,307544935],Wk=[231,22612,22743,167,171,163,160,175],Gk=a=>{let e,t,i,r,s=!1,n=!1,u=!1,o,l,p=!1,d=0;return ki(a,({tag:c,type:h,value:m,valueSize:b})=>{if(c===21419){let S=St(m,h);l=_a(S)}else c!==21420&&(l=void 0);return c===408125543?(e=m.byteOffset,t=m.byteOffset+b):c===357149030?s=!0:c===290298740?n=!0:c===2807729?i=St(m,h):c===17545?r=St(m,h):c===21420&&l===475249515?o=St(m,h):c===374648427?ki(m,({tag:S,type:v,value:I})=>S===30321?(p=St(I,v)===1,!1):!0):s&&n&&(0,Oa.default)(Ng,c)&&(u=!0),!u}),(0,Ut.assertNonNullable)(e,"Failed to parse webm Segment start"),(0,Ut.assertNonNullable)(t,"Failed to parse webm Segment end"),(0,Ut.assertNonNullable)(r,"Failed to parse webm Segment duration"),i=i??1e6,{segmentStart:Math.round(e/1e9*i*1e3),segmentEnd:Math.round(t/1e9*i*1e3),timeScale:i,segmentDuration:Math.round(r/1e9*i*1e3),cuesSeekPosition:o,is3dVideo:p,stereoMode:d,projectionType:1,projectionData:{pose:{yaw:0,pitch:0,roll:0},bounds:{top:0,bottom:0,left:0,right:0}}}},zk=a=>{if((0,Ut.isNullable)(a.cuesSeekPosition))return;let e=a.segmentStart+a.cuesSeekPosition,t=1024*1024;return{from:e,to:e+t}},Yk=(a,e)=>{let t=!1,i=!1,r=u=>(0,Ut.isNonNullable)(u.time)&&(0,Ut.isNonNullable)(u.position),s=[],n;return ki(a,({tag:u,type:o,value:l})=>{switch(u){case 475249515:t=!0;break;case 187:n&&r(n)&&s.push(n),n={};break;case 179:n&&(n.time=St(l,o));break;case 183:break;case 241:n&&(n.position=St(l,o));break;default:t&&(0,Oa.default)(Ng,u)&&(i=!0)}return!(t&&i)}),n&&r(n)&&s.push(n),s.map((u,o)=>{let{time:l,position:p}=u,d=s[o+1];return{status:"none",time:{from:l,to:d?d.time:e.segmentDuration},byte:{from:e.segmentStart+p,to:d?e.segmentStart+d.position-1:e.segmentEnd-1}}})},Kk=a=>{let e=0,t=!1;try{ki(a,i=>i.tag===524531317?i.tagSize<=a.byteLength?(e=i.tagSize,!1):(e+=i.tagHeaderSize,!0):(0,Oa.default)(Wk,i.tag)?(e+i.tagSize<=a.byteLength&&(e+=i.tagSize,t||=(0,Oa.default)([163,160,175],i.tag)),!0):!1)}catch{}return e>0&&e<=a.byteLength&&t?new DataView(a.buffer,a.byteOffset,e):null},qg={validateData:Fg,parseInit:Gk,getIndexRange:zk,parseSegments:Yk,parseFeedableSegmentChunk:Kk};var Mt=a=>{let e=/^(.+)\/([^;]+)(?:;.*)?$/.exec(a);if(e){let[,t,i]=e;if(t==="audio"||t==="video")switch(i){case"webm":return qg;case"mp4":return Bg}}throw new ReferenceError(`Unsupported mime type ${a}`)};var Dt=a=>a instanceof DOMException&&(a.name==="AbortError"||a.code===20);var Al=W(cS(),1),$S=W(zi(),1),MS=W(AS(),1),DS=W(gt(),1),Pl=W(Si(),1);var PS=W(qe(),1),wl=a=>{let e=a.split("."),[t,...i]=e;if(!t)return!1;switch(t){case"av01":{let[r,s,n]=i;return!!(n&&parseInt(n,10)>8)}case"vp09":{let[r,s,n]=i;return!!(r&&parseInt(r,10)>=2&&n&&parseInt(n,10)>8)}case"avc1":{let r=i[0];if(!r||r.length!==6)return!1;let[s,n]=r.toUpperCase(),u=s+n;return(0,PS.default)(["6E","7A","F4"],u)}}return!1};var Fa=require("@vkontakte/videoplayer-shared");var kS=a=>{if(a.includes("/")){let e=a.split("/");return parseInt(e[0])/parseInt(e[1])}else return parseFloat(a)};var RS=a=>{try{let e=YR(),t=a.match(e),{groups:i}=t??{};if(i){let r={};if(i.extensions){let u=i.extensions.toLowerCase().match(/(?:[0-9a-wy-z](?:-[a-z0-9]{2,8})+)/g);Array.from(u||[]).forEach(o=>{r[o[0]]=o.slice(2)})}let s=i.variants?.split(/-/).filter(u=>u!==""),n={extlang:i.extlang,langtag:i.langtag,language:i.language,privateuse:i.privateuse||i.privateuse2,region:i.region,script:i.script,extensions:r,variants:s};return Object.keys(n).forEach(u=>{let o=n[u];(typeof o>"u"||o==="")&&delete n[u]}),n}return null}catch{return null}};function YR(){let a="(?<extlang>(?:[a-z]{3}(?:-[a-z]{3}){0,2}))",e="x(?:-[a-z0-9]{1,8})+",p=`^(?:(?<langtag>${`
117
+ `}),I};var $e=a=>new URL(a).hostname;var Y=require("@vkontakte/videoplayer-shared");var Bb=W(gt(),1);var $b=W(qe(),1),Lb=a=>{if(a instanceof DOMException&&(0,$b.default)(["Failed to load because no supported source was found.","The element has no supported sources."],a.message))throw a;return!(a instanceof DOMException&&(a.code===20||a.name==="AbortError"))},We=async(a,e)=>{let t=a.muted;try{await a.play()}catch(i){if(!Lb(i))return!1;if(e&&e(),t)return console.warn(i),!1;a.muted=!0;try{await a.play()}catch(r){return Lb(r)&&(a.muted=!1,console.warn(r)),!1}}return!0};var et=require("@vkontakte/videoplayer-shared");var Mb=W(Si(),1),Lt=require("@vkontakte/videoplayer-shared");function Pe(){return(0,Lt.now)()}function ul(a){return Pe()-a}function ll(a){let e=a.split("/"),t=e.slice(0,e.length-1).join("/"),i=/^([a-z]+:)?\/\//i,r=n=>i.test(n);return{resolve:(n,u,o=!1)=>{r(n)||(n.startsWith("/")||(n="/"+n),n=t+n);let l=n.indexOf("?")>-1?"&":"?";return o&&(n+=l+"lowLat=1",l="&"),u&&(n+=l+"_rnd="+Math.floor(999999999*Math.random())),n}}}function Db(a,e,t){let i=(...r)=>{t.apply(null,r),a.removeEventListener(e,i)};a.addEventListener(e,i)}function ur(a,e,t,i){let r=window.XMLHttpRequest,s,n,u,o=!1,l=0,p,d,c=!1,h="arraybuffer",m=7e3,b=2e3,S=()=>{if(o)return;(0,Lt.assertNonNullable)(p);let F=ul(p),x;if(F<b){x=b-F,setTimeout(S,x);return}b*=2,b>m&&(b=m),n&&n.abort(),n=new r,V()},v=F=>(s=F,ee),I=F=>(d=F,ee),k=()=>(h="json",ee),w=()=>{if(!o){if(--l>=0){S(),i&&i();return}o=!0,d&&d(),t&&t()}},C=F=>(c=F,ee),V=()=>{p=Pe(),n=new r,n.open("get",a);let F=0,x,R=0,oe=()=>((0,Lt.assertNonNullable)(p),Math.max(p,Math.max(x||0,R||0)));if(s&&n.addEventListener("progress",N=>{let re=Pe();s.updateChunk&&N.loaded>F&&(s.updateChunk(oe(),N.loaded-F),F=N.loaded,x=re)}),u&&(n.timeout=u,n.addEventListener("timeout",()=>w())),n.addEventListener("load",()=>{if(o)return;(0,Lt.assertNonNullable)(n);let N=n.status;if(N>=200&&N<300){let{response:re,responseType:le}=n,ge=re?.byteLength;if(typeof ge=="number"&&s){let Ee=ge-F;Ee&&s.updateChunk&&s.updateChunk(oe(),Ee)}le==="json"&&(!re||!(0,Mb.default)(re).length)?w():(d&&d(),e(re))}else w()}),n.addEventListener("error",()=>{w()}),c){let N=()=>{(0,Lt.assertNonNullable)(n),n.readyState===XMLHttpRequest.HEADERS_RECEIVED&&(R=Pe(),n.removeEventListener("readystatechange",N))};n.addEventListener("readystatechange",N)}return n.responseType=h,n.send(),ee},ee={withBitrateReporting:v,withParallel:C,withJSONResponse:k,withRetryCount:F=>(l=F,ee),withRetryInterval:(F,x)=>((0,Lt.isNonNullable)(F)&&(b=F),(0,Lt.isNonNullable)(x)&&(m=x),ee),withTimeout:F=>(u=F,ee),withFinally:I,send:V,abort:()=>{n&&(n.abort(),n=void 0),o=!0,d&&d()}};return ee}var sa=class{constructor(e){this.intervals=[];this.currentRate=0;this.logger=e}_updateRate(e){let t=.2;this.currentRate&&(e<this.currentRate*.1?t=.8:e<this.currentRate*.5?t=.5:e<this.currentRate*.7&&(t=.3)),e=Math.max(1,Math.min(e,100*1024*1024)),this.currentRate=this.currentRate?this.currentRate*(1-t)+e*t:e}_createInterval(e,t,i){return{start:e,end:t,bytes:i}}_doMergeIntervals(e,t){e.start=Math.min(t.start,e.start),e.end=Math.max(t.end,e.end),e.bytes+=t.bytes}_mergeIntervals(e,t){return e.start<=t.end&&t.start<=e.end?(this._doMergeIntervals(e,t),!0):!1}_flushIntervals(){if(!this.intervals.length)return!1;let e=this.intervals[0].start,t=this.intervals[this.intervals.length-1].end-500;if(t-e>2e3){let i=0,r=0;for(;this.intervals.length>0;){let s=this.intervals[0];if(s.end<=t)i+=s.end-s.start,r+=s.bytes,this.intervals.splice(0,1);else{if(s.start>=t)break;{let n=t-s.start,u=s.end-s.start;i+=n;let o=s.bytes*n/u;r+=o,s.start=t,s.bytes-=o}}}if(r>0&&i>0){let s=r*8/(i/1e3);return this._updateRate(s),this.logger(`rate updated, new=${Math.round(s/1024)}K; average=${Math.round(this.currentRate/1024)}K bytes/ms=${Math.round(r)}/${Math.round(i)} interval=${Math.round(t-e)}`),!0}}return!1}_joinIntervals(){let e;do{e=!1;for(let t=0;t<this.intervals.length-1;++t)this._mergeIntervals(this.intervals[t],this.intervals[t+1])&&(this.intervals.splice(t+1,1),e=!0)}while(e)}addInterval(e,t,i){return this.intervals.push(this._createInterval(e,t,i)),this._joinIntervals(),this.intervals.length>100&&(this.logger(`too many intervals (${this.intervals.length}); will merge`,{type:"warn"}),this._doMergeIntervals(this.intervals[1],this.intervals[0]),this.intervals.splice(0,1)),this._flushIntervals()}getBitRate(){return this.currentRate}};var Cb=W(Si(),1);var na=class{constructor(e,t,i,r,s){this.pendingQueue=[];this.activeRequests={};this.completeRequests={};this.averageSegmentDuration=2e3;this.lastPrefetchStart=0;this.throttleTimeout=null;this.RETRY_COUNT=e,this.TIMEOUT=t,this.BITRATE_ESTIMATOR=i,this.MAX_PARALLEL_REQUESTS=r,this.logger=s}limitCompleteCount(){let e;for(;(e=Object.keys(this.completeRequests)).length>this._getParallelRequestCount()+2;){let t=e[Math.floor(Math.random()*e.length)];this.logger(`Dropping completed request for url ${t}`,{type:"warn"}),delete this.completeRequests[t]}}_sendRequest(e,t){let i=Pe(),r=o=>{delete this.activeRequests[t],this.limitCompleteCount(),this.completeRequests[t]=e,this._sendPending(),e._error=1,e._errorMsg=o,e._errorCB?e._errorCB(o):(this.limitCompleteCount(),this.completeRequests[t]=e)},s=o=>{e._complete=1,e._responseData=o,e._downloadTime=Pe()-i,delete this.activeRequests[t],this._sendPending(),e._cb?e._cb(o,e._downloadTime):(this.limitCompleteCount(),this.completeRequests[t]=e)},n=()=>{e._finallyCB&&e._finallyCB()},u=()=>{e._retry=1,e._retryCB&&e._retryCB()};e._request=ur(t,s,()=>r("error"),u),e._request.withRetryCount(this.RETRY_COUNT).withTimeout(this.TIMEOUT).withBitrateReporting(this.BITRATE_ESTIMATOR).withParallel(this._getParallelRequestCount()>1).withFinally(n),this.activeRequests[t]=e,e._request.send(),this.lastPrefetchStart=Pe()}_getParallelRequestCount(){return Math.min(this.MAX_PARALLEL_REQUESTS,this.averageSegmentDuration<3e3?3:2)}_getPrefetchDelay(){return Math.max(100,Math.min(5e3,this.averageSegmentDuration/3))}_canSendPending(){let e=this._getParallelRequestCount(),t=Pe();if(Object.keys(this.activeRequests).length>=e)return!1;let i=this._getPrefetchDelay()-(t-this.lastPrefetchStart);return this.throttleTimeout&&clearTimeout(this.throttleTimeout),i>0?(this.throttleTimeout=window.setTimeout(()=>this._sendPending(),i),!1):!0}_sendPending(){for(;this._canSendPending();){let e=this.pendingQueue.pop();if(e){if(this.activeRequests[e]||this.completeRequests[e])continue;this.logger(`Submitting pending request url=${e}`),this._sendRequest({},e)}else return}}_removeFromActive(e){delete this.completeRequests[e],delete this.activeRequests[e]}abortAll(){(0,Cb.default)(this.activeRequests).forEach(e=>{e&&e._request&&e._request.abort()}),this.activeRequests={},this.pendingQueue=[],this.completeRequests={}}requestData(e,t,i,r){let s={};return s.send=()=>{let n=this.activeRequests[e]||this.completeRequests[e];if(n)n._cb=t,n._errorCB=i,n._retryCB=r,n._finallyCB=s._finallyCB,n._error||n._complete?(this._removeFromActive(e),setTimeout(()=>{n._complete?(this.logger(`Requested url already prefetched, url=${e}`),t(n._responseData,n._downloadTime)):(this.logger(`Requested url already prefetched with error, url=${e}`),i(n._errorMsg)),s._finallyCB&&s._finallyCB()},0)):this.logger(`Attached to active request, url=${e}`);else{let u=this.pendingQueue.indexOf(e);u!==-1&&this.pendingQueue.splice(u,1),this.logger(`Request not prefetched, starting new request, url=${e}${u===-1?"":"; removed pending"}`),this._sendRequest(s,e)}},s._cb=t,s._errorCB=i,s._retryCB=r,s.abort=function(){s.request&&s.request.abort()},s.withFinally=n=>(s._finallyCB=n,s),s}prefetch(e){this.activeRequests[e]||this.completeRequests[e]?this.logger(`Request already active for url=${e}`):(this.logger(`Added to pending queue; url=${e}`),this.pendingQueue.unshift(e),this._sendPending())}optimizeForSegDuration(e){this.averageSegmentDuration=e}};var Vb=require("@vkontakte/videoplayer-shared");var dn=1e4,cl=3;var NP=6e4,qP=10,UP=1,HP=500,oa=class{constructor(e){this.paused=!1;this.autoQuality=!0;this.autoQualityLimits=void 0;this.buffering=!0;this.destroyed=!1;this.videoPlayStarted=!1;this.lowLatency=!1;this.bitrate=0;this.manifest=[];this.sourceBuffer=0;this.bufferStates=[];this.sourceJitter=-1;this.waitingForFirstBufferAfterSrcChange=!1;this.params=e,this.soundProhibitedEvent$=new Vb.Subject,this.chunkRateEstimator=new sa(this.params.logger),this._initVideo()}attachSource(e){this.manifestUrl=e,this.urlResolver=ll(e),this.bitrateSwitcher=this._initBitrateSwitcher(),this._initManifest()}setAutoQualityEnabled(e){this.autoQuality=e}setAutoQualityLimits(e){this.autoQualityLimits=e}switchByName(e){let t;for(let i=0;i<this.manifest.length;++i)if(t=this.manifest[i],t.name===e){this._switchToQuality(t);return}}catchUp(){if(this.rep&&this.rep.stop(),this.currentManifestEntry){let e=this.params.playbackState.getState();this.paused=e==="paused",this._initPlayerWith(this.currentManifestEntry),this._notifyBuffering(!0)}}stop(){this.params.videoElement.pause(),this.rep&&(this.rep.stop(),this.rep=null)}pause(){this.paused=!0,this.params.videoElement.pause(),this.videoPlayStarted=!1,this._notifyBuffering(!1)}play(){this.paused=!1;let e=this.lowLatency&&this._getBufferSizeSec()>this.sourceJitter+5;this.rep&&!e?(this.bufferStates=[],this.videoPlayStarted=!1,this.shouldPlay()?this._playVideoElement():this._notifyBuffering(!0)):this.catchUp()}startPlay(e,t){this.autoQuality=t,this._initPlayerWith(e)}destroy(){this.destroyed=!0,this.rep&&(this.rep.stop(),this.rep=null),this.manifestRequest&&this.manifestRequest.abort(),this.manifestRefetchTimer&&(clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=void 0)}reinit(e){this.manifestUrl=e,this.urlResolver=ll(e),this.catchUp()}_handleNetworkError(){this.params.logger("Fatal network error"),this.params.playerCallback({name:"error",type:"network"})}_retryCallback(){this.params.playerCallback({name:"retry"})}_getBufferSizeSec(){let e=this.params.videoElement,t=0,i=e.buffered.length;return i!==0&&(t=e.buffered.end(i-1)-Math.max(e.currentTime,e.buffered.start(0))),t}_notifyBuffering(e){this.destroyed||(this.params.logger(`buffering: ${e}`),this.params.playerCallback({name:"buffering",isBuffering:e}),this.buffering=e)}_initVideo(){let{videoElement:e,logger:t}=this.params;e.addEventListener("error",()=>{!!e.error&&!this.destroyed&&(t(`Video element error: ${e.error?.code}, details: ${e.error?.message}`),this.params.playerCallback({name:"error",type:"media"}))}),e.addEventListener("timeupdate",()=>{let i=this._getBufferSizeSec();!this.paused&&i<.3?this.buffering||(this.buffering=!0,window.setTimeout(()=>{!this.paused&&this.buffering&&this._notifyBuffering(!0)},(i+.1)*1e3)):this.buffering&&this.videoPlayStarted&&this._notifyBuffering(!1)}),e.addEventListener("playing",()=>{t("playing")}),e.addEventListener("stalled",()=>this._fixupStall()),e.addEventListener("waiting",()=>this._fixupStall())}_fixupStall(){let{logger:e,videoElement:t}=this.params,i=t.buffered.length,r;i!==0&&!this.waitingForFirstBufferAfterSrcChange&&(r=t.buffered.start(i-1),t.currentTime<r&&(e("Fixup stall"),t.currentTime=r))}_selectQuality(e){let{videoElement:t}=this.params,i,r,s,n=t&&1.62*(Q.display.pixelRatio||1)*t.offsetHeight||520;for(let u=0;u<this.manifest.length;++u){s=this.manifest[u];let{max:o,min:l}=this.autoQualityLimits||{};!Eb({limits:this.autoQualityLimits,highestAvailableHeight:this.manifest[0].video.height,lowestAvailableHeight:(0,Bb.default)(this.manifest,-1).video.height})&&(o&&s.video.height>o||l&&s.video.height<l)||(s.bitrate<e&&n>Math.min(s.video.height,s.video.width)?(!r||s.bitrate>r.bitrate)&&(r=s):(!i||i.bitrate>s.bitrate)&&(i=s))}return r||i}shouldPlay(){if(this.paused)return!1;let t=this._getBufferSizeSec()-Math.max(1,this.sourceJitter);return t>3||(0,et.isNonNullable)(this.downloadRate)&&(this.downloadRate>1.5&&t>2||this.downloadRate>2&&t>1)}_setVideoSrc(e,t){let{logger:i,videoElement:r,playerCallback:s}=this.params;this.mediaSource=new window.MediaSource,i("setting video src"),r.src=URL.createObjectURL(this.mediaSource),this.mediaSource.addEventListener("sourceopen",()=>{this.mediaSource&&(this.sourceBuffer=this.mediaSource.addSourceBuffer(e.codecs),this.bufferStates=[],t())}),this.videoPlayStarted=!1,r.addEventListener("canplay",()=>{this.shouldPlay()&&(this.videoPlayStarted=!0,this._playVideoElement())});let n=()=>{Db(r,"progress",()=>{r.buffered.length?(r.currentTime=r.buffered.start(0),this.waitingForFirstBufferAfterSrcChange=!1,s({name:"playing"})):n()})};this.waitingForFirstBufferAfterSrcChange=!0,n()}_initPlayerWith(e){this.bitrate=0,this.rep=0,this.sourceBuffer=0,this.bufferStates=[],this.filesFetcher&&this.filesFetcher.abortAll(),this.filesFetcher=new na(cl,dn,this.bitrateSwitcher,this.params.config.maxParallelRequests,this.params.logger),this._setVideoSrc(e,()=>this._switchToQuality(e))}_representation(e){let{logger:t,videoElement:i,playerCallback:r}=this.params,s=!1,n=null,u=null,o=null,l=null,p=!1,d=()=>{let w=s&&(!p||p===this.rep);return w||t("Not running!"),w},c=(w,C,V)=>{o&&o.abort(),o=ur(this.urlResolver.resolve(w,!1),C,V,()=>this._retryCallback()).withTimeout(dn).withBitrateReporting(this.bitrateSwitcher).withRetryCount(cl).withFinally(()=>{o=null}).send()},h=(w,C,V)=>{(0,et.assertNonNullable)(this.filesFetcher),u?.abort(),u=this.filesFetcher.requestData(this.urlResolver.resolve(w,!1),C,V,()=>this._retryCallback()).withFinally(()=>{u=null}).send()},m=w=>{let C=i.playbackRate;i.playbackRate!==w&&(t(`Playback rate switch: ${C}=>${w}`),i.playbackRate=w)},b=w=>{this.lowLatency=w,t(`lowLatency changed to ${w}`),S()},S=()=>{if(!this.lowLatency&&!this.params.config.isLiveCatchUpMode)m(1);else{let w=this._getBufferSizeSec();if(this.bufferStates.length<5){m(1);return}let V=Pe()-1e4,_=0;for(let j=0;j<this.bufferStates.length;j++){let L=this.bufferStates[j];w=Math.min(w,L.buf),L.ts<V&&_++}this.bufferStates.splice(0,_),t(`update playback rate; minBuffer=${w} drop=${_} jitter=${this.sourceJitter}`);let M=w-UP;this.sourceJitter>=0?M-=this.sourceJitter/2:this.sourceJitter-=1,M>3?m(1.15):M>1?m(1.1):M>.3?m(1.05):m(1)}},v=w=>{let C,V=()=>C&&C.start?C.start.length:0,_=N=>C.start[N]/1e3,M=N=>C.dur[N]/1e3,j=N=>C.fragIndex+N,L=(N,re)=>({chunkIdx:j(N),startTS:_(N),dur:M(N),discontinuity:re}),ee=()=>{let N=0;if(C&&C.dur){let re=this.lowLatency?this.params.config.lowLatencyMinBuffer:this.params.config.minBuffer,le=this.lowLatency?this.params.config.lowLatencyMinBufferSegments:this.params.config.minBufferSegments,ge=re;this.sourceJitter>1&&(ge+=this.sourceJitter-1);let Ee=C.dur.length-1;for(;Ee>=0&&(ge-=C.dur[Ee],!(ge<=0));--Ee);N=Math.min(Ee,C.dur.length-1-le),N=Math.max(N,0)}return L(N,!0)},F=N=>{let re=V();if(!(re<=0)){if((0,et.isNonNullable)(N)){for(let le=0;le<re;le++)if(_(le)>N)return L(le)}return ee()}},x=N=>{let re=V(),le=N?N.chunkIdx+1:0,ge=le-C.fragIndex;if(!(re<=0)){if(!N||ge<0||ge-re>qP)return t(`Resync: offset=${ge} bChunks=${re} chunk=`+JSON.stringify(N)),ee();if(!(ge>=re))return L(le-C.fragIndex,!1)}},R=(N,re,le)=>{l&&l.abort(),l=ur(this.urlResolver.resolve(N,!0,this.lowLatency),re,le,()=>this._retryCallback()).withTimeout(dn).withRetryCount(cl).withFinally(()=>{l=null}).withJSONResponse().send()};return{seek:(N,re)=>{R(w,le=>{if(!d())return;C=le;let ge=!!C.lowLatency;ge!==this.lowLatency&&b(ge);let Ee=0;for(let ke=0;ke<C.dur.length;++ke)Ee+=C.dur[ke];Ee>0&&((0,et.assertNonNullable)(this.filesFetcher),this.filesFetcher.optimizeForSegDuration(Ee/C.dur.length)),r({name:"index",zeroTime:C.zeroTime,shiftDuration:C.shiftDuration}),this.sourceJitter=C.hasOwnProperty("jitter")?Math.min(10,Math.max(.01,C.jitter/1e3)):1,N(F(re))},()=>this._handleNetworkError())},nextChunk:x}},I=()=>{s=!1,u&&u.abort(),o&&o.abort(),l&&l.abort(),(0,et.assertNonNullable)(this.filesFetcher),this.filesFetcher.abortAll()};return p={start:w=>{let{videoElement:C,logger:V}=this.params,_=v(e.jidxUrl),M,j,L,ee,F=0,x,R,oe,N=()=>{x&&(clearTimeout(x),x=void 0);let te=Math.max(HP,1e3*(this._getBufferSizeSec()-this.sourceJitter-5)),Fe=F+te,Ce=Pe(),xe=Math.min(1e4,Fe-Ce);F=Ce;let at=()=>{l||d()&&_.seek(()=>{d()&&(F=Pe(),re(),N())})};xe>0?x=window.setTimeout(()=>{this.paused?N():at()},xe):at()},re=()=>{let te;for(;te=_.nextChunk(ee);)ee=te,Re(te);let Fe=_.nextChunk(L);if(Fe){if(L&&Fe.discontinuity){V("Detected discontinuity; restarting playback"),this.paused?N():(I(),this._initPlayerWith(e));return}ke(Fe)}else N()},le=(te,Fe)=>{if(!d()||!this.sourceBuffer)return;let Ce,xe,at,Gt=yt=>{window.setTimeout(()=>{d()&&le(te,Fe)},yt)};if(this.sourceBuffer.updating)V("Source buffer is updating; delaying appendBuffer"),Gt(100);else{let yt=Pe(),Ye=C.currentTime;!this.paused&&C.buffered.length>1&&R===Ye&&yt-oe>500&&(V("Stall suspected; trying to fix"),this._fixupStall()),R!==Ye&&(R=Ye,oe=yt);let zt=this._getBufferSizeSec();if(zt>30)V(`Buffered ${zt} seconds; delaying appendBuffer`),Gt(2e3);else try{this.sourceBuffer.appendBuffer(te),this.videoPlayStarted?(this.bufferStates.push({ts:yt,buf:zt}),S(),this.bufferStates.length>200&&this.bufferStates.shift()):this.shouldPlay()&&(this.videoPlayStarted=!0,this._playVideoElement()),Fe&&Fe()}catch(Tt){if(Tt.name==="QuotaExceededError")V("QuotaExceededError; delaying appendBuffer"),at=this.sourceBuffer.buffered.length,at!==0&&(Ce=this.sourceBuffer.buffered.start(0),xe=Ye,xe-Ce>4&&this.sourceBuffer.remove(Ce,xe-3)),Gt(1e3);else throw Tt}}},ge=()=>{j&&M&&(V([`Appending chunk, sz=${j.byteLength}:`,JSON.stringify(L)]),le(j,function(){j=null,re()}))},Ee=te=>e.fragUrlTemplate.replace("%%id%%",te.chunkIdx),ke=te=>{d()&&h(Ee(te),(Fe,Ce)=>{if(d()){if(Ce/=1e3,j=Fe,L=te,n=te.startTS,Ce){let xe=Math.min(10,te.dur/Ce);this.downloadRate=this.downloadRate?(1-.3)*this.downloadRate+.3*xe:xe}ge()}},()=>this._handleNetworkError())},Re=te=>{d()&&((0,et.assertNonNullable)(this.filesFetcher),this.filesFetcher.prefetch(this.urlResolver.resolve(Ee(te),!1)))},ae=te=>{d()&&(e.cachedHeader=te,le(te,()=>{M=!0,ge()}))};s=!0,_.seek(te=>{if(d()){if(F=Pe(),!te){N();return}ee=te,!(0,et.isNullable)(w)||te.startTS>w?ke(te):(L=te,re())}},w),e.cachedHeader?ae(e.cachedHeader):c(e.headerUrl,ae,()=>this._handleNetworkError())},stop:I,getTimestampSec:()=>n},p}_switchToQuality(e){let{logger:t,playerCallback:i}=this.params,r;e.bitrate!==this.bitrate&&(this.rep&&(r=this.rep.getTimestampSec(),(0,et.isNonNullable)(r)&&(r+=.1),this.rep.stop()),this.currentManifestEntry=e,this.rep=this._representation(e),t(`switch to quality: codecs=${e.codecs}; headerUrl=${e.headerUrl}; bitrate=${e.bitrate}`),this.bitrate=e.bitrate,(0,et.assertNonNullable)(this.bitrateSwitcher),this.bitrateSwitcher.notifySwitch(this.bitrate),this.rep.start(r),i({name:"qualitySwitch",quality:e}))}_qualityAvailable(e){return(0,et.isNonNullable)(this.manifest.find(t=>t.name===e))}_initBitrateSwitcher(){let{logger:e,playerCallback:t}=this.params,i=d=>{if(!this.autoQuality)return;let c,h,m;if(this.currentManifestEntry&&this._qualityAvailable(this.currentManifestEntry.name)&&d<this.bitrate&&(h=this._getBufferSizeSec(),m=d/this.bitrate,h>10&&m>.8||h>15&&m>.5||h>20&&m>.3)){e(`Not switching: buffer=${Math.floor(h)}; bitrate=${this.bitrate}; newRate=${Math.floor(d)}`);return}c=this._selectQuality(d),c?this._switchToQuality(c):e(`Could not find quality by bitrate ${d}`)},s={updateChunk:(c,h)=>{let m=Pe();if(this.chunkRateEstimator.addInterval(c,m,h)){let S=this.chunkRateEstimator.getBitRate();return t({name:"bandwidth",size:h,duration:m-c,speed:S}),!0}},get:()=>{let c=this.chunkRateEstimator.getBitRate();return c?c*.85:0}},n=-1/0,u,o=!0,l=()=>{let d=s.get();if(d&&u&&this.autoQuality){if(o&&d>u&&ul(n)<3e4)return;i(d)}o=this.autoQuality};return{updateChunk:(d,c)=>{let h=s.updateChunk(d,c);return h&&l(),h},notifySwitch:d=>{let c=Pe();d<u&&(n=c),u=d}}}_fetchManifest(e,t,i){this.manifestRequest=ur(this.urlResolver.resolve(e,!0),t,i,()=>this._retryCallback()).withJSONResponse().withTimeout(dn).withRetryCount(this.params.config.manifestRetryMaxCount).withRetryInterval(this.params.config.manifestRetryInterval,this.params.config.manifestRetryMaxInterval).send().withFinally(()=>{this.manifestRequest=void 0})}_playVideoElement(){let{videoElement:e}=this.params;We(e,()=>{this.soundProhibitedEvent$.next()}).then(t=>{t||(this.params.liveOffset.pause(),this.params.videoState.setState("paused"))})}_handleManifestUpdate(e){let{logger:t,playerCallback:i,videoElement:r}=this.params,s=n=>{let u=[];return n?.length?(n.forEach((o,l)=>{o.video&&r.canPlayType(o.codecs).replace(/no/,"")&&window.MediaSource?.isTypeSupported?.(o.codecs)&&(o.index=l,u.push(o))}),u.sort(function(o,l){return o.video&&l.video?l.video.height-o.video.height:l.bitrate-o.bitrate}),u):(i({name:"error",type:"empty_manifest"}),[])};this.manifest=s(e),t(`Valid manifest entries: ${this.manifest.length}/${e.length}`),i({name:"manifest",manifest:this.manifest})}_refetchManifest(e){this.destroyed||(this.manifestRefetchTimer&&clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=window.setTimeout(()=>{this._fetchManifest(e,t=>{this.destroyed||(this._handleManifestUpdate(t),this._refetchManifest(e))},()=>this._refetchManifest(e))},NP))}_initManifest(){this._fetchManifest(this.manifestUrl,e=>{this.destroyed||(this._handleManifestUpdate(e),this._refetchManifest(this.manifestUrl))},()=>this._handleNetworkError())}};var _b=W(zi(),1),be=require("@vkontakte/videoplayer-shared"),dl=class{constructor(){this.onDroopedVideoFramesLimit$=new be.Subject;this.subscription=new be.Subscription;this.playing=!1;this.tracks=[];this.forceChecker$=new be.Subject;this.isForceCheckCounter=0;this.prevTotalVideoFrames=0;this.prevDroppedVideoFrames=0;this.limitCounts={};this.handleChangeVideoQuality=()=>{let e=this.tracks.find(({size:t})=>t?.height===this.video.videoHeight&&t?.width===this.video.videoWidth);e&&!(0,be.isInvariantQuality)(e.quality)&&this.onChangeQuality(e.quality)};this.checkDroppedFrames=()=>{let{totalVideoFrames:e,droppedVideoFrames:t}=this.video.getVideoPlaybackQuality(),i=e-this.prevTotalVideoFrames,r=t-this.prevDroppedVideoFrames,s=1-(i-r)/i;!isNaN(s)&&s>0&&this.log({message:`[dropped]. current dropped percent: ${s}, limit: ${this.droppedFramesChecker.percentLimit}`}),!isNaN(s)&&s>=this.droppedFramesChecker.percentLimit&&(0,be.isHigher)(this.currentQuality,this.droppedFramesChecker.minQualityBanLimit)&&(this.limitCounts[this.currentQuality]=(this.limitCounts[this.currentQuality]??0)+1,this.maxQualityLimit=this.getMaxQualityLimit(this.currentQuality),this.currentTimer&&window.clearTimeout(this.currentTimer),this.currentTimer=window.setTimeout(()=>this.maxQualityLimit=this.getMaxQualityLimit(),this.droppedFramesChecker.qualityUpWaitingTime),this.onDroopedVideoFramesLimitTrigger()),this.savePrevFrameCounts(e,t)}}connect(e){this.log=e.logger.createComponentLog("DroppedFramesManager"),this.video=e.video,this.isAuto=e.isAuto,this.tracks=e.tracks,this.droppedFramesChecker=e.droppedFramesChecker,this.subscription.add(e.playing$.subscribe(()=>this.playing=!0)),this.subscription.add(e.pause$.subscribe(()=>this.playing=!1)),this.isEnabled&&this.subscribe()}destroy(){this.currentTimer&&window.clearTimeout(this.currentTimer),this.subscription.unsubscribe()}get droppedVideoMaxQualityLimit(){return this.maxQualityLimit}subscribe(){this.subscription.add((0,be.fromEvent)(this.video,"resize").subscribe(this.handleChangeVideoQuality));let e=(0,be.interval)(this.droppedFramesChecker.checkTime).pipe((0,be.filter)(()=>this.playing),(0,be.filter)(()=>{let r=!!this.isForceCheckCounter;return r&&(this.isForceCheckCounter-=1),!r})),t=this.forceChecker$.pipe((0,be.debounce)(this.droppedFramesChecker.checkTime)),i=(0,be.merge)(e,t);this.subscription.add(i.subscribe(this.checkDroppedFrames))}onChangeQuality(e){this.currentQuality=e;let{totalVideoFrames:t,droppedVideoFrames:i}=this.video.getVideoPlaybackQuality();this.savePrevFrameCounts(t,i),this.isForceCheckCounter=this.droppedFramesChecker.tickCountAfterQualityChange,this.forceChecker$.next()}onDroopedVideoFramesLimitTrigger(){this.isAuto.getState()&&(this.log({message:`[onDroopedVideoFramesLimit]. maxQualityLimit: ${this.maxQualityLimit}`}),this.onDroopedVideoFramesLimit$.next())}getMaxQualityLimit(e){let t=(0,_b.default)(this.limitCounts).filter(([,i])=>i>=this.droppedFramesChecker.countLimit).sort(([i],[r])=>(0,be.isLower)(i,r)?-1:1)?.[0]?.[0];return e??t}get isEnabled(){return this.droppedFramesChecker.enabled&&this.isDroppedFramesCheckerSupport}get isDroppedFramesCheckerSupport(){return!!this.video&&typeof this.video.getVideoPlaybackQuality=="function"}savePrevFrameCounts(e,t){this.prevTotalVideoFrames=e,this.prevDroppedVideoFrames=t}},lr=dl;var pn=require("@vkontakte/videoplayer-shared"),Ob=require("@vkontakte/videoplayer-shared");var ua=()=>!!window.documentPictureInPicture?.window||!!document.pictureInPictureElement;var jP=(a,e)=>new pn.Observable(t=>{if(!window.IntersectionObserver)return;let i={root:null},r=new IntersectionObserver((n,u)=>{n.forEach(o=>t.next(o.isIntersecting||ua()))},{...i,...e});r.observe(a);let s=(0,Ob.fromEvent)(document,"visibilitychange").pipe((0,pn.map)(n=>!document.hidden||ua())).subscribe(n=>t.next(n));return()=>{r.unobserve(a),s.unsubscribe()}}),ut=jP;var QP=["paused","playing","ready"],WP=["paused","playing","ready"],la=class{constructor(e){this.subscription=new Y.Subscription;this.videoState=new Z("stopped");this.representations$=new Y.ValueSubject([]);this.droppedFramesManager=new lr;this.maxSeekBackTime$=new Y.ValueSubject(1/0);this.zeroTime$=new Y.ValueSubject(void 0);this.liveOffset=new xi;this._dashCb=e=>{switch(e.name){case"buffering":{let t=e.isBuffering;this.params.output.isBuffering$.next(t);break}case"error":{this.params.output.error$.next({id:`DashLiveProviderInternal:${e.type}`,category:Y.ErrorCategory.WTF,message:"LiveDashPlayer reported error"});break}case"manifest":{let t=e.manifest,i=[];for(let r of t){let s=r.name??r.index.toString(10),n=ii(r.name)??(0,Y.videoSizeToQuality)(r.video),u=r.bitrate/1e3,o={...r.video};if(!n)continue;let l={id:s,quality:n,bitrate:u,size:o};i.push({track:l,representation:r})}this.representations$.next(i),this.params.output.availableVideoTracks$.next(i.map(({track:r})=>r)),this.videoState.getTransition()?.to==="manifest_ready"&&this.videoState.setState("manifest_ready");break}case"qualitySwitch":{let t=e.quality,i=this.representations$.getValue().find(({representation:r})=>r===t)?.track;this.params.output.hostname$.next(new URL(t.headerUrl,this.params.source.url).hostname),(0,Y.isNonNullable)(i)&&this.params.output.currentVideoTrack$.next(i);break}case"bandwidth":{let{size:t,duration:i}=e;this.params.dependencies.throughputEstimator.addRawSpeed(t,i);break}case"index":{this.maxSeekBackTime$.next(e.shiftDuration||0),this.zeroTime$.next(e.zeroTime);break}}};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}; seekState: ${JSON.stringify(s)};`}),i==="stopped"){e!=="stopped"&&(this.videoState.startTransitionTo("stopped"),this.dash.destroy(),this.video.removeAttribute("src"),this.video.load(),this.videoState.setState("stopped"));return}if(t)return;let n=this.params.desiredState.videoTrack.getTransition(),u=this.params.desiredState.autoVideoTrackSwitching.getTransition();if((0,pl.default)(WP,e)&&(n||u)){this.prepare();return}if(r?.to!=="paused"&&s.state==="requested"&&(0,pl.default)(QP,e)){this.seek(s.position-this.liveOffset.getTotalPausedTime());return}switch(e){case"stopped":this.videoState.startTransitionTo("manifest_ready"),this.dash.attachSource(ye(this.params.source.url));return;case"manifest_ready":this.videoState.startTransitionTo("ready"),this.prepare();break;case"ready":if(i==="paused")this.videoState.setState("paused");else if(i==="playing"){this.videoState.startTransitionTo("playing");let o=r?.from;o&&o==="ready"&&this.dash.catchUp(),this.dash.play()}return;case"playing":i==="paused"&&(this.videoState.startTransitionTo("paused"),this.liveOffset.pause(),this.dash.pause());return;case"paused":if(i==="playing")if(this.videoState.startTransitionTo("playing"),this.liveOffset.getTotalPausedTime()<this.params.config.maxPausedTime&&this.liveOffset.getTotalOffset()<this.maxSeekBackTime$.getValue())this.liveOffset.resume(),this.dash.play(),this.params.output.position$.next(-this.liveOffset.getTotalOffset()/1e3);else{let o=this.liveOffset.getTotalOffset();o>=this.maxSeekBackTime$.getValue()&&(o=0,this.liveOffset.resetTo(o)),this.liveOffset.resume(),this.params.output.position$.next(-o/1e3),this.dash.reinit(ye(this.params.source.url,o))}return;default:return(0,Y.assertNever)(e)}};this.textTracksManager=new ot(e.source.url),this.params=e,this.log=this.params.dependencies.logger.createComponentLog("DashLiveProvider");let t=r=>{e.output.error$.next({id:"DashLiveProvider",category:Y.ErrorCategory.WTF,message:"DashLiveProvider internal logic error",thrown:r})};this.subscription.add((0,Y.merge)(this.videoState.stateChangeStarted$.pipe((0,Y.map)(r=>({transition:r,type:"start"}))),this.videoState.stateChangeEnded$.pipe((0,Y.map)(r=>({transition:r,type:"end"})))).subscribe(({transition:r,type:s})=>{this.log({message:`[videoState change] ${s}: ${JSON.stringify(r)}`})})),this.video=Ue(e.container,e.tuning),this.params.output.element$.next(this.video),this.dash=this.createLiveDashPlayer(),this.subscription.add(this.dash.soundProhibitedEvent$.subscribe(this.params.output.soundProhibitedEvent$)),this.params.output.duration$.next(1/0),this.params.output.position$.next(0),this.params.output.isLive$.next(!0),this.params.output.canChangePlaybackSpeed$.next(!1),this.params.output.hostname$.next($e(this.params.source.url)),this.params.output.autoVideoTrackLimitingAvailable$.next(!0),this.params.output.availableVideoTracks$.next([]),this.params.output.availableAudioTracks$.next([]),this.params.output.isAudioAvailable$.next(!0),this.params.output.availableTextTracks$.next([]),this.params.desiredState.internalTextTracks.setState([]),this.textTracksManager.connect(this.video,this.params.desiredState,this.params.output);let i=Qe(this.video);this.subscription.add(()=>i.destroy()),this.subscription.add(this.representations$.pipe((0,Y.map)(r=>r.map(({track:s})=>s)),(0,Y.filter)(r=>!!r.length),(0,Y.once)()).subscribe(r=>this.droppedFramesManager.connect({logger:this.params.dependencies.logger,video:this.video,droppedFramesChecker:this.params.tuning.droppedFramesChecker,isAuto:this.params.desiredState.autoVideoTrackSwitching,playing$:i.playing$,pause$:i.pause$,tracks:r}))),this.subscription.add(i.canplay$.subscribe(()=>{this.videoState.getTransition()?.to==="ready"&&this.videoState.setState("ready")},t)).add(i.pause$.subscribe(()=>{this.videoState.setState("paused")},t)).add(i.playing$.subscribe(()=>{this.params.desiredState.seekState.getState().state==="applying"&&this.params.output.seekedEvent$.next(),this.videoState.setState("playing")},t)).add(i.error$.subscribe(this.params.output.error$)).add(this.maxSeekBackTime$.pipe((0,Y.filterChanged)(),(0,Y.map)(r=>-r/1e3)).subscribe(this.params.output.duration$)).add((0,Y.combine)({zeroTime:this.zeroTime$.pipe((0,Y.filter)(Y.isNonNullable)),position:i.timeUpdate$}).subscribe(({zeroTime:r,position:s})=>this.params.output.liveTime$.next(r+s*1e3),t)).add(kt(this.video,this.params.desiredState.isLooped,t)).add(je(this.video,this.params.desiredState.volume,i.volumeState$,t)).add(i.volumeState$.subscribe(this.params.output.volume$,t)).add(nt(this.video,this.params.desiredState.playbackRate,i.playbackRateState$,t)).add(i.loadStart$.subscribe(this.params.output.firstBytesEvent$)).add(i.loadedMetadata$.subscribe(this.params.output.loadedMetadataEvent$)).add(i.playing$.subscribe(this.params.output.firstFrameEvent$)).add(i.canplay$.subscribe(this.params.output.canplay$)).add(i.inPiP$.subscribe(this.params.output.inPiP$)).add(i.inFullscreen$.subscribe(this.params.output.inFullscreen$)).add(ut(this.video).subscribe(this.params.output.elementVisible$)).add(this.params.desiredState.autoVideoTrackLimits.stateChangeStarted$.subscribe(({to:{max:r,min:s}})=>{this.dash.setAutoQualityLimits({max:r&&(0,Y.videoQualityToHeight)(r),min:s&&(0,Y.videoQualityToHeight)(s)}),this.params.output.autoVideoTrackLimits$.next({max:r,min:s})})).add(this.videoState.stateChangeEnded$.subscribe(r=>{switch(r.to){case"stopped":this.params.output.position$.next(0),this.params.output.duration$.next(1/0),this.params.desiredState.playbackState.setState("stopped");break;case"manifest_ready":case"ready":this.params.desiredState.playbackState.getTransition()?.to==="ready"&&this.params.desiredState.playbackState.setState("ready");break;case"paused":this.params.desiredState.playbackState.setState("paused");break;case"playing":this.params.desiredState.playbackState.setState("playing");break;default:return(0,Y.assertNever)(r.to)}},t)).add((0,Y.merge)(e.desiredState.playbackState.stateChangeStarted$,e.desiredState.seekState.stateChangeEnded$,e.desiredState.videoTrack.stateChangeStarted$,e.desiredState.autoVideoTrackSwitching.stateChangeStarted$,this.videoState.stateChangeEnded$,this.droppedFramesManager.onDroopedVideoFramesLimit$,(0,Y.observableFrom)(["init"])).pipe((0,Y.debounce)(0)).subscribe(this.syncPlayback,t))}destroy(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.droppedFramesManager.destroy(),this.dash.destroy(),this.params.output.element$.next(void 0),He(this.video)}createLiveDashPlayer(){let e=new oa({videoElement:this.video,videoState:this.videoState,playbackState:this.params.desiredState.playbackState,liveOffset:this.liveOffset,config:{maxParallelRequests:this.params.config.maxParallelRequests,minBuffer:this.params.tuning.live.minBuffer,minBufferSegments:this.params.tuning.live.minBufferSegments,lowLatencyMinBuffer:this.params.tuning.live.lowLatencyMinBuffer,lowLatencyMinBufferSegments:this.params.tuning.live.lowLatencyMinBufferSegments,isLiveCatchUpMode:this.params.tuning.live.isLiveCatchUpMode,manifestRetryInterval:this.params.tuning.manifestRetryInterval,manifestRetryMaxInterval:this.params.tuning.manifestRetryMaxInterval,manifestRetryMaxCount:this.params.tuning.manifestRetryMaxCount},playerCallback:this._dashCb,logger:t=>{this.params.dependencies.logger.log({message:String(t),component:"LiveDashPlayer"})}});return e.pause(),e}prepare(){let e=this.representations$.getValue(),t=this.params.desiredState.videoTrack.getTransition()?.to??this.params.desiredState.videoTrack.getState(),i=this.params.desiredState.autoVideoTrackSwitching.getTransition()?.to??this.params.desiredState.autoVideoTrackSwitching.getState(),r=!i&&(0,Y.isNonNullable)(t)?t:Rt(e.map(({track:l})=>l),{container:this.video.getBoundingClientRect(),panelSize:this.params.panelSize,estimatedThroughput:this.params.dependencies.throughputEstimator.throughput$.getValue(),tuning:this.params.tuning.autoTrackSelection,limits:this.params.desiredState.autoVideoTrackLimits.getState(),droppedVideoMaxQualityLimit:this.droppedFramesManager.droppedVideoMaxQualityLimit,abrLogger:this.params.dependencies.abrLogger}),s=r?.id,n=this.params.desiredState.videoTrack.getTransition(),u=this.params.desiredState.videoTrack.getState()?.id,o=this.params.desiredState.autoVideoTrackSwitching.getTransition();if(r&&(n||s!==u)&&this.setVideoTrack(r),o&&this.setAutoQuality(i),n||o||s!==u){let l=e.find(({track:p})=>p.id===s)?.representation;(0,Y.assertNonNullable)(l,"Representations missing"),this.dash.startPlay(l,i)}}setVideoTrack(e){let t=this.representations$.getValue().find(({track:i})=>i.id===e.id)?.representation;(0,Y.assertNonNullable)(t,`No such representation ${e.id}`),this.dash.switchByName(t.name),this.params.desiredState.videoTrack.setState(e)}setAutoQuality(e){this.dash.setAutoQualityEnabled(e),this.params.desiredState.autoVideoTrackSwitching.setState(e)}seek(e){this.log({message:`[seek] position: ${e}`}),this.params.output.willSeekEvent$.next();let t=this.params.desiredState.playbackState.getState(),i=this.videoState.getState(),r=t==="paused"&&i==="paused",s=-e,n=s<=this.maxSeekBackTime$.getValue()?s:0;this.params.output.position$.next(e/1e3),this.dash.reinit(ye(this.params.source.url,n)),r&&this.dash.pause(),this.liveOffset.resetTo(n,r)}};var Fb=la;var Me=(a,e)=>{let t=0;for(let i=0;i<a.length;i++){let r=a.start(i)*1e3,s=a.end(i)*1e3;r<=e&&e<=s&&(t=s)}return Math.max(t-e,0)};var O=require("@vkontakte/videoplayer-shared");var{NativeAbortSignal:V0,NativeAbortController:_0}=function(a){return{NativeAbortSignal:a.AbortSignal,NativeAbortController:a.AbortController}}(typeof self<"u"?self:global);function Nb(a){let e;try{e=new Event("abort")}catch{typeof document<"u"?document.createEvent?(e=document.createEvent("Event"),e.initEvent("abort",!1,!1)):(e=document.createEventObject(),e.type="abort"):e={type:"abort",bubbles:!1,cancelable:!1}}return e.reason=a,e}function qb(a){if(a===void 0)if(typeof document>"u")a=new Error("This operation was aborted"),a.name="AbortError";else try{a=new DOMException("signal is aborted without reason"),Object.defineProperty(a,"name",{value:"AbortError"})}catch{a=new Error("This operation was aborted"),a.name="AbortError"}return a}var hn=class{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(e,t,i){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push({callback:t,options:i})}removeEventListener(e,t){if(!(e in this.listeners))return;let i=this.listeners[e];for(let r=0,s=i.length;r<s;r++)if(i[r].callback===t){i.splice(r,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return;let i=this.listeners[e.type].slice();for(let r=0,s=i.length;r<s;r++){let n=i[r];try{n.callback.call(this,e)}catch(u){Promise.resolve().then(()=>{throw u})}n.options&&n.options.once&&this.removeEventListener(e.type,n.callback)}return!e.defaultPrevented}},cr=class extends hn{constructor(){super(),this.listeners||hn.call(this),Object.defineProperty(this,"aborted",{value:!1,writable:!0,configurable:!0}),Object.defineProperty(this,"onabort",{value:null,writable:!0,configurable:!0}),Object.defineProperty(this,"reason",{value:void 0,writable:!0,configurable:!0})}toString(){return"[object AbortSignal]"}dispatchEvent(e){e.type==="abort"&&(this.aborted=!0,typeof this.onabort=="function"&&this.onabort.call(this,e)),super.dispatchEvent(e)}throwIfAborted(){let{aborted:e,reason:t="Aborted"}=this;if(e)throw t}static timeout(e){let t=new Ai;return setTimeout(()=>t.abort(new DOMException(`This signal is timeout in ${e}ms`,"TimeoutError")),e),t.signal}static any(e){let t=new Ai;function i(){t.abort(this.reason),r()}function r(){for(let s of e)s.removeEventListener("abort",i)}for(let s of e)if(s.aborted){t.abort(s.reason);break}else s.addEventListener("abort",i);return t.signal}},Ai=class{constructor(){Object.defineProperty(this,"signal",{value:new cr,writable:!0,configurable:!0})}abort(e){let t=qb(e),i=Nb(t);this.signal.reason=t,this.signal.dispatchEvent(i)}toString(){return"[object AbortController]"}};typeof Symbol<"u"&&Symbol.toStringTag&&(Ai.prototype[Symbol.toStringTag]="AbortController",cr.prototype[Symbol.toStringTag]="AbortSignal");function fn(a){return a.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof a.Request=="function"&&!a.Request.prototype.hasOwnProperty("signal")||!a.AbortController}function hl(a){typeof a=="function"&&(a={fetch:a});let{fetch:e,Request:t=e.Request,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:r=!1}=a;if(!fn({fetch:e,Request:t,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:r}))return{fetch:e,Request:s};let s=t;(s&&!s.prototype.hasOwnProperty("signal")||r)&&(s=function(l,p){let d;p&&p.signal&&(d=p.signal,delete p.signal);let c=new t(l,p);return d&&Object.defineProperty(c,"signal",{writable:!1,enumerable:!1,configurable:!0,value:d}),c},s.prototype=t.prototype);let n=e;return{fetch:(o,l)=>{let p=s&&s.prototype.isPrototypeOf(o)?o.signal:l?l.signal:void 0;if(p){let d;try{d=new DOMException("Aborted","AbortError")}catch{d=new Error("Aborted"),d.name="AbortError"}if(p.aborted)return Promise.reject(d);let c=new Promise((h,m)=>{p.addEventListener("abort",()=>m(d),{once:!0})});return l&&l.signal&&delete l.signal,Promise.race([c,n(o,l)])}return n(o,l)},Request:s}}var GP=()=>"fetch"in window,ca=GP()&&fn({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),Ub=ca?hl({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,lt=ca?Ub.fetch:window.fetch,G0=ca?Ub.Request:window.Request,ue=ca?Ai:window.AbortController,z0=ca?cr:window.AbortSignal;var jS=W(qe(),1),_l=W(da(),1);var kg=W(Pg(),1),dr=require("@vkontakte/videoplayer-shared"),mn=a=>{if(!a)return{id:"EmptyResponse",category:dr.ErrorCategory.PARSER,message:"Empty response"};if(a.length<=2&&a.match(/^\d+$/))return{id:`UVError#${a}`,category:dr.ErrorCategory.NETWORK,message:`UV Error ${a}`};let e=(0,kg.default)(a).substring(0,100).toLowerCase();if(e.startsWith("<!doctype")||e.startsWith("<html>")||e.startsWith("<body>")||e.startsWith("<head>"))return{id:"UnexpectedHTML",category:dr.ErrorCategory.NETWORK,message:"Received unexpected HTML, possibly a ISP block"};if(e.startsWith("<?xml"))return new DOMParser().parseFromString(a,"text/xml").querySelector("parsererror")?{id:"InvalidXML",category:dr.ErrorCategory.PARSER,message:"XML parsing error"}:{id:"XMLParserLogicError",category:dr.ErrorCategory.PARSER,message:"Response is valid XML, but parser failed"}};var De=(a,e,t=0)=>{for(let i=0;i<a.length;i++)if(a.start(i)*1e3-t<=e&&a.end(i)*1e3+t>e)return!0;return!1};var T=require("@vkontakte/videoplayer-shared");var Sn=W(qe(),1),Ri=W(gt(),1),vn=W(da(),1);var Mk=(a,e={})=>{let i=e.timeout||1,r=performance.now();return window.setTimeout(()=>{a({get didTimeout(){return e.timeout?!1:performance.now()-r-1>i},timeRemaining(){return Math.max(0,1+(performance.now()-r))}})},1)},Dk=a=>window.clearTimeout(a),Rg=a=>typeof a=="function"&&a?.toString().endsWith("{ [native code] }"),Lg=!Rg(window.requestIdleCallback)||!Rg(window.cancelIdleCallback),pr=Lg?Mk:window.requestIdleCallback,$t=Lg?Dk:window.cancelIdleCallback;var OS=W(zs(),1);var ai=require("@vkontakte/videoplayer-shared");var Ck=18,$g=!1;try{$g=Q.browser.isSafari&&!!Q.browser.safariVersion&&Q.browser.safariVersion<=Ck}catch(a){console.error(a)}var vl=class{constructor(e){this.bufferFull$=new ai.Subject;this.error$=new ai.Subject;this.queue=[];this.currentTask=null;this.destroyed=!1;this.abortRequested=!1;this.completeTask=()=>{try{if(this.currentTask){let e=this.currentTask.signal?.aborted;this.currentTask.callback(!e),this.currentTask=null}this.queue.length&&this.pull()}catch(e){this.error$.next({id:"BufferTaskQueueUnknown",category:ai.ErrorCategory.VIDEO_PIPELINE,message:"Buffer appending or removal failed",thrown:e})}};this.buffer=e,this.buffer.addEventListener("updateend",this.completeTask)}async append(e,t){return t&&t.aborted?!1:new Promise(i=>{let r={operation:"append",data:e,signal:t,callback:i};this.queue.push(r),this.pull()})}async remove(e,t,i){return i&&i.aborted?!1:new Promise(r=>{let s={operation:"remove",from:e,to:t,signal:i,callback:r};this.queue.unshift(s),this.pull()})}async abort(e){return new Promise(t=>{let i,r=s=>{this.abortRequested=!1,t(s)};$g&&e?i={operation:"safariAbort",init:e,callback:r}:i={operation:"abort",callback:r};for(let{callback:s}of this.queue)s(!1);this.abortRequested=!0,i&&(this.queue=[i]),this.pull()})}destroy(){this.destroyed=!0,this.buffer.removeEventListener("updateend",this.completeTask),this.queue=[],this.currentTask=null;try{this.buffer.abort()}catch(e){if(!(e instanceof DOMException&&e.name==="InvalidStateError"))throw e}}pull(){if((this.buffer.updating||this.currentTask||this.destroyed)&&!this.abortRequested)return;let e=this.queue.shift();if(!e)return;if(e.signal?.aborted){e.callback(!1),this.pull();return}this.currentTask=e;let{operation:t}=this.currentTask;try{this.execute(this.currentTask)}catch(r){r instanceof DOMException&&r.name==="QuotaExceededError"&&t==="append"?this.bufferFull$.next(this.currentTask.data.byteLength):r instanceof DOMException&&r.name==="InvalidStateError"||this.error$.next({id:`BufferTaskQueue:${t}`,category:ai.ErrorCategory.VIDEO_PIPELINE,message:"Buffer operation failed",thrown:r}),this.currentTask.callback(!1),this.currentTask=null}this.currentTask&&this.currentTask.operation==="abort"&&this.completeTask()}execute(e){let{operation:t}=e;switch(t){case"append":this.buffer.appendBuffer(e.data);break;case"remove":this.buffer.remove(e.from/1e3,e.to/1e3);break;case"abort":this.buffer.abort();break;case"safariAbort":{this.buffer.abort(),this.buffer.appendBuffer(e.init);break}default:(0,ai.assertNever)(t)}}},Mg=vl;var hr=a=>{let e=0;for(let t=0;t<a.length;t++)e+=a.end(t)-a.start(t);return e*1e3};var A=require("@vkontakte/videoplayer-shared");var Cg=W(gt(),1);var bn=a=>a.valid,se=class{constructor(e,t){this.cursor=0;this.source=e,this.boxParser=t,this.children=[];let i=this.readUint32();this.type=this.readString(4),i===1&&(this.cursor+=8);let r=e.byteOffset+this.cursor,s;i===0?(this.size=void 0,this.valid=!1,s=void 0):i===1?(this.size=void 0,this.valid=!1,s=void 0):i>e.byteLength?(this.size=i,this.valid=!1,s=Math.min(i-this.cursor,e.byteLength-this.cursor)):(this.size=i,this.valid=!0,s=i-this.cursor),this.content=new DataView(e.buffer,r,s)}get id(){return this.type}scanForBoxes(e){return this.boxParser.parse(e)}readString(e,t="ascii"){let r=new TextDecoder(t).decode(new DataView(this.source.buffer,this.source.byteOffset+this.cursor,e));return this.cursor+=e,r}readUint8(){let e=this.source.getUint8(this.cursor);return this.cursor+=1,e}readUint16(){let e=this.source.getUint16(this.cursor);return this.cursor+=2,e}readUint32(){let e=this.source.getUint32(this.cursor);return this.cursor+=4,e}readUint64(){let e=this.source.getBigInt64(this.cursor);return this.cursor+=8,e}};var fr=class extends se{};var Dg=require("@vkontakte/videoplayer-shared");var ha=class extends se{constructor(e,t){if(super(e,t),!this.valid)return;let i=this.readString(16),r=new DataView(this.content.buffer,this.content.byteOffset+16,this.content.byteLength-16);this.userData=this.parseData(i,r)}parseData(e,t){switch(e){case"ondemandlivejson":{let i=new TextDecoder("ascii").decode(t),r=JSON.parse(i);return{received:r["t-in"],prepared:r["t-out"]}}default:(0,Dg.assertNever)(e)}}};var fa=class extends se{constructor(e,t){if(super(e,t),!this.valid)return;this.compatibleBrands=[],this.majorBrand=this.readString(4),this.minorVersion=this.readUint32();let i=new DataView(this.content.buffer,this.content.byteOffset+8,this.content.byteLength-8);for(let r=0;r<i.byteLength;r+=4){let s=this.readString(4);this.compatibleBrands.push(s)}}};var ma=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var pe=class extends se{constructor(e,t){if(super(e,t),!this.valid)return;let i=this.readUint32();this.version=i>>>24,this.flags=i&16777215,this.content=new DataView(this.content.buffer,this.content.byteOffset+4,this.content.byteLength-4)}};var ba=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.creationTime=this.readUint32(),this.modificationTime=this.readUint32(),this.timescale=this.readUint32(),this.duration=this.readUint32(),this.rate=this.readUint32(),this.volume=this.readUint16())}};var ga=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Sa=class extends se{constructor(e,t){super(e,t),this.data=this.content}};var Pi=class extends pe{get earliestPresentationTime(){return this.earliestPresentationTime32}get firstOffset(){return this.firstOffset32}constructor(e,t){if(super(e,t),!!this.valid){this.segments=[],this.referenceId=this.readUint32(),this.timescale=this.readUint32(),this.earliestPresentationTime32=this.readUint32(),this.firstOffset32=this.readUint32(),this.earliestPresentationTime64=0,this.firstOffset64=0,this.referenceCount=this.readUint32()&65535;for(let i=0;i<this.referenceCount;i++){let r=this.readUint32(),s=r>>>31,n=r<<1>>>1,u=this.readUint32();r=this.readUint32();let o=r>>>28,l=r<<3>>>3;this.segments.push({referenceType:s,referencedSize:n,subsegmentDuration:u,SAPType:o,SAPDeltaTime:l})}}}};var va=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var ya=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Ta=class extends pe{constructor(e,t){if(super(e,t),!this.valid)return;switch(this.readUint8()){case 0:this.stereoMode=0;break;case 1:this.stereoMode=1;break;case 2:this.stereoMode=2;break;case 3:this.stereoMode=3;break;case 4:this.stereoMode=4;break}this.cursor+=1}};var Ia=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.poseYawDegrees=this.readUint32(),this.posePitchDegrees=this.readUint32(),this.poseRollDegrees=this.readUint32())}};var Ea=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.projectionBoundsTop=this.readUint32(),this.projectionBoundsBottom=this.readUint32(),this.projectionBoundsLeft=this.readUint32(),this.projectionBoundsRight=this.readUint32())}};var xa=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var wa=class extends pe{constructor(e,t){super(e,t),this.creationTime=this.readUint32(),this.modificationTime=this.readUint32(),this.trackId=this.readUint32(),this.cursor+=4,this.duration=this.readUint32(),this.cursor+=8,this.layer=this.readUint16(),this.alternateGroup=this.readUint16(),this.cursor+=2,this.cursor+=2,this.matrix=[[this.readUint32(),this.readUint32(),this.readUint32()],[this.readUint32(),this.readUint32(),this.readUint32()],[this.readUint32(),this.readUint32(),this.readUint32()]],this.width=this.readUint32(),this.height=this.readUint32()}};var Aa=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Pa=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var ka=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.sequenceNumber=this.readUint32())}};var Ra=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var La=class extends pe{constructor(e,t){super(e,t),this.trackId=this.readUint32(),this.flags&1&&(this.baseDataOffset=this.readUint64()),this.flags&2&&(this.sampleDescriptionIndex=this.readUint32()),this.flags&8&&(this.defaultSampleDuration=this.readUint32()),this.flags&16&&(this.defaultSampleSize=this.readUint32()),this.flags&32&&(this.defaultSampleFlags=this.readUint32())}};var $a=class extends pe{constructor(t,i){super(t,i);this.baseMediaDecodeTime32=0;this.baseMediaDecodeTime64=BigInt(0);this.version===1?this.baseMediaDecodeTime64=this.readUint64():this.baseMediaDecodeTime32=this.readUint32()}get baseMediaDecodeTime(){return this.version===1?this.baseMediaDecodeTime64:this.baseMediaDecodeTime32}};var Ma=class extends pe{constructor(t,i){super(t,i);this.sampleDuration=[];this.sampleSize=[];this.sampleFlags=[];this.sampleCompositionTimeOffset=[];this.optionalFields=0;this.sampleCount=this.readUint32(),this.flags&1&&(this.dataOffset=this.readUint32()),this.flags&4&&(this.firstSampleFlags=this.readUint32());for(let r=0;r<this.sampleCount;r++)this.flags&256&&this.sampleDuration.push(this.readUint32()),this.flags&512&&this.sampleSize.push(this.readUint32()),this.flags&1024&&this.sampleFlags.push(this.readUint32()),this.flags&2048&&this.sampleCompositionTimeOffset.push(this.readUint32())}};var Da=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Ca=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.entryCount=this.readUint32(),this.children=this.scanForBoxes(new DataView(this.content.buffer,this.content.byteOffset+4,this.content.byteLength-4)))}};var Ba=class extends se{constructor(e,t){super(e,t),this.valid&&(this.children=this.scanForBoxes(new DataView(this.content.buffer,this.content.byteOffset+78,this.content.byteLength-78)))}};var Vk={ftyp:fa,moov:ma,mvhd:ba,moof:ga,mdat:Sa,sidx:Pi,trak:va,mdia:xa,mfhd:ka,tkhd:wa,traf:Ra,tfhd:La,tfdt:$a,trun:Ma,minf:Aa,sv3d:ya,st3d:Ta,prhd:Ia,proj:Pa,equi:Ea,uuid:ha,stbl:Da,stsd:Ca,avc1:Ba,unknown:fr},qt=class a{constructor(e={}){this.options={offset:0,...e}}parse(e){let t=[],i=this.options.offset;for(;i<e.byteLength;){let s=new TextDecoder("ascii").decode(new DataView(e.buffer,e.byteOffset+i+4,4)),n;try{n=this.createBox(s,new DataView(e.buffer,e.byteOffset+i,e.byteLength-i))}catch(u){if(!(u instanceof RangeError))throw u}if(!n||!bn(n))break;t.push(n),i+=n.size}return t}createBox(e,t){let i=Vk[e];return i?new i(t,new a):new fr(t,new a)}};var si=class{constructor(e){this.index={},this.indexBoxLevel(e)}indexBoxLevel(e){e.forEach(t=>{bn(t)&&(this.index[t.type]??=[],this.index[t.type].push(t),t.children.length>0&&this.indexBoxLevel(t.children))})}find(e){return this.index[e]&&this.index[e][0]?this.index[e][0]:null}findAll(e){return this.index[e]||[]}};var Ok=new TextDecoder("ascii"),Fk=a=>Ok.decode(new DataView(a.buffer,a.byteOffset+4,4))==="ftyp",Nk=a=>{let e=new Pi(a,new qt),t=e.earliestPresentationTime/e.timescale*1e3,i=a.byteOffset+a.byteLength+e.firstOffset;return e.segments.map(s=>{if(s.referenceType!==0)throw new Error("Unsupported multilevel sidx");let n=s.subsegmentDuration/e.timescale*1e3,u={status:"none",time:{from:t,to:t+n},byte:{from:i,to:i+s.referencedSize-1}};return t+=n,i+=s.referencedSize,u})},qk=(a,e)=>{let i=new qt().parse(a),r=new si(i),s=r.findAll("moof"),n=e?r.findAll("uuid"):r.findAll("mdat");if(!(n.length&&s.length))return null;let u=s[0],o=n[n.length-1],l=u.source.byteOffset,d=o.source.byteOffset-u.source.byteOffset+o.size;return new DataView(a.buffer,l,d)},Uk=a=>{let t=new qt().parse(a),i=new si(t),r={},s=i.findAll("uuid"),n=(0,Cg.default)(s,-1);return n?{serverDataReceivedTimestamp:n.userData.received,serverDataPreparedTime:n.userData.received}:r},Hk=a=>{let t=new qt().parse(a);return new si(t).find("sidx")?.timescale},jk=(a,e)=>{let i=new qt().parse(a),s=new si(i).findAll("traf"),n=s[s.length-1].children.find(d=>d.type==="tfhd"),u=s[s.length-1].children.find(d=>d.type==="tfdt"),o=s[s.length-1].children.find(d=>d.type==="trun"),l=0;return o.sampleDuration.length?l=o.sampleDuration.reduce((d,c)=>d+c,0):l=n.defaultSampleDuration*o.sampleCount,(Number(u.baseMediaDecodeTime)+l)/e*1e3},Qk=a=>{let e={is3dVideo:!1,stereoMode:0,projectionType:1,projectionData:{pose:{yaw:0,pitch:0,roll:0},bounds:{top:0,bottom:0,left:0,right:0}}},i=new qt().parse(a),r=new si(i);if(r.find("sv3d")){e.is3dVideo=!0;let n=r.find("st3d");n&&(e.stereoMode=n.stereoMode);let u=r.find("prhd");u&&(e.projectionData.pose.yaw=u.poseYawDegrees,e.projectionData.pose.pitch=u.posePitchDegrees,e.projectionData.pose.roll=u.poseRollDegrees);let o=r.find("equi");o&&(e.projectionData.bounds.top=o.projectionBoundsTop,e.projectionData.bounds.right=o.projectionBoundsRight,e.projectionData.bounds.bottom=o.projectionBoundsBottom,e.projectionData.bounds.left=o.projectionBoundsLeft)}return e},Bg={validateData:Fk,parseInit:Qk,getIndexRange:()=>{},parseSegments:Nk,parseFeedableSegmentChunk:qk,getChunkEndTime:jk,getServerLatencyTimestamps:Uk,getTimescaleFromIndex:Hk};var Oa=W(qe(),1),Ut=require("@vkontakte/videoplayer-shared");var _g=require("@vkontakte/videoplayer-shared");var Vg={440786851:{type:"master"},17030:{type:"uint"},17143:{type:"uint"},17138:{type:"uint"},17139:{type:"uint"},17026:{type:"string"},17031:{type:"uint"},17029:{type:"uint"},236:{type:"binary"},408125543:{type:"master"},290298740:{type:"master"},19899:{type:"master"},21419:{type:"binary"},21420:{type:"uint"},357149030:{type:"master"},2807729:{type:"uint"},17545:{type:"float"},374648427:{type:"master"},174:{type:"master"},224:{type:"master"},30320:{type:"master"},30321:{type:"uint"},30322:{type:"master"},272869232:{type:"master"},524531317:{type:"master"},231:{type:"uint"},22612:{type:"master"},22743:{type:"uint"},167:{type:"uint"},171:{type:"uint"},163:{type:"binary"},160:{type:"master"},175:{type:"binary"},423732329:{type:"master"},307544935:{type:"master"},475249515:{type:"master"},187:{type:"master"},179:{type:"uint"},183:{type:"master"},247:{type:"uint"},241:{type:"uint"},240:{type:"uint"},178:{type:"uint"},21368:{type:"uint"},234:{type:"uint"},219:{type:"master"},150:{type:"uint"}},Og=a=>{let e=a.getUint8(0),t=0;e&128?t=1:e&64?t=2:e&32?t=3:e&16&&(t=4);let i=_a(a,t),r=i in Vg,s=r?Vg[i].type:"binary",n=a.getUint8(t),u=0;n&128?u=1:n&64?u=2:n&32?u=3:n&16?u=4:n&8?u=5:n&4?u=6:n&2?u=7:n&1&&(u=8);let o=new DataView(a.buffer,a.byteOffset+t+1,u-1),l=n&255>>u,p=_a(o),d=l*2**((u-1)*8)+p,c=t+u,h;return c+d>a.byteLength?h=new DataView(a.buffer,a.byteOffset+c):h=new DataView(a.buffer,a.byteOffset+c,d),{tag:r?i:"0x"+i.toString(16).toUpperCase(),type:s,tagHeaderSize:c,tagSize:c+d,value:h,valueSize:d}},_a=(a,e=a.byteLength)=>{switch(e){case 1:return a.getUint8(0);case 2:return a.getUint16(0);case 3:return a.getUint8(0)*2**16+a.getUint16(1);case 4:return a.getUint32(0);case 5:return a.getUint8(0)*2**32+a.getUint32(1);case 6:return a.getUint16(0)*2**32+a.getUint32(2);case 7:{let t=a.getUint8(0)*281474976710656+a.getUint16(1)*4294967296+a.getUint32(3);if(Number.isSafeInteger(t))return t}case 8:throw new ReferenceError("Int64 is not supported")}return 0},St=(a,e)=>{switch(e){case"int":return a.getInt8(0);case"uint":return _a(a);case"float":return a.byteLength===4?a.getFloat32(0):a.getFloat64(0);case"string":return new TextDecoder("ascii").decode(a);case"utf8":return new TextDecoder("utf-8").decode(a);case"date":return new Date(Date.UTC(2001,0)+a.getInt8(0)).getTime();case"master":return a;case"binary":return a;default:(0,_g.assertNever)(e)}},ki=(a,e)=>{let t=0;for(;t<a.byteLength;){let i=new DataView(a.buffer,a.byteOffset+t),r=Og(i);if(!e(r))return;r.type==="master"&&ki(r.value,e),t=r.value.byteOffset-a.byteOffset+r.valueSize}},Fg=a=>{if(a.getUint32(0)!==440786851)return!1;let e,t,i,r=Og(a);return ki(r.value,({tag:s,type:n,value:u})=>(s===17143?e=St(u,n):s===17026?t=St(u,n):s===17029&&(i=St(u,n)),!0)),(e===void 0||e<=1)&&t!==void 0&&t==="webm"&&(i===void 0||i<=2)};var Ng=[357149030,290298740,374648427,174,224,30320,30321,30322,272869232,524531317,475249515,423732329,307544935],Wk=[231,22612,22743,167,171,163,160,175],Gk=a=>{let e,t,i,r,s=!1,n=!1,u=!1,o,l,p=!1,d=0;return ki(a,({tag:c,type:h,value:m,valueSize:b})=>{if(c===21419){let S=St(m,h);l=_a(S)}else c!==21420&&(l=void 0);return c===408125543?(e=m.byteOffset,t=m.byteOffset+b):c===357149030?s=!0:c===290298740?n=!0:c===2807729?i=St(m,h):c===17545?r=St(m,h):c===21420&&l===475249515?o=St(m,h):c===374648427?ki(m,({tag:S,type:v,value:I})=>S===30321?(p=St(I,v)===1,!1):!0):s&&n&&(0,Oa.default)(Ng,c)&&(u=!0),!u}),(0,Ut.assertNonNullable)(e,"Failed to parse webm Segment start"),(0,Ut.assertNonNullable)(t,"Failed to parse webm Segment end"),(0,Ut.assertNonNullable)(r,"Failed to parse webm Segment duration"),i=i??1e6,{segmentStart:Math.round(e/1e9*i*1e3),segmentEnd:Math.round(t/1e9*i*1e3),timeScale:i,segmentDuration:Math.round(r/1e9*i*1e3),cuesSeekPosition:o,is3dVideo:p,stereoMode:d,projectionType:1,projectionData:{pose:{yaw:0,pitch:0,roll:0},bounds:{top:0,bottom:0,left:0,right:0}}}},zk=a=>{if((0,Ut.isNullable)(a.cuesSeekPosition))return;let e=a.segmentStart+a.cuesSeekPosition,t=1024*1024;return{from:e,to:e+t}},Yk=(a,e)=>{let t=!1,i=!1,r=u=>(0,Ut.isNonNullable)(u.time)&&(0,Ut.isNonNullable)(u.position),s=[],n;return ki(a,({tag:u,type:o,value:l})=>{switch(u){case 475249515:t=!0;break;case 187:n&&r(n)&&s.push(n),n={};break;case 179:n&&(n.time=St(l,o));break;case 183:break;case 241:n&&(n.position=St(l,o));break;default:t&&(0,Oa.default)(Ng,u)&&(i=!0)}return!(t&&i)}),n&&r(n)&&s.push(n),s.map((u,o)=>{let{time:l,position:p}=u,d=s[o+1];return{status:"none",time:{from:l,to:d?d.time:e.segmentDuration},byte:{from:e.segmentStart+p,to:d?e.segmentStart+d.position-1:e.segmentEnd-1}}})},Kk=a=>{let e=0,t=!1;try{ki(a,i=>i.tag===524531317?i.tagSize<=a.byteLength?(e=i.tagSize,!1):(e+=i.tagHeaderSize,!0):(0,Oa.default)(Wk,i.tag)?(e+i.tagSize<=a.byteLength&&(e+=i.tagSize,t||=(0,Oa.default)([163,160,175],i.tag)),!0):!1)}catch{}return e>0&&e<=a.byteLength&&t?new DataView(a.buffer,a.byteOffset,e):null},qg={validateData:Fg,parseInit:Gk,getIndexRange:zk,parseSegments:Yk,parseFeedableSegmentChunk:Kk};var Mt=a=>{let e=/^(.+)\/([^;]+)(?:;.*)?$/.exec(a);if(e){let[,t,i]=e;if(t==="audio"||t==="video")switch(i){case"webm":return qg;case"mp4":return Bg}}throw new ReferenceError(`Unsupported mime type ${a}`)};var Dt=a=>a instanceof DOMException&&(a.name==="AbortError"||a.code===20);var Al=W(cS(),1),$S=W(zi(),1),MS=W(AS(),1),DS=W(gt(),1),Pl=W(Si(),1);var PS=W(qe(),1),wl=a=>{let e=a.split("."),[t,...i]=e;if(!t)return!1;switch(t){case"av01":{let[r,s,n]=i;return!!(n&&parseInt(n,10)>8)}case"vp09":{let[r,s,n]=i;return!!(r&&parseInt(r,10)>=2&&n&&parseInt(n,10)>8)}case"avc1":{let r=i[0];if(!r||r.length!==6)return!1;let[s,n]=r.toUpperCase(),u=s+n;return(0,PS.default)(["6E","7A","F4"],u)}}return!1};var Fa=require("@vkontakte/videoplayer-shared");var kS=a=>{if(a.includes("/")){let e=a.split("/");return parseInt(e[0])/parseInt(e[1])}else return parseFloat(a)};var RS=a=>{try{let e=YR(),t=a.match(e),{groups:i}=t??{};if(i){let r={};if(i.extensions){let u=i.extensions.toLowerCase().match(/(?:[0-9a-wy-z](?:-[a-z0-9]{2,8})+)/g);Array.from(u||[]).forEach(o=>{r[o[0]]=o.slice(2)})}let s=i.variants?.split(/-/).filter(u=>u!==""),n={extlang:i.extlang,langtag:i.langtag,language:i.language,privateuse:i.privateuse||i.privateuse2,region:i.region,script:i.script,extensions:r,variants:s};return Object.keys(n).forEach(u=>{let o=n[u];(typeof o>"u"||o==="")&&delete n[u]}),n}return null}catch{return null}};function YR(){let a="(?<extlang>(?:[a-z]{3}(?:-[a-z]{3}){0,2}))",e="x(?:-[a-z0-9]{1,8})+",p=`^(?:(?<langtag>${`
118
118
  (?<language>${`(?:[a-z]{2,3}(?:-${a})?|[a-z]{4}|[a-z]{5,8})`})
119
119
  (-(?<script>[a-z]{4}))?
120
120
  (-(?<region>(?:[a-z]{2}|[0-9]{3})))?