@vkontakte/videoplayer-interactive 1.0.30-dev.9aa27113.0 → 1.0.30-dev.b736679d.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.
Files changed (34) hide show
  1. package/es2015.cjs.js +233 -5
  2. package/es2015.esm.js +234 -6
  3. package/es2018.cjs.js +234 -6
  4. package/es2018.esm.js +233 -5
  5. package/esnext.cjs.js +234 -6
  6. package/esnext.esm.js +234 -6
  7. package/evergreen.esm.js +234 -6
  8. package/package.json +4 -4
  9. package/types/modules/Interactives/Interactives.d.ts +19 -8
  10. package/types/modules/Interactives/Layout.d.ts +4 -0
  11. package/types/modules/Interactives/containers/ChoiceContainer.d.ts +16 -6
  12. package/types/modules/Interactives/containers/Container.d.ts +9 -6
  13. package/types/modules/Interactives/controls/AreaControl.d.ts +22 -2
  14. package/types/modules/Interactives/controls/ButtonControl.d.ts +27 -2
  15. package/types/modules/Interactives/controls/Control.d.ts +22 -9
  16. package/types/modules/Interactives/controls/types.d.ts +21 -7
  17. package/types/modules/Interactives/index.d.ts +69 -4
  18. package/types/modules/Interactives/styles.d.ts +1 -0
  19. package/types/modules/Interactives/types.d.ts +12 -4
  20. package/types/modules/Interactives/utils/BlinkAnimationReference.d.ts +2 -0
  21. package/types/modules/Interactives/utils/FillAnimation.d.ts +30 -0
  22. package/types/modules/Interactives/utils/GameController.d.ts +14 -6
  23. package/types/modules/Interactives/utils/InteractiveEvents.d.ts +2 -2
  24. package/types/modules/Interactives/utils/SelectBranches.d.ts +2 -1
  25. package/types/modules/Interactives/utils/SelectBranches.types.d.ts +1 -0
  26. package/types/modules/Interactives/utils/TapElement.d.ts +10 -0
  27. package/types/modules/Interactives/utils/events.types.d.ts +3 -1
  28. package/types/modules/Interactives/utils/renderingUtils.d.ts +15 -3
  29. package/types/utils/AverageColor/FrameAverageColor.d.ts +19 -0
  30. package/types/utils/AverageColor/helpers.d.ts +17 -0
  31. package/types/utils/AverageColor/index.d.ts +2 -0
  32. package/types/utils/getVideoContentSize.d.ts +1 -1
  33. package/types/utils/Binding.d.ts +0 -34
  34. package/types/utils/EventManager.d.ts +0 -13
package/es2018.cjs.js CHANGED
@@ -1,9 +1,9 @@
1
1
  /**
2
- * @vkontakte/videoplayer-interactive v1.0.30-dev.9aa27113.0
3
- * Tue, 04 Feb 2025 19:28:57 GMT
2
+ * @vkontakte/videoplayer-interactive v1.0.30-dev.b736679d.0
3
+ * Sat, 01 Feb 2025 17:10:24 GMT
4
4
  * https://st.mycdn.me/static/vkontakte-videoplayer/1-0-30/doc/
5
5
  */
6
- "use strict";var Oo=Object.create;var nt=Object.defineProperty;var Po=Object.getOwnPropertyDescriptor;var Mo=Object.getOwnPropertyNames;var ko=Object.getPrototypeOf,Vo=Object.prototype.hasOwnProperty;var oi=r=>{throw TypeError(r)};var u=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),jo=(r,e)=>{for(var t in e)nt(r,t,{get:e[t],enumerable:!0})},li=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Mo(e))!Vo.call(r,n)&&n!==t&&nt(r,n,{get:()=>e[n],enumerable:!(i=Po(e,n))||i.enumerable});return r};var Q=(r,e,t)=>(t=r!=null?Oo(ko(r)):{},li(e||!r||!r.__esModule?nt(t,"default",{value:r,enumerable:!0}):t,r)),Lo=r=>li(nt({},"__esModule",{value:!0}),r);var ci=(r,e,t)=>e.has(r)||oi("Cannot "+t);var T=(r,e,t)=>(ci(r,e,"read from private field"),t?t.call(r):e.get(r)),F=(r,e,t)=>e.has(r)?oi("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),j=(r,e,t,i)=>(ci(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t);var ui=(r,e,t,i)=>({set _(n){j(r,e,n,t)},get _(){return T(r,e,i)}});var Y=u((rr,vi)=>{"use strict";var Pe=function(r){return r&&r.Math===Math&&r};vi.exports=Pe(typeof globalThis=="object"&&globalThis)||Pe(typeof window=="object"&&window)||Pe(typeof self=="object"&&self)||Pe(typeof global=="object"&&global)||Pe(typeof rr=="object"&&rr)||function(){return this}()||Function("return this")()});var q=u((Lh,bi)=>{"use strict";bi.exports=function(r){try{return!!r()}catch(e){return!0}}});var Me=u(($h,gi)=>{"use strict";var No=q();gi.exports=!No(function(){var r=function(){}.bind();return typeof r!="function"||r.hasOwnProperty("prototype")})});var Ti=u((Nh,xi)=>{"use strict";var _o=Me(),Ii=Function.prototype,Ci=Ii.apply,Ei=Ii.call;xi.exports=typeof Reflect=="object"&&Reflect.apply||(_o?Ei.bind(Ci):function(){return Ei.apply(Ci,arguments)})});var G=u((_h,Ai)=>{"use strict";var Si=Me(),wi=Function.prototype,ir=wi.call,Fo=Si&&wi.bind.bind(ir,ir);Ai.exports=Si?Fo:function(r){return function(){return ir.apply(r,arguments)}}});var ke=u((Fh,Oi)=>{"use strict";var Ri=G(),qo=Ri({}.toString),Bo=Ri("".slice);Oi.exports=function(r){return Bo(qo(r),8,-1)}});var nr=u((qh,Pi)=>{"use strict";var Do=ke(),Ho=G();Pi.exports=function(r){if(Do(r)==="Function")return Ho(r)}});var B=u((Bh,Mi)=>{"use strict";var sr=typeof document=="object"&&document.all;Mi.exports=typeof sr=="undefined"&&sr!==void 0?function(r){return typeof r=="function"||r===sr}:function(r){return typeof r=="function"}});var oe=u((Dh,ki)=>{"use strict";var Go=q();ki.exports=!Go(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var yt=u((Hh,Vi)=>{"use strict";var Uo=Me(),mt=Function.prototype.call;Vi.exports=Uo?mt.bind(mt):function(){return mt.apply(mt,arguments)}});var ar=u($i=>{"use strict";var ji={}.propertyIsEnumerable,Li=Object.getOwnPropertyDescriptor,zo=Li&&!ji.call({1:2},1);$i.f=zo?function(e){var t=Li(this,e);return!!t&&t.enumerable}:ji});var or=u((Uh,Ni)=>{"use strict";Ni.exports=function(r,e){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:e}}});var Fi=u((zh,_i)=>{"use strict";var Wo=G(),Ko=q(),Qo=ke(),lr=Object,Yo=Wo("".split);_i.exports=Ko(function(){return!lr("z").propertyIsEnumerable(0)})?function(r){return Qo(r)==="String"?Yo(r,""):lr(r)}:lr});var cr=u((Wh,qi)=>{"use strict";qi.exports=function(r){return r==null}});var ur=u((Kh,Bi)=>{"use strict";var Xo=cr(),Zo=TypeError;Bi.exports=function(r){if(Xo(r))throw new Zo("Can't call method on "+r);return r}});var Ve=u((Qh,Di)=>{"use strict";var Jo=Fi(),el=ur();Di.exports=function(r){return Jo(el(r))}});var ge=u((Yh,Hi)=>{"use strict";var tl=B();Hi.exports=function(r){return typeof r=="object"?r!==null:tl(r)}});var vt=u((Xh,Gi)=>{"use strict";Gi.exports={}});var bt=u((Zh,zi)=>{"use strict";var pr=vt(),hr=Y(),rl=B(),Ui=function(r){return rl(r)?r:void 0};zi.exports=function(r,e){return arguments.length<2?Ui(pr[r])||Ui(hr[r]):pr[r]&&pr[r][e]||hr[r]&&hr[r][e]}});var Ki=u((Jh,Wi)=>{"use strict";var il=G();Wi.exports=il({}.isPrototypeOf)});var Zi=u((ed,Xi)=>{"use strict";var nl=Y(),Qi=nl.navigator,Yi=Qi&&Qi.userAgent;Xi.exports=Yi?String(Yi):""});var an=u((td,sn)=>{"use strict";var nn=Y(),dr=Zi(),Ji=nn.process,en=nn.Deno,tn=Ji&&Ji.versions||en&&en.version,rn=tn&&tn.v8,U,gt;rn&&(U=rn.split("."),gt=U[0]>0&&U[0]<4?1:+(U[0]+U[1]));!gt&&dr&&(U=dr.match(/Edge\/(\d+)/),(!U||U[1]>=74)&&(U=dr.match(/Chrome\/(\d+)/),U&&(gt=+U[1])));sn.exports=gt});var fr=u((rd,ln)=>{"use strict";var on=an(),sl=q(),al=Y(),ol=al.String;ln.exports=!!Object.getOwnPropertySymbols&&!sl(function(){var r=Symbol("symbol detection");return!ol(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&on&&on<41})});var mr=u((id,cn)=>{"use strict";var ll=fr();cn.exports=ll&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var yr=u((nd,un)=>{"use strict";var cl=bt(),ul=B(),pl=Ki(),hl=mr(),dl=Object;un.exports=hl?function(r){return typeof r=="symbol"}:function(r){var e=cl("Symbol");return ul(e)&&pl(e.prototype,dl(r))}});var hn=u((sd,pn)=>{"use strict";var fl=String;pn.exports=function(r){try{return fl(r)}catch(e){return"Object"}}});var vr=u((ad,dn)=>{"use strict";var ml=B(),yl=hn(),vl=TypeError;dn.exports=function(r){if(ml(r))return r;throw new vl(yl(r)+" is not a function")}});var mn=u((od,fn)=>{"use strict";var bl=vr(),gl=cr();fn.exports=function(r,e){var t=r[e];return gl(t)?void 0:bl(t)}});var vn=u((ld,yn)=>{"use strict";var br=yt(),gr=B(),Cr=ge(),Cl=TypeError;yn.exports=function(r,e){var t,i;if(e==="string"&&gr(t=r.toString)&&!Cr(i=br(t,r))||gr(t=r.valueOf)&&!Cr(i=br(t,r))||e!=="string"&&gr(t=r.toString)&&!Cr(i=br(t,r)))return i;throw new Cl("Can't convert object to primitive value")}});var gn=u((cd,bn)=>{"use strict";bn.exports=!0});var In=u((ud,En)=>{"use strict";var Cn=Y(),El=Object.defineProperty;En.exports=function(r,e){try{El(Cn,r,{value:e,configurable:!0,writable:!0})}catch(t){Cn[r]=e}return e}});var Ct=u((pd,Sn)=>{"use strict";var Il=gn(),xl=Y(),Tl=In(),xn="__core-js_shared__",Tn=Sn.exports=xl[xn]||Tl(xn,{});(Tn.versions||(Tn.versions=[])).push({version:"3.38.0",mode:Il?"pure":"global",copyright:"\xA9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.0/LICENSE",source:"https://github.com/zloirock/core-js"})});var Er=u((hd,An)=>{"use strict";var wn=Ct();An.exports=function(r,e){return wn[r]||(wn[r]=e||{})}});var je=u((dd,Rn)=>{"use strict";var Sl=ur(),wl=Object;Rn.exports=function(r){return wl(Sl(r))}});var Ce=u((fd,On)=>{"use strict";var Al=G(),Rl=je(),Ol=Al({}.hasOwnProperty);On.exports=Object.hasOwn||function(e,t){return Ol(Rl(e),t)}});var Ir=u((md,Pn)=>{"use strict";var Pl=G(),Ml=0,kl=Math.random(),Vl=Pl(1 .toString);Pn.exports=function(r){return"Symbol("+(r===void 0?"":r)+")_"+Vl(++Ml+kl,36)}});var Le=u((yd,kn)=>{"use strict";var jl=Y(),Ll=Er(),Mn=Ce(),$l=Ir(),Nl=fr(),_l=mr(),Ee=jl.Symbol,xr=Ll("wks"),Fl=_l?Ee.for||Ee:Ee&&Ee.withoutSetter||$l;kn.exports=function(r){return Mn(xr,r)||(xr[r]=Nl&&Mn(Ee,r)?Ee[r]:Fl("Symbol."+r)),xr[r]}});var $n=u((vd,Ln)=>{"use strict";var ql=yt(),Vn=ge(),jn=yr(),Bl=mn(),Dl=vn(),Hl=Le(),Gl=TypeError,Ul=Hl("toPrimitive");Ln.exports=function(r,e){if(!Vn(r)||jn(r))return r;var t=Bl(r,Ul),i;if(t){if(e===void 0&&(e="default"),i=ql(t,r,e),!Vn(i)||jn(i))return i;throw new Gl("Can't convert object to primitive value")}return e===void 0&&(e="number"),Dl(r,e)}});var Tr=u((bd,Nn)=>{"use strict";var zl=$n(),Wl=yr();Nn.exports=function(r){var e=zl(r,"string");return Wl(e)?e:e+""}});var qn=u((gd,Fn)=>{"use strict";var Kl=Y(),_n=ge(),Sr=Kl.document,Ql=_n(Sr)&&_n(Sr.createElement);Fn.exports=function(r){return Ql?Sr.createElement(r):{}}});var wr=u((Cd,Bn)=>{"use strict";var Yl=oe(),Xl=q(),Zl=qn();Bn.exports=!Yl&&!Xl(function(){return Object.defineProperty(Zl("div"),"a",{get:function(){return 7}}).a!==7})});var Gn=u(Hn=>{"use strict";var Jl=oe(),ec=yt(),tc=ar(),rc=or(),ic=Ve(),nc=Tr(),sc=Ce(),ac=wr(),Dn=Object.getOwnPropertyDescriptor;Hn.f=Jl?Dn:function(e,t){if(e=ic(e),t=nc(t),ac)try{return Dn(e,t)}catch(i){}if(sc(e,t))return rc(!ec(tc.f,e,t),e[t])}});var zn=u((Id,Un)=>{"use strict";var oc=q(),lc=B(),cc=/#|\.prototype\./,$e=function(r,e){var t=pc[uc(r)];return t===dc?!0:t===hc?!1:lc(e)?oc(e):!!e},uc=$e.normalize=function(r){return String(r).replace(cc,".").toLowerCase()},pc=$e.data={},hc=$e.NATIVE="N",dc=$e.POLYFILL="P";Un.exports=$e});var Ar=u((xd,Kn)=>{"use strict";var Wn=nr(),fc=vr(),mc=Me(),yc=Wn(Wn.bind);Kn.exports=function(r,e){return fc(r),e===void 0?r:mc?yc(r,e):function(){return r.apply(e,arguments)}}});var Yn=u((Td,Qn)=>{"use strict";var vc=oe(),bc=q();Qn.exports=vc&&bc(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var Zn=u((Sd,Xn)=>{"use strict";var gc=ge(),Cc=String,Ec=TypeError;Xn.exports=function(r){if(gc(r))return r;throw new Ec(Cc(r)+" is not an object")}});var ts=u(es=>{"use strict";var Ic=oe(),xc=wr(),Tc=Yn(),Et=Zn(),Jn=Tr(),Sc=TypeError,Rr=Object.defineProperty,wc=Object.getOwnPropertyDescriptor,Or="enumerable",Pr="configurable",Mr="writable";es.f=Ic?Tc?function(e,t,i){if(Et(e),t=Jn(t),Et(i),typeof e=="function"&&t==="prototype"&&"value"in i&&Mr in i&&!i[Mr]){var n=wc(e,t);n&&n[Mr]&&(e[t]=i.value,i={configurable:Pr in i?i[Pr]:n[Pr],enumerable:Or in i?i[Or]:n[Or],writable:!1})}return Rr(e,t,i)}:Rr:function(e,t,i){if(Et(e),t=Jn(t),Et(i),xc)try{return Rr(e,t,i)}catch(n){}if("get"in i||"set"in i)throw new Sc("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var is=u((Ad,rs)=>{"use strict";var Ac=oe(),Rc=ts(),Oc=or();rs.exports=Ac?function(r,e,t){return Rc.f(r,e,Oc(1,t))}:function(r,e,t){return r[e]=t,r}});var _e=u((Rd,ss)=>{"use strict";var Ne=Y(),Pc=Ti(),Mc=nr(),kc=B(),Vc=Gn().f,jc=zn(),Ie=vt(),Lc=Ar(),xe=is(),ns=Ce();Ct();var $c=function(r){var e=function(t,i,n){if(this instanceof e){switch(arguments.length){case 0:return new r;case 1:return new r(t);case 2:return new r(t,i)}return new r(t,i,n)}return Pc(r,this,arguments)};return e.prototype=r.prototype,e};ss.exports=function(r,e){var t=r.target,i=r.global,n=r.stat,s=r.proto,o=i?Ne:n?Ne[t]:Ne[t]&&Ne[t].prototype,l=i?Ie:Ie[t]||xe(Ie,t,{})[t],a=l.prototype,c,f,b,m,x,O,M,d,V;for(m in e)c=jc(i?m:t+(n?".":"#")+m,r.forced),f=!c&&o&&ns(o,m),O=l[m],f&&(r.dontCallGetSet?(V=Vc(o,m),M=V&&V.value):M=o[m]),x=f&&M?M:e[m],!(!c&&!s&&typeof O==typeof x)&&(r.bind&&f?d=Lc(x,Ne):r.wrap&&f?d=$c(x):s&&kc(x)?d=Mc(x):d=x,(r.sham||x&&x.sham||O&&O.sham)&&xe(d,"sham",!0),xe(l,m,d),s&&(b=t+"Prototype",ns(Ie,b)||xe(Ie,b,{}),xe(Ie[b],m,x),r.real&&a&&(c||!a[m])&&xe(a,m,x)))}});var os=u((Od,as)=>{"use strict";var Nc=Math.ceil,_c=Math.floor;as.exports=Math.trunc||function(e){var t=+e;return(t>0?_c:Nc)(t)}});var Fe=u((Pd,ls)=>{"use strict";var Fc=os();ls.exports=function(r){var e=+r;return e!==e||e===0?0:Fc(e)}});var us=u((Md,cs)=>{"use strict";var qc=Fe(),Bc=Math.min;cs.exports=function(r){var e=qc(r);return e>0?Bc(e,9007199254740991):0}});var qe=u((kd,ps)=>{"use strict";var Dc=us();ps.exports=function(r){return Dc(r.length)}});var It=u((Vd,hs)=>{"use strict";hs.exports=function(){}});var ds=u(()=>{"use strict";var Hc=_e(),Gc=je(),Uc=qe(),zc=Fe(),Wc=It();Hc({target:"Array",proto:!0},{at:function(e){var t=Gc(this),i=Uc(t),n=zc(e),s=n>=0?n:i+n;return s<0||s>=i?void 0:t[s]}});Wc("at")});var xt=u(($d,fs)=>{"use strict";var Kc=bt();fs.exports=Kc});var ys=u((Nd,ms)=>{"use strict";ds();var Qc=xt();ms.exports=Qc("Array","at")});var bs=u((_d,vs)=>{"use strict";var Yc=ys();vs.exports=Yc});var kr=u((Fd,gs)=>{"use strict";var Xc=bs();gs.exports=Xc});var js=u((qf,Vs)=>{"use strict";var pu=Er(),hu=Ir(),ks=pu("keys");Vs.exports=function(r){return ks[r]||(ks[r]=hu(r))}});var $s=u((Bf,Ls)=>{"use strict";var du=q();Ls.exports=!du(function(){function r(){}return r.prototype.constructor=null,Object.getPrototypeOf(new r)!==r.prototype})});var Fs=u((Df,_s)=>{"use strict";var fu=Ce(),mu=B(),yu=je(),vu=js(),bu=$s(),Ns=vu("IE_PROTO"),Dr=Object,gu=Dr.prototype;_s.exports=bu?Dr.getPrototypeOf:function(r){var e=yu(r);if(fu(e,Ns))return e[Ns];var t=e.constructor;return mu(t)&&e instanceof t?t.prototype:e instanceof Dr?gu:null}});var Bs=u((Hf,qs)=>{"use strict";var Cu=Fe(),Eu=Math.max,Iu=Math.min;qs.exports=function(r,e){var t=Cu(r);return t<0?Eu(t+e,0):Iu(t,e)}});var Hr=u((Gf,Hs)=>{"use strict";var xu=Ve(),Tu=Bs(),Su=qe(),Ds=function(r){return function(e,t,i){var n=xu(e),s=Su(n);if(s===0)return!r&&-1;var o=Tu(i,s),l;if(r&&t!==t){for(;s>o;)if(l=n[o++],l!==l)return!0}else for(;s>o;o++)if((r||o in n)&&n[o]===t)return r||o||0;return!r&&-1}};Hs.exports={includes:Ds(!0),indexOf:Ds(!1)}});var Us=u((Uf,Gs)=>{"use strict";Gs.exports={}});var Ks=u((zf,Ws)=>{"use strict";var wu=G(),Gr=Ce(),Au=Ve(),Ru=Hr().indexOf,Ou=Us(),zs=wu([].push);Ws.exports=function(r,e){var t=Au(r),i=0,n=[],s;for(s in t)!Gr(Ou,s)&&Gr(t,s)&&zs(n,s);for(;e.length>i;)Gr(t,s=e[i++])&&(~Ru(n,s)||zs(n,s));return n}});var Ys=u((Wf,Qs)=>{"use strict";Qs.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Zs=u((Kf,Xs)=>{"use strict";var Pu=Ks(),Mu=Ys();Xs.exports=Object.keys||function(e){return Pu(e,Mu)}});var na=u((Qf,ia)=>{"use strict";var ea=oe(),ku=q(),ta=G(),Vu=Fs(),ju=Zs(),Lu=Ve(),$u=ar().f,ra=ta($u),Nu=ta([].push),_u=ea&&ku(function(){var r=Object.create(null);return r[2]=2,!ra(r,2)}),Js=function(r){return function(e){for(var t=Lu(e),i=ju(t),n=_u&&Vu(t)===null,s=i.length,o=0,l=[],a;s>o;)a=i[o++],(!ea||(n?a in t:ra(t,a)))&&Nu(l,r?[a,t[a]]:t[a]);return l}};ia.exports={entries:Js(!0),values:Js(!1)}});var sa=u(()=>{"use strict";var Fu=_e(),qu=na().values;Fu({target:"Object",stat:!0},{values:function(e){return qu(e)}})});var oa=u((Zf,aa)=>{"use strict";sa();var Bu=vt();aa.exports=Bu.Object.values});var ca=u((Jf,la)=>{"use strict";var Du=oa();la.exports=Du});var $t=u((em,ua)=>{"use strict";var Hu=ca();ua.exports=Hu});var da=u(()=>{"use strict";var Gu=_e(),Uu=Hr().includes,zu=q(),Wu=It(),Ku=zu(function(){return!Array(1).includes()});Gu({target:"Array",proto:!0,forced:Ku},{includes:function(e){return Uu(this,e,arguments.length>1?arguments[1]:void 0)}});Wu("includes")});var ma=u((sm,fa)=>{"use strict";da();var Qu=xt();fa.exports=Qu("Array","includes")});var va=u((am,ya)=>{"use strict";var Yu=ma();ya.exports=Yu});var Nt=u((om,ba)=>{"use strict";var Xu=va();ba.exports=Xu});var Kr=u((Im,Sa)=>{"use strict";var Ju=ke();Sa.exports=Array.isArray||function(e){return Ju(e)==="Array"}});var Aa=u((xm,wa)=>{"use strict";var ep=TypeError,tp=9007199254740991;wa.exports=function(r){if(r>tp)throw ep("Maximum allowed index exceeded");return r}});var Pa=u((Tm,Oa)=>{"use strict";var rp=Kr(),ip=qe(),np=Aa(),sp=Ar(),Ra=function(r,e,t,i,n,s,o,l){for(var a=n,c=0,f=o?sp(o,l):!1,b,m;c<i;)c in t&&(b=f?f(t[c],c,e):t[c],s>0&&rp(b)?(m=ip(b),a=Ra(r,e,b,m,a,s-1)-1):(np(a+1),r[a]=b),a++),c++;return a};Oa.exports=Ra});var Va=u((Sm,ka)=>{"use strict";var ap=Le(),op=ap("toStringTag"),Ma={};Ma[op]="z";ka.exports=String(Ma)==="[object z]"});var La=u((wm,ja)=>{"use strict";var lp=Va(),cp=B(),Ft=ke(),up=Le(),pp=up("toStringTag"),hp=Object,dp=Ft(function(){return arguments}())==="Arguments",fp=function(r,e){try{return r[e]}catch(t){}};ja.exports=lp?Ft:function(r){var e,t,i;return r===void 0?"Undefined":r===null?"Null":typeof(t=fp(e=hp(r),pp))=="string"?t:dp?Ft(e):(i=Ft(e))==="Object"&&cp(e.callee)?"Arguments":i}});var Na=u((Am,$a)=>{"use strict";var mp=G(),yp=B(),Qr=Ct(),vp=mp(Function.toString);yp(Qr.inspectSource)||(Qr.inspectSource=function(r){return vp(r)});$a.exports=Qr.inspectSource});var Ha=u((Rm,Da)=>{"use strict";var bp=G(),gp=q(),_a=B(),Cp=La(),Ep=bt(),Ip=Na(),Fa=function(){},qa=Ep("Reflect","construct"),Yr=/^\s*(?:class|function)\b/,xp=bp(Yr.exec),Tp=!Yr.test(Fa),Ze=function(e){if(!_a(e))return!1;try{return qa(Fa,[],e),!0}catch(t){return!1}},Ba=function(e){if(!_a(e))return!1;switch(Cp(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Tp||!!xp(Yr,Ip(e))}catch(t){return!0}};Ba.sham=!0;Da.exports=!qa||gp(function(){var r;return Ze(Ze.call)||!Ze(Object)||!Ze(function(){r=!0})||r})?Ba:Ze});var Wa=u((Om,za)=>{"use strict";var Ga=Kr(),Sp=Ha(),wp=ge(),Ap=Le(),Rp=Ap("species"),Ua=Array;za.exports=function(r){var e;return Ga(r)&&(e=r.constructor,Sp(e)&&(e===Ua||Ga(e.prototype))?e=void 0:wp(e)&&(e=e[Rp],e===null&&(e=void 0))),e===void 0?Ua:e}});var Qa=u((Pm,Ka)=>{"use strict";var Op=Wa();Ka.exports=function(r,e){return new(Op(r))(e===0?0:e)}});var Ya=u(()=>{"use strict";var Pp=_e(),Mp=Pa(),kp=je(),Vp=qe(),jp=Fe(),Lp=Qa();Pp({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:void 0,t=kp(this),i=Vp(t),n=Lp(t,0);return n.length=Mp(n,t,t,i,0,e===void 0?1:jp(e)),n}})});var Xa=u(()=>{"use strict";var $p=It();$p("flat")});var Ja=u((Lm,Za)=>{"use strict";Ya();Xa();var Np=xt();Za.exports=Np("Array","flat")});var to=u(($m,eo)=>{"use strict";var _p=Ja();eo.exports=_p});var io=u((Nm,ro)=>{"use strict";var Fp=to();ro.exports=Fp});var Kp={};jo(Kp,{ContainerTypes:()=>v.ContainerTypes,ControlTypes:()=>v.ControlTypes,CustomError:()=>L,EVENT_NAMES:()=>A,EventActionTypes:()=>v.EventActionTypes,EventTypes:()=>v.EventTypes,Interactives:()=>tt,ManifestController:()=>he,SDKInfo:()=>Wp,chapterIdsToVKVideoIds:()=>Bt,compareVersions:()=>Vt,containerTypes:()=>tu,controlTypes:()=>ru,eventActionTypes:()=>nu,eventTypes:()=>iu,getChapterIdByVkVideoId:()=>To,getVKVideoIdByMedia:()=>Jr,getVideoRawIdByMedia:()=>Io,graphEventTypes:()=>we,hasEndTemplate:()=>Ye,interactivesEventTypes:()=>k,isAreaControl:()=>eu,isButtonControl:()=>Jc,isLastChapter:()=>z,isOneTextCtrlContainer:()=>pe,isSupportedManifest:()=>v.isSupportedManifest,isTextControl:()=>ze,isVKVariantItem:()=>xo,isValidManifest:()=>Lr,migrateManifestToLatestVersion:()=>v.migrateManifestToLatestVersion,utils:()=>Ro,vkVideoIdsToChapterIds:()=>ei});module.exports=Lo(Kp);var pi="1.0.30-dev.9aa27113.0";function Qt(r,e=1){let t="0",i="0",n="0";return r.length===4?(t="0x"+r[1]+r[1],i="0x"+r[2]+r[2],n="0x"+r[3]+r[3]):r.length===7&&(t="0x"+r[1]+r[2],i="0x"+r[3]+r[4],n="0x"+r[5]+r[6]),`rgba(${+t},${+i},${+n},${e})`}var _="interactive",$o="interactive-controls-container",st=()=>document.querySelector(`.${$o}`),hi=.4,$={textColor:"#000",textSize:.4,textContent:"",roundCorners:0,borderWidth:0,borderColor:"#000",borderAlpha:1,backgroundColor:"#fff",backgroundAlpha:1,innerSizesDependOn:"self",angle:0},di=(i=>(i.top="flex-start",i.bottom="flex-end",i.center="center",i))(di||{}),fi=(i=>(i.start="flex-start",i.end="flex-end",i.center="center",i))(fi||{}),mi=(i=>(i.start="left",i.end="right",i.center="center",i))(mi||{}),at=({target:r,props:e})=>{var t,i,n;r.style.alignItems=(t=(e==null?void 0:e.gravityVertical)&&di[e.gravityVertical])!=null?t:"center",r.style.justifyContent=(i=(e==null?void 0:e.gravityHorizontal)&&fi[e.gravityHorizontal])!=null?i:"center",r.style.textAlign=(n=(e==null?void 0:e.alignment)&&mi[e.alignment])!=null?n:"left"},ot=({target:r,props:e,fallback:t,dependsOn:i})=>{var n,s,o,l,a,c;r.style.color=(s=(n=e==null?void 0:e.text)==null?void 0:n.color)!=null?s:t.textColor,r.style.fontSize=`calc(${i.height} * ${(l=(o=e==null?void 0:e.text)==null?void 0:o.size)!=null?l:t.textSize})`,r.textContent=(c=(a=e==null?void 0:e.text)==null?void 0:a.value)!=null?c:t.textContent},lt=({target:r,props:e,fallback:t})=>{var i,n,s,o;r.style.backgroundColor=Qt((n=(i=e==null?void 0:e.background)==null?void 0:i.color)!=null?n:t.backgroundColor,(o=(s=e==null?void 0:e.background)==null?void 0:s.alpha)!=null?o:t.backgroundAlpha)},ct=({target:r,props:e,fallback:t,dependsOn:i})=>{var n,s,o,l,a,c,f,b,m,x,O;r.style.border=`calc(${i.height} * ${(o=(s=(n=e==null?void 0:e.shape)==null?void 0:n.border)==null?void 0:s.width)!=null?o:t.borderWidth}) solid ${Qt((c=(a=(l=e==null?void 0:e.shape)==null?void 0:l.border)==null?void 0:a.color)!=null?c:t.borderColor,(m=(b=(f=e==null?void 0:e.shape)==null?void 0:f.border)==null?void 0:b.alpha)!=null?m:t.borderAlpha)}`,r.style.borderRadius=`calc(${i.height} * ${(O=(x=e==null?void 0:e.shape)==null?void 0:x.roundCorners)!=null?O:t.roundCorners})`},ve=({target:r,layoutParams:e,fallback:t})=>{var n;let i=(n=e.angle)!=null?n:t.angle;i=i&&i*-1,r.style.transform=`rotate(${i}rad)`};var ee=class{constructor(e){this.control=e;this.container=null;this.controlElement=null;this.clickListener=null}createContainerElement(e){var n;let t=document.createElement("div");t.classList.add(`${_}-control-container-${this.control.id}`),e(t,this.control.layoutParams);let i=((n=this.control.layoutParams.innerSizesDependOn)!=null?n:$.innerSizesDependOn)==="self"?{height:t.style.height,width:t.style.width}:{height:"var(--interactive-content-height)",width:"var(--interactive-content-width)"};this.container={element:t,dimensions:i}}createClickListener(e){return t=>{t.stopPropagation(),e()}}setEvents(e){!this.container||!this.control.events||this.control.events.forEach(t=>{var n;switch(t.type.trim().toLowerCase()){case"onclick":this.clickListener=this.createClickListener(()=>e({action:t.action,controlId:this.control.id,controlType:this.control.type})),(n=this.container)==null||n.element.addEventListener("click",this.clickListener);break;default:break}})}removeListeners(){var e,t;(e=this.container)!=null&&e.element&&this.clickListener&&((t=this.container)==null||t.element.removeEventListener("click",this.clickListener))}};var Yt="int",ae=(i=>(i.AREA=`${Yt}_area`,i.TEXT=`${Yt}_text`,i.BUTTON=`${Yt}_bttn`,i))(ae||{});var ut=r=>{if(r.type.trim().toLowerCase()==="area")return new Xt(r)},Xt=class extends ee{constructor(e){super(e)}createView({parentElement:e,layoutCallback:t}){if(super.createContainerElement(t),!this.container)return;let i=document.createElement("button");i.type="button",i.classList.add(`${_}-${this.control.id}`),i.setAttribute("data-testid",ae.AREA),i.style.display="flex",i.style.width="100%",i.style.height="100%",i.style.cursor="pointer",lt({target:i,props:this.control.props,fallback:{...$,backgroundColor:"transparent"}}),ct({target:i,props:this.control.props,fallback:{...$,borderAlpha:0},dependsOn:this.container.dimensions}),ve({target:i,layoutParams:this.control.layoutParams,fallback:$}),this.container.element.append(i),e.append(this.container.element),this.controlElement=i}disable(){this.controlElement&&(this.controlElement.style.cursor="default")}enable(){this.controlElement&&(this.controlElement.style.cursor="pointer")}getElement(){return this.controlElement}};var pt=()=>{let r=document.createElement("span");return r.style.display="inline-block",r.style.whiteSpace="pre",r.style.overflow="hidden",r.style.textOverflow="ellipsis",r.style.maxWidth="100%",r.style.maxHeight="100%",r};var ht=r=>{if(r.type.trim().toLowerCase()==="button")return new Zt(r)},Zt=class extends ee{constructor(e){super(e)}createView({parentElement:e,layoutCallback:t}){if(super.createContainerElement(t),!this.container)return;let i=document.createElement("button");i.type="button",i.classList.add(`${_}-${this.control.id}`),i.setAttribute("data-testid",ae.BUTTON),i.style.display="flex",i.style.width="100%",i.style.height="100%",i.style.cursor="pointer",i.style.fontFamily="inherit",ve({target:i,layoutParams:this.control.layoutParams,fallback:$}),lt({target:i,props:this.control.props,fallback:$}),ct({target:i,props:this.control.props,fallback:$,dependsOn:this.container.dimensions}),at({target:i,props:{...this.control.props.text,alignment:this.control.layoutParams.alignment}});let n=pt();ot({target:n,props:this.control.props,fallback:$,dependsOn:this.container.dimensions}),i.append(n),this.container.element.append(i),e.append(this.container.element),this.controlElement=i}disable(){this.controlElement&&(this.controlElement.style.cursor="default")}enable(){this.controlElement&&(this.controlElement.style.cursor="pointer")}getElement(){return this.controlElement}};var yi=r=>{if(r.type.trim().toLowerCase()==="text")return new Jt(r)},Jt=class extends ee{constructor(e){super(e)}createView({parentElement:e,layoutCallback:t}){if(super.createContainerElement(t),!this.container)return;let i=document.createElement("div");i.classList.add(`${_}-${this.control.id}`),i.setAttribute("data-testid",ae.TEXT),i.style.display="flex",i.style.width="100%",i.style.height="100%",i.style.fontFamily="inherit",ve({target:i,layoutParams:this.control.layoutParams,fallback:$}),at({target:i,props:{...this.control.props.text,alignment:this.control.layoutParams.alignment}});let n=pt();ot({target:n,props:this.control.props,fallback:$,dependsOn:this.container.dimensions}),i.append(n),this.container.element.append(i),e.append(this.container.element),this.controlElement=i}disable(){}enable(){}getElement(){return this.controlElement}};var er=class{constructor(e){this.layout=e}},dt=class extends er{constructor(e){super(e)}setContainerLayout(e){e.style.position="relative"}setControlLayout(e,t){e.style.position="absolute",e.style.width=`calc(var(--interactive-content-width) * ${t.width})`,e.style.height=`calc(var(--interactive-content-height) * ${t.height})`,e.style.left=`calc(var(--interactive-content-width) * ${t.x} + ((var(--interactive-width) - var(--interactive-content-width)) / 2))`,e.style.top=`calc(var(--interactive-content-height) * ${t.y} + ((var(--interactive-height) - var(--interactive-content-height)) / 2))`}};var be=class{constructor(e){this.container=e,this.factories=new Map,this.controls=[],this.setControls()}addControlFactory(e,t){this.factories.set(e.trim().toLowerCase(),t),this.setControls()}removeControlFactory(e){this.factories.delete(e.trim().toLowerCase()),this.setControls()}setControls(){this.controls=this.chooseControls()}chooseControls(){var e;return((e=this.container.controls)==null?void 0:e.reduce((t,i)=>{let n=i.type.trim().toLowerCase(),s=this.factories.get(n);if(s){let o=s(i);if(o)return[...t,o]}return[...t]},[]))||[]}};var ft=(r,e)=>{if(r.type.trim().toLowerCase()==="choice")return new tr(r,e)},tr=class extends be{constructor(e,t){super(e),this.rootElement=t!=null?t:st(),this.layout=new dt(this.container.layout),this.isRemoved=!1,this.isDisabled=!1,this.addControlFactory("button",ht),this.addControlFactory("text",yi),this.addControlFactory("area",ut)}createView(e){let t=document.createElement("div");return t.classList.add(`${_}-${this.container.id}`),this.layout.setContainerLayout(t),this.controls.forEach(i=>{i.createView({parentElement:t,layoutCallback:this.layout.setControlLayout}),i.setEvents(e)}),this.rootElement.append(t),this.isRemoved=!1,t}hide(){let e=this.getElement();e&&(e.style.visibility="hidden")}show(){let e=this.getElement();e&&(e.style.visibility="visible")}enable(){let e=this.getElement();e&&(this.controls.forEach(t=>t.enable()),e.style.opacity="1",this.isDisabled=!1)}disable(){let e=this.getElement();e&&(this.controls.forEach(t=>t.disable()),e.style.opacity=`${hi}`,this.isDisabled=!0)}removeView(){var e;this.isRemoved||(this.controls.forEach(t=>t.removeListeners()),(e=this.getElement())==null||e.remove(),this.isRemoved=!0)}getElement(){return this.rootElement.querySelector(`.${_}-${this.container.id}`)}};var Ao=Q(kr(),1),E=require("@vkontakte/videoplayer-shared/es2018"),Oe=require("@vkontakte/videoplayer-statistics/es2018");var Ts=require("@vkontakte/videoplayer-shared/es2018");function Be(r,e){let t;return(...i)=>{clearTimeout(t),t=setTimeout(()=>r(...i),e)}}var le=(r,e)=>Object.prototype.toString.call(r)===`[object ${e}]`,De=r=>le(r,"Object"),Tt=r=>le(r,"String"),St=r=>le(r,"Array"),wt=r=>le(r,"Number"),Cs=r=>le(r,"Function");var Vr=r=>wt(r)&&!isNaN(r);var ce=r=>De(r)&&Object.keys(r).length===0,jr=r=>St(r)&&!r.length;var He=(r,e)=>Tt(r)&&(e?r.trim():r).length;var Es="video_interactive",Is="videoint";var xs=250,Ge=class{constructor(e){this.handleZoomChange=Be(e=>{this.lastZoomInfo=e},xs);this.onResize=e=>{var i;if(!this.isReady||this.isHidden||!e[0].contentRect.width||!e[0].contentRect.height)return;let t=this.getNextPoint();t&&((i=this.ngEditor)==null||i.zoomTo(t)),this.ngEditorSize={width:e[0].contentRect.width,height:e[0].contentRect.height}};this.handleChapterChange=e=>{var t,i,n;if(this.manifest){if(this.isHidden||this.hide(),!(e!=null&&e.id)){(t=this.onError)==null||t.call(this,"Id is not found"),console.error("Id is not found");return}this.visitedChapterIds.add(e.id),(i=this.ngEditor)==null||i.selectChapter(e.id),(n=this.ngEditor)==null||n.setVisitedChapters(Array.from(this.visitedChapterIds)),this.currentChapterId=e.id,this.lastZoomInfo=null}};this.handleManifestChange=(e,t=[])=>{var i;if(this.isReady=!1,!wt(e.graph.edit.chapters[0].x)){(i=this.onError)==null||i.call(this,"Can't show graph"),console.error("Can't show graph");return}this.lastZoomInfo=null,this.manifest=e,this.visitedChapterIds=new Set(t),this.ngEditor&&(this.manifest.metadata.id!==this.currentManifestId?(this.ngEditor.update(e),this.currentManifestId=this.manifest.metadata.id):this.ngEditor.setVisitedChapters(Array.from(t)),this.isReady=!0)};this.init(e)}init({root:e,onOpenPreviewClick:t,onError:i,lang:n,visitedChapters:s=[]}){this.isReady=!1,this.isHidden=!0,this.manifest=null,this.visitedChapterIds=new Set(s),this.onOpenPreviewClick=t,this.onError=i,this.lang=n!=null?n:"ru",this.zoom=.7,this.lastZoomInfo=null,this.currentManifestId=null,this.currentChapterId=null,this.ngEditor=null,this.ngEditorSize=null,this.graphWrapperElement=Zc(e),this.resizeObserver=new ResizeObserver(Be(this.onResize,xs)),this.resizeObserver.observe(this.graphWrapperElement)}getNextPoint(e=this.ngEditorSize){return!this.lastZoomInfo||!e?null:[(this.lastZoomInfo.x-e.width/2)/this.lastZoomInfo.value*-1,(this.lastZoomInfo.y-e.height/2)/this.lastZoomInfo.value*-1]}setVisitedChapters(e){var t;this.visitedChapterIds=new Set([...this.visitedChapterIds,...e]),(t=this.ngEditor)==null||t.setVisitedChapters(Array.from(this.visitedChapterIds))}updateVideosInfo(e){var t;(t=this.ngEditor)==null||t.updateVideosInfo(e)}async show(){var e;this.manifest&&(this.ngEditor||await this.initNgEditor(),this.graphWrapperElement.style.display="block",!this.lastZoomInfo&&this.currentChapterId&&((e=this.ngEditor)==null||e.focusChapter(this.currentChapterId)),this.isHidden=!1)}async initNgEditor(){if(!this.manifest)return;let e;try{e=await(0,Ts.loadVKLangPack)(this.lang,Es,Is)}catch(i){console.log("Unable to load graph language pack")}let{GraphEditor:t}=await import("@interactiveplatform/movika-graph-editor");this.ngEditor=new t(this.graphWrapperElement,{mode:"read",lang:this.lang==="ru"?"ru":"en",translation:e}),this.currentManifestId=this.manifest.metadata.id,this.ngEditor.update(this.manifest),this.ngEditor.setVisitedChapters(Array.from(this.visitedChapterIds)),this.currentChapterId&&this.ngEditor.selectChapter(this.currentChapterId),this.ngEditor.on("control",({name:i,...n})=>{var s;i==="openPreview"&&"chapterId"in n&&((s=this.onOpenPreviewClick)==null||s.call(this,n.chapterId))}),this.ngEditor.on("zoom",this.handleZoomChange),this.isReady=!0}hide(){this.graphWrapperElement.style.display="none",this.isHidden=!0}destroy(){var e,t;this.hide(),this.manifest=null,this.resizeObserver.disconnect(),(e=this.ngEditor)==null||e.setVisitedChapters([]),this.onOpenPreviewClick=void 0,(t=this.ngEditor)==null||t.dispose(),this.graphWrapperElement.remove(),this.isReady=!1}};function Zc(r){let e=document.createElement("div");return e.style.position="absolute",e.style.top="0",e.style.left="0",e.style.height="100%",e.style.width="100%",e.style.display="none",r.append(e),e}var Ue=class{constructor(){this._containers=[];this._player=null;this.setPlayer=e=>{this._player=e};this.setContainers=e=>{this._containers=e};this.deleteContainer=e=>{this._containers=this._containers.filter(t=>t.id!==e)};this.getNextInteractiveTime=(e=3e3)=>{if(!this._containers.length||this._player===null)return null;let t=-1,i=!1,n=Math.round(this._player.info.position$.getValue()*1e3);for(let s of this._containers){let o=s.startTime-e;if(o<=n&&(s.endTime&&n<=s.endTime||s.endTime===null)){i=!0;break}n<o&&(t=t===-1?o:Math.min(t,o))}return!i&&t!==-1?t:null}}};var v=require("@interactiveplatform/movika-manifest");var Ss={metadata:"Object",chapters:"Array"},Lr=r=>{if(!De(r))return!1;for(let e in Ss)if(!r[e]||!le(r[e],Ss[e]))return!1;return(0,v.isSupportedManifest)(r.metadata.version)},ze=r=>r.type===v.ControlTypes.Text,Jc=r=>r.type===v.ControlTypes.Button,eu=r=>r.type===v.ControlTypes.Area,tu={Choice:"Choice",TextInput:"TextInput"},ru={Button:"Button",Area:"Area",Text:"Text"},iu={onClick:"onClick",onSuspense:"onSuspense"},nu={openURI:"openURI",setNextBranch:"setNextBranch",setWeightlessRandomBranch:"setWeightlessRandomBranch",setRandomBranch:"setRandomBranch",setMaxWeightBranch:"setMaxWeightBranch",setMinWeightBranch:"setMinWeightBranch",setDefaultBranch:"setDefaultBranch",continuePlayback:"continuePlayback",expect:"expect"};var L=class{constructor(e,t,...i){this.severity=e;this.category=t;this.data=i}toString(){return`Interactive SDK error ${JSON.stringify(this,null," ")}`}};var At=class{constructor(){this.listeners={}}addListener(e,t){return this.listeners[e]=this.listeners[e]||[],this.listeners[e].push(t),this}on(e,t){return this.addListener(e,t)}once(e,t){this.listeners[e]=this.listeners[e]||[];let i=()=>{t(),this.off(e,i)};return this.listeners[e].push(i),this}off(e,t){return this.removeListener(e,t)}reset(){this.listeners={}}removeListener(e,t){let i=this.listeners[e]||[];for(let n=i.length;n>0;n--)if(i[n]===t){i.splice(n,1);break}return this}emit(e,...t){let i=this.listeners[e];return i?(i.forEach(n=>{n(...t)}),!0):!1}listenerCount(e){return this.rawListeners(e).length}rawListeners(e){return this.listeners[e]||[]}};var Rt=class{constructor(e){this.fns=[];this.addFn=(e,t=!1)=>{Cs(e)&&(this.fns.push(e),t&&this.updateFn())};this.removeFn=(e,t=!1)=>{this.fns=this.fns.filter(i=>i!==e),t&&this.updateFn()};this.updateFn=()=>{this.fn=()=>{this.fns.forEach(e=>e()),this.raf&&this.forceRequestAnimation()}};this.forceRequestAnimation=()=>{this.fn&&(this.raf=requestAnimationFrame(this.fn))};this.requestAnimation=()=>{this.raf||this.forceRequestAnimation()};this.cancelAnimation=()=>{this.raf&&(cancelAnimationFrame(this.raf),this.raf=void 0)};e&&(this.fn=e,this.addFn(e))}release(){this.cancelAnimation(),this.fn=void 0,this.fns=[]}};var Ms=require("@vkontakte/videoplayer-shared/es2018");var Ot=class{constructor(e){var t,i;this.loaders={chapterLoaders:(t=e==null?void 0:e.chapterLoaders)!=null?t:[],manifestLoaders:(i=e==null?void 0:e.manifestLoaders)!=null?i:[]}}async exec(e,t){return su(...this.loaders[e])(t)}};function su(...r){return async function(t){let i=[...r];for(;i.length>0;)t=await i.shift()(t);return t}}function We(r,e,t){return r?{...r,[e]:r[e]?[t,...r[e]]:[t]}:{[e]:[t]}}function Pt({actions:r,errors:e,chapterId:t,...i}){if(t){let n=r.getManifest(),s=r.getChapter(n.chapters,t);if(s){let o=r.getMedia(n.media,s.videoId),l=r.getGraph(n.graph,s.id);return o?{...i,actions:r,errors:e,result:{chapter:s,media:o,graph:l}}:{...i,errors:We(e,Pt.name,"Could not find media"),actions:r}}}return{...i,errors:We(e,Pt.name,"Could not find chapter"),actions:r}}var Mt=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 n=0,s=i.length;n<s;n++)if(i[n].callback===t){i.splice(n,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return;let i=this.listeners[e.type].slice();for(let n=0,s=i.length;n<s;n++){let o=i[n];try{o.callback.call(this,e)}catch(l){Promise.resolve().then(()=>{throw l})}o.options&&o.options.once&&this.removeEventListener(e.type,o.callback)}return!e.defaultPrevented}},Te=class extends Mt{constructor(){super(),this.listeners||Mt.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)}},Ke=class{constructor(){Object.defineProperty(this,"signal",{value:new Te,writable:!0,configurable:!0})}abort(e){let t;try{t=new Event("abort")}catch(n){typeof document!="undefined"?document.createEvent?(t=document.createEvent("Event"),t.initEvent("abort",!1,!1)):(t=document.createEventObject(),t.type="abort"):t={type:"abort",bubbles:!1,cancelable:!1}}let i=e;if(i===void 0)if(typeof document=="undefined")i=new Error("This operation was aborted"),i.name="AbortError";else try{i=new DOMException("signal is aborted without reason")}catch(n){i=new Error("This operation was aborted"),i.name="AbortError"}this.signal.reason=i,this.signal.dispatchEvent(t)}toString(){return"[object AbortController]"}};typeof Symbol!="undefined"&&Symbol.toStringTag&&(Ke.prototype[Symbol.toStringTag]="AbortController",Te.prototype[Symbol.toStringTag]="AbortSignal");function kt(r){return r.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof r.Request=="function"&&!r.Request.prototype.hasOwnProperty("signal")||!r.AbortController}function $r(r){typeof r=="function"&&(r={fetch:r});let{fetch:e,Request:t=e.Request,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:n=!1}=r;if(!kt({fetch:e,Request:t,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:n}))return{fetch:e,Request:s};let s=t;(s&&!s.prototype.hasOwnProperty("signal")||n)&&(s=function(c,f){let b;f&&f.signal&&(b=f.signal,delete f.signal);let m=new t(c,f);return b&&Object.defineProperty(m,"signal",{writable:!1,enumerable:!1,configurable:!0,value:b}),m},s.prototype=t.prototype);let o=e;return{fetch:(a,c)=>{let f=s&&s.prototype.isPrototypeOf(a)?a.signal:c?c.signal:void 0;if(f){let b;try{b=new DOMException("Aborted","AbortError")}catch(x){b=new Error("Aborted"),b.name="AbortError"}if(f.aborted)return Promise.reject(b);let m=new Promise((x,O)=>{f.addEventListener("abort",()=>O(b),{once:!0})});return c&&c.signal&&delete c.signal,Promise.race([m,o(a,c)])}return o(a,c)},Request:s}}var Qe=kt({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),ws=Qe?$r({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,Nr=Qe?ws.fetch:window.fetch,Ef=Qe?ws.Request:window.Request,If=Qe?Ke:window.AbortController,xf=Qe?Te:window.AbortSignal;var Vt=(r="",e="")=>{let t=r.split("."),i=e.split("."),n=0;for(let s=0;s<Math.max(t.length,i.length)&&!n;s++)t[s]>i[s]?n=1:t[s]<i[s]?n=-1:n=0;return n};var au=async r=>{try{let e={},t;if(Tt(r)){t=new URL(r).href;let n=await Nr(t);if(!n.ok)return{};e=await n.json()}else if(De(r))e=r;else return{};if(!Lr(e))return{};let i=e.metadata.media;if(Tt(i)&&!("media"in e))try{let n;t?n=new URL(i,t).href:(n=new URL(i).href,t=n);let s=await Nr(n);if(!s.ok)throw new Error;e.metadata.media=await s.json()}catch(n){return cu(e.metadata.version)?{manifest:e}:{}}return{manifest:e,manifestURL:t}}catch(e){return{}}};async function As(r){let{manifest:e,manifestURL:t}=await au(r);if(!e)throw new Error("Failed on fetch");let i=(0,v.migrateManifestToLatestVersion)(e);return i.media=ou(i.media,t),delete i.metadata.media,i}function jt(r,e){if(e)return r.find(t=>t.id===e)}function _r(r,e){var t,i;return(t=r.edit)!=null&&t.chapters?r.edit.chapters.find(n=>n.id===e):(i=r.view)!=null&&i.chapters?r.view.chapters.find(n=>n.id===e):void 0}function Fr(r,e){return r.videos.find(t=>t.id===e)}function ou(r,e){return{...r,videos:r.videos.map(t=>({...t,variants:t.variants.map(i=>{let n="url"in i?i.url:"",s=lu(n,e);return{...i,url:s||n}})}))}}function lu(r="",e){try{return new URL(r,e).href}catch(t){return""}}function cu(r){return Vt(r,"3.2.0")>=0}var Lt=r=>St(r)&&!jr(r),z=r=>r.order==="end",Ye=r=>St(r.containers)&&!jr(r.containers)&&z(r),Rs=(r,e)=>{var i;let t=r*1e3;return Lt(e.controls)&&t<((i=e.startTime)!=null?i:0)},qr=(r,e)=>{var i,n;let t=r*1e3;return Lt(e.controls)&&t>=((i=e.startTime)!=null?i:0)&&t<=((n=e.endTime)!=null?n:1/0)};var ue=(r=[])=>r.some(e=>e.action.type==="expect"),Br=(r=[])=>r.find(e=>e.action.type==="expect"),uu=r=>(r==null?void 0:r.length)===1,pe=r=>uu(r)&&ze(r[0]);function Os(r,...e){return t=>typeof e[0]=="object"&&typeof t=="object"?r({...e[0],...t}):r(...e,...t)}var Ps=(r,e)=>ue(r.events)?!1:e.some(({container:t})=>t.container.id!==r.id&&ue(t.container.events)&&t.container.endTime===r.endTime&&!t.isRemoved);var he=class extends Ot{constructor(t,i){super(t);this.manifest=null;this.chapter=null;this.media=null;this.graph=null;this.prevChapter$=new Ms.ValueSubject(null);this.onError=i,this.release()}release(){return this.manifest=null,this.chapter=null,this.media=null,this.graph=null,this.prevChapter$.next(null),this}async setManifest(t){var n;this.release();let i=await this.exec("manifestLoaders",{actions:{addErrorMessage:We},result:null,errors:null,source:t});return i.errors&&this.errorHandler(i.errors),this.manifest=await As((n=i.result)!=null?n:t),this}async setInitial(){return this.setNext()}async setNext(t=(i=>(i=this.manifest)==null?void 0:i.metadata.initChapterId)()){if(!t)return this;this.prevChapter$.next(this.chapter);let n=await this.exec("chapterLoaders",Pt({actions:{getManifest:()=>this.manifest,getCurrent:this.getCurrent,getGraph:_r,getChapter:jt,getMedia:Fr,getByBranches:this.getByBranches.bind(this),addErrorMessage:We},result:null,errors:null,chapterId:t}));return n.errors&&this.errorHandler(n.errors),this.chapter=n.result.chapter,this.media=n.result.media,this.graph=n.result.graph,this}errorHandler(t){this.onError(t),console.error("Something went wrong with loaders",{errors:t})}getInitial(){var i;return this.getByChapterId((i=this.manifest)==null?void 0:i.metadata.initChapterId)||null}getByChapterId(t=(i=>(i=this.manifest)==null?void 0:i.metadata.initChapterId)()){if(!t||!this.manifest)return null;let n=jt(this.manifest.chapters,t);if(n){let s=Fr(this.manifest.media,n.videoId),o=_r(this.manifest.graph,n.id);if(s)return{chapter:n,media:s,graph:o}}return null}getBranches(t=(i=>(i=this.chapter)==null?void 0:i.id)()){var n,s,o;if(t===((n=this.chapter)==null?void 0:n.id))return this.getByBranches((s=this.chapter)==null?void 0:s.branches);{let l=jt(((o=this.manifest)==null?void 0:o.chapters)||[],t);return this.getByBranches(l==null?void 0:l.branches)}}getByBranches(t=[]){return t.reduce((i,n)=>{let s=this.getByChapterId(n.chapterId);return s&&i.push(s),i},[])}getCurrent(){return{chapter:this.chapter,media:this.media,graph:this.graph}}isInitialChapter(){var t,i;return((t=this.chapter)==null?void 0:t.id)===((i=this.manifest)==null?void 0:i.metadata.initChapterId)}isEndChapter(){return this.chapter?z(this.chapter):!1}};var ga=Q($t(),1),Ca=require("@vkontakte/videoplayer-core/es2018"),ne=require("@vkontakte/videoplayer-shared/es2018");var pa=r=>{let e=r.variants.find(t=>{var i;return((i=t.payload)==null?void 0:i.type)==="vk"});if(e&&e.payload){let[t,i]=e.payload.id.split("_");return[t,i]}return[]};var ha=Q($t(),1);function Ur(){let r=new Map;function e({listId:s=Math.random().toString(),itemId:o=Math.random().toString(),...l}){let a=r.get(s),c={...l};return a?a[o]=c:r.set(s,{[o]:c}),{listId:s,itemId:o,...l}}function t(s){var o,l;s.player.destroy(),s.container.remove(),s.subscription.unsubscribe(),(o=s.statistics)==null||o.oneStat.destroy(),(l=s.statistics)==null||l.statSubscription.unsubscribe()}function i(s,o){let l=r.get(s);if(!l)throw Error("Can't remove. Not find.");if(o){let a=l[o];a&&t(a),delete l[o],Object.keys(l).length||r.delete(s)}else{for(let a of(0,ha.default)(l))t(a);r.delete(s)}}function n(){for(let s of r)i(s[0])}return{createPlayer:e,removePlayer:i,map:r,removeAll:n}}var Se=Q(Nt(),1);function zr(r,e=[]){var s,o,l;let t={},i,n=!e.length;for(let a of r.variants)if(!i&&"cover"in a&&(i=a.cover),"url"in a)switch(a.type.toLowerCase()){case"mp4":(n||(0,Se.default)(e,"mp4"))&&(t.MPEG={...t.MPEG,[(s=a.standard)!=null?s:"Invariant quality"]:a.url});break;case"mpeg":(n||(0,Se.default)(e,"mpeg"))&&(t.MPEG={...t.MPEG,[(o=a.standard)!=null?o:"Invariant quality"]:a.url});break;case"hls":(n||(0,Se.default)(e,"hls"))&&(t={...t,HLS:{type:"url",url:a.url}});break;case"dash":(n||(0,Se.default)(e,"dash"))&&(t={...t,DASH_SEP:{compatibilityMode:!0,type:"url",url:a.url}});break;default:break}return{sources:t,thumbUrl:i,title:(l=r.title)!=null?l:""}}var Xe=(r,e)=>{let t=r.info.currentQuality$.getValue(),i=r.info.availableQualities$.getValue();t!==e&&(0,Se.default)(i,e)&&(r.setQuality(e),r.setAutoQuality(!1))};var Zu=2;function Wr(r){let e=Ur(),t=new ne.Subscription,i={},n=null,s=!1,o,l=new ne.ValueSubject(null);r&&a(r);function a(d){n=d}function c(d,V,S){var y;if(!n)throw Error("need to set interactive controller");if(!n.options)return;let h=((y=e.map.get(d))!=null?y:{})[V];if(h){i={chapterId:S,listId:d,itemId:V,...h};let C=i.player;i.subscription.add(C.info.currentQuality$.subscribe(I=>{let P=C.info.position$.getValue(),w=C.info.isAutoQualityEnabled$.getValue();if(!(!I||!P||w))for(let g of e.map)(0,ga.default)(g[1]).forEach(({player:R})=>{Xe(R,I)})})).add(C.events.started$.subscribe(()=>{f(V)})),h.container.remove(),n.setPlayer(h.player),s||(n.init(),s=!0),l.next({player:i.player,config:i.config,statistics:i.statistics});return}throw Error("Can't set. Not find.")}async function f(d){if(!n)throw Error("need to set interactive controller");if(ce(i)||d!==i.itemId)return;let V=n.getChapterBranches(),S=new Set;for(let p of V)S.has(p.media.id)||(await m({media:p.media,chapterId:p.chapter.id,setAsActive:!1,title:p.chapter.label}),S.add(p.media.id))}async function b({chapter:{id:d},manifestVideo:V}){if(ce(i)||!n)return;let S=i.player.info.muted$.getValue(),p=i.player.info.currentQuality$.getValue(),h=i.player.info.isAutoQualityEnabled$.getValue(),y=i.player.info.volume$.getValue(),C=i.player.info.currentPlaybackRate$.getValue(),I=!h,P=!1;for(let w of e.map)if(w[0]===V.id&&!n.state.isReplay$.getValue()){let g=Object.keys(w[1]);for(let R of g)R===i.itemId?(g.length<Zu||(P=!0),e.removePlayer(w[0],R)):(P=!0,c(w[0],R,d),I?Xe(i.player,p):i.player.setAutoQuality(!0),i.player.setVolume(y),i.player.setMuted(S),i.player.setPlaybackRate(C))}else e.removePlayer(w[0]);P||(await m({media:V,chapterId:d,setAsActive:!0,playbackRate:C}),I?Xe(i.player,p):i.player.setAutoQuality(!0),i.player.setVolume(y),i.player.setMuted(S))}async function m({media:d,chapterId:V,prefetch:S=!0,setAsActive:p=!0,autoplay:h=!1,preferredExt:y,title:C,playbackRate:I}){var rt,ri,ii,ni,si;let P=Math.random().toString(),w=document.createElement("div");o.append(w);let g;if((rt=n==null?void 0:n.options)!=null&&rt.vkVideoLoader){let it=pa(d);it.length&&(g=await n.options.vkVideoLoader(...it))}let R=((ri=n==null?void 0:n.options)==null?void 0:ri.coreConfig)||void 0,Z={...R,configName:[...(ii=R==null?void 0:R.configName)!=null?ii:[],"interactive"]},J={container:w,...((ni=g==null?void 0:g.videos)==null?void 0:ni[0])||{sources:zr(d,y).sources},title:C,failoverHosts:(g==null?void 0:g.failoverHosts)||[]},N=new Ca.Player(Z,ne.Tracer.createRootTracer());N.initVideo(J);let W=null;if(g!=null&&g.videos&&(n!=null&&n.options.createOneStat)){let it=g.videos[0],Kt=n.options.createOneStat(it),ai=new ne.Subscription;Kt&&(ai.add(Kt.attachTo(N)),W={oneStat:Kt,statSubscription:ai})}let se=new ne.Subscription,Wt=(si=i==null?void 0:i.player)==null?void 0:si.info.isAutoQualityEnabled$.getValue();se.add(N.events.canplay$.subscribe(function(){Wt||Xe(N,i.player.info.currentQuality$.getValue()),I&&N.setPlaybackRate(I)}));let K=e.createPlayer({listId:d.id,itemId:P,player:N,container:w,sources:zr(d,y).sources,config:J,subscription:se,statistics:W});return p&&c(d.id,K.itemId,V),h&&K.player.play(),S&&!h&&K.player.prepare(),{player:K.player,config:K.config,statistics:K.statistics}}function x(){O(),n=null,o.remove()}function O(){t.unsubscribe(),e.removeAll(),i={},s=!1}async function M(){if(!n)throw Error("need to set interactive controller");O(),o=document.createElement("div");let{media:d,chapter:V}=n.getCurrentChapter();d&&V?(t.add(n.events.chapterChanged$.subscribe(b)),await m({media:d,chapterId:V.id,title:V.label})):console.error("not found")}return{...e,init:M,setInteractiveController:a,createPlayer:m,removeAll:x,getActivePlayer:function(){return i},activePlayerChanged:l}}var A={graph:"graph",interactives:"interactives",chapterChanged:"chapter-changed",playerChanged:"player-changed",manifestChanged:"manifest-changed",errors:"errors",eachTick:"eachTick",historyInited:"history-inited",historyDestroyed:"history-destroyed"},we={visibility:"visibility",watchAgainClicked:"watchAgainClicked"},k={actionChoiceCanceled:"action-choice-canceled",actionChoice:"action-choice",actionExecution:"action-execution",visibility:"visibility",containerRemoved:"container-removed",rangeEnded:"range-ended"};var Ia=Q(Nt(),1),xa=require("@vkontakte/videoplayer-shared/es2018");var _t=class{constructor({player:e,container:t,branches:i,selectBranches:n,interactiveEvents:s,globalEvents:o,globalEventEmitter:l,ignoreContainerEvent:a,permanentTextControls:c,disabledControls$:f,onRemove:b}){this.hide=()=>{setTimeout(()=>{var e,t;this.gameState!==4&&(ue(this.container.container.events)&&this.gameState===3||this.selectBranches.state.isExpect||(this.gameState!==2&&((t=(e=this.container).hide)==null||t.call(e)),this.emitContainerVisibilityEvent(!1)))})};this.show=()=>{var e,t,i,n;if(this.gameState===2&&!this.isSelectedControlEvent)if(this.container.getElement())(n=(i=this.container).show)==null||n.call(i),this.emitContainerVisibilityEvent(!0,!1);else{let o=Os(this.selectBranches.onControlEvent,{isDisabled:()=>this.container.isDisabled,branches:this.branches,containerId:this.container.container.id,onDetachContainer:()=>{this.removeView(),this.emitContainerVisibilityEvent(!1)},onEvent:(l,a)=>{this.isSelectedControlEvent=!0,l!==!1&&(this.removeView(),this.emitContainerVisibilityEvent(!1)),(this.gameState===4||this.gameState===3||this.selectBranches.state.isExpect)&&(this.selectBranches.stopExpect(),a(),this.removeView(),this.emitContainerVisibilityEvent(!1))},isEOV:()=>this.gameState===4});this.container.createView(o),this.emitContainerVisibilityEvent(!0,!0),this.disabledControls$.getValue()&&((t=(e=this.container).disable)==null||t.call(e))}};this.onEndOfVideo=()=>{this.gameState=4,this.selectContainerEvent(!0)};this.whilePlaying=()=>{var c;let e=this.player.experimental.element$.getValue(),i=e instanceof HTMLVideoElement?e.readyState:void 0,n=[6,5];if(!i||(0,Ia.default)(n,this.gameState)&&!this.isPermanentText)return;let s=this.player.getExactTime();if(Rs(s,this.container.container))this.gameState!==1&&(this.gameState=1,this.onBeforeStartTime());else if(qr(s,this.container.container))this.gameState!==2&&(this.gameState=2,this.onStartTime());else if(this.gameState!==3){let f=this.gameState;this.gameState=3,f===2&&this.onEndTime()}else this.isPermanentText||this.removeView();let o=qr(s,this.container.container),l=this.container.container.startTime?[this.container.container.startTime,(c=this.container.container.endTime)!=null?c:1/0]:[],a={subjectId:this.container.container.id,subjectName:"container",range:l,currentTime:s,isInteractiveTime:o};this.globalEventEmitter.emit(A.eachTick,a),this.globalEvents.eachTick$.next(a)};this.container=t,this.branches=i,this.selectBranches=n,this.subscription=new xa.Subscription,this.player=e,this.interactiveEvents=s,this.ignoreContainerEvent=a,this.isPermanentText=c&&pe(t.container.controls),this.disabledControls$=f,this.onRemove=b,this.globalEventEmitter=l,this.gameState=0,this.globalEvents=o,this.isSelectedControlEvent=!1,this.isSelectedContainerEvent=!1,this.registerEvents()}emitContainerVisibilityEvent(e,t=!1){e?(this.globalEventEmitter.emit(A.interactives,{subjectId:this.container.container.id,subjectName:"container",type:k.visibility,visibility:e,isFirst:t}),this.globalEvents.interactiveVisibilityChanged$.next({subjectId:this.container.container.id,subjectName:"container",type:"visibility",visibility:e,isFirst:t})):(this.globalEventEmitter.emit(A.interactives,{subjectId:this.container.container.id,subjectName:"container",type:k.visibility,visibility:!1}),this.globalEvents.interactiveVisibilityChanged$.next({subjectId:this.container.container.id,subjectName:"container",type:"visibility",visibility:e}))}registerEvents(){this.subscription.add(this.player.events.playing$.subscribe(this.show)).add(this.player.events.paused$.subscribe(this.hide)).add(this.player.events.ended$.subscribe(this.onEndOfVideo)).add(this.disabledControls$.subscribe(e=>{var t,i,n,s;e?(i=(t=this.container).disable)==null||i.call(t):(s=(n=this.container).enable)==null||s.call(n)}))}selectContainerEvent(e=!1){var t;this.interactiveEvents.containersEventsCallState.setCalled({timestamp:e?1/0:this.container.container.endTime,id:this.container.container.id}),!(this.isSelectedControlEvent||this.isSelectedContainerEvent)&&(this.isSelectedContainerEvent=!0,this.ignoreContainerEvent()||this.selectBranches.setManifestContainerEvents({container:this.container.container,branches:this.branches,isEOV:e}),!e&&this.interactiveEvents.exec((t=this.container.container.endTime)!=null?t:1/0))}onStartTime(){this.show()}onEndTime(){this.selectContainerEvent(!1);let e=ue(this.container.container.events)||this.ignoreContainerEvent();(this.isSelectedControlEvent||!e)&&this.removeView()}onBeforeStartTime(){var e,t;(t=(e=this.container).hide)==null||t.call(e),this.emitContainerVisibilityEvent(!1)}reset(){this.isSelectedControlEvent=!1,this.isSelectedContainerEvent=!1,this.gameState=1}removeView(){var e;this.container.removeView(),this.globalEventEmitter.emit(A.interactives,{subjectId:this.container.container.id,subjectName:"container",type:k.containerRemoved,visibility:!1}),this.globalEvents.interactiveContainerRemoved$.next({subjectId:this.container.container.id,subjectName:"container",type:"container-removed"}),this.gameState=5,(e=this.onRemove)==null||e.call(this)}destroy(){var e;this.reset(),this.removeView(),this.gameState=6,this.subscription.unsubscribe(),this.branches=[],this.interactiveEvents.containersEventsCallState.setCalled({timestamp:(e=this.container.container.endTime)!=null?e:1/0,id:this.container.container.id})}};var Ta=(r=[])=>r.reduce((e,t,i)=>{var s,o,l;let n=((s=t==null?void 0:t.controls)!=null?s:[]).filter(a=>!ze(a));if(Lt(n)){let a=[(o=t.startTime)!=null?o:0,(l=t.endTime)!=null?l:1/0],c=t.id;if(!i)e.push({subjects:[c],range:a});else{let f=[],b=-1/0,m=1/0,x=[],O=[];for(let M=0;M<e.length;M++){let d=e[M];if(O.push(...d.subjects),d.range[0]<m&&(m=d.range[0]),d.range[1]>b&&(b=d.range[1]),a[0]>=d.range[0]&&a[1]<=d.range[1])return e[M].subjects.push(c),e;a[0]<d.range[0]&&a[1]>d.range[0]&&(f.push(M),x=x.concat(d.subjects)),a[0]>=d.range[0]&&a[0]<=d.range[1]&&(f.push(M),x=x.concat(d.subjects),a[0]=d.range[0]),a[1]>=d.range[0]&&a[1]<=d.range[1]&&(f.push(M),x=x.concat(d.subjects),a[1]=d.range[1])}if(O.push(c),a[0]<=m&&a[1]>=b)return[{subjects:O,range:a}];f.length&&f.reverse().forEach(M=>{e.splice(M,1)}),e.push({subjects:x.concat([c]),range:a})}}return e},[]).sort((e,t)=>e.range[0]-t.range[0]);var so=Q(Nt(),1),Xr=Q($t(),1),ao=Q(io(),1);function no(){let r={};function e(){for(let l in r)Object.prototype.hasOwnProperty.call(r,l)&&delete r[l]}function t(l){let a={};for(let c in r)+c<=l&&(a[c]=r[c]);return a}function i(l){let a={};for(let c in r)+c>=l&&(a[c]=r[c]);return a}function n({timestamp:l,priority:a,initiator:c}){var f;if(Vr(l)){let b=(f=r[l])!=null?f:null;if(b&&a&&He(a,!0)){let m={},x=b[a];if(x&&(m={...m,...x}),m=ce(m)?null:m,m&&He(c,!0)){let O=m[c];return O!=null?O:null}return m}return b}return null}function s({timestamp:l,priority:a,initiator:c}){if(Vr(l))if(r[l]){if(a&&He(a,!0))if(r[l][a]){if(c&&He(c,!0))if(r[l][a][c]){if(delete r[l][a][c],!ce(r[l][a]))return!0}else return!1;if(delete r[l][a],!ce(r[l]))return!0}else return!1;return delete r[l]}else return!1;return!1}function o({timestamp:l,priority:a,initiator:c,...f}){var b,m,x;(m=(b=r[l])==null?void 0:b[a])!=null&&m[c]?r[l][a][c].push({...f}):(x=r[l])!=null&&x[a]?r[l][a]={...r[l][a],[c]:[{...f}]}:r[l]?r[l]={...r[l],[a]:{[c]:[{...f}]}}:r[l]={[a]:{[c]:[{...f}]}}}return{map:r,remove:s,add:o,removeAll:e,get:n,getLte:t,getGte:i}}var qp=[v.EventActionTypes.expect,v.EventActionTypes.setNextBranch],Bp=1/0;function oo(r){let e=r,t,i=Dp(),n=no(),s,o=()=>{m(),V()},l=S=>{n.add.call(void 0,S),O()},a=(S=[])=>{for(let p of S)if(p.action(),(0,so.default)(qp,p.actionType))break},c=(S=1/0)=>{var C,I,P;let p=qt((C=n.get({timestamp:S,priority:"control"}))!=null?C:{}),h=qt((I=n.get({timestamp:S,priority:"container"}))!=null?I:{}),y=qt((P=n.get({timestamp:S,priority:"chapter"}))!=null?P:{});return[...p,...h,...y]},f=S=>{i.isReady(S)&&a(c(S))},b=()=>{var S;a([...qt((S=n.get({timestamp:1/0,priority:"chapter"}))!=null?S:{})])},m=()=>{t&&(s==null||s.unsubscribe(),t=void 0)},x=S=>{},O=()=>{t||(t=()=>setTimeout(()=>{f(1/0)}),s=e.events.ended$.subscribe(t))},M=S=>{m(),e=S},d=S=>{S.priority==="container"&&i.resetCalled(S.timestamp),n.remove(S)},V=()=>{i.release(),n.removeAll()};return{setPlayer:M,add:l,remove:d,exec:f,execEndOfVideo:b,listen:O,unlisten:m,release:o,containersEventsCallState:i,getPreparedToExecActions:c}}function Dp(){let r=new Map;return{setCalled:({timestamp:o,id:l})=>{let a=r.get(o);a&&a[l]!==void 0&&(a[l]=!0)},setData:(o=[])=>{var l,a;for(let c of o){let f=(l=c.endTime)!=null?l:Bp,b=(a=r.get(f))!=null?a:{};r.set(f,{...b,[c.id]:!1})}},resetCalled:o=>{let l=r.get(o);if(l)for(let a in l)l[a]=!1},isReady:o=>{let l=r.get(o);return l?!(0,Xr.default)(l).some(a=>!a):!0},release:()=>r.clear()}}function qt(r){return(0,ao.default)((0,Xr.default)(r)).sort(e=>e.actionType===v.EventActionTypes.expect?-1:1)}var lo={videoContentHeight:0,videoContentWidth:0},co=(r,e)=>{let{height:t,width:i}=e.info.intrinsicVideoSize$.getValue()||{};if(!(t&&i))return lo;let{clientHeight:n,clientWidth:s}=e.experimental.element$.getValue()||{};if(!(n&&s))return lo;let o=t/i,l=n/s,a,c;return l>o?(c=s,a=s*o):l<o?(c=n/o,a=n):(c=s,a=n),{videoContentWidth:c,videoContentHeight:a}};var Hp=250;function uo(r){let e=()=>{},t=new ResizeObserver(l=>{s(l),e=s.bind(null,l)});function i(l){let{parentElement:a,player:c}=r();if(a&&c){let{videoContentWidth:f,videoContentHeight:b}=co(a,c);a.style.setProperty("--interactive-content-width",`${f}px`),a.style.setProperty("--interactive-content-height",`${b}px`),a.style.setProperty("--interactive-width",`${l[0].contentRect.width}px`),a.style.setProperty("--interactive-height",`${l[0].contentRect.height}px`)}}function n(){let{parentElement:l}=r();l.removeAttribute("style")}let s=Be(l=>{let{fns:a=[]}=r();i(l);for(let c of a)c()},Hp);function o(){e=void 0,t.disconnect(),n()}return{resizeObserver:t,calc:()=>{e==null||e()},release:o}}var Je=class{constructor(){this.map={}}push(e,t){e in this.map?this.map[e].push(t):this.map[e]=[t]}get(e){let t=this.map[e];return t?t.slice():null}getAll(){let e=[];for(let t in this.map)e.concat(this.map[t]);return e}remove(e,t){e in this.map&&(this.map[e]=this.map[e].filter(i=>i!==t),this.map[e].length===0&&delete this.map[e])}clear(){this.map={}}keys(){return Object.keys(this.map)}size(){return this.keys().length}};var Gp=r=>Math.floor(Math.random()*r),ho=r=>{var n;let e=r.length,t=1/0,i=null;for(;e--;){let s=r[e],o=(n=s.weight)!=null?n:1;o<t&&(t=o,i=s)}return i},fo=r=>{var n;let e=r.length,t=-1/0,i=null;for(;e--;){let s=r[e],o=(n=s.weight)!=null?n:0;o>t&&(t=o,i=s)}return i};var mo=r=>{let e=r.length,t=Gp(e);return r[t]},po=1,yo=r=>{var i,n;let e=0;for(let s=0;s<r.length;++s)e+=(i=r[s].weight)!=null?i:po;let t=Math.random()*e;e=0;for(let s=0;s<r.length-1;++s)if(e+=(n=r[s].weight)!=null?n:po,e>=t)return r[s];return r[r.length-1]};var vo={shouldOpenNow:!0,isDetachContainer:!0},bo="after-expect";var Zr=(r,e=!1)=>({...r,args:e?{...r.args,...vo}:{...vo,...r.args}}),Eo=({globalEventEmitter:r,globalEvents:e,player:t,interactiveEvents:i,removeControllers:n})=>{let s={isExpect:!1},o=()=>{s.isExpect&&(s.isExpect=!1)},l=({action:p,controlType:h,controlId:y,containerId:C,branches:I=[],onEvent:P,isEOV:w=()=>!1,isDisabled:g=()=>!1})=>{let R=Zr(p,w()),Z={timestamp:1/0,priority:"control",initiator:y,actionType:R.type},J=g(),N=r.emit.bind(r,A.interactives,{subjectId:y,subjectType:h,subjectName:"control",type:J?k.actionChoiceCanceled:k.actionChoice,actionType:p.type,payload:{containerId:C,...R.args}}),W=()=>{e.interactiveActionChoice$.next({subjectId:y,subjectType:h,subjectName:"control",type:J?"action-choice-canceled":"action-choice",actionType:p.type,payload:{containerId:C,...R.args}})};if(J){N(),W();return}switch(R.type.trim().toLowerCase()){case v.EventActionTypes.setNextBranch.trim().toLowerCase():{let K=I.find(rt=>rt.id===R.args.branchId);if(!K)return;P(R.args.isDetachContainer,O.bind(null,{subjectId:y,subjectName:"control"})),N(),W(),R.args.shouldOpenNow?d({subjectId:y,subjectName:"control",subjectType:h,action:R,payload:{chapterId:K.chapterId,autoSelect:!1}}):(i.add({...Z,action:d.bind(null,{subjectId:y,subjectName:"control",subjectType:h,action:R,payload:{chapterId:K.chapterId,autoSelect:!1}})}),n==null||n());return}case v.EventActionTypes.continuePlayback.trim().toLowerCase():{P(R.args.isDetachContainer,O.bind(null,{subjectId:y,subjectName:"control"})),N(),W(),R.args.shouldOpenNow?M({subjectId:y,subjectName:"control",subjectType:h,action:p}):i.add({...Z,action:M.bind(null,{subjectId:y,subjectName:"control",subjectType:h,action:p})});return}case v.EventActionTypes.openURI.trim().toLowerCase():{P(R.args.isDetachContainer,O.bind(null,{subjectId:y,subjectName:"control"})),N(),W(),R.args.shouldOpenNow?S({subjectId:y,subjectName:"control",subjectType:h,action:R,payload:{URI:p.args.uri}}):(i.add({...Z,action:S.bind(null,{subjectId:y,subjectName:"control",subjectType:h,action:R,payload:{URI:p.args.uri}})}),n==null||n());return}default:let se="Unexpected control event",Wt=new L(1,1,{message:se});b(Wt,se);return}},a=({action:p,container:{id:h,endTime:y},branches:C=[],isEOV:I=!1,autoSelected:P=!1})=>{let w=Zr(p,I),g={timestamp:!w.args.shouldOpenNow||I?1/0:y!=null?y:1/0,priority:"container",initiator:h,actionType:w.type},R=r.emit.bind(r,A.interactives,{subjectId:h,subjectName:"container",type:k.actionChoice,actionType:w.type,payload:w.args}),Z=()=>{e.interactiveActionChoice$.next({subjectId:h,subjectName:"container",type:"action-choice",actionType:w.type,payload:w.args})};switch(w.type.trim().toLowerCase()){case v.EventActionTypes.setNextBranch.trim().toLowerCase():{let W=C.find(se=>se.id===w.args.branchId);if(!W)return;R(),Z(),i.add({...g,action:d.bind(null,{subjectId:h,subjectName:"container",action:w,payload:{chapterId:W.chapterId,autoSelect:P}})}),n==null||n();return}case v.EventActionTypes.setMaxWeightBranch.trim().toLowerCase():return;case v.EventActionTypes.setMinWeightBranch.trim().toLowerCase():return;case v.EventActionTypes.setRandomBranch.trim().toLowerCase():return;case v.EventActionTypes.setWeightlessRandomBranch.trim().toLowerCase():return;case v.EventActionTypes.continuePlayback.trim().toLowerCase():{R(),Z(),i.add({...g,action:M.bind(null,{subjectId:h,subjectName:"container",action:w})});return}case v.EventActionTypes.openURI.trim().toLowerCase():{R(),Z(),i.add({...g,action:S.bind(null,{subjectId:h,subjectName:"container",action:w,payload:{URI:p.args.uri}})}),n==null||n();return}default:let J="Unexpected container event",N=new L(1,1,{message:J});b(N,J);return}};function c({container:p,branches:h,isEOV:y=!1}){var I,P;let C=Br(p.events);if(C){let w=Zr(C.action,y);r.emit(A.interactives,{subjectId:p.id,subjectName:"container",type:k.actionChoice,actionType:w.type,payload:w.args}),e.interactiveActionChoice$.next({subjectId:p.id,subjectName:"container",type:"action-choice",actionType:w.type,payload:w.args}),i.add({timestamp:y?1/0:(I=p.endTime)!=null?I:1/0,priority:"container",initiator:p.id,actionType:v.EventActionTypes.expect,action:x.bind(null,{subjectId:p.id,subjectName:"container"})}),s.isExpect=!0}else for(let w of(P=p.events)!=null?P:[])a({action:w.action,container:p,branches:h,isEOV:y})}let f=({chapterId:p,action:h,branches:y=[]})=>{let C=r.emit.bind(r,A.interactives,{subjectId:p,subjectName:"chapter",type:k.actionChoice,actionType:h.type,payload:h.args}),I=()=>{e.interactiveActionChoice$.next({subjectId:p,subjectName:"chapter",type:"action-choice",actionType:h.type,payload:h.args})};switch(h.type.trim().toLowerCase()){case v.EventActionTypes.setNextBranch.trim().toLowerCase():{let g=y.find(R=>R.id===h.args.branchId);return g!=null&&g.chapterId?(C(),I(),d.bind(null,{subjectId:p,subjectName:"chapter",action:h,payload:{chapterId:g.chapterId,autoSelect:!0}})):void 0}case v.EventActionTypes.setWeightlessRandomBranch.trim().toLowerCase():{let g=mo(y);return g!=null&&g.chapterId?(C(),I(),d.bind(null,{subjectId:p,subjectName:"chapter",action:h,payload:{chapterId:g.chapterId,autoSelect:!0}})):void 0}case v.EventActionTypes.setRandomBranch.trim().toLowerCase():{let g=yo(y);return g!=null&&g.chapterId?(C(),I(),d.bind(null,{subjectId:p,subjectName:"chapter",action:h,payload:{chapterId:g.chapterId,autoSelect:!0}})):void 0}case v.EventActionTypes.setMaxWeightBranch.trim().toLowerCase():{let g=fo(y);return g!=null&&g.chapterId?(C(),I(),d.bind(null,{subjectId:p,subjectName:"chapter",action:h,payload:{chapterId:g.chapterId,autoSelect:!0}})):void 0}case v.EventActionTypes.setMinWeightBranch.trim().toLowerCase():{let g=ho(y);return g!=null&&g.chapterId?(C(),I(),d.bind(null,{subjectId:p,subjectName:"chapter",action:h,payload:{chapterId:g.chapterId,autoSelect:!0}})):void 0}case v.EventActionTypes.continuePlayback.trim().toLowerCase():return C(),I(),M.bind(null,{subjectId:p,subjectName:"chapter",action:h});case v.EventActionTypes.openURI.trim().toLowerCase():return C(),I(),S.bind(null,{subjectId:p,subjectName:"chapter",action:h,payload:{URI:h.args.uri}});default:let P="Unexpected chapter event",w=new L(1,1,{message:P});b(w,P);return}};function b(p,h){console.error(h),e.error$.next(p),r.emit(A.errors,p)}function m(p){var y;let h=Br(p.events);if(h){if(z(p))return;r.emit(A.interactives,{subjectId:p.id,subjectName:"chapter",type:k.actionChoice,actionType:h.action.type,payload:h.action.args}),e.interactiveActionChoice$.next({subjectId:p.id,subjectName:"chapter",type:"action-choice",actionType:h.action.type,payload:h.action.args}),i.add({timestamp:1/0,priority:"chapter",initiator:p.id,actionType:v.EventActionTypes.expect,action:x.bind(null,{subjectId:p.id,subjectName:"chapter"})})}else(y=p.events)==null||y.forEach(C=>{let I=f({chapterId:p.id,action:C.action,branches:p.branches});I&&i.add({timestamp:1/0,priority:"chapter",initiator:p.id,actionType:C.action.type,action:I})})}let x=({subjectId:p,subjectName:h})=>{t.pause(),r.emit(A.interactives,{subjectId:p,subjectName:h,type:k.actionExecution,actionType:v.EventActionTypes.expect}),e.interactiveActionExecution$.next({subjectId:p,subjectName:h,type:"action-execution",actionType:v.EventActionTypes.expect})},O=({subjectId:p,subjectName:h})=>{t.info.isEnded$.getValue()?i.execEndOfVideo():t.play(),r.emit(A.interactives,{subjectId:p,subjectName:h,type:k.actionExecution,actionType:bo}),e.interactiveActionExecution$.next({subjectId:p,subjectName:h,type:"action-execution",actionType:bo})},M=({subjectId:p,subjectName:h,subjectType:y,action:C})=>{r.emit(A.interactives,{subjectId:p,subjectName:h,subjectType:y,type:k.actionExecution,actionType:C.type}),e.interactiveActionExecution$.next({subjectId:p,subjectName:h,subjectType:y,type:"action-execution",actionType:C.type})},d=({subjectId:p,subjectName:h,subjectType:y,action:C,payload:I})=>{I.behaviour="change-chapter",r.emit(A.interactives,{subjectId:p,subjectName:h,subjectType:y,type:k.actionExecution,actionType:C.type,payload:I}),e.interactiveActionExecution$.next({subjectId:p,subjectName:h,subjectType:y,type:"action-execution",actionType:C.type,payload:I})},V=({subjectId:p,subjectName:h,subjectType:y,action:C,payload:I})=>{I.behaviour="change-manifest",r.emit(A.interactives,{subjectId:p,subjectName:h,subjectType:y,type:k.actionExecution,actionType:C.type,payload:I}),e.interactiveActionExecution$.next({subjectId:p,subjectName:h,subjectType:y,type:"action-execution",actionType:C.type,payload:I})},S=({subjectId:p,subjectName:h,subjectType:y,action:C,payload:I})=>{if(!I.URI)return;let P=window.open(I.URI,"_blank","noopener,noreferrer");P&&(P.opener=null),r.emit(A.interactives,{subjectId:p,subjectName:h,subjectType:y,type:k.actionExecution,actionType:C.type}),e.interactiveActionExecution$.next({subjectId:p,subjectName:h,subjectType:y,type:"action-execution",actionType:C.type})};return{onControlEvent:l,onContainerEvent:a,onChapterEvent:f,onExpectEvent:x,expectEventHandler:O,setManifestChapterEvents:m,setManifestContainerEvents:c,stopExpect:o,state:s}};var ti=Q(kr(),1),H=require("@vkontakte/videoplayer-shared/es2018");var Bt=(r,e)=>{let t={};return r.map(i=>{if(!t[i]){let n=e.chapters.find(o=>o.id===i);if(!n)return null;let s=e.media.videos.find(o=>n.videoId===o.id);if(!s)return null;t[i]=Jr(s)}return t[i]}).filter(Boolean)},Io=r=>{for(let e of r.variants)if(xo(e)&&e.payload)return e.payload.id},xo=r=>!!(r.type==="custom"&&r.payload&&r.payload.type==="vk"),Jr=r=>{let e=Io(r);if(!e)return null;let t=e.split("_").pop();return t?parseInt(t,10):null},To=(r,e)=>{for(let t of r.media.videos)if(e===Jr(t)){for(let i of r.chapters)if(i.videoId===t.id)return i.id;return}},ei=(r,e)=>r.reduce((t,i)=>{let n=To(e,i);return n?[...t,n]:t},[]);var te,de,fe,D,Dt,re,ie,X,me,Ae,Re,et=class{constructor({globalEventEmitter:e,videoId:t,interactiveController:i,historyApi:n,settings:s}){this.state={history$:new H.ValueSubject([]),hasPrevChapter$:new H.ValueSubject(!1),prevChapter$:new H.ValueSubject(null),isInitialChapter$:new H.ValueSubject(!1),isGoBackLimited$:new H.ValueSubject(!1)};F(this,te,null);F(this,de);F(this,fe,!1);F(this,D,null);F(this,Dt,null);this.events={inited$:new H.Subject,destroyed$:new H.Subject,error$:new H.Subject};F(this,re,null);F(this,ie,null);F(this,X,null);F(this,me,new H.Subscription);F(this,Ae,!1);F(this,Re,0);var o;j(this,re,t),j(this,X,e),j(this,ie,i),j(this,te,n),j(this,de,s),this.state.history$&&T(this,me)&&((o=T(this,me))==null||o.add(this.state.history$.subscribe(l=>{var a,c;this.state.prevChapter$.next((0,ti.default)(l,-2)||null),this.state.hasPrevChapter$.next(l.length>1),this.state.isInitialChapter$.next(this.getInitialChapterId()===((c=(a=T(this,D))==null?void 0:a.metadata)==null?void 0:c.initChapterId)),this.state.isGoBackLimited$.next(T(this,Re)===T(this,de).maxLength-1)})))}async setManifest(e){if(!T(this,ie)||!T(this,X))return;j(this,D,e),await this.getProjectHistory();let t=this.getInitialChapterId();await T(this,ie).setChapter({chapterId:t,pushToHistory:!1}),T(this,fe)||(j(this,fe,!0),this.events.inited$.next({initChapterId:t}))}get inited(){return T(this,fe)}async updateHistory(e,t=!0){var l;if(!T(this,D))return;T(this,Ae)?(j(this,Ae,!1),ui(this,Re)._++):j(this,Re,0);let i=T(this,D),n=e.length-T(this,de).maxLength,s=n>0?e.slice(n):e,o=Bt(s,i);if(j(this,Dt,o),this.state.history$.next(s),!(!t||!T(this,te)||!T(this,re)))try{await T(this,te).save(T(this,re),o)}catch(a){let c=new L(1,5,"Unable to save interactive history");this.events.error$.next(c),(l=T(this,X))==null||l.emit(A.errors,c)}}async goBack(){var i;if(!this.state||!T(this,ie)){let n=new L(1,5,"Unable to save interactive history");return this.events.error$.next(n),(i=T(this,X))==null?void 0:i.emit(A.errors,n)}j(this,Ae,!0);let e=this.state.history$.getValue().slice(0,-1),t=e.pop();this.state.history$.next(e),await T(this,ie).setChapter({chapterId:t,playPrev:!0})}async getProjectHistory(){var n;if(!T(this,D)||!T(this,re))return;let e=T(this,D),t=[this.getInitialVideoId()];if(T(this,te))try{let s=await T(this,te).get(T(this,re));s.length&&(t=s)}catch(s){let o=new L(1,5,"Error while trying to fetch data");this.events.error$.next(o),(n=T(this,X))==null||n.emit(A.errors,o)}let i=ei(t,e);this.state.history$.next(i)}getInitialChapterId(){var t;let e=this.state.history$.getValue();return(0,ti.default)(e,-1)||T(this,de).initChapterId||((t=T(this,D))==null?void 0:t.metadata.initChapterId)}getInitialVideoId(){if(T(this,D)){let e=this.getInitialChapterId();return Bt([e],T(this,D)).pop()}return null}destroy(){var e,t;j(this,re,null),j(this,te,null),j(this,ie,null),(e=T(this,me))==null||e.unsubscribe(),j(this,me,null),j(this,fe,!1),(t=T(this,X))==null||t.emit(A.historyDestroyed),this.events.destroyed$.next(),j(this,X,null)}};te=new WeakMap,de=new WeakMap,fe=new WeakMap,D=new WeakMap,Dt=new WeakMap,re=new WeakMap,ie=new WeakMap,X=new WeakMap,me=new WeakMap,Ae=new WeakMap,Re=new WeakMap;var ye=class ye{constructor(e,t,i,n){this.target=e,this.type=t,this.listener=i,this.options=ye._convertOptions(e,n),this.target.addEventListener(t,i,this.options)}unlisten(){var e;this.type&&this.listener&&this.options&&((e=this.target)==null||e.removeEventListener(this.type,this.listener,this.options)),this.target=null,this.type=null,this.listener=null,this.options=!1}static _convertOptions(e,t){if(t===void 0)return!1;if(typeof t=="boolean")return t;{let i=new Set(["passive","capture"]),n=Object.keys(t).filter(o=>!i.has(o));return n.length===0&&console.warn("Unsupported flag(s) to addEventListener: "+n.join(",")),ye._doesSupportObject(e)?t:t.capture||!1}}static _doesSupportObject(e){let t=ye._supportsObject;if(t===void 0){t=!1;try{let i={},n={get:()=>(t=!0,!1)};Object.defineProperty(i,"passive",n),Object.defineProperty(i,"capture",n);let s=()=>{};e.addEventListener("test",s,i),e.removeEventListener("test",s,i)}catch(i){t=!1}ye._supportsObject=t}return t||!1}};ye._supportsObject=void 0;var Ht=ye;var Gt=class{constructor(){this.bindingMap=new Je}release(){this.removeAll(),this.bindingMap=null}listen(e,t,i,n){if(!this.bindingMap)return;let s=new Ht(e,t,i,n);this.bindingMap.push(t,s)}listenOnce(e,t,i,n){let s=o=>{this.unlisten(e,t,s),i(o)};this.listen(e,t,s,n)}unlisten(e,t,i){if(!this.bindingMap)return;let n=this.bindingMap.get(t)||[];for(let s of n)s.target===e&&(i===s.listener||!i)&&(s.unlisten(),this.bindingMap.remove(t,s))}removeAll(){if(!this.bindingMap)return;let e=this.bindingMap.getAll();for(let t of e)t.unlisten();this.bindingMap.clear()}};var Ut=class{constructor(){this._prevSizeId=0;this.rootElement=document.createElement("canvas")}clear(){var e;(e=this.rootElement.getContext("2d"))==null||e.clearRect(0,0,this.rootElement.width,this.rootElement.height)}isImageDrawn(){var n;let e=(n=this.rootElement.getContext("2d"))==null?void 0:n.getImageData(0,0,this.rootElement.width,this.rootElement.height);if(!e)return!1;let t=e.data,i=t.length;for(let s=3;s<i;s+=40)if(t[s]!==0)return!0;return!1}destroy(){this.rootElement.remove()}show(){this.rootElement.style.visibility="visible"}hide(){this.rootElement.style.visibility="hidden"}setCanvasImageSource(e){this.canvasImgSrc=e}draw(){var e;this.canvasImgSrc&&((e=this.rootElement.getContext("2d"))==null||e.drawImage(this.canvasImgSrc,0,0,this.rootElement.width,this.rootElement.height))}async updateCanvasDimensions(e,t=!1){let i=e.width+e.height;if(this._prevSizeId===i)return;let n;t&&(n=await this.save()),this.rootElement.width=e.width,this.rootElement.height=e.height,t&&n&&this.restore(n),this._prevSizeId=i}async save(){let e=this.rootElement.toDataURL("image/jpeg",1),t=new Image;return t.crossOrigin="anonymous",t.src=e,await t.decode(),t}restore(e){var t;this.rootElement&&((t=this.rootElement.getContext("2d"))==null||t.drawImage(e,0,0,this.rootElement.width,this.rootElement.height))}};var zt=class{constructor({parentElement:e,endOffsetMs:t=250,onError:i}){this.currentVideoDurationMs=1/0;this._containerTimeFrameShouldReceived=!1;this._endTimeFrameReceived=!1;this._shouldCallSkip=!1;this.onEachTick=e=>{let t=e!=null?e:this.lastFrameCanvas.canvasImgSrc.currentTime*1e3,i=this.isChapterEndTime(t);if(this.isContainerTime(t))this._endTimeFrameReceived=!1,this._containerTimeFrameShouldReceived=!0,this._shouldCallSkip=!0;else if(i)this._containerTimeFrameShouldReceived=!1,this._shouldCallSkip=!1,this._endTimeFrameReceived||(this.draw(),this._endTimeFrameReceived=!0,this.show());else{if(this._shouldCallSkip){this._shouldCallSkip=!1;return}this.reset()}};this.onSeek=()=>{this.onEachTick(),!this._containerTimeFrameShouldReceived&&!this._endTimeFrameReceived&&(this.hide(),this.lastFrameCanvas.clear())};this.rootElement=document.createElement("div"),this.rootElement.style.cssText=`
6
+ "use strict";var qs=Object.create;var at=Object.defineProperty;var Bs=Object.getOwnPropertyDescriptor;var Ds=Object.getOwnPropertyNames;var Hs=Object.getPrototypeOf,Gs=Object.prototype.hasOwnProperty;var ci=r=>{throw TypeError(r)};var p=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),zs=(r,e)=>{for(var t in e)at(r,t,{get:e[t],enumerable:!0})},ui=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Ds(e))!Gs.call(r,n)&&n!==t&&at(r,n,{get:()=>e[n],enumerable:!(i=Bs(e,n))||i.enumerable});return r};var Q=(r,e,t)=>(t=r!=null?qs(Hs(r)):{},ui(e||!r||!r.__esModule?at(t,"default",{value:r,enumerable:!0}):t,r)),Us=r=>ui(at({},"__esModule",{value:!0}),r);var pi=(r,e,t)=>e.has(r)||ci("Cannot "+t);var A=(r,e,t)=>(pi(r,e,"read from private field"),t?t.call(r):e.get(r)),N=(r,e,t)=>e.has(r)?ci("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),V=(r,e,t,i)=>(pi(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t);var hi=(r,e,t,i)=>({set _(n){V(r,e,n,t)},get _(){return A(r,e,i)}});var X=p((ir,Ii)=>{"use strict";var $e=function(r){return r&&r.Math===Math&&r};Ii.exports=$e(typeof globalThis=="object"&&globalThis)||$e(typeof window=="object"&&window)||$e(typeof self=="object"&&self)||$e(typeof global=="object"&&global)||$e(typeof ir=="object"&&ir)||function(){return this}()||Function("return this")()});var _=p((vd,xi)=>{"use strict";xi.exports=function(r){try{return!!r()}catch(e){return!0}}});var je=p((yd,wi)=>{"use strict";var tl=_();wi.exports=!tl(function(){var r=function(){}.bind();return typeof r!="function"||r.hasOwnProperty("prototype")})});var Oi=p((bd,Pi)=>{"use strict";var rl=je(),Ri=Function.prototype,Ai=Ri.apply,Si=Ri.call;Pi.exports=typeof Reflect=="object"&&Reflect.apply||(rl?Si.bind(Ai):function(){return Si.apply(Ai,arguments)})});var U=p((gd,Mi)=>{"use strict";var ki=je(),Li=Function.prototype,nr=Li.call,il=ki&&Li.bind.bind(nr,nr);Mi.exports=ki?il:function(r){return function(){return nr.apply(r,arguments)}}});var Ne=p((Cd,Fi)=>{"use strict";var Vi=U(),nl=Vi({}.toString),ol=Vi("".slice);Fi.exports=function(r){return ol(nl(r),8,-1)}});var or=p((Ed,$i)=>{"use strict";var al=Ne(),sl=U();$i.exports=function(r){if(al(r)==="Function")return sl(r)}});var q=p((Td,ji)=>{"use strict";var ar=typeof document=="object"&&document.all;ji.exports=typeof ar=="undefined"&&ar!==void 0?function(r){return typeof r=="function"||r===ar}:function(r){return typeof r=="function"}});var le=p((Id,Ni)=>{"use strict";var ll=_();Ni.exports=!ll(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var Et=p((xd,_i)=>{"use strict";var cl=je(),Ct=Function.prototype.call;_i.exports=cl?Ct.bind(Ct):function(){return Ct.apply(Ct,arguments)}});var sr=p(Di=>{"use strict";var qi={}.propertyIsEnumerable,Bi=Object.getOwnPropertyDescriptor,ul=Bi&&!qi.call({1:2},1);Di.f=ul?function(e){var t=Bi(this,e);return!!t&&t.enumerable}:qi});var lr=p((Ad,Hi)=>{"use strict";Hi.exports=function(r,e){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:e}}});var zi=p((Sd,Gi)=>{"use strict";var pl=U(),hl=_(),dl=Ne(),cr=Object,ml=pl("".split);Gi.exports=hl(function(){return!cr("z").propertyIsEnumerable(0)})?function(r){return dl(r)==="String"?ml(r,""):cr(r)}:cr});var ur=p((Rd,Ui)=>{"use strict";Ui.exports=function(r){return r==null}});var pr=p((Pd,Wi)=>{"use strict";var fl=ur(),vl=TypeError;Wi.exports=function(r){if(fl(r))throw new vl("Can't call method on "+r);return r}});var _e=p((Od,Ki)=>{"use strict";var yl=zi(),bl=pr();Ki.exports=function(r){return yl(bl(r))}});var ge=p((kd,Qi)=>{"use strict";var gl=q();Qi.exports=function(r){return typeof r=="object"?r!==null:gl(r)}});var Tt=p((Ld,Xi)=>{"use strict";Xi.exports={}});var It=p((Md,Zi)=>{"use strict";var hr=Tt(),dr=X(),Cl=q(),Yi=function(r){return Cl(r)?r:void 0};Zi.exports=function(r,e){return arguments.length<2?Yi(hr[r])||Yi(dr[r]):hr[r]&&hr[r][e]||dr[r]&&dr[r][e]}});var en=p((Vd,Ji)=>{"use strict";var El=U();Ji.exports=El({}.isPrototypeOf)});var on=p((Fd,nn)=>{"use strict";var Tl=X(),tn=Tl.navigator,rn=tn&&tn.userAgent;nn.exports=rn?String(rn):""});var hn=p(($d,pn)=>{"use strict";var un=X(),mr=on(),an=un.process,sn=un.Deno,ln=an&&an.versions||sn&&sn.version,cn=ln&&ln.v8,W,xt;cn&&(W=cn.split("."),xt=W[0]>0&&W[0]<4?1:+(W[0]+W[1]));!xt&&mr&&(W=mr.match(/Edge\/(\d+)/),(!W||W[1]>=74)&&(W=mr.match(/Chrome\/(\d+)/),W&&(xt=+W[1])));pn.exports=xt});var fr=p((jd,mn)=>{"use strict";var dn=hn(),Il=_(),xl=X(),wl=xl.String;mn.exports=!!Object.getOwnPropertySymbols&&!Il(function(){var r=Symbol("symbol detection");return!wl(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&dn&&dn<41})});var vr=p((Nd,fn)=>{"use strict";var Al=fr();fn.exports=Al&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var yr=p((_d,vn)=>{"use strict";var Sl=It(),Rl=q(),Pl=en(),Ol=vr(),kl=Object;vn.exports=Ol?function(r){return typeof r=="symbol"}:function(r){var e=Sl("Symbol");return Rl(e)&&Pl(e.prototype,kl(r))}});var bn=p((qd,yn)=>{"use strict";var Ll=String;yn.exports=function(r){try{return Ll(r)}catch(e){return"Object"}}});var br=p((Bd,gn)=>{"use strict";var Ml=q(),Vl=bn(),Fl=TypeError;gn.exports=function(r){if(Ml(r))return r;throw new Fl(Vl(r)+" is not a function")}});var En=p((Dd,Cn)=>{"use strict";var $l=br(),jl=ur();Cn.exports=function(r,e){var t=r[e];return jl(t)?void 0:$l(t)}});var In=p((Hd,Tn)=>{"use strict";var gr=Et(),Cr=q(),Er=ge(),Nl=TypeError;Tn.exports=function(r,e){var t,i;if(e==="string"&&Cr(t=r.toString)&&!Er(i=gr(t,r))||Cr(t=r.valueOf)&&!Er(i=gr(t,r))||e!=="string"&&Cr(t=r.toString)&&!Er(i=gr(t,r)))return i;throw new Nl("Can't convert object to primitive value")}});var wn=p((Gd,xn)=>{"use strict";xn.exports=!0});var Rn=p((zd,Sn)=>{"use strict";var An=X(),_l=Object.defineProperty;Sn.exports=function(r,e){try{_l(An,r,{value:e,configurable:!0,writable:!0})}catch(t){An[r]=e}return e}});var wt=p((Ud,kn)=>{"use strict";var ql=wn(),Bl=X(),Dl=Rn(),Pn="__core-js_shared__",On=kn.exports=Bl[Pn]||Dl(Pn,{});(On.versions||(On.versions=[])).push({version:"3.38.0",mode:ql?"pure":"global",copyright:"\xA9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.0/LICENSE",source:"https://github.com/zloirock/core-js"})});var Tr=p((Wd,Mn)=>{"use strict";var Ln=wt();Mn.exports=function(r,e){return Ln[r]||(Ln[r]=e||{})}});var qe=p((Kd,Vn)=>{"use strict";var Hl=pr(),Gl=Object;Vn.exports=function(r){return Gl(Hl(r))}});var Ce=p((Qd,Fn)=>{"use strict";var zl=U(),Ul=qe(),Wl=zl({}.hasOwnProperty);Fn.exports=Object.hasOwn||function(e,t){return Wl(Ul(e),t)}});var Ir=p((Xd,$n)=>{"use strict";var Kl=U(),Ql=0,Xl=Math.random(),Yl=Kl(1 .toString);$n.exports=function(r){return"Symbol("+(r===void 0?"":r)+")_"+Yl(++Ql+Xl,36)}});var Be=p((Yd,Nn)=>{"use strict";var Zl=X(),Jl=Tr(),jn=Ce(),ec=Ir(),tc=fr(),rc=vr(),Ee=Zl.Symbol,xr=Jl("wks"),ic=rc?Ee.for||Ee:Ee&&Ee.withoutSetter||ec;Nn.exports=function(r){return jn(xr,r)||(xr[r]=tc&&jn(Ee,r)?Ee[r]:ic("Symbol."+r)),xr[r]}});var Dn=p((Zd,Bn)=>{"use strict";var nc=Et(),_n=ge(),qn=yr(),oc=En(),ac=In(),sc=Be(),lc=TypeError,cc=sc("toPrimitive");Bn.exports=function(r,e){if(!_n(r)||qn(r))return r;var t=oc(r,cc),i;if(t){if(e===void 0&&(e="default"),i=nc(t,r,e),!_n(i)||qn(i))return i;throw new lc("Can't convert object to primitive value")}return e===void 0&&(e="number"),ac(r,e)}});var wr=p((Jd,Hn)=>{"use strict";var uc=Dn(),pc=yr();Hn.exports=function(r){var e=uc(r,"string");return pc(e)?e:e+""}});var Un=p((em,zn)=>{"use strict";var hc=X(),Gn=ge(),Ar=hc.document,dc=Gn(Ar)&&Gn(Ar.createElement);zn.exports=function(r){return dc?Ar.createElement(r):{}}});var Sr=p((tm,Wn)=>{"use strict";var mc=le(),fc=_(),vc=Un();Wn.exports=!mc&&!fc(function(){return Object.defineProperty(vc("div"),"a",{get:function(){return 7}}).a!==7})});var Xn=p(Qn=>{"use strict";var yc=le(),bc=Et(),gc=sr(),Cc=lr(),Ec=_e(),Tc=wr(),Ic=Ce(),xc=Sr(),Kn=Object.getOwnPropertyDescriptor;Qn.f=yc?Kn:function(e,t){if(e=Ec(e),t=Tc(t),xc)try{return Kn(e,t)}catch(i){}if(Ic(e,t))return Cc(!bc(gc.f,e,t),e[t])}});var Zn=p((im,Yn)=>{"use strict";var wc=_(),Ac=q(),Sc=/#|\.prototype\./,De=function(r,e){var t=Pc[Rc(r)];return t===kc?!0:t===Oc?!1:Ac(e)?wc(e):!!e},Rc=De.normalize=function(r){return String(r).replace(Sc,".").toLowerCase()},Pc=De.data={},Oc=De.NATIVE="N",kc=De.POLYFILL="P";Yn.exports=De});var Rr=p((nm,eo)=>{"use strict";var Jn=or(),Lc=br(),Mc=je(),Vc=Jn(Jn.bind);eo.exports=function(r,e){return Lc(r),e===void 0?r:Mc?Vc(r,e):function(){return r.apply(e,arguments)}}});var ro=p((om,to)=>{"use strict";var Fc=le(),$c=_();to.exports=Fc&&$c(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var no=p((am,io)=>{"use strict";var jc=ge(),Nc=String,_c=TypeError;io.exports=function(r){if(jc(r))return r;throw new _c(Nc(r)+" is not an object")}});var so=p(ao=>{"use strict";var qc=le(),Bc=Sr(),Dc=ro(),At=no(),oo=wr(),Hc=TypeError,Pr=Object.defineProperty,Gc=Object.getOwnPropertyDescriptor,Or="enumerable",kr="configurable",Lr="writable";ao.f=qc?Dc?function(e,t,i){if(At(e),t=oo(t),At(i),typeof e=="function"&&t==="prototype"&&"value"in i&&Lr in i&&!i[Lr]){var n=Gc(e,t);n&&n[Lr]&&(e[t]=i.value,i={configurable:kr in i?i[kr]:n[kr],enumerable:Or in i?i[Or]:n[Or],writable:!1})}return Pr(e,t,i)}:Pr:function(e,t,i){if(At(e),t=oo(t),At(i),Bc)try{return Pr(e,t,i)}catch(n){}if("get"in i||"set"in i)throw new Hc("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var co=p((lm,lo)=>{"use strict";var zc=le(),Uc=so(),Wc=lr();lo.exports=zc?function(r,e,t){return Uc.f(r,e,Wc(1,t))}:function(r,e,t){return r[e]=t,r}});var Ge=p((cm,po)=>{"use strict";var He=X(),Kc=Oi(),Qc=or(),Xc=q(),Yc=Xn().f,Zc=Zn(),Te=Tt(),Jc=Rr(),Ie=co(),uo=Ce();wt();var eu=function(r){var e=function(t,i,n){if(this instanceof e){switch(arguments.length){case 0:return new r;case 1:return new r(t);case 2:return new r(t,i)}return new r(t,i,n)}return Kc(r,this,arguments)};return e.prototype=r.prototype,e};po.exports=function(r,e){var t=r.target,i=r.global,n=r.stat,o=r.proto,s=i?He:n?He[t]:He[t]&&He[t].prototype,a=i?Te:Te[t]||Ie(Te,t,{})[t],l=a.prototype,c,d,f,m,E,R,P,g,O;for(m in e)c=Zc(i?m:t+(n?".":"#")+m,r.forced),d=!c&&s&&uo(s,m),R=a[m],d&&(r.dontCallGetSet?(O=Yc(s,m),P=O&&O.value):P=s[m]),E=d&&P?P:e[m],!(!c&&!o&&typeof R==typeof E)&&(r.bind&&d?g=Jc(E,He):r.wrap&&d?g=eu(E):o&&Xc(E)?g=Qc(E):g=E,(r.sham||E&&E.sham||R&&R.sham)&&Ie(g,"sham",!0),Ie(a,m,g),o&&(f=t+"Prototype",uo(Te,f)||Ie(Te,f,{}),Ie(Te[f],m,E),r.real&&l&&(c||!l[m])&&Ie(l,m,E)))}});var mo=p((um,ho)=>{"use strict";var tu=Math.ceil,ru=Math.floor;ho.exports=Math.trunc||function(e){var t=+e;return(t>0?ru:tu)(t)}});var ze=p((pm,fo)=>{"use strict";var iu=mo();fo.exports=function(r){var e=+r;return e!==e||e===0?0:iu(e)}});var yo=p((hm,vo)=>{"use strict";var nu=ze(),ou=Math.max,au=Math.min;vo.exports=function(r,e){var t=nu(r);return t<0?ou(t+e,0):au(t,e)}});var go=p((dm,bo)=>{"use strict";var su=ze(),lu=Math.min;bo.exports=function(r){var e=su(r);return e>0?lu(e,9007199254740991):0}});var Ue=p((mm,Co)=>{"use strict";var cu=go();Co.exports=function(r){return cu(r.length)}});var Mr=p((fm,To)=>{"use strict";var uu=_e(),pu=yo(),hu=Ue(),Eo=function(r){return function(e,t,i){var n=uu(e),o=hu(n);if(o===0)return!r&&-1;var s=pu(i,o),a;if(r&&t!==t){for(;o>s;)if(a=n[s++],a!==a)return!0}else for(;o>s;s++)if((r||s in n)&&n[s]===t)return r||s||0;return!r&&-1}};To.exports={includes:Eo(!0),indexOf:Eo(!1)}});var St=p((vm,Io)=>{"use strict";Io.exports=function(){}});var xo=p(()=>{"use strict";var du=Ge(),mu=Mr().includes,fu=_(),vu=St(),yu=fu(function(){return!Array(1).includes()});du({target:"Array",proto:!0,forced:yu},{includes:function(e){return mu(this,e,arguments.length>1?arguments[1]:void 0)}});vu("includes")});var Rt=p((gm,wo)=>{"use strict";var bu=It();wo.exports=bu});var So=p((Cm,Ao)=>{"use strict";xo();var gu=Rt();Ao.exports=gu("Array","includes")});var Po=p((Em,Ro)=>{"use strict";var Cu=So();Ro.exports=Cu});var Pt=p((Tm,Oo)=>{"use strict";var Eu=Po();Oo.exports=Eu});var ko=p(()=>{"use strict";var Tu=Ge(),Iu=qe(),xu=Ue(),wu=ze(),Au=St();Tu({target:"Array",proto:!0},{at:function(e){var t=Iu(this),i=xu(t),n=wu(e),o=n>=0?n:i+n;return o<0||o>=i?void 0:t[o]}});Au("at")});var Mo=p((wm,Lo)=>{"use strict";ko();var Su=Rt();Lo.exports=Su("Array","at")});var Fo=p((Am,Vo)=>{"use strict";var Ru=Mo();Vo.exports=Ru});var Vr=p((Sm,$o)=>{"use strict";var Pu=Fo();$o.exports=Pu});var Qo=p((Ef,Ko)=>{"use strict";var ju=Tr(),Nu=Ir(),Wo=ju("keys");Ko.exports=function(r){return Wo[r]||(Wo[r]=Nu(r))}});var Yo=p((Tf,Xo)=>{"use strict";var _u=_();Xo.exports=!_u(function(){function r(){}return r.prototype.constructor=null,Object.getPrototypeOf(new r)!==r.prototype})});var ea=p((If,Jo)=>{"use strict";var qu=Ce(),Bu=q(),Du=qe(),Hu=Qo(),Gu=Yo(),Zo=Hu("IE_PROTO"),Br=Object,zu=Br.prototype;Jo.exports=Gu?Br.getPrototypeOf:function(r){var e=Du(r);if(qu(e,Zo))return e[Zo];var t=e.constructor;return Bu(t)&&e instanceof t?t.prototype:e instanceof Br?zu:null}});var ra=p((xf,ta)=>{"use strict";ta.exports={}});var oa=p((wf,na)=>{"use strict";var Uu=U(),Dr=Ce(),Wu=_e(),Ku=Mr().indexOf,Qu=ra(),ia=Uu([].push);na.exports=function(r,e){var t=Wu(r),i=0,n=[],o;for(o in t)!Dr(Qu,o)&&Dr(t,o)&&ia(n,o);for(;e.length>i;)Dr(t,o=e[i++])&&(~Ku(n,o)||ia(n,o));return n}});var sa=p((Af,aa)=>{"use strict";aa.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var ca=p((Sf,la)=>{"use strict";var Xu=oa(),Yu=sa();la.exports=Object.keys||function(e){return Xu(e,Yu)}});var fa=p((Rf,ma)=>{"use strict";var pa=le(),Zu=_(),ha=U(),Ju=ea(),ep=ca(),tp=_e(),rp=sr().f,da=ha(rp),ip=ha([].push),np=pa&&Zu(function(){var r=Object.create(null);return r[2]=2,!da(r,2)}),ua=function(r){return function(e){for(var t=tp(e),i=ep(t),n=np&&Ju(t)===null,o=i.length,s=0,a=[],l;o>s;)l=i[s++],(!pa||(n?l in t:da(t,l)))&&ip(a,r?[l,t[l]]:t[l]);return a}};ma.exports={entries:ua(!0),values:ua(!1)}});var va=p(()=>{"use strict";var op=Ge(),ap=fa().values;op({target:"Object",stat:!0},{values:function(e){return ap(e)}})});var ba=p((kf,ya)=>{"use strict";va();var sp=Tt();ya.exports=sp.Object.values});var Ca=p((Lf,ga)=>{"use strict";var lp=ba();ga.exports=lp});var _t=p((Mf,Ea)=>{"use strict";var cp=Ca();Ea.exports=cp});var Ur=p((Xf,Pa)=>{"use strict";var pp=Ne();Pa.exports=Array.isArray||function(e){return pp(e)==="Array"}});var ka=p((Yf,Oa)=>{"use strict";var hp=TypeError,dp=9007199254740991;Oa.exports=function(r){if(r>dp)throw hp("Maximum allowed index exceeded");return r}});var Va=p((Zf,Ma)=>{"use strict";var mp=Ur(),fp=Ue(),vp=ka(),yp=Rr(),La=function(r,e,t,i,n,o,s,a){for(var l=n,c=0,d=s?yp(s,a):!1,f,m;c<i;)c in t&&(f=d?d(t[c],c,e):t[c],o>0&&mp(f)?(m=fp(f),l=La(r,e,f,m,l,o-1)-1):(vp(l+1),r[l]=f),l++),c++;return l};Ma.exports=La});var ja=p((Jf,$a)=>{"use strict";var bp=Be(),gp=bp("toStringTag"),Fa={};Fa[gp]="z";$a.exports=String(Fa)==="[object z]"});var _a=p((ev,Na)=>{"use strict";var Cp=ja(),Ep=q(),Bt=Ne(),Tp=Be(),Ip=Tp("toStringTag"),xp=Object,wp=Bt(function(){return arguments}())==="Arguments",Ap=function(r,e){try{return r[e]}catch(t){}};Na.exports=Cp?Bt:function(r){var e,t,i;return r===void 0?"Undefined":r===null?"Null":typeof(t=Ap(e=xp(r),Ip))=="string"?t:wp?Bt(e):(i=Bt(e))==="Object"&&Ep(e.callee)?"Arguments":i}});var Ba=p((tv,qa)=>{"use strict";var Sp=U(),Rp=q(),Wr=wt(),Pp=Sp(Function.toString);Rp(Wr.inspectSource)||(Wr.inspectSource=function(r){return Pp(r)});qa.exports=Wr.inspectSource});var Wa=p((rv,Ua)=>{"use strict";var Op=U(),kp=_(),Da=q(),Lp=_a(),Mp=It(),Vp=Ba(),Ha=function(){},Ga=Mp("Reflect","construct"),Kr=/^\s*(?:class|function)\b/,Fp=Op(Kr.exec),$p=!Kr.test(Ha),tt=function(e){if(!Da(e))return!1;try{return Ga(Ha,[],e),!0}catch(t){return!1}},za=function(e){if(!Da(e))return!1;switch(Lp(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return $p||!!Fp(Kr,Vp(e))}catch(t){return!0}};za.sham=!0;Ua.exports=!Ga||kp(function(){var r;return tt(tt.call)||!tt(Object)||!tt(function(){r=!0})||r})?za:tt});var Ya=p((iv,Xa)=>{"use strict";var Ka=Ur(),jp=Wa(),Np=ge(),_p=Be(),qp=_p("species"),Qa=Array;Xa.exports=function(r){var e;return Ka(r)&&(e=r.constructor,jp(e)&&(e===Qa||Ka(e.prototype))?e=void 0:Np(e)&&(e=e[qp],e===null&&(e=void 0))),e===void 0?Qa:e}});var Ja=p((nv,Za)=>{"use strict";var Bp=Ya();Za.exports=function(r,e){return new(Bp(r))(e===0?0:e)}});var es=p(()=>{"use strict";var Dp=Ge(),Hp=Va(),Gp=qe(),zp=Ue(),Up=ze(),Wp=Ja();Dp({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:void 0,t=Gp(this),i=zp(t),n=Wp(t,0);return n.length=Hp(n,t,t,i,0,e===void 0?1:Up(e)),n}})});var ts=p(()=>{"use strict";var Kp=St();Kp("flat")});var is=p((cv,rs)=>{"use strict";es();ts();var Qp=Rt();rs.exports=Qp("Array","flat")});var os=p((uv,ns)=>{"use strict";var Xp=is();ns.exports=Xp});var ss=p((pv,as)=>{"use strict";var Yp=os();as.exports=Yp});var ph={};zs(ph,{ContainerTypes:()=>v.ContainerTypes,ControlTypes:()=>v.ControlTypes,CustomError:()=>j,EVENT_NAMES:()=>S,EventActionTypes:()=>v.EventActionTypes,EventTypes:()=>v.EventTypes,Interactives:()=>nt,ManifestController:()=>ue,SDKInfo:()=>uh,chapterIdsToVKVideoIds:()=>Ht,compareVersions:()=>$t,containerTypes:()=>Ys,controlTypes:()=>Zs,eventActionTypes:()=>el,eventTypes:()=>Js,getChapterIdByVkVideoId:()=>Ss,getVKVideoIdByMedia:()=>Yr,getVideoRawIdByMedia:()=>ws,graphEventTypes:()=>Ae,hasEndTemplate:()=>Je,interactivesEventTypes:()=>k,isAreaControl:()=>Xs,isButtonControl:()=>Qs,isLastChapter:()=>K,isOneTextCtrlContainer:()=>ce,isSupportedManifest:()=>v.isSupportedManifest,isTextControl:()=>Fe,isVKVariantItem:()=>As,isValidManifest:()=>tr,migrateManifestToLatestVersion:()=>v.migrateManifestToLatestVersion,utils:()=>Ns,vkVideoIdsToChapterIds:()=>Zr});module.exports=Us(ph);var di="1.0.30-dev.b736679d.0";function Oe(r,e=1){let t="0",i="0",n="0";return r.length===4?(t="0x"+r[1]+r[1],i="0x"+r[2]+r[2],n="0x"+r[3]+r[3]):r.length===7&&(t="0x"+r[1]+r[2],i="0x"+r[3]+r[4],n="0x"+r[5]+r[6]),`rgba(${+t},${+i},${+n},${e})`}function ke(r){for(;r>Math.PI;)r-=2*Math.PI;for(;r<=-Math.PI;)r+=2*Math.PI;return r}function Ws(r){return r*180/Math.PI}var st=class{constructor(e){this.widthExpansionCoef=0;var E;let t=document.createElement("div");t.classList.add("interactive-fillAnimationElement");let i=document.createElement("div");i.classList.add("interactive-fillAnimationElement-filler-wrapper");let n=document.createElement("div");n.classList.add("interactive-fillAnimationElement-filler"),i.append(n),t.append(i);let o=ke(e.rotateAngle),s=o>Math.PI/2&&o<=Math.PI||o<0&&o<-Math.PI/2,a=o===Math.PI/2,l=o===-Math.PI/2,c=!s&&!a&&!l,d=a||l,f=!!(o%Math.PI/2)&&!d,m=f?o:0;t.style.borderRadius=e.borderRadius,i.style.transform=`skew(${m*-1}rad)`,d?(n.classList.add("fillHeight",a?"fromTop":"fromBottom"),i.classList.add("fillHeight",a?"fromTop":"fromBottom")):(n.classList.add("fillWidth",c?"fromLeft":"fromRight"),i.classList.add("fillWidth")),e.debug&&console.log({widthExpansionCoef:this.widthExpansionCoef,opts:e,shouldFillHeight:d,rotateAngleRad:o,rotateAngelDeg:Ws(o),rotateAngleRaw:e.rotateAngle,fromRight:s,fromTop:a,fromBottom:l,fromLeft:c}),this.useSkew=f,this.fromLeft=c,this.rotateAngle=o,this.fillAnimationElement=t,this.fillAnimationFillerElement=n,this.fillAnimationFillerWrapperElement=i,this.startTime=e.startTime,this.endTime=e.endTime,this.shouldFillHeight=d,this.isDebug=(E=e.debug)!=null?E:!1}updateDimension(e){this.fillAnimationElement.style.top=`${e.borderWidth*-1}px`,this.fillAnimationElement.style.left=`${e.borderWidth*-1}px`,this.fillAnimationElement.style.width=`${e.width}px`,this.fillAnimationElement.style.height=`${e.height}px`;let t=this.calcWidthExpansionCoef({rotateAngle:this.rotateAngle,isSkewed:this.useSkew,initWidth:e.width,initHeight:e.height});!this.shouldFillHeight&&(this.fillAnimationFillerWrapperElement.style.width=100*t+100+"%",this.fillAnimationFillerWrapperElement.style[`${this.fromLeft?"left":"right"}`]=`calc((${t} * 100%) / 2 * -1)`),this.widthExpansionCoef=t}updateAnimation(e){if((o=>o<this.startTime||o>this.endTime)(e))return;let i=this.endTime-this.startTime,n=Math.min(Math.max((e-this.startTime)/i,0),1);this.shouldFillHeight?this.fillAnimationFillerElement.style.transform=`scaleY(${n})`:this.fillAnimationFillerElement.style.transform=`scaleX(${n})`}calcWidthExpansionCoef({rotateAngle:e,isSkewed:t=!1,initWidth:i,initHeight:n}){return t?(i+n*Math.abs(Math.tan(e)))/i-1:0}};var F="interactive";var L={textColor:"#000",textSize:.4,textContent:"",roundCorners:0,borderWidth:0,borderWidthRawValue:"1px",roundCornersRawValue:"0",borderColor:"#000",borderAlpha:1,backgroundColor:"#fff",backgroundAlpha:1,innerSizesDependOn:"self",angle:0,shadowColorLight:"#fff",shadowColorDark:"#000",shadowColorAlpha:.24},mi=(i=>(i.top="flex-start",i.bottom="flex-end",i.center="center",i))(mi||{}),fi=(i=>(i.start="flex-start",i.end="flex-end",i.center="center",i))(fi||{}),vi=(i=>(i.start="left",i.end="right",i.center="center",i))(vi||{}),lt=({target:r,props:e})=>{var t,i,n;r.style.alignItems=(t=(e==null?void 0:e.gravityVertical)&&mi[e.gravityVertical])!=null?t:"center",r.style.justifyContent=(i=(e==null?void 0:e.gravityHorizontal)&&fi[e.gravityHorizontal])!=null?i:"center",r.style.textAlign=(n=(e==null?void 0:e.alignment)&&vi[e.alignment])!=null?n:"left"},ct=({target:r,props:e,fallback:t,dependsOn:i})=>{var n,o,s,a,l,c;r.style.color=(o=(n=e==null?void 0:e.text)==null?void 0:n.color)!=null?o:t.textColor,r.style.fontSize=`calc(${i.height} * ${(a=(s=e==null?void 0:e.text)==null?void 0:s.size)!=null?a:t.textSize})`,r.textContent=(c=(l=e==null?void 0:e.text)==null?void 0:l.value)!=null?c:t.textContent},ut=({target:r,props:e,fallback:t})=>{var i,n,o,s;r.style.backgroundColor=Oe((n=(i=e==null?void 0:e.background)==null?void 0:i.color)!=null?n:t.backgroundColor,(s=(o=e==null?void 0:e.background)==null?void 0:o.alpha)!=null?s:t.backgroundAlpha)},Le=({target:r,props:e,fallback:t,dependsOn:i,useRawValues:n=!1})=>{var a,l,c,d,f,m,E,R,P,g,O;let o=n?t.borderWidthRawValue:`calc(${i.height} * ${(c=(l=(a=e==null?void 0:e.shape)==null?void 0:a.border)==null?void 0:l.width)!=null?c:t.borderWidth})`,s=n?t.roundCornersRawValue:`calc(${i.height} * ${(f=(d=e==null?void 0:e.shape)==null?void 0:d.roundCorners)!=null?f:t.roundCorners})`;r.style.borderWidth=o,r.style.borderStyle="solid",r.style.borderColor=Oe(n?t.borderColor:(R=(E=(m=e==null?void 0:e.shape)==null?void 0:m.border)==null?void 0:E.color)!=null?R:t.borderColor,n?t.borderAlpha:(O=(g=(P=e==null?void 0:e.shape)==null?void 0:P.border)==null?void 0:g.alpha)!=null?O:t.borderAlpha),r.style.borderRadius=s},yi=({target:r,frameToneIsDark:e,baseDimension:t,fallback:i})=>{let s=Oe(i.shadowColorLight,i.shadowColorAlpha),a=Oe(i.shadowColorDark,i.shadowColorAlpha),l=`calc(${t} * ${.25})`,c=`calc(${t} * ${.11})`,d=`0px 0px ${l} ${c} ${e?s:a}`;r.style.boxShadow=d},ve=({target:r,layoutParams:e,fallback:t})=>{var n;let i=ke((n=e.angle)!=null?n:t.angle);i=i&&i*-1,r.style.transform=`rotate(${i}rad)`};var Kt="int",oe=(i=>(i.AREA=`${Kt}_area`,i.TEXT=`${Kt}_text`,i.BUTTON=`${Kt}_bttn`,i))(oe||{});function pt(r){return"features"in r}var re=class{constructor(e,t){this.control=e;this.options=t;this.container=null;this.controlElement=null;this.clickListener=null;this.isInteracted=!1;this.isRemoved=!1}createContainerElement(e){var o;let t=document.createElement("div");t.classList.add(`${F}-control-container-${this.control.id}`),e.setControlLayout(t,this.control.layoutParams);let i=((o=this.control.layoutParams.innerSizesDependOn)!=null?o:L.innerSizesDependOn)==="self"?{height:t.style.height,width:t.style.width}:{height:"var(--interactive-content-height)",width:"var(--interactive-content-width)"},n=()=>{var s,a;return(a=(s=e.isContainerDisabled)==null?void 0:s.call(e))!=null?a:!1};this.container={element:t,dimensions:i,getComputedDimensions:e.getComputedDimensions,isManifestContainerDisabled:n}}createClickListener(e){return t=>{t.stopPropagation(),this.isInteracted=!0,e()}}featureIsEnabled(e){return this.options&&pt(this.options)&&this.options.features[e]}setEvents(e){!this.container||!this.control.events||this.control.events.forEach(t=>{var n;switch(t.type.trim().toLowerCase()){case"onclick":this.clickListener=this.createClickListener(()=>e({action:t.action,controlId:this.control.id,controlType:this.control.type})),(n=this.container)==null||n.element.addEventListener("click",this.clickListener);break;default:break}})}removeListeners(){var e,t;(e=this.container)!=null&&e.element&&this.clickListener&&((t=this.container)==null||t.element.removeEventListener("click",this.clickListener))}};var bi=!1,gi=60,ye=class{constructor(e,t){this.onElementClick=e=>{if(!e.currentTarget||this.clickCancelCondition())return;let t=e.currentTarget.parentElement;if(!t)return;let i=t.getBoundingClientRect(),n={width:bi?t.offsetWidth:gi,height:bi?t.offsetHeight:gi},o=Math.min(n.width,n.height),s=i.left+i.width/2,a=i.top+i.height/2,l=e.clientX-s,c=e.clientY-a,d=Ks(l,c,ke(this.controlRotateAngleRad));this.element.style.width=o+"px",this.element.style.left=d.x+i.width/2-o/2+"px",this.element.style.top=d.y+i.height/2-o/2+"px",this.element.classList.add("interactive-tap-visible","interactive-tap-animation")};let i=document.createElement("div");i.classList.add("interactive-tap"),this.controlRotateAngleRad=e,this.element=i,this.clickCancelCondition=t}};function Ks(r,e,t){return{x:r*Math.cos(t)-e*Math.sin(t),y:r*Math.sin(t)+e*Math.cos(t)}}var ht=(r,e)=>{if(r.type.trim().toLowerCase()==="area")return new Qt(r,e)},Qt=class extends re{constructor(t,i){super(t,i);this.onControlSelect=()=>{var t;this.container&&this.container.isManifestContainerDisabled()||(t=this.controlElement)==null||t.classList.add("interactive-control-selected")};this.onTransitionEnd=t=>{t.stopPropagation(),!(!t.target||!t.currentTarget)&&t.target===t.currentTarget&&(t.currentTarget.removeEventListener("transitionend",this.onTransitionEnd),this.removeView())}}createView({parentElement:t,callbacks:i}){var o;if(super.createContainerElement(i),!this.container)return;let n=document.createElement("button");if(n.type="button",n.classList.add(`${F}-${this.control.id}`,`${F}-control`,`${F}-control-area`),n.setAttribute("data-testid",oe.AREA),this.controlElement=n,ut({target:n,props:this.control.props,fallback:{...L,backgroundColor:"transparent"}}),this.updateShadowStyles(),ve({target:n,layoutParams:this.control.layoutParams,fallback:L}),this.featureIsEnabled("tapPlaceShow")){let s=(o=this.control.layoutParams.angle)!=null?o:L.angle;this.tapElement=new ye(s,this.container.isManifestContainerDisabled),n.addEventListener("click",this.tapElement.onElementClick),this.container.element.append(this.tapElement.element)}n.addEventListener("click",this.onControlSelect,{once:!0}),this.container.element.append(n),t.append(this.container.element)}updateShadowStyles(t=!1){var i,n,o;if(!(!this.container||!this.controlElement))if(t){let s=getComputedStyle(this.controlElement),a=s.getPropertyValue("--interactive-frame-tone");if(!a)return;let l=Math.min(Number.parseFloat(s.height),Number.parseFloat(s.width))+"px",c=a==="dark";yi({target:this.controlElement,props:this.control.props,fallback:L,frameToneIsDark:c,baseDimension:l}),Le({target:this.controlElement,props:this.control.props,fallback:{...L,borderColor:c?"#fff":"#000",borderAlpha:1,borderWidthRawValue:"0.1px",roundCornersRawValue:`calc(${this.container.dimensions.height} * ${(o=(n=(i=this.control.props)==null?void 0:i.shape)==null?void 0:n.roundCorners)!=null?o:L.roundCorners})`},dependsOn:this.container.dimensions,useRawValues:!0})}else Le({target:this.controlElement,props:this.control.props,fallback:{...L,borderAlpha:0},dependsOn:this.container.dimensions})}disable(){this.controlElement&&(this.controlElement.style.cursor="default")}enable(){this.controlElement&&(this.controlElement.style.cursor="pointer")}setShowTimeRange(){}onProgress(){}onResize(){}removeView(t=!1){let i=this.getElement();if(i){if(t){if(i.classList.contains("interactive-control-before-remove"))return;i.classList.add("interactive-control-before-remove"),i.addEventListener("transitionend",this.onTransitionEnd);return}this.removeListeners(),i.remove(),this.isRemoved=!0}}removeListeners(){var i,n;super.removeListeners(),(i=this.controlElement)==null||i.removeEventListener("click",this.onControlSelect);let t=this.getElement();t==null||t.removeEventListener("transitionend",this.onTransitionEnd),!(!this.tapElement||!this.featureIsEnabled("tapPlaceShow"))&&((n=this.controlElement)==null||n.removeEventListener("click",this.tapElement.onElementClick))}getElement(){return this.controlElement}toggleCTAAnimation(t){var i;(i=this.controlElement)==null||i.classList.toggle("interactive-control-cta-area",t)}};var dt=()=>{let r=document.createElement("span");return r.style.display="inline-block",r.style.whiteSpace="pre",r.style.overflow="hidden",r.style.textOverflow="ellipsis",r.style.maxWidth="100%",r.style.maxHeight="100%",r};var mt=(r,e)=>{if(r.type.trim().toLowerCase()==="button")return new Xt(r,e)},Xt=class extends re{constructor(t,i){super(t,i);this.onControlSelect=()=>{var t;this.container&&this.container.isManifestContainerDisabled()||(t=this.controlElement)==null||t.classList.add("interactive-control-selected")};this.onTransitionEnd=t=>{t.stopPropagation(),!(!t.target||!t.currentTarget)&&t.target===t.currentTarget&&(t.currentTarget.removeEventListener("transitionend",this.onTransitionEnd),this.removeView())}}createView({parentElement:t,callbacks:i}){var s,a,l,c;if(super.createContainerElement(i),!this.container)return;let n=document.createElement("button");n.type="button",n.classList.add(`${F}-${this.control.id}`,`${F}-control`,`${F}-control-button`),n.setAttribute("data-testid",oe.BUTTON),ve({target:n,layoutParams:this.control.layoutParams,fallback:L}),ut({target:n,props:this.control.props,fallback:L}),Le({target:n,props:this.control.props,fallback:L,dependsOn:this.container.dimensions}),lt({target:n,props:{...this.control.props.text,alignment:this.control.layoutParams.alignment}});let o=dt();if(ct({target:o,props:this.control.props,fallback:L,dependsOn:this.container.dimensions}),this.startTime!==void 0&&this.endTime!==void 0&&this.featureIsEnabled("buttonControlInteractiveTimeTimer")&&(this.fillAnimation=new st({startTime:this.startTime,endTime:this.endTime,rotateAngle:(s=this.control.layoutParams.angle)!=null?s:L.angle,borderRadius:n.style.borderRadius})),this.featureIsEnabled("tapPlaceShow")){let d=(a=this.control.layoutParams.angle)!=null?a:L.angle;this.tapElement=new ye(d,this.container.isManifestContainerDisabled),n.addEventListener("click",this.tapElement.onElementClick),this.container.element.append(this.tapElement.element)}n.addEventListener("click",this.onControlSelect,{once:!0}),n.append(o,(c=(l=this.fillAnimation)==null?void 0:l.fillAnimationElement)!=null?c:""),this.container.element.append(n),t.append(this.container.element),this.controlElement=n,requestAnimationFrame(()=>{this.fillAnimation&&this.updateFillAnimationDimension()})}disable(){this.controlElement&&(this.controlElement.style.cursor="default")}enable(){this.controlElement&&(this.controlElement.style.cursor="pointer")}setShowTimeRange(t,i){this.startTime=t,this.endTime=i}onProgress(t){var i;(i=this.fillAnimation)==null||i.updateAnimation(t)}updateFillAnimationDimension(){var n;if(!this.container||!this.controlElement)return;let t=getComputedStyle(this.controlElement),i={width:parseFloat(t.width),height:parseFloat(t.height),borderWidth:parseFloat(t.borderWidth)||0};(n=this.fillAnimation)==null||n.updateDimension(i)}onResize(){this.updateFillAnimationDimension()}getElement(){return this.controlElement}removeView(t=!1){let i=this.getElement();if(i){if(t){if(i.classList.contains("interactive-control-before-remove"))return;i.classList.add("interactive-control-before-remove"),i.addEventListener("transitionend",this.onTransitionEnd);return}this.removeListeners(),i.remove(),this.isRemoved=!0}}removeListeners(){var i,n;super.removeListeners(),(i=this.controlElement)==null||i.removeEventListener("click",this.onControlSelect);let t=this.getElement();t==null||t.removeEventListener("transitionend",this.onTransitionEnd),!(!this.tapElement||!this.featureIsEnabled("tapPlaceShow"))&&((n=this.controlElement)==null||n.removeEventListener("click",this.tapElement.onElementClick))}toggleCTAAnimation(t){var i;(i=this.controlElement)==null||i.classList.toggle("interactive-control-cta-button",t)}updateShadowStyles(){}};var Ci=r=>{if(r.type.trim().toLowerCase()==="text")return new Yt(r)},Yt=class extends re{constructor(t){super(t);this.onTransitionEnd=t=>{t.stopPropagation(),!(!t.target||!t.currentTarget)&&t.target===t.currentTarget&&(t.currentTarget.removeEventListener("transitionend",this.onTransitionEnd),this.removeView())}}createView({parentElement:t,callbacks:i}){if(super.createContainerElement(i),!this.container)return;let n=document.createElement("div");n.classList.add(`${F}-${this.control.id}`,`${F}-control`,`${F}-control-text`),n.setAttribute("data-testid",oe.TEXT),ve({target:n,layoutParams:this.control.layoutParams,fallback:L}),lt({target:n,props:{...this.control.props.text,alignment:this.control.layoutParams.alignment}});let o=dt();ct({target:o,props:this.control.props,fallback:L,dependsOn:this.container.dimensions}),n.append(o),this.container.element.append(n),t.append(this.container.element),this.controlElement=n}disable(){}enable(){}setShowTimeRange(){}onProgress(){}onResize(){}toggleCTAAnimation(){}updateShadowStyles(){}removeView(t=!1){let i=this.getElement();if(i){if(t){if(i.classList.contains("interactive-control-before-remove"))return;i.classList.add("interactive-control-before-remove"),i.addEventListener("transitionend",this.onTransitionEnd);return}this.removeListeners(),i.remove(),this.isRemoved=!0}}removeListeners(){super.removeListeners();let t=this.getElement();t==null||t.removeEventListener("transitionend",this.onTransitionEnd)}getElement(){return this.controlElement}};var Zt=class{constructor(e){this.layout=e}},ft=class extends Zt{constructor(e){super(e)}setContainerLayout(e){e.style.position="relative"}setControlLayout(e,t){e.style.position="absolute",e.style.width=`calc(var(--interactive-content-width) * ${t.width})`,e.style.height=`calc(var(--interactive-content-height) * ${t.height})`,e.style.left=`calc(var(--interactive-content-width) * ${t.x} + ((var(--interactive-width) - var(--interactive-content-width)) / 2))`,e.style.top=`calc(var(--interactive-content-height) * ${t.y} + ((var(--interactive-height) - var(--interactive-content-height)) / 2))`}getComputedDimensions(e,t){let i=window.getComputedStyle(e),n=parseFloat(i.getPropertyValue("--interactive-content-width")),o=parseFloat(i.getPropertyValue("--interactive-content-height"));return{width:n*t.width,height:o*t.height}}};var be=class{constructor(e,t){this.container=e,this.options=t,this.factories=new Map,this.controls=[],this.setControls()}addControlFactory(e,t){this.factories.set(e.trim().toLowerCase(),t),this.setControls()}featureIsEnabled(e){return this.options&&pt(this.options)&&this.options.features[e]}removeControlFactory(e){this.factories.delete(e.trim().toLowerCase()),this.setControls()}setControls(){this.controls=this.chooseControls()}chooseControls(){var e;return((e=this.container.controls)==null?void 0:e.reduce((t,i)=>{let n=i.type.trim().toLowerCase(),o=this.factories.get(n);if(o){let s=o(i,this.options);if(s)return[...t,s]}return[...t]},[]))||[]}};var v=require("@interactiveplatform/movika-manifest");var ae=(r,e)=>Object.prototype.toString.call(r)===`[object ${e}]`,Me=r=>ae(r,"Object"),vt=r=>ae(r,"String"),yt=r=>ae(r,"Array"),bt=r=>ae(r,"Number"),Ei=r=>ae(r,"Function");var Jt=r=>bt(r)&&!isNaN(r);var se=r=>Me(r)&&Object.keys(r).length===0,er=r=>yt(r)&&!r.length;var Ve=(r,e)=>vt(r)&&(e?r.trim():r).length;var Ti={metadata:"Object",chapters:"Array"},tr=r=>{if(!Me(r))return!1;for(let e in Ti)if(!r[e]||!ae(r[e],Ti[e]))return!1;return(0,v.isSupportedManifest)(r.metadata.version)},Fe=r=>r.type===v.ControlTypes.Text,Qs=r=>r.type===v.ControlTypes.Button,Xs=r=>r.type===v.ControlTypes.Area,Ys={Choice:"Choice",TextInput:"TextInput"},Zs={Button:"Button",Area:"Area",Text:"Text"},Js={onClick:"onClick",onSuspense:"onSuspense"},el={openURI:"openURI",setNextBranch:"setNextBranch",setWeightlessRandomBranch:"setWeightlessRandomBranch",setRandomBranch:"setRandomBranch",setMaxWeightBranch:"setMaxWeightBranch",setMinWeightBranch:"setMinWeightBranch",setDefaultBranch:"setDefaultBranch",continuePlayback:"continuePlayback",expect:"expect"};var gt=(r,e,t)=>{if(r.type.trim().toLowerCase()==="choice")return new rr(r,e,t)},rr=class extends be{constructor(t,i,n){super(t,n);this.onTransitionEnd=t=>{t.stopPropagation(),!(!t.target||!t.currentTarget)&&t.target===t.currentTarget&&(t.currentTarget.removeEventListener("transitionend",this.onTransitionEnd),this.removeView())};this.rootElement=i,this.layout=new ft(this.container.layout),this.isRemoved=!1,this.isDisabled=!1,this.willRemoved=!1,this.addControlFactory("button",mt),this.addControlFactory("text",Ci),this.addControlFactory("area",ht)}createView({eventCallback:t,videoDurationMs:i}){let n=document.createElement("div");return this.featureIsEnabled("controlsShowAnimation")?(n.classList.add("interactive-container-before-show"),requestAnimationFrame(()=>{n.classList.remove("interactive-container-before-show"),n.classList.add("interactive-container")})):n.classList.add("interactive-container"),n.classList.add(`${F}-${this.container.id}`),this.layout.setContainerLayout(n),this.controls.forEach(o=>{var s,a;if(o.setShowTimeRange(this.container.startTime,(s=this.container.endTime)!=null?s:i),o.createView({parentElement:n,callbacks:{setControlLayout:this.layout.setControlLayout,getComputedDimensions:()=>this.layout.getComputedDimensions(this.rootElement,o.control.layoutParams),isContainerDisabled:()=>this.isDisabled}}),o.setEvents(t),this.featureIsEnabled("controlsCTAAnimation")){let l=o.control.type;(l===v.ControlTypes.Button||l===v.ControlTypes.Area)&&((a=o.controlElement)==null||a.addEventListener("mouseleave",()=>{o.controlElement&&this.setupControlsBlinkAnimSync(o.controlElement,l)}))}}),this.rootElement.append(n),this.isRemoved=!1,this.willRemoved=!1,n}onProgress(t,i){i&&this.controls.forEach(n=>{n.onProgress(t)})}onResize(){this.controls.forEach(t=>{t.onResize()})}hide(){let t=this.getElement();t&&(t.style.visibility="hidden")}show(){let t=this.getElement();t&&(t.style.visibility="visible")}enable(){let t=this.getElement();t&&(this.controls.forEach(i=>i.enable()),t.classList.remove("interactive-container-disabled"),this.isDisabled=!1)}disable(){let t=this.getElement();t&&(this.controls.forEach(i=>i.disable()),t.classList.add("interactive-container-disabled"),this.isDisabled=!0)}removeView(t=!1,i=!1){let n=this.getElement();if(n){if(t){if(this.willRemoved)return;this.willRemoved=!0,i&&n.classList.add("interactive-container-before-remove-delay"),n.classList.add("interactive-container-before-remove"),n.addEventListener("transitionend",this.onTransitionEnd);return}this.removeAllControls(),n.remove(),this.isRemoved=!0,this.willRemoved=!1}}removeAllControls(t=!1){this.controls.forEach(i=>i.removeView(t))}removeNonInteractedControls(t=!1){this.controls.forEach(i=>{i.isInteracted||i.removeView(t)})}isInteracted(){return this.controls.some(t=>t.isInteracted)}getElement(){return this.rootElement.querySelector(`.${F}-${this.container.id}`)}toggleCTAAnimation(t){this.controls.forEach(i=>i.toggleCTAAnimation(t))}updateControlsShadowStyles(t){this.controls.forEach(i=>i.updateShadowStyles(t))}setupControlsBlinkAnimSync(t,i){if(!t.classList.contains(`interactive-control-cta-${i.toLowerCase()}`)||t.classList.contains("interactive-control-selected")||t.classList.contains("interactive-blink-reference-disable-animation"))return;let n=this.rootElement.querySelector(".interactive-blink-reference-animation");n&&(t.classList.add("interactive-blink-reference-disable-animation"),n.addEventListener("animationiteration",()=>{t.classList.remove("interactive-blink-reference-disable-animation")},{once:!0}))}};var $s=Q(Pt(),1),js=Q(Vr(),1),C=require("@vkontakte/videoplayer-shared/es2018"),Pe=require("@vkontakte/videoplayer-statistics/es2018");var qo=require("@vkontakte/videoplayer-shared/es2018");function We(r,e){let t;return(...i)=>{clearTimeout(t),t=setTimeout(()=>r(...i),e)}}var jo="video_interactive",No="videoint";var _o=250,Ke=class{constructor(e){this.handleZoomChange=We(e=>{this.lastZoomInfo=e},_o);this.onResize=e=>{var i;if(!this.isReady||this.isHidden||!e[0].contentRect.width||!e[0].contentRect.height)return;let t=this.getNextPoint();t&&((i=this.ngEditor)==null||i.zoomTo(t)),this.ngEditorSize={width:e[0].contentRect.width,height:e[0].contentRect.height}};this.handleChapterChange=e=>{var t,i,n;if(this.manifest){if(this.isHidden||this.hide(),!(e!=null&&e.id)){(t=this.onError)==null||t.call(this,"Id is not found"),console.error("Id is not found");return}this.visitedChapterIds.add(e.id),(i=this.ngEditor)==null||i.selectChapter(e.id),(n=this.ngEditor)==null||n.setVisitedChapters(Array.from(this.visitedChapterIds)),this.currentChapterId=e.id,this.lastZoomInfo=null}};this.handleManifestChange=(e,t=[])=>{var i;if(this.isReady=!1,!bt(e.graph.edit.chapters[0].x)){(i=this.onError)==null||i.call(this,"Can't show graph"),console.error("Can't show graph");return}this.lastZoomInfo=null,this.manifest=e,this.visitedChapterIds=new Set(t),this.ngEditor&&(this.manifest.metadata.id!==this.currentManifestId?(this.ngEditor.update(e),this.currentManifestId=this.manifest.metadata.id):this.ngEditor.setVisitedChapters(Array.from(t)),this.isReady=!0)};this.init(e)}init({root:e,onOpenPreviewClick:t,onError:i,lang:n,visitedChapters:o=[]}){this.isReady=!1,this.isHidden=!0,this.manifest=null,this.visitedChapterIds=new Set(o),this.onOpenPreviewClick=t,this.onError=i,this.lang=n!=null?n:"ru",this.zoom=.7,this.lastZoomInfo=null,this.currentManifestId=null,this.currentChapterId=null,this.ngEditor=null,this.ngEditorSize=null,this.graphWrapperElement=Ou(e),this.resizeObserver=new ResizeObserver(We(this.onResize,_o)),this.resizeObserver.observe(this.graphWrapperElement)}getNextPoint(e=this.ngEditorSize){return!this.lastZoomInfo||!e?null:[(this.lastZoomInfo.x-e.width/2)/this.lastZoomInfo.value*-1,(this.lastZoomInfo.y-e.height/2)/this.lastZoomInfo.value*-1]}setVisitedChapters(e){var t;this.visitedChapterIds=new Set([...this.visitedChapterIds,...e]),(t=this.ngEditor)==null||t.setVisitedChapters(Array.from(this.visitedChapterIds))}updateVideosInfo(e){var t;(t=this.ngEditor)==null||t.updateVideosInfo(e)}async show(){var e;this.manifest&&(this.ngEditor||await this.initNgEditor(),this.graphWrapperElement.style.display="block",!this.lastZoomInfo&&this.currentChapterId&&((e=this.ngEditor)==null||e.focusChapter(this.currentChapterId)),this.isHidden=!1)}async initNgEditor(){if(!this.manifest)return;let e;try{e=await(0,qo.loadVKLangPack)(this.lang,jo,No)}catch(i){console.log("Unable to load graph language pack")}let{GraphEditor:t}=await import("@interactiveplatform/movika-graph-editor");this.ngEditor=new t(this.graphWrapperElement,{mode:"read",lang:this.lang==="ru"?"ru":"en",translation:e}),this.currentManifestId=this.manifest.metadata.id,this.ngEditor.update(this.manifest),this.ngEditor.setVisitedChapters(Array.from(this.visitedChapterIds)),this.currentChapterId&&this.ngEditor.selectChapter(this.currentChapterId),this.ngEditor.on("control",({name:i,...n})=>{var o;i==="openPreview"&&"chapterId"in n&&((o=this.onOpenPreviewClick)==null||o.call(this,n.chapterId))}),this.ngEditor.on("zoom",this.handleZoomChange),this.isReady=!0}hide(){this.graphWrapperElement.style.display="none",this.isHidden=!0}destroy(){var e,t;this.hide(),this.manifest=null,this.resizeObserver.disconnect(),(e=this.ngEditor)==null||e.setVisitedChapters([]),this.onOpenPreviewClick=void 0,(t=this.ngEditor)==null||t.dispose(),this.graphWrapperElement.remove(),this.isReady=!1}};function Ou(r){let e=document.createElement("div");return e.style.position="absolute",e.style.top="0",e.style.left="0",e.style.height="100%",e.style.width="100%",e.style.display="none",r.append(e),e}var Qe=class{constructor(){this._containers=[];this._player=null;this.setPlayer=e=>{this._player=e};this.setContainers=e=>{this._containers=e};this.deleteContainer=e=>{this._containers=this._containers.filter(t=>t.id!==e)};this.getNextInteractiveTime=(e=3e3)=>{if(!this._containers.length||this._player===null)return null;let t=-1,i=!1,n=Math.round(this._player.info.position$.getValue()*1e3);for(let o of this._containers){let s=o.startTime-e;if(s<=n&&(o.endTime&&n<=o.endTime||o.endTime===null)){i=!0;break}n<s&&(t=t===-1?s:Math.min(t,s))}return!i&&t!==-1?t:null}}};var j=class{constructor(e,t,...i){this.severity=e;this.category=t;this.data=i}toString(){return`Interactive SDK error ${JSON.stringify(this,null," ")}`}};var Ot=class{constructor(){this.listeners={}}addListener(e,t){return this.listeners[e]=this.listeners[e]||[],this.listeners[e].push(t),this}on(e,t){return this.addListener(e,t)}once(e,t){this.listeners[e]=this.listeners[e]||[];let i=()=>{t(),this.off(e,i)};return this.listeners[e].push(i),this}off(e,t){return this.removeListener(e,t)}reset(){this.listeners={}}removeListener(e,t){let i=this.listeners[e]||[];for(let n=i.length;n>0;n--)if(i[n]===t){i.splice(n,1);break}return this}emit(e,...t){let i=this.listeners[e];return i?(i.forEach(n=>{n(...t)}),!0):!1}listenerCount(e){return this.rawListeners(e).length}rawListeners(e){return this.listeners[e]||[]}};var kt=class{constructor(e){this.fns=[];this.addFn=(e,t=!1)=>{Ei(e)&&(this.fns.push(e),t&&this.updateFn())};this.removeFn=(e,t=!1)=>{this.fns=this.fns.filter(i=>i!==e),t&&this.updateFn()};this.updateFn=()=>{this.fn=()=>{this.fns.forEach(e=>e()),this.raf&&this.forceRequestAnimation()}};this.forceRequestAnimation=()=>{this.fn&&(this.raf=requestAnimationFrame(this.fn))};this.requestAnimation=()=>{this.raf||this.forceRequestAnimation()};this.cancelAnimation=()=>{this.raf&&(cancelAnimationFrame(this.raf),this.raf=void 0)};e&&(this.fn=e,this.addFn(e))}release(){this.cancelAnimation(),this.fn=void 0,this.fns=[]}};var Uo=require("@vkontakte/videoplayer-shared/es2018");var Lt=class{constructor(e){var t,i;this.loaders={chapterLoaders:(t=e==null?void 0:e.chapterLoaders)!=null?t:[],manifestLoaders:(i=e==null?void 0:e.manifestLoaders)!=null?i:[]}}async exec(e,t){return ku(...this.loaders[e])(t)}};function ku(...r){return async function(t){let i=[...r];for(;i.length>0;)t=await i.shift()(t);return t}}function Xe(r,e,t){return r?{...r,[e]:r[e]?[t,...r[e]]:[t]}:{[e]:[t]}}function Mt({actions:r,errors:e,chapterId:t,...i}){if(t){let n=r.getManifest();if(n){let o=r.getChapter(n.chapters,t);if(o){let s=r.getMedia(n.media,o.videoId),a=r.getGraph(n.graph,o.id);return s?{...i,actions:r,errors:e,result:{chapter:o,media:s,graph:a}}:{...i,errors:Xe(e,Mt.name,"Could not find media"),actions:r}}}}return{...i,errors:Xe(e,Mt.name,"Could not find chapter"),actions:r}}var Vt=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 n=0,o=i.length;n<o;n++)if(i[n].callback===t){i.splice(n,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return;let i=this.listeners[e.type].slice();for(let n=0,o=i.length;n<o;n++){let s=i[n];try{s.callback.call(this,e)}catch(a){Promise.resolve().then(()=>{throw a})}s.options&&s.options.once&&this.removeEventListener(e.type,s.callback)}return!e.defaultPrevented}},xe=class extends Vt{constructor(){super(),this.listeners||Vt.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)}},Ye=class{constructor(){Object.defineProperty(this,"signal",{value:new xe,writable:!0,configurable:!0})}abort(e){let t;try{t=new Event("abort")}catch(n){typeof document!="undefined"?document.createEvent?(t=document.createEvent("Event"),t.initEvent("abort",!1,!1)):(t=document.createEventObject(),t.type="abort"):t={type:"abort",bubbles:!1,cancelable:!1}}let i=e;if(i===void 0)if(typeof document=="undefined")i=new Error("This operation was aborted"),i.name="AbortError";else try{i=new DOMException("signal is aborted without reason")}catch(n){i=new Error("This operation was aborted"),i.name="AbortError"}this.signal.reason=i,this.signal.dispatchEvent(t)}toString(){return"[object AbortController]"}};typeof Symbol!="undefined"&&Symbol.toStringTag&&(Ye.prototype[Symbol.toStringTag]="AbortController",xe.prototype[Symbol.toStringTag]="AbortSignal");function Ft(r){return r.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof r.Request=="function"&&!r.Request.prototype.hasOwnProperty("signal")||!r.AbortController}function Fr(r){typeof r=="function"&&(r={fetch:r});let{fetch:e,Request:t=e.Request,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:n=!1}=r;if(!Ft({fetch:e,Request:t,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:n}))return{fetch:e,Request:o};let o=t;(o&&!o.prototype.hasOwnProperty("signal")||n)&&(o=function(c,d){let f;d&&d.signal&&(f=d.signal,delete d.signal);let m=new t(c,d);return f&&Object.defineProperty(m,"signal",{writable:!1,enumerable:!1,configurable:!0,value:f}),m},o.prototype=t.prototype);let s=e;return{fetch:(l,c)=>{let d=o&&o.prototype.isPrototypeOf(l)?l.signal:c?c.signal:void 0;if(d){let f;try{f=new DOMException("Aborted","AbortError")}catch(E){f=new Error("Aborted"),f.name="AbortError"}if(d.aborted)return Promise.reject(f);let m=new Promise((E,R)=>{d.addEventListener("abort",()=>R(f),{once:!0})});return c&&c.signal&&delete c.signal,Promise.race([m,s(l,c)])}return s(l,c)},Request:o}}var Ze=Ft({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),Bo=Ze?Fr({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,$r=Ze?Bo.fetch:window.fetch,tf=Ze?Bo.Request:window.Request,rf=Ze?Ye:window.AbortController,nf=Ze?xe:window.AbortSignal;var $t=(r="",e="")=>{let t=r.split("."),i=e.split("."),n=0;for(let o=0;o<Math.max(t.length,i.length)&&!n;o++)t[o]>i[o]?n=1:t[o]<i[o]?n=-1:n=0;return n};var Lu=async r=>{try{let e={},t;if(vt(r)){t=new URL(r).href;let n=await $r(t);if(!n.ok)return{};e=await n.json()}else if(Me(r))e=r;else return{};if(!tr(e))return{};let i=e.metadata.media;if(vt(i)&&!("media"in e))try{let n;t?n=new URL(i,t).href:(n=new URL(i).href,t=n);let o=await $r(n);if(!o.ok)throw new Error;e.metadata.media=await o.json()}catch(n){return Fu(e.metadata.version)?{manifest:e}:{}}return{manifest:e,manifestURL:t}}catch(e){return{}}};async function Do(r){let{manifest:e,manifestURL:t}=await Lu(r);if(!e)throw new Error("Failed on fetch");let i=(0,v.migrateManifestToLatestVersion)(e);return i.media=Mu(i.media,t),delete i.metadata.media,i}function jt(r,e){if(e)return r.find(t=>t.id===e)}function jr(r,e){var t,i;return(t=r.edit)!=null&&t.chapters?r.edit.chapters.find(n=>n.id===e):(i=r.view)!=null&&i.chapters?r.view.chapters.find(n=>n.id===e):void 0}function Nr(r,e){return r.videos.find(t=>t.id===e)}function Mu(r,e){return{...r,videos:r.videos.map(t=>({...t,variants:t.variants.map(i=>{let n="url"in i?i.url:"",o=Vu(n,e);return{...i,url:o||n}})}))}}function Vu(r="",e){try{return new URL(r,e).href}catch(t){return""}}function Fu(r){return $t(r,"3.2.0")>=0}var Nt=r=>yt(r)&&!er(r),K=r=>r.order==="end",Je=r=>yt(r.containers)&&!er(r.containers)&&K(r),Ho=(r,e)=>{var i;let t=r*1e3;return Nt(e.controls)&&t<((i=e.startTime)!=null?i:0)},_r=(r,e)=>{var i,n;let t=r*1e3;return Nt(e.controls)&&t>=((i=e.startTime)!=null?i:0)&&t<=((n=e.endTime)!=null?n:1/0)};var ie=(r=[])=>r.some(e=>e.action.type==="expect"),qr=(r=[])=>r.find(e=>e.action.type==="expect"),$u=r=>(r==null?void 0:r.length)===1,ce=r=>$u(r)&&Fe(r[0]);function Go(r,...e){return t=>typeof e[0]=="object"&&typeof t=="object"?r({...e[0],...t}):r(...e,...t)}var zo=(r,e)=>ie(r.events)?!1:e.some(({container:t})=>t.container.id!==r.id&&ie(t.container.events)&&t.container.endTime===r.endTime&&!t.isRemoved&&!t.willRemoved);var ue=class extends Lt{constructor(t,i){super(t);this.manifest=null;this.chapter=null;this.media=null;this.graph=null;this.prevChapter$=new Uo.ValueSubject(null);this.onError=i,this.release()}release(){return this.manifest=null,this.chapter=null,this.media=null,this.graph=null,this.prevChapter$.next(null),this}async setManifest(t){var n;this.release();let i=await this.exec("manifestLoaders",{actions:{addErrorMessage:Xe},result:null,errors:null,source:t});return i.errors&&this.errorHandler(i.errors),this.manifest=await Do((n=i.result)!=null?n:t),this}async setInitial(){return this.setNext()}async setNext(t=(i=>(i=this.manifest)==null?void 0:i.metadata.initChapterId)()){if(!t)return this;this.prevChapter$.next(this.chapter);let n=await this.exec("chapterLoaders",Mt({actions:{getManifest:()=>this.manifest,getCurrent:this.getCurrent,getGraph:jr,getChapter:jt,getMedia:Nr,getByBranches:this.getByBranches.bind(this),addErrorMessage:Xe},result:null,errors:null,chapterId:t}));return n.errors&&this.errorHandler(n.errors),n.result&&(this.chapter=n.result.chapter,this.media=n.result.media,this.graph=n.result.graph),this}errorHandler(t){this.onError(t),console.error("Something went wrong with loaders",{errors:t})}getInitial(){var i;return this.getByChapterId((i=this.manifest)==null?void 0:i.metadata.initChapterId)||null}getByChapterId(t=(i=>(i=this.manifest)==null?void 0:i.metadata.initChapterId)()){if(!t||!this.manifest)return null;let n=jt(this.manifest.chapters,t);if(n){let o=Nr(this.manifest.media,n.videoId),s=jr(this.manifest.graph,n.id);if(o)return{chapter:n,media:o,graph:s}}return null}getBranches(t=(i=>(i=this.chapter)==null?void 0:i.id)()){var n,o,s;if(t===((n=this.chapter)==null?void 0:n.id))return this.getByBranches((o=this.chapter)==null?void 0:o.branches);{let a=jt(((s=this.manifest)==null?void 0:s.chapters)||[],t);return this.getByBranches(a==null?void 0:a.branches)}}getByBranches(t=[]){return t.reduce((i,n)=>{let o=this.getByChapterId(n.chapterId);return o&&i.push(o),i},[])}getCurrent(){return{chapter:this.chapter,media:this.media,graph:this.graph}}isInitialChapter(){var t,i;return((t=this.chapter)==null?void 0:t.id)===((i=this.manifest)==null?void 0:i.metadata.initChapterId)}isEndChapter(){return this.chapter?K(this.chapter):!1}};var xa=Q(_t(),1),wa=require("@vkontakte/videoplayer-core/es2018"),ne=require("@vkontakte/videoplayer-shared/es2018");var Ta=r=>{let e=r.variants.find(t=>{var i;return((i=t.payload)==null?void 0:i.type)==="vk"});if(e&&e.payload){let[t,i]=e.payload.id.split("_");return[t,i]}return[]};var Ia=Q(_t(),1);function Hr(){let r=new Map;function e({listId:o=Math.random().toString(),itemId:s=Math.random().toString(),...a}){let l=r.get(o),c={...a};return l?l[s]=c:r.set(o,{[s]:c}),{listId:o,itemId:s,...a}}function t(o){var s,a;o.player.destroy(),o.container.remove(),o.subscription.unsubscribe(),(s=o.statistics)==null||s.oneStat.destroy(),(a=o.statistics)==null||a.statSubscription.unsubscribe()}function i(o,s){let a=r.get(o);if(!a)throw Error("Can't remove. Not find.");if(s){let l=a[s];l&&t(l),delete a[s],Object.keys(a).length||r.delete(o)}else{for(let l of(0,Ia.default)(a))t(l);r.delete(o)}}function n(){for(let o of r)i(o[0])}return{createPlayer:e,removePlayer:i,map:r,removeAll:n}}var we=Q(Pt(),1);function Gr(r,e=[]){var o,s,a;let t={},i,n=!e.length;for(let l of r.variants)if(!i&&"cover"in l&&(i=l.cover),"url"in l)switch(l.type.toLowerCase()){case"mp4":(n||(0,we.default)(e,"mp4"))&&(t.MPEG={...t.MPEG,[(o=l.standard)!=null?o:"Invariant quality"]:l.url});break;case"mpeg":(n||(0,we.default)(e,"mpeg"))&&(t.MPEG={...t.MPEG,[(s=l.standard)!=null?s:"Invariant quality"]:l.url});break;case"hls":(n||(0,we.default)(e,"hls"))&&(t={...t,HLS:{type:"url",url:l.url}});break;case"dash":(n||(0,we.default)(e,"dash"))&&(t={...t,DASH_SEP:{compatibilityMode:!0,type:"url",url:l.url}});break;default:break}return{sources:t,thumbUrl:i,title:(a=r.title)!=null?a:""}}var et=(r,e)=>{let t=r.info.currentQuality$.getValue(),i=r.info.availableQualities$.getValue();t!==e&&(0,we.default)(i,e)&&(r.setQuality(e),r.setAutoQuality(!1))};var up=2;function zr(r){let e=Hr(),t=new ne.Subscription,i={},n=null,o=!1,s,a=new ne.ValueSubject(null);r&&l(r);function l(g){n=g}function c(g,O,u){var I;if(!n)throw Error("need to set interactive controller");if(!n.options)return;let y=((I=e.map.get(g))!=null?I:{})[O];if(y){i={chapterId:u,listId:g,itemId:O,...y};let T=i.player;i.subscription.add(T.info.currentQuality$.subscribe(b=>{let x=T.info.position$.getValue(),$=T.info.isAutoQualityEnabled$.getValue();if(!(!b||!x||$))for(let w of e.map)(0,xa.default)(w[1]).forEach(({player:M})=>{et(M,b)})})).add(T.events.started$.subscribe(()=>{d(O)})),y.container.remove(),n.setPlayer(y.player),o||(n.init(),o=!0),a.next({player:i.player,config:i.config,statistics:i.statistics});return}throw Error("Can't set. Not find.")}async function d(g){if(!n)throw Error("need to set interactive controller");if(se(i)||g!==i.itemId)return;let O=n.getChapterBranches(),u=new Set;for(let h of O)u.has(h.media.id)||(await m({media:h.media,chapterId:h.chapter.id,setAsActive:!1,title:h.chapter.label}),u.add(h.media.id))}async function f({chapter:{id:g},manifestVideo:O}){if(se(i)||!n)return;let u=i.player.info.muted$.getValue(),h=i.player.info.currentQuality$.getValue(),y=i.player.info.isAutoQualityEnabled$.getValue(),I=i.player.info.volume$.getValue(),T=i.player.info.currentPlaybackRate$.getValue(),b=!y,x=!1;for(let $ of e.map)if($[0]===O.id&&!n.state.isReplay$.getValue()){let w=Object.keys($[1]);for(let M of w)M===i.itemId?(w.length<up||(x=!0),e.removePlayer($[0],M)):(x=!0,c($[0],M,g),b?et(i.player,h):i.player.setAutoQuality(!0),i.player.setVolume(I),i.player.setMuted(u),i.player.setPlaybackRate(T))}else e.removePlayer($[0]);x||(await m({media:O,chapterId:g,setAsActive:!0,playbackRate:T}),b?et(i.player,h):i.player.setAutoQuality(!0),i.player.setVolume(I),i.player.setMuted(u))}async function m({media:g,chapterId:O,prefetch:u=!0,setAsActive:h=!0,autoplay:y=!1,preferredExt:I,title:T,playbackRate:b}){var ii,ni,oi,ai,si;let x=Math.random().toString(),$=document.createElement("div");s.append($);let w;if((ii=n==null?void 0:n.options)!=null&&ii.vkVideoLoader){let ot=Ta(g);ot.length&&(w=await n.options.vkVideoLoader(...ot))}let M=((ni=n==null?void 0:n.options)==null?void 0:ni.coreConfig)||void 0,H={...M,configName:[...(oi=M==null?void 0:M.configName)!=null?oi:[],"interactive"]},G={container:$,...((ai=w==null?void 0:w.videos)==null?void 0:ai[0])||{sources:Gr(g,I).sources},title:T,failoverHosts:(w==null?void 0:w.failoverHosts)||[]},z=new wa.Player(H,ne.Tracer.createRootTracer());z.initVideo(G);let Z=null;if(w!=null&&w.videos&&(n!=null&&n.options.createOneStat)){let ot=w.videos[0],Wt=n.options.createOneStat(ot),li=new ne.Subscription;Wt&&(li.add(Wt.attachTo(z)),Z={oneStat:Wt,statSubscription:li})}let me=new ne.Subscription,_s=(si=i==null?void 0:i.player)==null?void 0:si.info.isAutoQualityEnabled$.getValue();me.add(z.events.canplay$.subscribe(function(){_s||et(z,i.player.info.currentQuality$.getValue()),b&&z.setPlaybackRate(b)}));let fe=e.createPlayer({listId:g.id,itemId:x,player:z,container:$,sources:Gr(g,I).sources,config:G,subscription:me,statistics:Z});return h&&c(g.id,fe.itemId,O),y&&fe.player.play(),u&&!y&&fe.player.prepare(),{player:fe.player,config:fe.config,statistics:fe.statistics}}function E(){R(),n=null,s.remove()}function R(){t.unsubscribe(),e.removeAll(),i={},o=!1}async function P(){if(!n)throw Error("need to set interactive controller");R(),s=document.createElement("div");let{media:g,chapter:O}=n.getCurrentChapter();g&&O?(t.add(n.events.chapterChanged$.subscribe(f)),await m({media:g,chapterId:O.id,title:O.label})):console.error("not found")}return{...e,init:P,setInteractiveController:l,createPlayer:m,removeAll:E,getActivePlayer:function(){return i},activePlayerChanged:a}}var S={graph:"graph",interactives:"interactives",chapterChanged:"chapter-changed",playerChanged:"player-changed",manifestChanged:"manifest-changed",errors:"errors",eachTick:"eachTick",historyInited:"history-inited",historyDestroyed:"history-destroyed"},Ae={visibility:"visibility",watchAgainClicked:"watchAgainClicked"},k={actionChoiceCanceled:"action-choice-canceled",actionChoice:"action-choice",actionExecution:"action-execution",visibility:"visibility",containerRemoved:"container-removed",rangeEnded:"range-ended"};var Sa=require("@vkontakte/videoplayer-shared/es2018");var qt=class{constructor({player:e,container:t,branches:i,selectBranches:n,interactiveEvents:o,globalEvents:s,globalEventEmitter:a,ignoreContainerEvent:l,permanentTextControls:c,disabledControls$:d,onRemove:f,features:m}){this.hide=()=>{setTimeout(()=>{var e,t;this.gameState!==4&&(ie(this.container.container.events)&&this.gameState===3||this.selectBranches.state.isExpect||(this.gameState!==2&&((t=(e=this.container).hide)==null||t.call(e)),this.emitContainerVisibilityEvent(!1)))})};this.show=()=>{var t,i,n,o,s,a;if(this.gameState!==2||this.container.isInteracted())return;if(this.container.getElement())(i=(t=this.container).show)==null||i.call(t),this.emitContainerVisibilityEvent(!0,!1);else{let l={isDisabled:()=>this.container.isDisabled,branches:this.branches,containerId:this.container.container.id,onDetachContainer:()=>{this.removeView(),this.emitContainerVisibilityEvent(!1)},onEvent:(f,m)=>{this.isSelectedControlEvent=!0,f!==!1&&(this.removeView(),this.emitContainerVisibilityEvent(!1)),(this.gameState===4||this.gameState===3||this.selectBranches.state.isExpect)&&(this.selectBranches.stopExpect(),m(),this.removeView(),this.emitContainerVisibilityEvent(!1))},isEOV:()=>this.gameState===4},c=Go(this.selectBranches.onControlEvent,l),d=((o=(n=this.player)==null?void 0:n.info.duration$.getValue())!=null?o:1/0)*1e3;this.container.createView({eventCallback:c,videoDurationMs:d}),this.emitContainerVisibilityEvent(!0,!0),this.disabledControls$.getValue()&&((a=(s=this.container).disable)==null||a.call(s))}};this.onEndOfVideo=()=>{this.gameState=4,this.selectContainerEvent(!0)};this.whilePlaying=()=>{var l,c;let e=this.player.experimental.element$.getValue();if(!(e instanceof HTMLVideoElement?e.readyState:void 0)||this.isRemovedOrDestroyed()&&!this.isPermanentText)return;let n=this.player.getExactTime();if(Ho(n,this.container.container))this.gameState!==1&&(this.gameState=1,this.onBeforeStartTime());else if(_r(n,this.container.container))this.gameState!==2&&(this.gameState=2,this.onStartTime());else if(this.gameState!==3){let d=this.gameState;this.gameState=3,d===2&&this.onEndTime()}else this.isPermanentText||this.removeView();let o=_r(n,this.container.container),s=this.container.container.startTime?[this.container.container.startTime,(l=this.container.container.endTime)!=null?l:1/0]:[],a={subjectId:this.container.container.id,subjectName:"container",range:s,currentTime:n,isInteractiveTime:o};this.globalEventEmitter.emit(S.eachTick,a),this.globalEvents.eachTick$.next(a),(c=this.container)==null||c.onProgress(n*1e3,o)};this.container=t,this.branches=i,this.selectBranches=n,this.subscription=new Sa.Subscription,this.player=e,this.interactiveEvents=o,this.ignoreContainerEvent=l,this.isPermanentText=c&&ce(t.container.controls),this.disabledControls$=d,this.onRemove=f,this.globalEventEmitter=a,this.gameState=0,this.globalEvents=s,this.features=m,this.isSelectedControlEvent=!1,this.isSelectedContainerEvent=!1,this.registerEvents()}emitContainerVisibilityEvent(e,t=!1){e?(this.globalEventEmitter.emit(S.interactives,{subjectId:this.container.container.id,subjectName:"container",type:k.visibility,visibility:e,isFirst:t}),this.globalEvents.interactiveVisibilityChanged$.next({subjectId:this.container.container.id,subjectName:"container",type:"visibility",visibility:e,isFirst:t})):(this.globalEventEmitter.emit(S.interactives,{subjectId:this.container.container.id,subjectName:"container",type:k.visibility,visibility:!1}),this.globalEvents.interactiveVisibilityChanged$.next({subjectId:this.container.container.id,subjectName:"container",type:"visibility",visibility:e}))}registerEvents(){this.subscription.add(this.player.events.playing$.subscribe(this.show)).add(this.player.events.paused$.subscribe(this.hide)).add(this.player.events.ended$.subscribe(this.onEndOfVideo)).add(this.disabledControls$.subscribe(e=>{var t,i,n,o;e?(i=(t=this.container).disable)==null||i.call(t):(o=(n=this.container).enable)==null||o.call(n)}))}selectContainerEvent(e=!1){var t,i;this.interactiveEvents.containersEventsCallState.setCalled({timestamp:e?1/0:(t=this.container.container.endTime)!=null?t:1/0,id:this.container.container.id}),!(this.isSelectedControlEvent||this.isSelectedContainerEvent)&&(this.isSelectedContainerEvent=!0,this.ignoreContainerEvent()||this.selectBranches.setManifestContainerEvents({container:this.container.container,branches:this.branches,isEOV:e}),!e&&this.interactiveEvents.exec((i=this.container.container.endTime)!=null?i:1/0))}onStartTime(){this.show()}onEndTime(){this.selectContainerEvent(!1);let e=ie(this.container.container.events)||this.ignoreContainerEvent();(this.isSelectedControlEvent||!e)&&this.removeView()}onBeforeStartTime(){var e,t;(t=(e=this.container).hide)==null||t.call(e),this.emitContainerVisibilityEvent(!1)}reset(){this.isSelectedControlEvent=!1,this.isSelectedContainerEvent=!1,this.gameState=1}isInteracted(){return this.container.isInteracted()}isRemovedOrDestroyed(e=!0){let t=e?this.container.willRemoved:!1;return this.gameState===5||t||this.gameState===6}removeView(e=this.features.controlsHideAnimation){var t;if(e){if(this.isRemovedOrDestroyed())return;this.container.removeNonInteractedControls(!0),this.container.removeView(!0,!0)}else this.container.removeView();this.globalEventEmitter.emit(S.interactives,{subjectId:this.container.container.id,subjectName:"container",type:k.containerRemoved,visibility:!1}),this.globalEvents.interactiveContainerRemoved$.next({subjectId:this.container.container.id,subjectName:"container",type:"container-removed"}),this.gameState=5,(t=this.onRemove)==null||t.call(this)}toggleControlsCTAAnimation(e){this.container.toggleCTAAnimation(e)}updateControlsShadowStyles(e){this.container.updateControlsShadowStyles(e)}destroy(){var e;this.reset(),this.removeView(!1),this.gameState=6,this.subscription.unsubscribe(),this.branches=[],this.interactiveEvents.containersEventsCallState.setCalled({timestamp:(e=this.container.container.endTime)!=null?e:1/0,id:this.container.container.id})}};var Ra=(r=[])=>r.reduce((e,t,i)=>{var o,s,a;let n=((o=t==null?void 0:t.controls)!=null?o:[]).filter(l=>!Fe(l));if(Nt(n)){let l=[(s=t.startTime)!=null?s:0,(a=t.endTime)!=null?a:1/0],c=t.id;if(!i)e.push({subjects:[c],range:l});else{let d=[],f=-1/0,m=1/0,E=[],R=[];for(let P=0;P<e.length;P++){let g=e[P];if(R.push(...g.subjects),g.range[0]<m&&(m=g.range[0]),g.range[1]>f&&(f=g.range[1]),l[0]>=g.range[0]&&l[1]<=g.range[1])return e[P].subjects.push(c),e;l[0]<g.range[0]&&l[1]>g.range[0]&&(d.push(P),E=E.concat(g.subjects)),l[0]>=g.range[0]&&l[0]<=g.range[1]&&(d.push(P),E=E.concat(g.subjects),l[0]=g.range[0]),l[1]>=g.range[0]&&l[1]<=g.range[1]&&(d.push(P),E=E.concat(g.subjects),l[1]=g.range[1])}if(R.push(c),l[0]<=m&&l[1]>=f)return[{subjects:R,range:l}];d.length&&d.reverse().forEach(P=>{e.splice(P,1)}),e.push({subjects:E.concat([c]),range:l})}}return e},[]).sort((e,t)=>e.range[0]-t.range[0]);var cs=Q(Pt(),1),Qr=Q(_t(),1),us=Q(ss(),1);function ls(){let r={};function e(){for(let a in r)Object.prototype.hasOwnProperty.call(r,a)&&delete r[a]}function t(a){let l={};for(let c in r)+c<=a&&(l[c]=r[c]);return l}function i(a){let l={};for(let c in r)+c>=a&&(l[c]=r[c]);return l}function n({timestamp:a,priority:l,initiator:c}){var d;if(Jt(a)){let f=(d=r[a])!=null?d:null;if(f&&l&&Ve(l,!0)){let m={},E=f[l];if(E&&(m={...m,...E}),m=se(m)?null:m,m&&Ve(c,!0)){let R=m[c];return R!=null?R:null}return m}return f}return null}function o({timestamp:a,priority:l,initiator:c}){if(Jt(a))if(r[a]){if(l&&Ve(l,!0))if(r[a][l]){if(c&&Ve(c,!0))if(r[a][l][c]){if(delete r[a][l][c],!se(r[a][l]))return!0}else return!1;if(delete r[a][l],!se(r[a]))return!0}else return!1;return delete r[a]}else return!1;return!1}function s({timestamp:a,priority:l,initiator:c,...d}){var f,m,E;(m=(f=r[a])==null?void 0:f[l])!=null&&m[c]?r[a][l][c].push({...d}):(E=r[a])!=null&&E[l]?r[a][l]={...r[a][l],[c]:[{...d}]}:r[a]?r[a]={...r[a],[l]:{[c]:[{...d}]}}:r[a]={[l]:{[c]:[{...d}]}}}return{map:r,remove:o,add:s,removeAll:e,get:n,getLte:t,getGte:i}}var Zp=[v.EventActionTypes.expect,v.EventActionTypes.setNextBranch],Jp=1/0;function ps(r){let e=r,t,i=eh(),n=ls(),o,s=()=>{m(),O()},a=u=>{n.add.call(void 0,u),R()},l=(u=[])=>{for(let h of u)if(h.action(),(0,cs.default)(Zp,h.actionType))break},c=(u=1/0)=>{var T,b,x;let h=Dt((T=n.get({timestamp:u,priority:"control"}))!=null?T:{}),y=Dt((b=n.get({timestamp:u,priority:"container"}))!=null?b:{}),I=Dt((x=n.get({timestamp:u,priority:"chapter"}))!=null?x:{});return[...h,...y,...I]},d=u=>{i.isReady(u)&&l(c(u))},f=()=>{var u;l([...Dt((u=n.get({timestamp:1/0,priority:"chapter"}))!=null?u:{})])},m=()=>{t&&(o==null||o.unsubscribe(),t=void 0)},E=u=>{},R=()=>{t||(t=()=>setTimeout(()=>{d(1/0)}),o=e.events.ended$.subscribe(t))},P=u=>{m(),e=u},g=u=>{u.priority==="container"&&i.resetCalled(u.timestamp),n.remove(u)},O=()=>{i.release(),n.removeAll()};return{setPlayer:P,add:a,remove:g,exec:d,execEndOfVideo:f,listen:R,unlisten:m,release:s,containersEventsCallState:i,getPreparedToExecActions:c}}function eh(){let r=new Map;return{setCalled:({timestamp:s,id:a})=>{let l=r.get(s);l&&l[a]!==void 0&&(l[a]=!0)},setData:(s=[])=>{var a;for(let l of s){let c=(a=l.endTime)!=null?a:Jp,d=r.get(c);r.set(c,{...d,[l.id]:!1})}},resetCalled:s=>{let a=r.get(s);if(a)for(let l in a)a[l]=!1},isReady:s=>{let a=r.get(s);return a?!(0,Qr.default)(a).some(l=>!l):!0},release:()=>r.clear()}}function Dt(r){return(0,us.default)((0,Qr.default)(r)).sort(e=>e.actionType===v.EventActionTypes.expect?-1:1)}var hs={videoContentHeight:0,videoContentWidth:0},ds=r=>{let{height:e,width:t}=r.info.intrinsicVideoSize$.getValue()||{};if(!(e&&t))return hs;let{clientHeight:i,clientWidth:n}=r.experimental.element$.getValue()||{};if(!(i&&n))return hs;let o=e/t,s=i/n,a,l;return s>o?(l=n,a=n*o):s<o?(l=i/o,a=i):(l=n,a=i),{videoContentWidth:l,videoContentHeight:a}};var th=250;function ms(r){let e=()=>{},t=new ResizeObserver(a=>{o(a),e=o.bind(null,a)});function i(a){let{parentElement:l,player:c}=r();if(l&&c){let{videoContentWidth:d,videoContentHeight:f}=ds(c);l.style.setProperty("--interactive-content-width",`${Math.ceil(d)}px`),l.style.setProperty("--interactive-content-height",`${Math.ceil(f)}px`),l.style.setProperty("--interactive-width",`${Math.ceil(a[0].contentRect.width)}px`),l.style.setProperty("--interactive-height",`${Math.ceil(a[0].contentRect.height)}px`)}}function n(){let{parentElement:a}=r();a.removeAttribute("style")}let o=We(a=>{let{fns:l=[]}=r();i(a);for(let c of l)c()},th);function s(){e=void 0,t.disconnect(),n()}return{resizeObserver:t,calc:()=>{e==null||e()},release:s}}var rh=r=>Math.floor(Math.random()*r),vs=r=>{var n;let e=r.length,t=1/0,i=null;for(;e--;){let o=r[e],s=(n=o.weight)!=null?n:1;s<t&&(t=s,i=o)}return i},ys=r=>{var n;let e=r.length,t=-1/0,i=null;for(;e--;){let o=r[e],s=(n=o.weight)!=null?n:0;s>t&&(t=s,i=o)}return i};var bs=r=>{let e=r.length,t=rh(e);return r[t]},fs=1,gs=r=>{var i,n;let e=0;for(let o=0;o<r.length;++o)e+=(i=r[o].weight)!=null?i:fs;let t=Math.random()*e;e=0;for(let o=0;o<r.length-1;++o)if(e+=(n=r[o].weight)!=null?n:fs,e>=t)return r[o];return r[r.length-1]};var Cs={shouldOpenNow:!0,isDetachContainer:!0},Es="after-expect";var Xr=(r,e=!1)=>({...r,args:e?{...r.args,...Cs}:{...Cs,...r.args}}),xs=({globalEventEmitter:r,globalEvents:e,player:t,interactiveEvents:i})=>{let n={isExpect:!1},o=()=>{n.isExpect&&(n.isExpect=!1)},s=({action:u,controlType:h,controlId:y,containerId:I,branches:T=[],onEvent:b,isEOV:x=()=>!1,isDisabled:$=()=>!1})=>{let w=Xr(u,x()),M={timestamp:1/0,priority:"control",initiator:y,actionType:w.type},H=$(),G=r.emit.bind(r,S.interactives,{subjectId:y,subjectType:h,subjectName:"control",type:H?k.actionChoiceCanceled:k.actionChoice,actionType:u.type,payload:{invokeImmediately:w.args.shouldOpenNow,containerId:I,...w.args}}),z=()=>{e.interactiveActionChoice$.next({subjectId:y,subjectType:h,subjectName:"control",type:H?"action-choice-canceled":"action-choice",actionType:u.type,payload:{invokeImmediately:w.args.shouldOpenNow,containerId:I,...w.args}})};if(H){G(),z();return}switch(w.type.trim().toLowerCase()){case v.EventActionTypes.setNextBranch.trim().toLowerCase():{let Z=T.find(me=>me.id===w.args.branchId);if(!Z)return;b(w.args.isDetachContainer,E.bind(null,{subjectId:y,subjectName:"control"})),G(),z(),w.args.shouldOpenNow?P({subjectId:y,subjectName:"control",subjectType:h,action:w,payload:{chapterId:Z.chapterId,autoSelect:!1}}):i.add({...M,action:P.bind(null,{subjectId:y,subjectName:"control",subjectType:h,action:w,payload:{chapterId:Z.chapterId,autoSelect:!1}})});return}case v.EventActionTypes.continuePlayback.trim().toLowerCase():{b(w.args.isDetachContainer,E.bind(null,{subjectId:y,subjectName:"control"})),G(),z(),w.args.shouldOpenNow?R({subjectId:y,subjectName:"control",subjectType:h,action:u}):i.add({...M,action:R.bind(null,{subjectId:y,subjectName:"control",subjectType:h,action:u})});return}case v.EventActionTypes.openURI.trim().toLowerCase():{b(w.args.isDetachContainer,E.bind(null,{subjectId:y,subjectName:"control"})),G(),z(),w.args.shouldOpenNow?O({subjectId:y,subjectName:"control",subjectType:h,action:w,payload:{URI:u.args.uri}}):i.add({...M,action:O.bind(null,{subjectId:y,subjectName:"control",subjectType:h,action:w,payload:{URI:u.args.uri}})});return}default:{let Z="Unexpected control event",me=new j(1,1,{message:Z});d(me,Z);return}}},a=({action:u,container:{id:h,endTime:y},branches:I=[],isEOV:T=!1,autoSelected:b=!1})=>{let x=Xr(u,T),$={timestamp:!x.args.shouldOpenNow||T?1/0:y!=null?y:1/0,priority:"container",initiator:h,actionType:x.type},w=r.emit.bind(r,S.interactives,{subjectId:h,subjectName:"container",type:k.actionChoice,actionType:x.type,payload:{invokeImmediately:x.args.shouldOpenNow,...x.args}}),M=()=>{e.interactiveActionChoice$.next({subjectId:h,subjectName:"container",type:"action-choice",actionType:x.type,payload:{invokeImmediately:x.args.shouldOpenNow,...x.args}})};switch(x.type.trim().toLowerCase()){case v.EventActionTypes.setNextBranch.trim().toLowerCase():{let H=I.find(G=>G.id===x.args.branchId);if(!H)return;w(),M(),i.add({...$,action:P.bind(null,{subjectId:h,subjectName:"container",action:x,payload:{chapterId:H.chapterId,autoSelect:b}})});return}case v.EventActionTypes.setMaxWeightBranch.trim().toLowerCase():return;case v.EventActionTypes.setMinWeightBranch.trim().toLowerCase():return;case v.EventActionTypes.setRandomBranch.trim().toLowerCase():return;case v.EventActionTypes.setWeightlessRandomBranch.trim().toLowerCase():return;case v.EventActionTypes.continuePlayback.trim().toLowerCase():{w(),M(),i.add({...$,action:R.bind(null,{subjectId:h,subjectName:"container",action:x})});return}case v.EventActionTypes.openURI.trim().toLowerCase():{w(),M(),i.add({...$,action:O.bind(null,{subjectId:h,subjectName:"container",action:x,payload:{URI:u.args.uri}})});return}default:{let H="Unexpected container event",G=new j(1,1,{message:H});d(G,H);return}}};function l({container:u,branches:h,isEOV:y=!1}){var T,b;let I=qr(u.events);if(I){let x=Xr(I.action,y);r.emit(S.interactives,{subjectId:u.id,subjectName:"container",type:k.actionChoice,actionType:x.type,payload:{invokeImmediately:x.args.shouldOpenNow,...x.args}}),e.interactiveActionChoice$.next({subjectId:u.id,subjectName:"container",type:"action-choice",actionType:x.type,payload:{invokeImmediately:x.args.shouldOpenNow,...x.args}}),i.add({timestamp:y?1/0:(T=u.endTime)!=null?T:1/0,priority:"container",initiator:u.id,actionType:v.EventActionTypes.expect,action:m.bind(null,{subjectId:u.id,subjectName:"container"})}),n.isExpect=!0}else for(let x of(b=u.events)!=null?b:[])a({action:x.action,container:u,branches:h,isEOV:y})}let c=({chapterId:u,action:h,branches:y=[]})=>{let I=r.emit.bind(r,S.interactives,{subjectId:u,subjectName:"chapter",type:k.actionChoice,actionType:h.type,payload:h.args}),T=()=>{e.interactiveActionChoice$.next({subjectId:u,subjectName:"chapter",type:"action-choice",actionType:h.type,payload:h.args})};switch(h.type.trim().toLowerCase()){case v.EventActionTypes.setNextBranch.trim().toLowerCase():{let b=y.find(x=>x.id===h.args.branchId);return b!=null&&b.chapterId?(I(),T(),P.bind(null,{subjectId:u,subjectName:"chapter",action:h,payload:{chapterId:b.chapterId,autoSelect:!0}})):void 0}case v.EventActionTypes.setWeightlessRandomBranch.trim().toLowerCase():{let b=bs(y);return b!=null&&b.chapterId?(I(),T(),P.bind(null,{subjectId:u,subjectName:"chapter",action:h,payload:{chapterId:b.chapterId,autoSelect:!0}})):void 0}case v.EventActionTypes.setRandomBranch.trim().toLowerCase():{let b=gs(y);return b!=null&&b.chapterId?(I(),T(),P.bind(null,{subjectId:u,subjectName:"chapter",action:h,payload:{chapterId:b.chapterId,autoSelect:!0}})):void 0}case v.EventActionTypes.setMaxWeightBranch.trim().toLowerCase():{let b=ys(y);return b!=null&&b.chapterId?(I(),T(),P.bind(null,{subjectId:u,subjectName:"chapter",action:h,payload:{chapterId:b.chapterId,autoSelect:!0}})):void 0}case v.EventActionTypes.setMinWeightBranch.trim().toLowerCase():{let b=vs(y);return b!=null&&b.chapterId?(I(),T(),P.bind(null,{subjectId:u,subjectName:"chapter",action:h,payload:{chapterId:b.chapterId,autoSelect:!0}})):void 0}case v.EventActionTypes.continuePlayback.trim().toLowerCase():return I(),T(),R.bind(null,{subjectId:u,subjectName:"chapter",action:h});case v.EventActionTypes.openURI.trim().toLowerCase():return I(),T(),O.bind(null,{subjectId:u,subjectName:"chapter",action:h,payload:{URI:h.args.uri}});default:{let b="Unexpected chapter event",x=new j(1,1,{message:b});d(x,b);return}}};function d(u,h){console.error(h),e.error$.next(u),r.emit(S.errors,u)}function f(u){var y;let h=qr(u.events);if(h){if(K(u))return;r.emit(S.interactives,{subjectId:u.id,subjectName:"chapter",type:k.actionChoice,actionType:h.action.type,payload:h.action.args}),e.interactiveActionChoice$.next({subjectId:u.id,subjectName:"chapter",type:"action-choice",actionType:h.action.type,payload:h.action.args}),i.add({timestamp:1/0,priority:"chapter",initiator:u.id,actionType:v.EventActionTypes.expect,action:m.bind(null,{subjectId:u.id,subjectName:"chapter"})})}else(y=u.events)==null||y.forEach(I=>{let T=c({chapterId:u.id,action:I.action,branches:u.branches});T&&i.add({timestamp:1/0,priority:"chapter",initiator:u.id,actionType:I.action.type,action:T})})}let m=({subjectId:u,subjectName:h})=>{t.pause(),r.emit(S.interactives,{subjectId:u,subjectName:h,type:k.actionExecution,actionType:v.EventActionTypes.expect}),e.interactiveActionExecution$.next({subjectId:u,subjectName:h,type:"action-execution",actionType:v.EventActionTypes.expect})},E=({subjectId:u,subjectName:h})=>{t.info.isEnded$.getValue()?i.execEndOfVideo():t.play(),r.emit(S.interactives,{subjectId:u,subjectName:h,type:k.actionExecution,actionType:Es}),e.interactiveActionExecution$.next({subjectId:u,subjectName:h,type:"action-execution",actionType:Es})},R=({subjectId:u,subjectName:h,subjectType:y,action:I})=>{r.emit(S.interactives,{subjectId:u,subjectName:h,subjectType:y,type:k.actionExecution,actionType:I.type}),e.interactiveActionExecution$.next({subjectId:u,subjectName:h,subjectType:y,type:"action-execution",actionType:I.type})},P=({subjectId:u,subjectName:h,subjectType:y,action:I,payload:T})=>{T.behaviour="change-chapter",r.emit(S.interactives,{subjectId:u,subjectName:h,subjectType:y,type:k.actionExecution,actionType:I.type,payload:T}),e.interactiveActionExecution$.next({subjectId:u,subjectName:h,subjectType:y,type:"action-execution",actionType:I.type,payload:T})},g=({subjectId:u,subjectName:h,subjectType:y,action:I,payload:T})=>{T.behaviour="change-manifest",r.emit(S.interactives,{subjectId:u,subjectName:h,subjectType:y,type:k.actionExecution,actionType:I.type,payload:T}),e.interactiveActionExecution$.next({subjectId:u,subjectName:h,subjectType:y,type:"action-execution",actionType:I.type,payload:T})},O=({subjectId:u,subjectName:h,subjectType:y,action:I,payload:T})=>{if(!T.URI)return;let b=window.open(T.URI,"_blank","noopener,noreferrer");b&&(b.opener=null),r.emit(S.interactives,{subjectId:u,subjectName:h,subjectType:y,type:k.actionExecution,actionType:I.type}),e.interactiveActionExecution$.next({subjectId:u,subjectName:h,subjectType:y,type:"action-execution",actionType:I.type})};return{onControlEvent:s,onContainerEvent:a,onChapterEvent:c,onExpectEvent:m,expectEventHandler:E,setManifestChapterEvents:f,setManifestContainerEvents:l,stopExpect:o,state:n}};var Jr=Q(Vr(),1),D=require("@vkontakte/videoplayer-shared/es2018");var Ht=(r,e)=>{let t={};return r.map(i=>{if(!t[i]){let n=e.chapters.find(s=>s.id===i);if(!n)return null;let o=e.media.videos.find(s=>n.videoId===s.id);if(!o)return null;t[i]=Yr(o)}return t[i]}).filter(Boolean)},ws=r=>{for(let e of r.variants)if(As(e)&&e.payload)return e.payload.id},As=r=>!!(r.type==="custom"&&r.payload&&r.payload.type==="vk"),Yr=r=>{let e=ws(r);if(!e)return null;let t=e.split("_").pop();return t?parseInt(t,10):null},Ss=(r,e)=>{for(let t of r.media.videos)if(e===Yr(t)){for(let i of r.chapters)if(i.videoId===t.id)return i.id;return}},Zr=(r,e)=>r.reduce((t,i)=>{let n=Ss(e,i);return n?[...t,n]:t},[]);var J,pe,he,B,Gt,ee,te,Y,de,Se,Re,rt=class{constructor({globalEventEmitter:e,videoId:t,interactiveController:i,historyApi:n,settings:o}){this.state={history$:new D.ValueSubject([]),hasPrevChapter$:new D.ValueSubject(!1),prevChapter$:new D.ValueSubject(null),isInitialChapter$:new D.ValueSubject(!1),isGoBackLimited$:new D.ValueSubject(!1)};N(this,J,null);N(this,pe);N(this,he,!1);N(this,B,null);N(this,Gt,null);this.events={inited$:new D.Subject,destroyed$:new D.Subject,error$:new D.Subject};N(this,ee,null);N(this,te,null);N(this,Y,null);N(this,de,new D.Subscription);N(this,Se,!1);N(this,Re,0);var s;V(this,ee,t),V(this,Y,e),V(this,te,i),V(this,J,n),V(this,pe,o),this.state.history$&&A(this,de)&&((s=A(this,de))==null||s.add(this.state.history$.subscribe(a=>{var l,c;this.state.prevChapter$.next((0,Jr.default)(a,-2)||null),this.state.hasPrevChapter$.next(a.length>1),this.state.isInitialChapter$.next(this.getInitialChapterId()===((c=(l=A(this,B))==null?void 0:l.metadata)==null?void 0:c.initChapterId)),this.state.isGoBackLimited$.next(A(this,Re)===A(this,pe).maxLength-1)})))}async setManifest(e){if(!A(this,te)||!A(this,Y))return;V(this,B,e),await this.getProjectHistory();let t=this.getInitialChapterId();await A(this,te).setChapter({chapterId:t,pushToHistory:!1}),A(this,he)||(V(this,he,!0),this.events.inited$.next({initChapterId:t}))}get inited(){return A(this,he)}async updateHistory(e,t=!0){var a;if(!A(this,B))return;A(this,Se)?(V(this,Se,!1),hi(this,Re)._++):V(this,Re,0);let i=A(this,B),n=e.length-A(this,pe).maxLength,o=n>0?e.slice(n):e,s=Ht(o,i);if(V(this,Gt,s),this.state.history$.next(o),!(!t||!A(this,J)||!A(this,ee)))try{await A(this,J).save(A(this,ee),s)}catch(l){let c=new j(1,5,"Unable to save interactive history");this.events.error$.next(c),(a=A(this,Y))==null||a.emit(S.errors,c)}}async goBack(){var i;if(!this.state||!A(this,te)){let n=new j(1,5,"Unable to save interactive history");return this.events.error$.next(n),(i=A(this,Y))==null?void 0:i.emit(S.errors,n)}V(this,Se,!0);let e=this.state.history$.getValue().slice(0,-1),t=e.pop();this.state.history$.next(e),await A(this,te).setChapter({chapterId:t,playPrev:!0})}async getProjectHistory(){var n;if(!A(this,B)||!A(this,ee))return;let e=A(this,B),t=[this.getInitialVideoId()];if(A(this,J))try{let o=await A(this,J).get(A(this,ee));o.length&&(t=o)}catch(o){let s=new j(1,5,"Error while trying to fetch data");this.events.error$.next(s),(n=A(this,Y))==null||n.emit(S.errors,s)}let i=Zr(t,e);this.state.history$.next(i)}getInitialChapterId(){var t;let e=this.state.history$.getValue();return(0,Jr.default)(e,-1)||A(this,pe).initChapterId||((t=A(this,B))==null?void 0:t.metadata.initChapterId)}getInitialVideoId(){if(A(this,B)){let e=this.getInitialChapterId();return Ht([e],A(this,B)).pop()}return null}destroy(){var e,t;V(this,ee,null),V(this,J,null),V(this,te,null),(e=A(this,de))==null||e.unsubscribe(),V(this,de,null),V(this,he,!1),(t=A(this,Y))==null||t.emit(S.historyDestroyed),this.events.destroyed$.next(),V(this,Y,null)}};J=new WeakMap,pe=new WeakMap,he=new WeakMap,B=new WeakMap,Gt=new WeakMap,ee=new WeakMap,te=new WeakMap,Y=new WeakMap,de=new WeakMap,Se=new WeakMap,Re=new WeakMap;var zt=class{constructor(){this._prevSizeId=0;this.rootElement=document.createElement("canvas")}clear(){var e;(e=this.rootElement.getContext("2d"))==null||e.clearRect(0,0,this.rootElement.width,this.rootElement.height)}isImageDrawn(){var n;let e=(n=this.rootElement.getContext("2d"))==null?void 0:n.getImageData(0,0,this.rootElement.width,this.rootElement.height);if(!e)return!1;let t=e.data,i=t.length;for(let o=3;o<i;o+=40)if(t[o]!==0)return!0;return!1}destroy(){this.rootElement.remove()}show(){this.rootElement.style.visibility="visible"}hide(){this.rootElement.style.visibility="hidden"}setCanvasImageSource(e){this.canvasImgSrc=e}draw(){var e;this.canvasImgSrc&&((e=this.rootElement.getContext("2d"))==null||e.drawImage(this.canvasImgSrc,0,0,this.rootElement.width,this.rootElement.height))}async updateCanvasDimensions(e,t=!1){let i=e.width+e.height;if(this._prevSizeId===i)return;let n;t&&(n=await this.save()),this.rootElement.width=e.width,this.rootElement.height=e.height,t&&n&&this.restore(n),this._prevSizeId=i}async save(){let e=this.rootElement.toDataURL("image/jpeg",1),t=new Image;return t.crossOrigin="anonymous",t.src=e,await t.decode(),t}restore(e){var t;this.rootElement&&((t=this.rootElement.getContext("2d"))==null||t.drawImage(e,0,0,this.rootElement.width,this.rootElement.height))}};var Ut=class{constructor({parentElement:e,endOffsetMs:t=250,onError:i}){this.currentVideoDurationMs=1/0;this._containerTimeFrameShouldReceived=!1;this._endTimeFrameReceived=!1;this._shouldCallSkip=!1;this.onEachTick=e=>{let t=e!=null?e:this.lastFrameCanvas.canvasImgSrc.currentTime*1e3,i=this.isChapterEndTime(t);if(this.isContainerTime(t))this._endTimeFrameReceived=!1,this._containerTimeFrameShouldReceived=!0,this._shouldCallSkip=!0;else if(i)this._containerTimeFrameShouldReceived=!1,this._shouldCallSkip=!1,this._endTimeFrameReceived||(this.draw(),this._endTimeFrameReceived=!0,this.show());else{if(this._shouldCallSkip){this._shouldCallSkip=!1;return}this.reset()}};this.onSeek=()=>{this.onEachTick(),!this._containerTimeFrameShouldReceived&&!this._endTimeFrameReceived&&(this.hide(),this.lastFrameCanvas.clear())};this.rootElement=document.createElement("div"),this.rootElement.style.cssText=`
7
7
  position: absolute;
8
8
  top: 0;
9
9
  left: 0;
@@ -11,13 +11,241 @@
11
11
  height: var(--interactive-height);
12
12
  background-color: var(--black);
13
13
  visibility: hidden;
14
- `,this.lastFrameCanvas=new Ut,this.endOffsetMs=t,this._callbacks={onError:i},this.lastFrameCanvas.rootElement.style.cssText=`
14
+ `,this.lastFrameCanvas=new zt,this.endOffsetMs=t,this._callbacks={onError:i},this.lastFrameCanvas.rootElement.style.cssText=`
15
15
  position: absolute;
16
16
  top: 50%;
17
17
  left: 50%;
18
18
  transform: translate(-50%, -50%);
19
- `,this.rootElement.prepend(this.lastFrameCanvas.rootElement),e.prepend(this.rootElement)}destroy(){this.hide(),this.reset(),this._callbacks=void 0,this.lastFrameCanvas.destroy(),this.rootElement.remove()}setVideoDuration(e){this.currentVideoDurationMs=e}setVideoElement(e){this.lastFrameCanvas.setCanvasImageSource(e)}setCurrentChapter(e){this.currentChapter=e}show(){this.rootElement.style.visibility="visible"}hide(){this.rootElement.style.visibility="hidden"}async updateCanvasDimensions(e=!1){this._containerTimeFrameShouldReceived||this._endTimeFrameReceived||(e=!1);let t=getComputedStyle(this.rootElement),i={width:parseInt(t.getPropertyValue("--interactive-content-width"),10),height:parseInt(t.getPropertyValue("--interactive-content-height"),10)};try{this.lastFrameCanvas.updateCanvasDimensions(i,e)}catch(n){this._onError(n)}}draw(){(this._containerTimeFrameShouldReceived||!this._containerTimeFrameShouldReceived&&!this._endTimeFrameReceived)&&this.lastFrameCanvas.draw()}isChapterEndTime(e){return this.currentVideoDurationMs&&e>=this.currentVideoDurationMs-this.endOffsetMs}isContainerTime(e){if(this.currentChapter)return this.currentChapter.containers.some(t=>{var i,n,s;return((i=t.controls)==null?void 0:i.length)&&e>=((n=t.startTime)!=null?n:0)&&e<=Math.min((s=t.endTime)!=null?s:1/0,this.currentVideoDurationMs-this.endOffsetMs)})}reset(){this._endTimeFrameReceived=!1,this._containerTimeFrameShouldReceived=!1,this._shouldCallSkip=!1}_onError(e){var t,i;(i=(t=this._callbacks)==null?void 0:t.onError)==null||i.call(t,e)}};function So(r=0){return new Promise(e=>{setTimeout(()=>{e(0)},r)})}var wo=Object.freeze({lang:E.InterfaceLanguage.RU,loaders:{},graph:!1,initSeamless:!1,lastFrame:!1,permanentTextControls:!0,config:{historyMaxLength:100,noInteractionEventTimeout:3e4}});function zp(){let r=document.createElement("div");return r.style.cssText=`
19
+ `,this.rootElement.prepend(this.lastFrameCanvas.rootElement),e.prepend(this.rootElement)}destroy(){this.hide(),this.reset(),this._callbacks=void 0,this.lastFrameCanvas.destroy(),this.rootElement.remove()}setVideoDuration(e){this.currentVideoDurationMs=e}setVideoElement(e){this.lastFrameCanvas.setCanvasImageSource(e)}setCurrentChapter(e){this.currentChapter=e}show(){this.rootElement.style.visibility="visible"}hide(){this.rootElement.style.visibility="hidden"}async updateCanvasDimensions(e=!1){this._containerTimeFrameShouldReceived||this._endTimeFrameReceived||(e=!1);let t=getComputedStyle(this.rootElement),i={width:parseFloat(t.getPropertyValue("--interactive-content-width")),height:parseFloat(t.getPropertyValue("--interactive-content-height"))};try{this.lastFrameCanvas.updateCanvasDimensions(i,e)}catch(n){this._onError(n)}}draw(){(this._containerTimeFrameShouldReceived||!this._containerTimeFrameShouldReceived&&!this._endTimeFrameReceived)&&this.lastFrameCanvas.draw()}isChapterEndTime(e){return this.currentVideoDurationMs&&e>=this.currentVideoDurationMs-this.endOffsetMs}isContainerTime(e){if(this.currentChapter)return this.currentChapter.containers.some(t=>{var i,n,o;return((i=t.controls)==null?void 0:i.length)&&e>=((n=t.startTime)!=null?n:0)&&e<=Math.min((o=t.endTime)!=null?o:1/0,this.currentVideoDurationMs-this.endOffsetMs)})}reset(){this._endTimeFrameReceived=!1,this._containerTimeFrameShouldReceived=!1,this._shouldCallSkip=!1}_onError(e){var t,i;(i=(t=this._callbacks)==null?void 0:t.onError)==null||i.call(t,e)}};function Rs(r=0){return new Promise(e=>{setTimeout(()=>{e(0)},r)})}var nh=`
20
+ .interactive-fillAnimationElement {
20
21
  position: absolute;
22
+ overflow: hidden;
23
+ z-index: -1;
24
+ pointer-events: none;
25
+ }
26
+
27
+ .interactive-fillAnimationElement-filler-wrapper {
28
+ position: absolute;
29
+ width: 100%;
30
+ height: 100%;
31
+ transform-origin: center;
32
+ }
33
+
34
+ .interactive-fillAnimationElement-filler-wrapper.fillWidth {
35
+ top: 0;
36
+ }
37
+
38
+ .interactive-fillAnimationElement-filler-wrapper.fillHeight {
39
+ left: 0;
40
+ }
41
+
42
+ .interactive-fillAnimationElement-filler-wrapper.fromRight {
43
+ right: 0;
44
+ }
45
+
46
+ .interactive-fillAnimationElement-filler-wrapper.fromLeft {
47
+ left: 0;
48
+ }
49
+
50
+ .interactive-fillAnimationElement-filler-wrapper.fromTop {
51
+ top: 0;
52
+ }
53
+
54
+ .interactive-fillAnimationElement-filler-wrapper.fromBottom {
55
+ bottom: 0;
56
+ }
57
+
58
+ .interactive-fillAnimationElement-filler {
59
+ width: 100%;
60
+ height: 100%;
61
+ background-color: rgba(173, 211, 255, 0.32);
62
+ }
63
+
64
+ .interactive-fillAnimationElement-filler.fillWidth {
65
+ transform: scaleX(0);
66
+ }
67
+
68
+ .interactive-fillAnimationElement-filler.fillHeight {
69
+ transform: scaleY(0);
70
+ }
71
+
72
+ .interactive-fillAnimationElement-filler.fromRight {
73
+ transform-origin: right;
74
+ }
75
+
76
+ .interactive-fillAnimationElement-filler.fromLeft {
77
+ transform-origin: left;
78
+ }
79
+
80
+ .interactive-fillAnimationElement-filler.fromTop {
81
+ transform-origin: top;
82
+ }
83
+
84
+ .interactive-fillAnimationElement-filler.fromBottom {
85
+ transform-origin: bottom;
86
+ }
87
+ `,oh=`
88
+ ${nh}
89
+
90
+ .interactive-control {
91
+ display: flex;
92
+ width: 100%;
93
+ height: 100%;
94
+ font-family: inherit;
95
+ }
96
+
97
+ .interactive-control-button {
98
+ cursor: pointer;
99
+ position: relative;
100
+ isolation: isolate;
101
+ transition: opacity 400ms cubic-bezier(0.4, 0, 0.2, 1);
102
+ opacity: 1;
103
+ }
104
+
105
+ .interactive-container:not(.interactive-container-disabled) .interactive-control-button:not(.interactive-control-selected):hover,
106
+ .interactive-container:not(.interactive-container-disabled) .interactive-control-button:not(.interactive-control-selected):focus-visible {
107
+ transition: opacity 400ms cubic-bezier(0.4, 0, 0.2, 1);
108
+ opacity: 0.8;
109
+ animation: none;
110
+ }
111
+
112
+ .interactive-control-button.interactive-control-selected {
113
+ transition: opacity 100ms ease-in-out;
114
+ opacity: 0.5;
115
+ pointer-events: none;
116
+ }
117
+
118
+ .interactive-control-area {
119
+ cursor: pointer;
120
+ opacity: 1;
121
+ box-shadow: none;
122
+ transition: border-color 100ms ease-in-out, box-shadow 100ms ease-in-out, opacity 400ms cubic-bezier(0.4, 0, 0.2, 1);
123
+ }
124
+
125
+ .interactive-container:not(.interactive-container-disabled) .interactive-control-area:not(.interactive-control-selected):hover,
126
+ .interactive-container:not(.interactive-container-disabled) .interactive-control-area:not(.interactive-control-selected):focus-visible {
127
+ transition: opacity 400ms cubic-bezier(0.4, 0, 0.2, 1);
128
+ opacity: 0;
129
+ animation: none;
130
+ }
131
+
132
+ .interactive-control-area.interactive-control-selected {
133
+ transition: opacity 100ms ease-in-out;
134
+ opacity: 0;
135
+ pointer-events: none;
136
+ }
137
+
138
+ .interactive-container.interactive-container-disabled .interactive-control-button,
139
+ .interactive-container.interactive-container-disabled .interactive-control-area {
140
+ animation: none;
141
+ }
142
+
143
+ .interactive-container.interactive-container-before-remove-delay {
144
+ transition-delay: 300ms;
145
+ }
146
+
147
+ .interactive-control-before-remove,
148
+ .interactive-container.interactive-container-before-remove {
149
+ transition-property: opacity;
150
+ transition-duration: 100ms;
151
+ transition-timing-function: ease-in-out;
152
+ opacity: 0;
153
+ pointer-events: none;
154
+ }
155
+
156
+ .interactive-tap {
157
+ position: absolute;
158
+ aspect-ratio: 1;
159
+ background-color: rgba(255, 255, 255, 0.08);
160
+ border: 1px solid #fff;
161
+ border-radius: 50%;
162
+ transition: opacity 100ms ease-in-out;
163
+ opacity: 0;
164
+ pointer-events: none;
165
+ z-index: 1;
166
+ }
167
+
168
+ .interactive-tap-animation {
169
+ animation-duration: 300ms;
170
+ animation-iteration-count: 1;
171
+ animation-timing-function: ease;
172
+ animation-name: bounce;
173
+ }
174
+
175
+ @keyframes bounce {
176
+ 0%, 100% {
177
+ transform: scale(1);
178
+ }
179
+ 50% {
180
+ transform: scale(0.3);
181
+ }
182
+ }
183
+
184
+ .interactive-container:not(.interactive-container-disabled) .interactive-tap-visible {
185
+ opacity: 1;
186
+ }
187
+
188
+ .interactive-control-cta-area {
189
+ animation-duration: 2001ms;
190
+ animation-iteration-count: infinite;
191
+ animation-timing-function: cubic-bezier(0.3, 0.3, 0.3, 1);
192
+ animation-name: blinking-1;
193
+ }
194
+
195
+ @keyframes blinking-1 {
196
+ 0%, 100% {
197
+ opacity: 1;
198
+ }
199
+ 50% {
200
+ opacity: 0;
201
+ }
202
+ }
203
+
204
+ .interactive-control-cta-button {
205
+ animation-duration: 2001ms;
206
+ animation-iteration-count: infinite;
207
+ animation-timing-function: cubic-bezier(0.3, 0.3, 0.3, 1);
208
+ animation-name: blinking-2;
209
+ }
210
+
211
+ @keyframes blinking-2 {
212
+ 0%, 100% {
213
+ opacity: 1;
214
+ }
215
+ 50% {
216
+ opacity: 0.8;
217
+ }
218
+ }
219
+
220
+ .interactive-container {
221
+ opacity: 1;
222
+ }
223
+
224
+ .interactive-container * {
225
+ box-sizing: border-box;
226
+ }
227
+
228
+ .interactive-container-before-show {
229
+ transition: opacity 100ms ease-in-out;
230
+ opacity: 0.5;
231
+ pointer-events: none;
232
+ }
233
+
234
+ .interactive-container-disabled {
235
+ transition: opacity 100ms ease-in-out;
236
+ opacity: 0.5;
237
+ }
238
+
239
+ .interactive-blink-reference-animation {
240
+ position: absolute;
241
+ height: 0;
242
+ width: 0;
21
243
  top: 0;
22
244
  left: 0;
23
- `,r}var tt=class{constructor(e){this.subscription=new E.Subscription;this.globalEventEmitter=new At;this.eventsSubs=new E.Subscription;this.animation=new Rt;this.eventManager=new Gt;this.seekToInteractiveController=new Ue;this.endedRanges=new Set;this.gameControllers=[];this.rootElement=zp();this.factories=new Map([["choice",ft]]);this.isFirstChapterFetched=!1;this.player=null;this.interactiveEvents=null;this.selectBranches=null;this.seamlessController=null;this.seamlessControllerSubs=new E.Subscription;this.graph=null;this.lastFrame=null;this.appState=0;this.state={prevChapter$:new E.ValueSubject(null),isInitialChapter$:new E.ValueSubject(!1),isFirstChapter$:new E.ValueSubject(!0),isEndChapter$:new E.ValueSubject(!1),isInteractiveExpectation$:new E.ValueSubject(!1),isReplay$:new E.ValueSubject(!1),calledByInteractive$:new E.ValueSubject(!1),lastChapterChangeWasInitiatedByInteractive$:new E.ValueSubject(!1),disabledControls$:new E.ValueSubject(!1),interactiveRanges$:new E.ValueSubject([]),isInteractiveTime$:new E.ValueSubject(!1),statistics$:new E.ValueSubject(null),isSeekable$:new E.ValueSubject(!1)};this.events={noInteraction$:new E.Subject,graphVisibilityChanged$:new E.Subject,watchAgainIsClicked$:new E.Subject,chapterChanged$:new E.Subject,playerChanged$:new E.Subject,error$:new E.Subject,eachTick$:new E.Subject,manifestChanged$:new E.Subject,interactiveRangeEnded$:new E.Subject,interactiveContainerRemoved$:new E.Subject,interactiveActionExecution$:new E.Subject,interactiveActionChoice$:new E.Subject,interactiveVisibilityChanged$:new E.Subject};this.emitErrorEvent=e=>{this.events.error$.next(e),this.globalEventEmitter.emit(A.errors,e)};this.clearHistoryIfEnded=()=>{var n;let e=(n=this.player)==null?void 0:n.info.isEnded$.getValue(),t=this.state.isInteractiveExpectation$.getValue(),{chapter:i}=this.getCurrentChapter();e&&i&&z(i)&&!t&&this.historyController.updateHistory([]),window.removeEventListener("beforeunload",this.clearHistoryIfEnded)};this.handleSeamlessPlayerChanged=e=>{if(!e)return;let{statistics:t,...i}=e;if(t){let{statSubscription:n,oneStat:s}=t;n.add(s.attachToInteractive(this.getStatEvents())),this.state.statistics$.next(t)}this.state.isReplay$.getValue()&&this.state.isReplay$.next(!1),this.events.playerChanged$.next(i),this.globalEventEmitter.emit(A.playerChanged,i)};this.onPlaybackStarted=()=>{var e;(e=this.resizeManager)==null||e.calc(),this.animation.requestAnimation()};this.removeControllers=(e=!0)=>{this.gameControllers.forEach(t=>{!e&&t.isPermanentText||(this.animation.removeFn(t.whilePlaying),t.destroy())})};this.completeInteractiveRange=e=>{let{interactiveRanges$:t}=this.state,n=t.getValue().map(s=>({...s,subjects:s.subjects.filter(o=>o!==e)}));t.next(n)};this.clearNoInteractionTimeout=()=>{this.noInteractionTimeout&&(clearTimeout(this.noInteractionTimeout),this.noInteractionTimeout=void 0)};var t;this._options={...wo,...e,config:{...wo.config,...e.config}},this._options.parentElement.append(this.rootElement),this.historyController=new et({interactiveController:this,globalEventEmitter:this.globalEventEmitter,videoId:(t=this._options.projectInfo)==null?void 0:t.videoId,historyApi:this._options.historyApi,settings:{maxLength:this._options.config.historyMaxLength,initChapterId:this._options.initChapterId}}),this._options.lastFrame&&(this.lastFrame=new zt({parentElement:this._options.parentElement,onError:i=>{let n=new L(1,6,i);this.emitErrorEvent(n)}})),this.eventManager.listen(this.rootElement,"mousedown",i=>i.stopPropagation()),this.eventManager.listen(this.rootElement,"mouseup",i=>i.stopPropagation()),this.manifestController=new he(this._options.loaders,i=>{let n=new L(1,3,i);this.emitErrorEvent(n)}),this.resizeManager=uo(()=>{var i,n;return{player:this.player,parentElement:(i=this._options)==null?void 0:i.parentElement,fns:(n=this._options)!=null&&n.lastFrame?[()=>{var s;(s=this.lastFrame)==null||s.updateCanvasDimensions(!0)}]:[]}}),this._options.graph&&(this.graph=new Ge({root:this._options.parentElement,lang:this._options.lang,onOpenPreviewClick:i=>{this.setChapter({chapterId:i}),this.globalEventEmitter.emit(A.graph,{type:we.watchAgainClicked,chapterId:i}),this.events.watchAgainIsClicked$.next(i)},onError:i=>{let n=new L(1,4,{message:i});this.emitErrorEvent(n)}})),this.initSubscriptions()}initSubscriptions(){this.subscription.add(this.historyController.events.inited$.subscribe(async({videosInfo:e=[]})=>{this._options.initSeamless&&(await this.initSeamless(),this.updateGraphVideosInfo(e))})),this.eventsSubs.add(this.events.interactiveContainerRemoved$.subscribe(({subjectId:e})=>{this.completeInteractiveRange(e)})).add(this.events.interactiveActionExecution$.subscribe(e=>{var t,i;if(this.state.calledByInteractive$.next(!0),this.state.lastChapterChangeWasInitiatedByInteractive$.next(!0),((t=e.payload)==null?void 0:t.behaviour)==="change-chapter"){let{chapterId:n}=e.payload;this.setChapter({chapterId:n}),this.state.isFirstChapter$.getValue()&&this.state.isFirstChapter$.next(!1)}else if(((i=e.payload)==null?void 0:i.behaviour)==="change-manifest"){let{manifestURL:n}=e.payload;n&&this.setManifest(n)}e.actionType==="expect"?this.state.isInteractiveExpectation$.next(!0):e.actionType==="after-expect"&&this.state.isInteractiveExpectation$.next(!1)})),this.eventsSubs.add(this.events.manifestChanged$.subscribe(()=>{this.state.calledByInteractive$.next(!1),this.state.lastChapterChangeWasInitiatedByInteractive$.next(!1)}))}async initSeamless(){this.seamlessController=Wr(this),this.seamlessControllerSubs.add(this.seamlessController.activePlayerChanged.subscribe(this.handleSeamlessPlayerChanged)),await this.seamlessController.init()}handlePositionChange(e){(!this.graph||this.graph.isHidden)&&this.checkIfSeekable();let t=e*1e3,n=this.getInteractiveRanges().reverse().find(({range:s})=>t>=s[1]);if(n){let s=n.range.join("-");this.endedRanges.has(s)||(this.endedRanges.add(s),this.globalEventEmitter.emit(A.interactives,{type:k.rangeEnded,payload:n,visibility:!0}),this.events.interactiveRangeEnded$.next({type:"range-ended",payload:n}))}}registerVideoEvents(){this.player&&(window.removeEventListener("beforeunload",this.clearHistoryIfEnded),this.subscription.unsubscribe(),window.addEventListener("beforeunload",this.clearHistoryIfEnded),this.subscription.add(this.player.events.started$.pipe((0,E.once)()).subscribe(this.onPlaybackStarted)).add(this.player.events.playing$.subscribe(this.animation.requestAnimation)).add(this.player.events.willPause$.subscribe(this.animation.cancelAnimation)).add(this.player.info.position$.subscribe(this.handlePositionChange.bind(this))).add(this.manifestController.prevChapter$.subscribe(e=>this.state.prevChapter$.next(e))).add((0,E.combine)({position:this.player.info.position$,interactiveRanges:this.state.interactiveRanges$,isInteractiveExpectation:this.state.isInteractiveExpectation$}).subscribe(({position:e,interactiveRanges:t,isInteractiveExpectation:i})=>{var a;let n;if(i)n=!0;else{let c=e*1e3;n=!!t.find(({range:[b,m],subjects:x})=>b<c&&c<m&&x.length)}n!==this.state.isInteractiveTime$.getValue()&&this.state.isInteractiveTime$.next(n);let s=!!this.noInteractionTimeout,l=((a=this.player)==null?void 0:a.info.playbackState$.getValue())==="playing"||i;n&&!s&&l?this.noInteractionTimeout=window.setTimeout(()=>{this.events.noInteraction$.next()},this._options.config.noInteractionEventTimeout):s&&!l&&this.clearNoInteractionTimeout()})),this.subscription.add(this.historyController.events.error$.subscribe(this.events.error$)),this._options.lastFrame&&this.subscription.add(this.player.info.duration$.subscribe(e=>{var t;(t=this.lastFrame)==null||t.setVideoDuration(e*1e3)})).add(this.player.experimental.element$.subscribe(e=>{var t;e&&((t=this.lastFrame)==null||t.setVideoElement(e))})).add(this.player.events.firstFrame$.subscribe(()=>{var e;(e=this.lastFrame)==null||e.reset(),setTimeout(()=>{var t,i;(t=this.lastFrame)==null||t.hide(),(i=this.lastFrame)==null||i.lastFrameCanvas.clear()},50)})).add(this.player.events.seeked$.subscribe(this.lastFrame.onSeek)))}setGameControllers(){var t,i;let e=this.manifestController.chapter;e&&this.appState===1&&((t=this.selectBranches)==null||t.setManifestChapterEvents(e),this.gameControllers=this.filterGameControllers(e),(i=this.interactiveEvents)==null||i.containersEventsCallState.setData(e.containers),this.seekToInteractiveController.setContainers(this.gameControllers.map(n=>n.container.container).filter(n=>!pe(n.controls))),this._options.lastFrame&&this.animation.addFn(()=>{var n;this.player&&((n=this.lastFrame)==null||n.onEachTick(this.player.info.position$.getValue()*1e3))},!0),this.state.interactiveRanges$.next(this.getInteractiveRanges()),this.appState=2)}filterGameControllers(e){let t=[];return e.containers.forEach(i=>{let n=i.type.trim().toLowerCase(),s=this.factories.get(n),o=s==null?void 0:s(i,this.rootElement);if(o&&this.selectBranches&&this.interactiveEvents&&this.player){let l=new _t({player:this.player,container:o,branches:e.branches,selectBranches:this.selectBranches,interactiveEvents:this.interactiveEvents,globalEvents:this.events,globalEventEmitter:this.globalEventEmitter,ignoreContainerEvent:()=>Ps(i,this.gameControllers),permanentTextControls:this._options.permanentTextControls,disabledControls$:this.state.disabledControls$,onRemove:()=>{this.seekToInteractiveController.deleteContainer(i.id)}});this.animation.addFn(l.whilePlaying,!0),t.push(l)}}),t}checkIfSeekable(){if(this.state.isInteractiveExpectation$.getValue()){this.state.isSeekable$.next(!1);return}let t=this.state.isSeekable$.getValue(),i=!!this.seekToInteractiveController.getNextInteractiveTime();(i&&!t||!i&&t)&&this.state.isSeekable$.next(!t)}updateLastEventInfo(){this.state.calledByInteractive$.getValue()?this.state.calledByInteractive$.next(!1):this.state.lastChapterChangeWasInitiatedByInteractive$.next(!1)}pushChapterToHistory(e){var l,a;if(this.updateLastEventInfo(),!this.historyController.inited)return;let t=this.state.lastChapterChangeWasInitiatedByInteractive$.getValue(),i=this.state.prevChapter$.getValue(),n=(l=i&&z(i)&&Ye(i))!=null?l:!1,s=((a=this.manifestController.manifest)==null?void 0:a.metadata.initChapterId)===e,o=this.historyController.state.history$.getValue();if(s||n&&t){this.historyController.updateHistory([e]);return}(0,Ao.default)(o,-1)!==e&&this.historyController.updateHistory([...o,e])}reset(){var e;this.appState===2&&(this.removeControllers(),this.gameControllers=[],this.animation.release(),(e=this.interactiveEvents)==null||e.release(),this.appState=1,this.state.isSeekable$.next(!1),this.clearNoInteractionTimeout())}get options(){return this._options}init(){var e;this.manifestController.chapter&&this._options.parentElement&&this.player&&this._options.fullscreenTargetElement&&this.appState===0&&((e=this.resizeManager)==null||e.resizeObserver.observe(this._options.fullscreenTargetElement),this.registerVideoEvents(),this.appState=1,this.setGameControllers())}async setManifest(e){this.reset(),this.isFirstChapterFetched=!1;let t=await this.manifestController.setManifest(e);if(t.manifest)return this.graph&&this.graph.handleManifestChange(t.manifest),await this.historyController.setManifest(t.manifest),this.events.manifestChanged$.next(t.manifest),this.globalEventEmitter.emit(A.manifestChanged,{manifest:t.manifest}),this.setGameControllers(),t.manifest}setPlayer(e){this.reset(),this.player=e,this.seekToInteractiveController.setPlayer(this.player),this.interactiveEvents?this.interactiveEvents.setPlayer(this.player):this.interactiveEvents=oo(this.player),this.selectBranches=Eo({player:this.player,interactiveEvents:this.interactiveEvents,globalEvents:this.events,globalEventEmitter:this.globalEventEmitter,removeControllers:()=>this.removeControllers(!1)}),this.appState===1&&(this.registerVideoEvents(),this.setGameControllers())}async setChapter({chapterId:e,pushToHistory:t=!0,playPrev:i=!1}={}){var a,c;this.reset(),this.lastFrame&&this.isFirstChapterFetched&&(this.lastFrame.draw(),this.lastFrame.show()),E.clientChecker.isSafari&&await So(35);let n=!i&&this.state.isEndChapter$.getValue()&&((a=this.getCurrentManifest())==null?void 0:a.metadata.initChapterId)===e;this.state.isReplay$.next(n);let{chapter:s,media:o,graph:l}=await(e?this.manifestController.setNext(e):this.manifestController.setInitial());(!e||n)&&this.state.isFirstChapter$.next(!0),!(!s||!o)&&(t&&this.pushChapterToHistory(s.id),this.state.isInitialChapter$.next(this.manifestController.isInitialChapter()),this.state.isEndChapter$.next(this.manifestController.isEndChapter()),this.graph&&this.graph.handleChapterChange(s),(c=this.lastFrame)==null||c.setCurrentChapter(s),this.events.chapterChanged$.next({chapter:s,manifestVideo:o}),this.globalEventEmitter.emit(A.chapterChanged,{chapter:s,media:o,graph:l}),this.setGameControllers(),this.endedRanges=new Set,this.isFirstChapterFetched=!0)}getStatEvents(){return{click$:new E.Observable(e=>{this.eventsSubs.add(this.events.graphVisibilityChanged$.subscribe(t=>{e.next(t?Oe.InteractiveInterfaceClick.GRAPH_SHOW:Oe.InteractiveInterfaceClick.GRAPH_HIDE)})).add(this.events.watchAgainIsClicked$.subscribe(()=>{e.next(Oe.InteractiveInterfaceClick.WATCH_AGAIN)})).add(this.events.interactiveActionChoice$.subscribe(({type:t,subjectName:i,subjectType:n})=>{t!=="action-choice"||i!=="control"||(n==="Button"&&e.next(Oe.InteractiveInterfaceClick.NEXT_BUTTON),n==="Area"&&e.next(Oe.InteractiveInterfaceClick.NEXT_AREA))}))}),nextMovie$:new E.Observable(e=>{this.events.playerChanged$.subscribe(({config:t})=>{t!=null&&t.unitedVideoId&&!this.state.isFirstChapter$.getValue()&&e.next(t.unitedVideoId)})})}}toggleGraphView(e=!0){this.graph&&(e?(this.graph.show(),this.state.isSeekable$.next(!1)):(this.graph.hide(),this.checkIfSeekable()),this.globalEventEmitter.emit(A.graph,{type:we.visibility,visibility:e}),this.events.graphVisibilityChanged$.next(e))}setVisitedChapters(e){var t;Array.isArray(e)&&((t=this.graph)==null||t.setVisitedChapters(e))}updateGraphVideosInfo(e){var t;Array.isArray(e)&&((t=this.graph)==null||t.updateVideosInfo(e))}deadEndCheck(){var i;return!(((i=this.interactiveEvents)==null?void 0:i.getPreparedToExecActions())||[]).some(n=>n.actionType===v.EventActionTypes.setNextBranch)}allControlsAreRemoved(){return!this.gameControllers.some(t=>!t.container.isRemoved)}isEndedExpectation(){if(!this.player||!this.gameControllers)return!1;let e=this.player.info.position$.getValue(),t=this.player.info.duration$.getValue();return e===t&&this.gameControllers.some(i=>{let n=i.container.container;return!i.container.isRemoved&&n.endTime===null&&ue(n.events)})}playPrevChapter(){this.historyController.goBack()}setDisabledControls(e){this.state.disabledControls$.next(e)}isSupport(e=this.manifestController.manifest){return!!e&&(0,v.isSupportedManifest)(e.metadata.version)}getInitialVideoInfo(){return{videoId:this.historyController.getInitialVideoId(),chapterId:this.historyController.getInitialChapterId()}}getHistoryState(){return this.historyController.state}getIsSeekable(){return this.state.isSeekable$}getInteractiveRanges(){var e;return Ta((e=this.manifestController.chapter)==null?void 0:e.containers)}getNextInteractiveStartTime(e){return this.seekToInteractiveController.getNextInteractiveTime(e)}getChapterBranches(e){return this.manifestController.getBranches(e)}getCurrentChapter(){return this.manifestController.getCurrent()}getCurrentManifest(){return this.manifestController.manifest}on(e,t){return this.globalEventEmitter.on(e,t),this}off(e,t){return this.globalEventEmitter.off(e,t),this}once(e,t){return this.globalEventEmitter.once(e,t),this}destroy(){var e,t,i,n,s;this.clearHistoryIfEnded(),this.removeControllers(),this.gameControllers=[],(e=this.graph)==null||e.destroy(),this.seamlessControllerSubs.unsubscribe(),(t=this.seamlessController)==null||t.removeAll(),(i=this.resizeManager)==null||i.release(),this.animation.release(),(n=this.interactiveEvents)==null||n.release(),this.manifestController.release(),this.eventManager.release(),this.subscription.unsubscribe(),this.eventsSubs.unsubscribe(),this.globalEventEmitter.reset(),(s=this.lastFrame)==null||s.destroy(),this.rootElement.remove(),this.historyController.destroy(),this.isFirstChapterFetched=!1,this.appState=3}};var Ro={Container:be,createChoiceContainer:ft,createAreaControl:ut,createButtonControl:ht,getRootEl:st,classnamesPrefix:_};var Wp={version:pi};
245
+ pointer-events: none;
246
+ }
247
+
248
+ .interactive-blink-reference-disable-animation {
249
+ animation: none;
250
+ }
251
+ `,Ps=r=>{let e=document.createElement("style");e.textContent=oh,r.prepend(e)};var ah=typeof window=="undefined",sh=typeof OffscreenCanvas!="undefined";function Os(){return ah?sh?new OffscreenCanvas(1,1):null:document.createElement("canvas")}function ks(r){return(r[0]*299+r[1]*587+r[2]*114)/1e3<128}var ei=[0,0,0,0],Ls=1,lh="AverageColor: ";function ti(r){return Error(lh+r)}function ri(r){let e=window.getComputedStyle(r),t=parseFloat(e.getPropertyValue("--interactive-content-width"))||0,i=parseFloat(e.getPropertyValue("--interactive-content-height"))||0;return{width:t,height:i}}var it=class{constructor(){this.canvas=null;this.ctx=null}getColorAsync(e,t){let i=this.getColor(e,t);return i.error?Promise.reject(i.error):Promise.resolve(i)}getColor(e,t){var n,o;let i={...t,step:t.step||Ls,defaultColor:(n=t.defaultColor)!=null?n:ei,debug:(o=t.debug)!=null?o:!1};if(!this.canvas&&(this.canvas=Os(),!this.canvas))return this.prepareResult(i.defaultColor,ti("Failed to create canvas"));if(!this.ctx){if(this.ctx=this.canvas.getContext("2d",{willReadFrequently:!0}),!this.ctx)return this.prepareResult(i.defaultColor,ti("Failed to create context of the canvas"));this.ctx.imageSmoothingEnabled=!1}this.canvas.width=i.width,this.canvas.height=i.height;try{this.ctx.clearRect(0,0,i.width,i.height),this.ctx.drawImage(e,0,0,i.width,i.height);let s=this.ctx.getImageData(0,0,i.width,i.height).data,a=this.getColorFromArray(s,i);return this.prepareResult(a)}catch(s){return i.debug&&console.error(s),this.prepareResult(i.defaultColor,new Error("Failed on getting average color"))}}getColorFromArray(e,t){let n=e.length;if(n<4)return ei;let o=n-n%4,s=t.step*4;return this.sqrtAlgorithm(e,o,{defaultColor:t.defaultColor,step:s})}sqrtAlgorithm(e,t,i){let n=0,o=0,s=0,a=0,l=0,c=i.step;for(let d=0;d<t;d+=c){let f=e[d],m=e[d+1],E=e[d+2],R=e[d+3];n+=f*f*R,o+=m*m*R,s+=E*E*R,a+=R,l++}return a?[Math.round(Math.sqrt(n/a)),Math.round(Math.sqrt(o/a)),Math.round(Math.sqrt(s/a)),Math.round(a/l)]:i.defaultColor}prepareResult(e,t){let i=[e[0],e[1],e[2],e[3]/255],n=ks(e);return{rgba:"rgba("+i.join(",")+")",isDark:n,error:t}}destroy(){this.canvas&&(this.canvas.width=1,this.canvas.height=1,this.canvas=null),this.ctx=null}};var Ms=()=>{let r=document.createElement("div");return r.classList.add("interactive-blink-reference-animation","interactive-control-cta-button"),r},Vs=r=>{r.classList.add("interactive-blink-reference-disable-animation"),requestAnimationFrame(()=>{r.classList.remove("interactive-blink-reference-disable-animation")})};var Fs=Object.freeze({lang:C.InterfaceLanguage.RU,loaders:{},graph:!1,initSeamless:!1,lastFrame:!1,permanentTextControls:!0,config:{historyMaxLength:100,noInteractionEventTimeout:3e4},buttonControlInteractiveTimeTimer:!0,areaControlFrameBasedShadow:!0,tapPlaceShow:!0,controlsCTAAnimation:!0,controlsShowAnimation:!0,controlsHideAnimation:!0});function ch(){let r=document.createElement("div");return r.classList.add("interactive-chapter"),r}var nt=class{constructor(e){this.playerSubscriptions=new C.Subscription;this.subscriptions=new C.Subscription;this.globalEventEmitter=new Ot;this.eventsSubs=new C.Subscription;this.animation=new kt;this.seekToInteractiveController=new Qe;this.endedRanges=new Set;this.gameControllers=[];this.rootElement=ch();this.factories=new Map([["choice",gt]]);this.isFirstChapterFetched=!1;this.player=null;this.interactiveEvents=null;this.selectBranches=null;this.seamlessController=null;this.seamlessControllerSubs=new C.Subscription;this.graph=null;this.lastFrame=null;this.frameAverageColor=null;this.appState=0;this.state={prevChapter$:new C.ValueSubject(null),isInitialChapter$:new C.ValueSubject(!1),isFirstChapter$:new C.ValueSubject(!0),isEndChapter$:new C.ValueSubject(!1),isInteractiveExpectation$:new C.ValueSubject(!1),isReplay$:new C.ValueSubject(!1),calledByInteractive$:new C.ValueSubject(!1),lastChapterChangeWasInitiatedByInteractive$:new C.ValueSubject(!1),disabledControls$:new C.ValueSubject(!1),interactiveRanges$:new C.ValueSubject([]),isInteractiveTime$:new C.ValueSubject(!1),statistics$:new C.ValueSubject(null),isSeekable$:new C.ValueSubject(!1)};this.events={noInteraction$:new C.Subject,graphVisibilityChanged$:new C.Subject,watchAgainIsClicked$:new C.Subject,chapterChanged$:new C.Subject,playerChanged$:new C.Subject,error$:new C.Subject,eachTick$:new C.Subject,manifestChanged$:new C.Subject,interactiveRangeEnded$:new C.Subject,interactiveContainerRemoved$:new C.Subject,interactiveActionExecution$:new C.Subject,interactiveActionChoice$:new C.Subject,interactiveVisibilityChanged$:new C.Subject};this.emitErrorEvent=e=>{this.events.error$.next(e),this.globalEventEmitter.emit(S.errors,e)};this.clearHistoryIfEnded=()=>{var n;let e=(n=this.player)==null?void 0:n.info.isEnded$.getValue(),t=this.state.isInteractiveExpectation$.getValue(),{chapter:i}=this.getCurrentChapter();e&&i&&K(i)&&!t&&this.historyController.updateHistory([]),window.removeEventListener("beforeunload",this.clearHistoryIfEnded)};this.handleSeamlessPlayerChanged=e=>{if(!e)return;let{statistics:t,...i}=e;if(t){let{statSubscription:n,oneStat:o}=t;n.add(o.attachToInteractive(this.getStatEvents())),this.state.statistics$.next(t)}this.state.isReplay$.getValue()&&this.state.isReplay$.next(!1),this.events.playerChanged$.next(i),this.globalEventEmitter.emit(S.playerChanged,i)};this.onPlaybackStarted=()=>{var e;(e=this.resizeManager)==null||e.calc(),this.animation.requestAnimation()};this.removeGameControllersViews=({includeTextControls:e=!0}={})=>{for(let t of this.gameControllers)!e&&t.isPermanentText||(this.animation.removeFn(t.whilePlaying),t.removeView())};this.destroyGameControllers=({includeTextControls:e=!0}={})=>{for(let t of this.gameControllers)!e&&t.isPermanentText||(this.animation.removeFn(t.whilePlaying),t.destroy())};this.completeInteractiveRange=e=>{let{interactiveRanges$:t}=this.state,n=t.getValue().map(o=>({...o,subjects:o.subjects.filter(s=>s!==e)}));t.next(n)};this.clearNoInteractionTimeout=()=>{this.noInteractionTimeout&&(clearTimeout(this.noInteractionTimeout),this.noInteractionTimeout=void 0)};var i;this._options={...Fs,...e,config:{...Fs.config,...e.config}},this._options.controlsCTAAnimation&&this.rootElement.append(Ms()),this._options.parentElement.append(this.rootElement),this.historyController=new rt({interactiveController:this,globalEventEmitter:this.globalEventEmitter,videoId:(i=this._options.projectInfo)==null?void 0:i.videoId,historyApi:this._options.historyApi,settings:{maxLength:this._options.config.historyMaxLength,initChapterId:this._options.initChapterId}}),this._options.lastFrame&&(this.lastFrame=new Ut({parentElement:this._options.parentElement,onError:n=>{let o=new j(1,6,n);this.emitErrorEvent(o)}})),Ps(this._options.parentElement),this.subscriptions.add((0,C.fromEvent)(this.rootElement,"mousedown").subscribe(n=>n.stopPropagation())).add((0,C.fromEvent)(this.rootElement,"mouseup").subscribe(n=>n.stopPropagation())),this.manifestController=new ue(this._options.loaders,n=>{let o=new j(1,3,n);this.emitErrorEvent(o)});let t=[];this._options.lastFrame&&t.push(()=>{var n;(n=this.lastFrame)==null||n.updateCanvasDimensions(!0)}),this._options.buttonControlInteractiveTimeTimer&&t.push(()=>{if(this.state.isInteractiveTime$.getValue())for(let n of this.gameControllers)n.container.onResize()}),this.resizeManager=ms(()=>({player:this.player,parentElement:this._options.parentElement,fns:t})),this._options.graph&&(this.graph=new Ke({root:this._options.parentElement,lang:this._options.lang,onOpenPreviewClick:n=>{this.setChapter({chapterId:n}),this.globalEventEmitter.emit(S.graph,{type:Ae.watchAgainClicked,chapterId:n}),this.events.watchAgainIsClicked$.next(n)},onError:n=>{let o=new j(1,4,{message:n});this.emitErrorEvent(o)}})),this._options.areaControlFrameBasedShadow&&(this.frameAverageColor=new it),this.initSubscriptions()}async getVideoFrameAverageColorInfo(){if(!this.frameAverageColor||!this.player)return;let e=this.player.experimental.element$.getValue();if(!e||!e.readyState)return;let t=ri(this.rootElement);if(!(!t.width||!t.height))try{return await this.frameAverageColor.getColorAsync(e,{width:t.width,height:t.height})}catch(i){return console.error(i),{error:"Getting video frame average color failed"}}}initSubscriptions(){this.playerSubscriptions.add(this.historyController.events.inited$.subscribe(async({videosInfo:e=[]})=>{this._options.initSeamless&&(await this.initSeamless(),this.updateGraphVideosInfo(e))})),this.subscriptions.add(this.events.interactiveContainerRemoved$.subscribe(({subjectId:e})=>{this.completeInteractiveRange(e)})).add(this.events.interactiveActionExecution$.subscribe(e=>{var t,i;if(this.state.calledByInteractive$.next(!0),this.state.lastChapterChangeWasInitiatedByInteractive$.next(!0),((t=e.payload)==null?void 0:t.behaviour)==="change-chapter"){let{chapterId:n}=e.payload;this.setChapter({chapterId:n}),this.state.isFirstChapter$.getValue()&&this.state.isFirstChapter$.next(!1)}else if(((i=e.payload)==null?void 0:i.behaviour)==="change-manifest"){let{manifestURL:n}=e.payload;n&&this.setManifest(n)}e.actionType==="expect"?(this.state.isInteractiveExpectation$.next(!0),this.toggleControlsCTAAnimation({subjectName:e.subjectName,subjectId:e.subjectId,isExpect:!0}),this.updateControlsShadowStyles({subjectName:e.subjectName,subjectId:e.subjectId,isExpect:!0})):e.actionType==="after-expect"&&(this.state.isInteractiveExpectation$.next(!1),this.toggleControlsCTAAnimation({subjectName:e.subjectName,subjectId:e.subjectId,isExpect:!1}),this.updateControlsShadowStyles({subjectName:e.subjectName,subjectId:e.subjectId,isExpect:!1}))})).add(this.events.manifestChanged$.subscribe(()=>{this.state.calledByInteractive$.next(!1),this.state.lastChapterChangeWasInitiatedByInteractive$.next(!1)})).add(this.events.interactiveActionChoice$.subscribe(({type:e,subjectName:t,payload:i})=>{e!=="action-choice"||t==="chapter"||"invokeImmediately"in i&&i.invokeImmediately||this.removeGameControllersViews({includeTextControls:!1})}))}getGameControllerContainersWithExpect(e,t=[]){return this.gameControllers.filter(({container:i})=>!(0,$s.default)(t,i.container.id)&&ie(i.container.events)&&i.container.endTime===e&&!i.isRemoved&&!i.willRemoved)}execForAllExpectContainers({subjectName:e,subjectId:t,isExpect:i,execFnName:n}){for(let o of this.gameControllers)if(e==="container"&&o.container.container.id===t){o[n](i),this.getGameControllerContainersWithExpect(o.container.container.endTime,[o.container.container.id]).forEach(a=>{a[n](i)});break}}updateControlsShadowStyles({isExpect:e,...t}){this._options.areaControlFrameBasedShadow&&(e?this.getVideoFrameAverageColorInfo().then(i=>{i&&!i.error&&"isDark"in i&&(this._options.parentElement.style.setProperty("--interactive-frame-tone",`${i.isDark?"dark":"light"}`),this.execForAllExpectContainers({...t,isExpect:e,execFnName:"updateControlsShadowStyles"}))}):this.execForAllExpectContainers({...t,isExpect:e,execFnName:"updateControlsShadowStyles"}))}toggleControlsCTAAnimation(e){if(this._options.controlsCTAAnimation){if(e.isExpect){let i=this.rootElement.querySelector(".interactive-blink-reference-animation");i&&Vs(i)}this.execForAllExpectContainers({...e,execFnName:"toggleControlsCTAAnimation"})}}async initSeamless(){this.seamlessController=zr(this),this.seamlessControllerSubs.add(this.seamlessController.activePlayerChanged.subscribe(this.handleSeamlessPlayerChanged)),await this.seamlessController.init()}handlePositionChange(e){(!this.graph||this.graph.isHidden)&&this.checkIfSeekable();let t=e*1e3,n=this.getInteractiveRanges().reverse().find(({range:o})=>t>=o[1]);if(n){let o=n.range.join("-");this.endedRanges.has(o)||(this.endedRanges.add(o),this.globalEventEmitter.emit(S.interactives,{type:k.rangeEnded,payload:n,visibility:!0}),this.events.interactiveRangeEnded$.next({type:"range-ended",payload:n}))}}registerVideoEvents(){this.player&&(window.removeEventListener("beforeunload",this.clearHistoryIfEnded),this.playerSubscriptions.unsubscribe(),window.addEventListener("beforeunload",this.clearHistoryIfEnded),this.playerSubscriptions.add(this.player.events.started$.pipe((0,C.once)()).subscribe(this.onPlaybackStarted)).add(this.player.events.playing$.subscribe(this.animation.requestAnimation)).add(this.player.events.willPause$.subscribe(this.animation.cancelAnimation)).add(this.player.info.position$.subscribe(this.handlePositionChange.bind(this))).add(this.manifestController.prevChapter$.subscribe(e=>this.state.prevChapter$.next(e))).add((0,C.combine)({position:this.player.info.position$,interactiveRanges:this.state.interactiveRanges$,isInteractiveExpectation:this.state.isInteractiveExpectation$}).subscribe(({position:e,interactiveRanges:t,isInteractiveExpectation:i})=>{var l;let n;if(i)n=!0;else{let c=e*1e3;n=!!t.find(({range:[f,m],subjects:E})=>f<c&&c<m&&E.length)}n!==this.state.isInteractiveTime$.getValue()&&this.state.isInteractiveTime$.next(n);let o=!!this.noInteractionTimeout,a=((l=this.player)==null?void 0:l.info.playbackState$.getValue())==="playing"||i;n&&!o&&a?this.noInteractionTimeout=window.setTimeout(()=>{this.events.noInteraction$.next()},this._options.config.noInteractionEventTimeout):o&&!a&&this.clearNoInteractionTimeout()})),this.playerSubscriptions.add(this.historyController.events.error$.subscribe(this.events.error$)),this._options.lastFrame&&this.playerSubscriptions.add(this.player.info.duration$.subscribe(e=>{var t;(t=this.lastFrame)==null||t.setVideoDuration(e*1e3)})).add(this.player.experimental.element$.subscribe(e=>{var t;e&&((t=this.lastFrame)==null||t.setVideoElement(e))})).add(this.player.events.firstFrame$.subscribe(()=>{var e;(e=this.lastFrame)==null||e.reset(),setTimeout(()=>{var t,i;(t=this.lastFrame)==null||t.hide(),(i=this.lastFrame)==null||i.lastFrameCanvas.clear()},50)})).add(this.player.events.seeked$.subscribe(this.lastFrame.onSeek)))}setGameControllers(){var t,i;let e=this.manifestController.chapter;e&&this.appState===1&&((t=this.selectBranches)==null||t.setManifestChapterEvents(e),this.gameControllers=this.addGameControllers(e),(i=this.interactiveEvents)==null||i.containersEventsCallState.setData(e.containers),this.seekToInteractiveController.setContainers(this.gameControllers.map(n=>n.container.container).filter(n=>!ce(n.controls))),this._options.lastFrame&&this.animation.addFn(()=>{var n;this.player&&((n=this.lastFrame)==null||n.onEachTick(this.player.info.position$.getValue()*1e3))},!0),this.state.interactiveRanges$.next(this.getInteractiveRanges()),this.appState=2)}addGameControllers(e){let t=[];return e.containers.forEach(i=>{let n=i.type.trim().toLowerCase(),o=this.factories.get(n),s=o==null?void 0:o(i,this.rootElement,{features:{buttonControlInteractiveTimeTimer:this._options.buttonControlInteractiveTimeTimer,areaControlFrameBasedShadow:this._options.areaControlFrameBasedShadow,tapPlaceShow:this._options.tapPlaceShow,controlsShowAnimation:this._options.controlsShowAnimation,controlsCTAAnimation:this._options.controlsCTAAnimation}});if(s&&this.selectBranches&&this.interactiveEvents&&this.player){let a=new qt({player:this.player,container:s,branches:e.branches,selectBranches:this.selectBranches,interactiveEvents:this.interactiveEvents,globalEvents:this.events,globalEventEmitter:this.globalEventEmitter,ignoreContainerEvent:()=>zo(i,this.gameControllers),permanentTextControls:this._options.permanentTextControls,disabledControls$:this.state.disabledControls$,onRemove:()=>{this.seekToInteractiveController.deleteContainer(i.id)},features:{controlsHideAnimation:this._options.controlsHideAnimation}});this.animation.addFn(a.whilePlaying,!0),t.push(a)}}),t}checkIfSeekable(){if(this.state.isInteractiveExpectation$.getValue()){this.state.isSeekable$.next(!1);return}let t=this.state.isSeekable$.getValue(),i=!!this.seekToInteractiveController.getNextInteractiveTime();(i&&!t||!i&&t)&&this.state.isSeekable$.next(!t)}updateLastEventInfo(){this.state.calledByInteractive$.getValue()?this.state.calledByInteractive$.next(!1):this.state.lastChapterChangeWasInitiatedByInteractive$.next(!1)}pushChapterToHistory(e){var a,l;if(this.updateLastEventInfo(),!this.historyController.inited)return;let t=this.state.lastChapterChangeWasInitiatedByInteractive$.getValue(),i=this.state.prevChapter$.getValue(),n=(a=i&&K(i)&&Je(i))!=null?a:!1,o=((l=this.manifestController.manifest)==null?void 0:l.metadata.initChapterId)===e,s=this.historyController.state.history$.getValue();if(o||n&&t){this.historyController.updateHistory([e]);return}(0,js.default)(s,-1)!==e&&this.historyController.updateHistory([...s,e])}reset(){var e;this.appState===2&&(this.destroyGameControllers({includeTextControls:!0}),this.gameControllers=[],this.animation.release(),(e=this.interactiveEvents)==null||e.release(),this.appState=1,this.state.isSeekable$.next(!1),this.clearNoInteractionTimeout())}get options(){return this._options}init(){var e;this.manifestController.chapter&&this._options.parentElement&&this.player&&this._options.fullscreenTargetElement&&this.appState===0&&((e=this.resizeManager)==null||e.resizeObserver.observe(this._options.fullscreenTargetElement),this.registerVideoEvents(),this.appState=1,this.setGameControllers())}async setManifest(e){this.reset(),this.isFirstChapterFetched=!1;let t=await this.manifestController.setManifest(e);if(t.manifest)return this.graph&&this.graph.handleManifestChange(t.manifest),await this.historyController.setManifest(t.manifest),this.events.manifestChanged$.next(t.manifest),this.globalEventEmitter.emit(S.manifestChanged,{manifest:t.manifest}),this.setGameControllers(),t.manifest}setPlayer(e){this.reset(),this.player=e,this.seekToInteractiveController.setPlayer(this.player),this.interactiveEvents?this.interactiveEvents.setPlayer(this.player):this.interactiveEvents=ps(this.player),this.selectBranches=xs({player:this.player,interactiveEvents:this.interactiveEvents,globalEvents:this.events,globalEventEmitter:this.globalEventEmitter}),this.appState===1&&(this.registerVideoEvents(),this.setGameControllers())}async setChapter({chapterId:e,pushToHistory:t=!0,playPrev:i=!1}={}){var l,c;this.reset(),this.lastFrame&&this.isFirstChapterFetched&&(this.lastFrame.draw(),this.lastFrame.show()),this.lastFrame&&C.clientChecker.isSafari&&await Rs(35);let n=!i&&this.state.isEndChapter$.getValue()&&((l=this.getCurrentManifest())==null?void 0:l.metadata.initChapterId)===e;this.state.isReplay$.next(n);let{chapter:o,media:s,graph:a}=await(e?this.manifestController.setNext(e):this.manifestController.setInitial());(!e||n)&&this.state.isFirstChapter$.next(!0),!(!o||!s)&&(t&&this.pushChapterToHistory(o.id),this.state.isInitialChapter$.next(this.manifestController.isInitialChapter()),this.state.isEndChapter$.next(this.manifestController.isEndChapter()),this.graph&&this.graph.handleChapterChange(o),(c=this.lastFrame)==null||c.setCurrentChapter(o),this.events.chapterChanged$.next({chapter:o,manifestVideo:s}),this.globalEventEmitter.emit(S.chapterChanged,{chapter:o,media:s,graph:a}),this.setGameControllers(),this.endedRanges=new Set,this.isFirstChapterFetched=!0)}getStatEvents(){return{click$:new C.Observable(e=>{this.subscriptions.add(this.events.graphVisibilityChanged$.subscribe(t=>{e.next(t?Pe.InteractiveInterfaceClick.GRAPH_SHOW:Pe.InteractiveInterfaceClick.GRAPH_HIDE)})).add(this.events.watchAgainIsClicked$.subscribe(()=>{e.next(Pe.InteractiveInterfaceClick.WATCH_AGAIN)})).add(this.events.interactiveActionChoice$.subscribe(({type:t,subjectName:i,subjectType:n})=>{t!=="action-choice"||i!=="control"||(n==="Button"&&e.next(Pe.InteractiveInterfaceClick.NEXT_BUTTON),n==="Area"&&e.next(Pe.InteractiveInterfaceClick.NEXT_AREA))}))}),nextMovie$:new C.Observable(e=>{this.events.playerChanged$.subscribe(({config:t})=>{t!=null&&t.unitedVideoId&&!this.state.isFirstChapter$.getValue()&&e.next(t.unitedVideoId)})})}}toggleGraphView(e=!0){this.graph&&(e?(this.graph.show(),this.state.isSeekable$.next(!1)):(this.graph.hide(),this.checkIfSeekable()),this.globalEventEmitter.emit(S.graph,{type:Ae.visibility,visibility:e}),this.events.graphVisibilityChanged$.next(e))}setVisitedChapters(e){var t;Array.isArray(e)&&((t=this.graph)==null||t.setVisitedChapters(e))}updateGraphVideosInfo(e){var t;Array.isArray(e)&&((t=this.graph)==null||t.updateVideosInfo(e))}deadEndCheck(){var i;return!(((i=this.interactiveEvents)==null?void 0:i.getPreparedToExecActions())||[]).some(n=>n.actionType===v.EventActionTypes.setNextBranch)}allControlsAreRemoved(e=!0){return!this.gameControllers.some(i=>{let n=e&&this._options.controlsHideAnimation?i.container.willRemoved:!0;return!i.container.isRemoved||!n})}isEndedExpectation(){if(!this.player)return!1;let e=this.player.info.position$.getValue(),t=this.player.info.duration$.getValue();return e===t&&this.gameControllers.some(i=>{let n=i.container.container;return!i.container.isRemoved&&!i.container.willRemoved&&n.endTime===null&&ie(n.events)})}playPrevChapter(){this.historyController.goBack()}setDisabledControls(e){this.state.disabledControls$.next(e)}isSupport(e=this.manifestController.manifest){return!!e&&(0,v.isSupportedManifest)(e.metadata.version)}getInitialVideoInfo(){return{videoId:this.historyController.getInitialVideoId(),chapterId:this.historyController.getInitialChapterId()}}getHistoryState(){return this.historyController.state}getIsSeekable(){return this.state.isSeekable$}getInteractiveRanges(){var e;return Ra((e=this.manifestController.chapter)==null?void 0:e.containers)}getNextInteractiveStartTime(e){return this.seekToInteractiveController.getNextInteractiveTime(e)}getChapterBranches(e){return this.manifestController.getBranches(e)}getCurrentChapter(){return this.manifestController.getCurrent()}getCurrentManifest(){return this.manifestController.manifest}on(e,t){return this.globalEventEmitter.on(e,t),this}off(e,t){return this.globalEventEmitter.off(e,t),this}once(e,t){return this.globalEventEmitter.once(e,t),this}destroy(){var e,t,i,n,o,s;this.clearHistoryIfEnded(),this.destroyGameControllers(),this.gameControllers=[],(e=this.frameAverageColor)==null||e.destroy(),(t=this.graph)==null||t.destroy(),this.seamlessControllerSubs.unsubscribe(),(i=this.seamlessController)==null||i.removeAll(),(n=this.resizeManager)==null||n.release(),this.animation.release(),(o=this.interactiveEvents)==null||o.release(),this.manifestController.release(),this.playerSubscriptions.unsubscribe(),this.subscriptions.unsubscribe(),this.globalEventEmitter.reset(),(s=this.lastFrame)==null||s.destroy(),this.rootElement.remove(),this.historyController.destroy(),this.isFirstChapterFetched=!1,this.appState=3}};var Ns={Container:be,createChoiceContainer:gt,createAreaControl:ht,createButtonControl:mt,classnamesPrefix:F};var uh={version:di};