@volcengine/veplayer-plugin 2.0.0-rc.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 (54) hide show
  1. package/README.md +1 -0
  2. package/esm/flv.d.ts +3 -0
  3. package/esm/hls.d.ts +3 -0
  4. package/esm/index.d.ts +6 -0
  5. package/esm/index.development.css +63 -0
  6. package/esm/index.development.js +83150 -0
  7. package/esm/index.production.css +1 -0
  8. package/esm/index.production.js +26 -0
  9. package/esm/mp4.d.ts +3 -0
  10. package/esm/rtm.d.ts +3 -0
  11. package/esm/shaka.d.ts +3 -0
  12. package/esm/veplayer.plugin.flv.development.js +17622 -0
  13. package/esm/veplayer.plugin.flv.production.js +2 -0
  14. package/esm/veplayer.plugin.hls.development.js +21398 -0
  15. package/esm/veplayer.plugin.hls.production.js +2 -0
  16. package/esm/veplayer.plugin.mp4.development.js +33148 -0
  17. package/esm/veplayer.plugin.mp4.production.js +2 -0
  18. package/esm/veplayer.plugin.rtm.development.js +5469 -0
  19. package/esm/veplayer.plugin.rtm.production.js +2 -0
  20. package/esm/veplayer.plugin.shaka.development.js +15890 -0
  21. package/esm/veplayer.plugin.shaka.production.js +20 -0
  22. package/esm/veplayer.plugin.time.shift.development.css +63 -0
  23. package/esm/veplayer.plugin.time.shift.development.js +339 -0
  24. package/esm/veplayer.plugin.time.shift.production.css +1 -0
  25. package/esm/veplayer.plugin.time.shift.production.js +2 -0
  26. package/esm/veplayer.plugin.xgvideo.development.js +19094 -0
  27. package/esm/veplayer.plugin.xgvideo.production.js +2 -0
  28. package/esm/xgvideo.d.ts +3 -0
  29. package/package.json +155 -0
  30. package/umd/flv.d.ts +3 -0
  31. package/umd/hls.d.ts +3 -0
  32. package/umd/index.d.ts +6 -0
  33. package/umd/index.development.js +82776 -0
  34. package/umd/index.production.js +1 -0
  35. package/umd/mp4.d.ts +3 -0
  36. package/umd/rtm.d.ts +3 -0
  37. package/umd/shaka.d.ts +3 -0
  38. package/umd/veplayer.plugin.flv.development.js +17625 -0
  39. package/umd/veplayer.plugin.flv.production.js +1 -0
  40. package/umd/veplayer.plugin.hls.development.js +21402 -0
  41. package/umd/veplayer.plugin.hls.production.js +1 -0
  42. package/umd/veplayer.plugin.mp4.development.js +33152 -0
  43. package/umd/veplayer.plugin.mp4.production.js +1 -0
  44. package/umd/veplayer.plugin.rtm.development.js +5473 -0
  45. package/umd/veplayer.plugin.rtm.production.js +1 -0
  46. package/umd/veplayer.plugin.shaka.development.js +15894 -0
  47. package/umd/veplayer.plugin.shaka.production.js +1 -0
  48. package/umd/veplayer.plugin.time.shift.development.css +63 -0
  49. package/umd/veplayer.plugin.time.shift.development.js +342 -0
  50. package/umd/veplayer.plugin.time.shift.production.css +1 -0
  51. package/umd/veplayer.plugin.time.shift.production.js +1 -0
  52. package/umd/veplayer.plugin.xgvideo.development.js +19098 -0
  53. package/umd/veplayer.plugin.xgvideo.production.js +1 -0
  54. package/umd/xgvideo.d.ts +3 -0
@@ -0,0 +1 @@
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).__VEPLAYER_PLUGIN_MP4__=t()}(this,(function(){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var n=function(e){return e&&e.Math==Math&&e},r=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||function(){return this}()||e||Function("return this")(),i=function(e){try{return!!e()}catch(t){return!0}},a=!i((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})),o=a,s=Function.prototype,l=s.apply,u=s.call,c="object"==typeof Reflect&&Reflect.apply||(o?u.bind(l):function(){return u.apply(l,arguments)}),d=a,h=Function.prototype,f=h.call,m=d&&h.bind.bind(f,f),p=d?m:function(e){return function(){return f.apply(e,arguments)}},y=p,b=y({}.toString),v=y("".slice),g=function(e){return v(b(e),8,-1)},Z=g,L=p,S=function(e){if("Function"===Z(e))return L(e)},X="object"==typeof document&&document.all,x={all:X,IS_HTMLDDA:void 0===X&&void 0!==X},w=x.all,T=x.IS_HTMLDDA?function(e){return"function"==typeof e||e===w}:function(e){return"function"==typeof e},k={},I=!i((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),G=a,W=Function.prototype.call,V=G?W.bind(W):function(){return W.apply(W,arguments)},R={},C={}.propertyIsEnumerable,M=Object.getOwnPropertyDescriptor,Y=M&&!C.call({1:2},1);R.f=Y?function(e){var t=M(this,e);return!!t&&t.enumerable}:C;var K,P,H=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},_=i,F=g,E=Object,N=p("".split),U=_((function(){return!E("z").propertyIsEnumerable(0)}))?function(e){return"String"==F(e)?N(e,""):E(e)}:E,J=function(e){return null==e},D=J,j=TypeError,A=function(e){if(D(e))throw j("Can't call method on "+e);return e},z=U,B=A,O=function(e){return z(B(e))},Q=T,q=x.all,$=x.IS_HTMLDDA?function(e){return"object"==typeof e?null!==e:Q(e)||e===q}:function(e){return"object"==typeof e?null!==e:Q(e)},ee={},te=ee,ne=r,re=T,ie=function(e){return re(e)?e:void 0},ae=function(e,t){return arguments.length<2?ie(te[e])||ie(ne[e]):te[e]&&te[e][t]||ne[e]&&ne[e][t]},oe=p({}.isPrototypeOf),se="undefined"!=typeof navigator&&String(navigator.userAgent)||"",le=r,ue=se,ce=le.process,de=le.Deno,he=ce&&ce.versions||de&&de.version,fe=he&&he.v8;fe&&(P=(K=fe.split("."))[0]>0&&K[0]<4?1:+(K[0]+K[1])),!P&&ue&&(!(K=ue.match(/Edge\/(\d+)/))||K[1]>=74)&&(K=ue.match(/Chrome\/(\d+)/))&&(P=+K[1]);var me=P,pe=me,ye=i,be=r.String,ve=!!Object.getOwnPropertySymbols&&!ye((function(){var e=Symbol();return!be(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&pe&&pe<41})),ge=ve&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Ze=ae,Le=T,Se=oe,Xe=Object,xe=ge?function(e){return"symbol"==typeof e}:function(e){var t=Ze("Symbol");return Le(t)&&Se(t.prototype,Xe(e))},we=String,Te=function(e){try{return we(e)}catch(t){return"Object"}},ke=T,Ie=Te,Ge=TypeError,We=function(e){if(ke(e))return e;throw Ge(Ie(e)+" is not a function")},Ve=We,Re=J,Ce=function(e,t){var n=e[t];return Re(n)?void 0:Ve(n)},Me=V,Ye=T,Ke=$,Pe=TypeError,He={exports:{}},_e=r,Fe=Object.defineProperty,Ee=function(e,t){try{Fe(_e,e,{value:t,configurable:!0,writable:!0})}catch(n){_e[e]=t}return t},Ne="__core-js_shared__",Ue=r[Ne]||Ee(Ne,{}),Je=Ue;(He.exports=function(e,t){return Je[e]||(Je[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.30.2",mode:"pure",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.30.2/LICENSE",source:"https://github.com/zloirock/core-js"});var De=He.exports,je=A,Ae=Object,ze=function(e){return Ae(je(e))},Be=ze,Oe=p({}.hasOwnProperty),Qe=Object.hasOwn||function(e,t){return Oe(Be(e),t)},qe=p,$e=0,et=Math.random(),tt=qe(1..toString),nt=function(e){return"Symbol("+(void 0===e?"":e)+")_"+tt(++$e+et,36)},rt=De,it=Qe,at=nt,ot=ve,st=ge,lt=r.Symbol,ut=rt("wks"),ct=st?lt.for||lt:lt&&lt.withoutSetter||at,dt=function(e){return it(ut,e)||(ut[e]=ot&&it(lt,e)?lt[e]:ct("Symbol."+e)),ut[e]},ht=V,ft=$,mt=xe,pt=Ce,yt=function(e,t){var n,r;if("string"===t&&Ye(n=e.toString)&&!Ke(r=Me(n,e)))return r;if(Ye(n=e.valueOf)&&!Ke(r=Me(n,e)))return r;if("string"!==t&&Ye(n=e.toString)&&!Ke(r=Me(n,e)))return r;throw Pe("Can't convert object to primitive value")},bt=TypeError,vt=dt("toPrimitive"),gt=function(e,t){if(!ft(e)||mt(e))return e;var n,r=pt(e,vt);if(r){if(void 0===t&&(t="default"),n=ht(r,e,t),!ft(n)||mt(n))return n;throw bt("Can't convert object to primitive value")}return void 0===t&&(t="number"),yt(e,t)},Zt=xe,Lt=function(e){var t=gt(e,"string");return Zt(t)?t:t+""},St=$,Xt=r.document,xt=St(Xt)&&St(Xt.createElement),wt=function(e){return xt?Xt.createElement(e):{}},Tt=wt,kt=!I&&!i((function(){return 7!=Object.defineProperty(Tt("div"),"a",{get:function(){return 7}}).a})),It=I,Gt=V,Wt=R,Vt=H,Rt=O,Ct=Lt,Mt=Qe,Yt=kt,Kt=Object.getOwnPropertyDescriptor;k.f=It?Kt:function(e,t){if(e=Rt(e),t=Ct(t),Yt)try{return Kt(e,t)}catch(n){}if(Mt(e,t))return Vt(!Gt(Wt.f,e,t),e[t])};var Pt=i,Ht=T,_t=/#|\.prototype\./,Ft=function(e,t){var n=Nt[Et(e)];return n==Jt||n!=Ut&&(Ht(t)?Pt(t):!!t)},Et=Ft.normalize=function(e){return String(e).replace(_t,".").toLowerCase()},Nt=Ft.data={},Ut=Ft.NATIVE="N",Jt=Ft.POLYFILL="P",Dt=Ft,jt=We,At=a,zt=S(S.bind),Bt=function(e,t){return jt(e),void 0===t?e:At?zt(e,t):function(){return e.apply(t,arguments)}},Ot={},Qt=I&&i((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),qt=$,$t=String,en=TypeError,tn=function(e){if(qt(e))return e;throw en($t(e)+" is not an object")},nn=I,rn=kt,an=Qt,on=tn,sn=Lt,ln=TypeError,un=Object.defineProperty,cn=Object.getOwnPropertyDescriptor,dn="enumerable",hn="configurable",fn="writable";Ot.f=nn?an?function(e,t,n){if(on(e),t=sn(t),on(n),"function"==typeof e&&"prototype"===t&&"value"in n&&fn in n&&!n[fn]){var r=cn(e,t);r&&r[fn]&&(e[t]=n.value,n={configurable:hn in n?n[hn]:r[hn],enumerable:dn in n?n[dn]:r[dn],writable:!1})}return un(e,t,n)}:un:function(e,t,n){if(on(e),t=sn(t),on(n),rn)try{return un(e,t,n)}catch(r){}if("get"in n||"set"in n)throw ln("Accessors not supported");return"value"in n&&(e[t]=n.value),e};var mn,pn=Ot,yn=H,bn=I?function(e,t,n){return pn.f(e,t,yn(1,n))}:function(e,t,n){return e[t]=n,e},vn=r,gn=c,Zn=S,Ln=T,Sn=k.f,Xn=Dt,xn=ee,wn=Bt,Tn=bn,kn=Qe,In=function(e){var t=function(n,r,i){if(this instanceof t){switch(arguments.length){case 0:return new e;case 1:return new e(n);case 2:return new e(n,r)}return new e(n,r,i)}return gn(e,this,arguments)};return t.prototype=e.prototype,t},Gn=function(e,t){var n,r,i,a,o,s,l,u,c,d=e.target,h=e.global,f=e.stat,m=e.proto,p=h?vn:f?vn[d]:(vn[d]||{}).prototype,y=h?xn:xn[d]||Tn(xn,d,{})[d],b=y.prototype;for(a in t)r=!(n=Xn(h?a:d+(f?".":"#")+a,e.forced))&&p&&kn(p,a),s=y[a],r&&(l=e.dontCallGetSet?(c=Sn(p,a))&&c.value:p[a]),o=r&&l?l:t[a],r&&typeof s==typeof o||(u=e.bind&&r?wn(o,vn):e.wrap&&r?In(o):m&&Ln(o)?Zn(o):o,(e.sham||o&&o.sham||s&&s.sham)&&Tn(u,"sham",!0),Tn(y,a,u),m&&(kn(xn,i=d+"Prototype")||Tn(xn,i,{}),Tn(xn[i],a,o),e.real&&b&&(n||!b[a])&&Tn(b,a,o)))},Wn="function"==typeof Bun&&Bun&&"string"==typeof Bun.version,Vn=p([].slice),Rn=TypeError,Cn=function(e,t){if(e<t)throw Rn("Not enough arguments");return e},Mn=r,Yn=c,Kn=T,Pn=Wn,Hn=se,_n=Vn,Fn=Cn,En=Mn.Function,Nn=/MSIE .\./.test(Hn)||Pn&&((mn=Mn.Bun.version.split(".")).length<3||0==mn[0]&&(mn[1]<3||3==mn[1]&&0==mn[2])),Un=function(e,t){var n=t?2:1;return Nn?function(r,i){var a=Fn(arguments.length,1)>n,o=Kn(r)?r:En(r),s=a?_n(arguments,n):[],l=a?function(){Yn(o,this,s)}:o;return t?e(l,i):e(l)}:e},Jn=Gn,Dn=r,jn=Un(Dn.setInterval,!0);Jn({global:!0,bind:!0,forced:Dn.setInterval!==jn},{setInterval:jn});var An=Gn,zn=r,Bn=Un(zn.setTimeout,!0);An({global:!0,bind:!0,forced:zn.setTimeout!==Bn},{setTimeout:Bn});var On=t(ee.setTimeout),Qn=Math.ceil,qn=Math.floor,$n=Math.trunc||function(e){var t=+e;return(t>0?qn:Qn)(t)},er=$n,tr=function(e){var t=+e;return t!=t||0===t?0:er(t)},nr=tr,rr=Math.min,ir=function(e){return e>0?rr(nr(e),9007199254740991):0},ar=ir,or=function(e){return ar(e.length)},sr=g,lr=Array.isArray||function(e){return"Array"==sr(e)},ur={};ur[dt("toStringTag")]="z";var cr="[object z]"===String(ur),dr=cr,hr=T,fr=g,mr=dt("toStringTag"),pr=Object,yr="Arguments"==fr(function(){return arguments}()),br=dr?fr:function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(n){}}(t=pr(e),mr))?n:yr?fr(t):"Object"==(r=fr(t))&&hr(t.callee)?"Arguments":r},vr=T,gr=Ue,Zr=p(Function.toString);vr(gr.inspectSource)||(gr.inspectSource=function(e){return Zr(e)});var Lr=gr.inspectSource,Sr=p,Xr=i,xr=T,wr=br,Tr=Lr,kr=function(){},Ir=[],Gr=ae("Reflect","construct"),Wr=/^\s*(?:class|function)\b/,Vr=Sr(Wr.exec),Rr=!Wr.exec(kr),Cr=function(e){if(!xr(e))return!1;try{return Gr(kr,Ir,e),!0}catch(t){return!1}},Mr=function(e){if(!xr(e))return!1;switch(wr(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Rr||!!Vr(Wr,Tr(e))}catch(t){return!0}};Mr.sham=!0;var Yr=!Gr||Xr((function(){var e;return Cr(Cr.call)||!Cr(Object)||!Cr((function(){e=!0}))||e}))?Mr:Cr,Kr=lr,Pr=Yr,Hr=$,_r=dt("species"),Fr=Array,Er=function(e){var t;return Kr(e)&&(t=e.constructor,(Pr(t)&&(t===Fr||Kr(t.prototype))||Hr(t)&&null===(t=t[_r]))&&(t=void 0)),void 0===t?Fr:t},Nr=function(e,t){return new(Er(e))(0===t?0:t)},Ur=Bt,Jr=U,Dr=ze,jr=or,Ar=Nr,zr=p([].push),Br=function(e){var t=1==e,n=2==e,r=3==e,i=4==e,a=6==e,o=7==e,s=5==e||a;return function(l,u,c,d){for(var h,f,m=Dr(l),p=Jr(m),y=Ur(u,c),b=jr(p),v=0,g=d||Ar,Z=t?g(l,b):n||o?g(l,0):void 0;b>v;v++)if((s||v in p)&&(f=y(h=p[v],v,m),e))if(t)Z[v]=f;else if(f)switch(e){case 3:return!0;case 5:return h;case 6:return v;case 2:zr(Z,h)}else switch(e){case 4:return!1;case 7:zr(Z,h)}return a?-1:r||i?i:Z}},Or={forEach:Br(0),map:Br(1),filter:Br(2),some:Br(3),every:Br(4),find:Br(5),findIndex:Br(6),filterReject:Br(7)},Qr=i,qr=me,$r=dt("species"),ei=function(e){return qr>=51||!Qr((function(){var t=[];return(t.constructor={})[$r]=function(){return{foo:1}},1!==t[e](Boolean).foo}))},ti=Or.filter;Gn({target:"Array",proto:!0,forced:!ei("filter")},{filter:function(e){return ti(this,e,arguments.length>1?arguments[1]:void 0)}});var ni=ee,ri=function(e){return ni[e+"Prototype"]},ii=ri("Array").filter,ai=oe,oi=ii,si=Array.prototype,li=t((function(e){var t=e.filter;return e===si||ai(si,e)&&t===si.filter?oi:t})),ui=TypeError,ci=function(e){if(e>9007199254740991)throw ui("Maximum allowed index exceeded");return e},di=Lt,hi=Ot,fi=H,mi=function(e,t,n){var r=di(t);r in e?hi.f(e,r,fi(0,n)):e[r]=n},pi=Gn,yi=i,bi=lr,vi=$,gi=ze,Zi=or,Li=ci,Si=mi,Xi=Nr,xi=ei,wi=me,Ti=dt("isConcatSpreadable"),ki=wi>=51||!yi((function(){var e=[];return e[Ti]=!1,e.concat()[0]!==e})),Ii=function(e){if(!vi(e))return!1;var t=e[Ti];return void 0!==t?!!t:bi(e)};pi({target:"Array",proto:!0,arity:1,forced:!ki||!xi("concat")},{concat:function(e){var t,n,r,i,a,o=gi(this),s=Xi(o,0),l=0;for(t=-1,r=arguments.length;t<r;t++)if(Ii(a=-1===t?o:arguments[t]))for(i=Zi(a),Li(l+i),n=0;n<i;n++,l++)n in a&&Si(s,l,a[n]);else Li(l+1),Si(s,l++,a);return s.length=l,s}});var Gi=ri("Array").concat,Wi=oe,Vi=Gi,Ri=Array.prototype,Ci=t((function(e){var t=e.concat;return e===Ri||Wi(Ri,e)&&t===Ri.concat?Vi:t})),Mi=i,Yi=function(e,t){var n=[][e];return!!n&&Mi((function(){n.call(null,t||function(){return 1},1)}))},Ki=Or.every;Gn({target:"Array",proto:!0,forced:!Yi("every")},{every:function(e){return Ki(this,e,arguments.length>1?arguments[1]:void 0)}});var Pi=ri("Array").every,Hi=oe,_i=Pi,Fi=Array.prototype,Ei=t((function(e){var t=e.every;return e===Fi||Hi(Fi,e)&&t===Fi.every?_i:t})),Ni=tr,Ui=Math.max,Ji=Math.min,Di=function(e,t){var n=Ni(e);return n<0?Ui(n+t,0):Ji(n,t)},ji=O,Ai=Di,zi=or,Bi=function(e){return function(t,n,r){var i,a=ji(t),o=zi(a),s=Ai(r,o);if(e&&n!=n){for(;o>s;)if((i=a[s++])!=i)return!0}else for(;o>s;s++)if((e||s in a)&&a[s]===n)return e||s||0;return!e&&-1}},Oi={includes:Bi(!0),indexOf:Bi(!1)},Qi={},qi=Qe,$i=O,ea=Oi.indexOf,ta=Qi,na=p([].push),ra=function(e,t){var n,r=$i(e),i=0,a=[];for(n in r)!qi(ta,n)&&qi(r,n)&&na(a,n);for(;t.length>i;)qi(r,n=t[i++])&&(~ea(a,n)||na(a,n));return a},ia=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],aa=ra,oa=ia,sa=Object.keys||function(e){return aa(e,oa)},la=ze,ua=sa;Gn({target:"Object",stat:!0,forced:i((function(){ua(1)}))},{keys:function(e){return ua(la(e))}});var ca=t(ee.Object.keys),da=br,ha=String,fa=function(e){if("Symbol"===da(e))throw TypeError("Cannot convert a Symbol value to a string");return ha(e)},ma=lr,pa=T,ya=g,ba=fa,va=p([].push),ga=Gn,Za=ae,La=c,Sa=V,Xa=p,xa=i,wa=T,Ta=xe,ka=Vn,Ia=function(e){if(pa(e))return e;if(ma(e)){for(var t=e.length,n=[],r=0;r<t;r++){var i=e[r];"string"==typeof i?va(n,i):"number"!=typeof i&&"Number"!=ya(i)&&"String"!=ya(i)||va(n,ba(i))}var a=n.length,o=!0;return function(e,t){if(o)return o=!1,t;if(ma(this))return t;for(var r=0;r<a;r++)if(n[r]===e)return t}}},Ga=ve,Wa=String,Va=Za("JSON","stringify"),Ra=Xa(/./.exec),Ca=Xa("".charAt),Ma=Xa("".charCodeAt),Ya=Xa("".replace),Ka=Xa(1..toString),Pa=/[\uD800-\uDFFF]/g,Ha=/^[\uD800-\uDBFF]$/,_a=/^[\uDC00-\uDFFF]$/,Fa=!Ga||xa((function(){var e=Za("Symbol")();return"[null]"!=Va([e])||"{}"!=Va({a:e})||"{}"!=Va(Object(e))})),Ea=xa((function(){return'"\\udf06\\ud834"'!==Va("\udf06\ud834")||'"\\udead"'!==Va("\udead")})),Na=function(e,t){var n=ka(arguments),r=Ia(t);if(wa(r)||void 0!==e&&!Ta(e))return n[1]=function(e,t){if(wa(r)&&(t=Sa(r,this,Wa(e),t)),!Ta(t))return t},La(Va,null,n)},Ua=function(e,t,n){var r=Ca(n,t-1),i=Ca(n,t+1);return Ra(Ha,e)&&!Ra(_a,i)||Ra(_a,e)&&!Ra(Ha,r)?"\\u"+Ka(Ma(e,0),16):e};Va&&ga({target:"JSON",stat:!0,arity:3,forced:Fa||Ea},{stringify:function(e,t,n){var r=ka(arguments),i=La(Fa?Na:Va,null,r);return Ea&&"string"==typeof i?Ya(i,Pa,Ua):i}});var Ja=ee,Da=c;Ja.JSON||(Ja.JSON={stringify:JSON.stringify});var ja=function(e,t,n){return Da(Ja.JSON.stringify,null,arguments)},Aa=t(ja),za=Gn,Ba=Oi.indexOf,Oa=Yi,Qa=S([].indexOf),qa=!!Qa&&1/Qa([1],1,-0)<0;za({target:"Array",proto:!0,forced:qa||!Oa("indexOf")},{indexOf:function(e){var t=arguments.length>1?arguments[1]:void 0;return qa?Qa(this,e,t)||0:Ba(this,e,t)}});var $a=ri("Array").indexOf,eo=oe,to=$a,no=Array.prototype,ro=t((function(e){var t=e.indexOf;return e===no||eo(no,e)&&t===no.indexOf?to:t})),io=p,ao=We,oo=$,so=Qe,lo=Vn,uo=a,co=Function,ho=io([].concat),fo=io([].join),mo={},po=uo?co.bind:function(e){var t=ao(this),n=t.prototype,r=lo(arguments,1),i=function(){var n=ho(r,lo(arguments));return this instanceof i?function(e,t,n){if(!so(mo,t)){for(var r=[],i=0;i<t;i++)r[i]="a["+i+"]";mo[t]=co("C,a","return new C("+fo(r,",")+")")}return mo[t](e,n)}(t,n.length,n):t.apply(e,n)};return oo(n)&&(i.prototype=n),i},yo=po;Gn({target:"Function",proto:!0,forced:Function.bind!==yo},{bind:yo});var bo=ri("Function").bind,vo=oe,go=bo,Zo=Function.prototype,Lo=function(e){var t=e.bind;return e===Zo||vo(Zo,e)&&t===Zo.bind?go:t},So=t(Lo),Xo=t(Lo),xo=Or.map;Gn({target:"Array",proto:!0,forced:!ei("map")},{map:function(e){return xo(this,e,arguments.length>1?arguments[1]:void 0)}});var wo,To,ko,Io=ri("Array").map,Go=oe,Wo=Io,Vo=Array.prototype,Ro=t((function(e){var t=e.map;return e===Vo||Go(Vo,e)&&t===Vo.map?Wo:t})),Co={},Mo=T,Yo=r.WeakMap,Ko=Mo(Yo)&&/native code/.test(String(Yo)),Po=nt,Ho=De("keys"),_o=function(e){return Ho[e]||(Ho[e]=Po(e))},Fo=Ko,Eo=r,No=$,Uo=bn,Jo=Qe,Do=Ue,jo=_o,Ao=Qi,zo="Object already initialized",Bo=Eo.TypeError,Oo=Eo.WeakMap;if(Fo||Do.state){var Qo=Do.state||(Do.state=new Oo);Qo.get=Qo.get,Qo.has=Qo.has,Qo.set=Qo.set,wo=function(e,t){if(Qo.has(e))throw Bo(zo);return t.facade=e,Qo.set(e,t),t},To=function(e){return Qo.get(e)||{}},ko=function(e){return Qo.has(e)}}else{var qo=jo("state");Ao[qo]=!0,wo=function(e,t){if(Jo(e,qo))throw Bo(zo);return t.facade=e,Uo(e,qo,t),t},To=function(e){return Jo(e,qo)?e[qo]:{}},ko=function(e){return Jo(e,qo)}}var $o={set:wo,get:To,has:ko,enforce:function(e){return ko(e)?To(e):wo(e,{})},getterFor:function(e){return function(t){var n;if(!No(t)||(n=To(t)).type!==e)throw Bo("Incompatible receiver, "+e+" required");return n}}},es=I,ts=Qe,ns=Function.prototype,rs=es&&Object.getOwnPropertyDescriptor,is=ts(ns,"name"),as={EXISTS:is,PROPER:is&&"something"===function(){}.name,CONFIGURABLE:is&&(!es||es&&rs(ns,"name").configurable)},os={},ss=I,ls=Qt,us=Ot,cs=tn,ds=O,hs=sa;os.f=ss&&!ls?Object.defineProperties:function(e,t){cs(e);for(var n,r=ds(t),i=hs(t),a=i.length,o=0;a>o;)us.f(e,n=i[o++],r[n]);return e};var fs,ms=ae("document","documentElement"),ps=tn,ys=os,bs=ia,vs=Qi,gs=ms,Zs=wt,Ls="prototype",Ss="script",Xs=_o("IE_PROTO"),xs=function(){},ws=function(e){return"<"+Ss+">"+e+"</"+Ss+">"},Ts=function(e){e.write(ws("")),e.close();var t=e.parentWindow.Object;return e=null,t},ks=function(){try{fs=new ActiveXObject("htmlfile")}catch(i){}var e,t,n;ks="undefined"!=typeof document?document.domain&&fs?Ts(fs):(t=Zs("iframe"),n="java"+Ss+":",t.style.display="none",gs.appendChild(t),t.src=String(n),(e=t.contentWindow.document).open(),e.write(ws("document.F=Object")),e.close(),e.F):Ts(fs);for(var r=bs.length;r--;)delete ks[Ls][bs[r]];return ks()};vs[Xs]=!0;var Is,Gs,Ws,Vs=Object.create||function(e,t){var n;return null!==e?(xs[Ls]=ps(e),n=new xs,xs[Ls]=null,n[Xs]=e):n=ks(),void 0===t?n:ys.f(n,t)},Rs=!i((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})),Cs=Qe,Ms=T,Ys=ze,Ks=Rs,Ps=_o("IE_PROTO"),Hs=Object,_s=Hs.prototype,Fs=Ks?Hs.getPrototypeOf:function(e){var t=Ys(e);if(Cs(t,Ps))return t[Ps];var n=t.constructor;return Ms(n)&&t instanceof n?n.prototype:t instanceof Hs?_s:null},Es=bn,Ns=function(e,t,n,r){return r&&r.enumerable?e[t]=n:Es(e,t,n),e},Us=i,Js=T,Ds=$,js=Vs,As=Fs,zs=Ns,Bs=dt("iterator"),Os=!1;[].keys&&("next"in(Ws=[].keys())?(Gs=As(As(Ws)))!==Object.prototype&&(Is=Gs):Os=!0);var Qs=!Ds(Is)||Us((function(){var e={};return Is[Bs].call(e)!==e}));Js((Is=Qs?{}:js(Is))[Bs])||zs(Is,Bs,(function(){return this}));var qs={IteratorPrototype:Is,BUGGY_SAFARI_ITERATORS:Os},$s=br,el=cr?{}.toString:function(){return"[object "+$s(this)+"]"},tl=cr,nl=Ot.f,rl=bn,il=Qe,al=el,ol=dt("toStringTag"),sl=function(e,t,n,r){if(e){var i=n?e:e.prototype;il(i,ol)||nl(i,ol,{configurable:!0,value:t}),r&&!tl&&rl(i,"toString",al)}},ll=qs.IteratorPrototype,ul=Vs,cl=H,dl=sl,hl=Co,fl=function(){return this},ml=function(e,t,n,r){var i=t+" Iterator";return e.prototype=ul(ll,{next:cl(+!r,n)}),dl(e,i,!1,!0),hl[i]=fl,e},pl=p,yl=We,bl=T,vl=String,gl=TypeError,Zl=function(e,t,n){try{return pl(yl(Object.getOwnPropertyDescriptor(e,t)[n]))}catch(r){}},Ll=tn,Sl=function(e){if("object"==typeof e||bl(e))return e;throw gl("Can't set "+vl(e)+" as a prototype")},Xl=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{(e=Zl(Object.prototype,"__proto__","set"))(n,[]),t=n instanceof Array}catch(r){}return function(n,r){return Ll(n),Sl(r),t?e(n,r):n.__proto__=r,n}}():void 0),xl=Gn,wl=V,Tl=as,kl=ml,Il=Fs,Gl=sl,Wl=Ns,Vl=Co,Rl=qs,Cl=Tl.PROPER,Ml=Rl.BUGGY_SAFARI_ITERATORS,Yl=dt("iterator"),Kl="keys",Pl="values",Hl="entries",_l=function(){return this},Fl=function(e,t,n,r,i,a,o){kl(n,t,r);var s,l,u,c=function(e){if(e===i&&p)return p;if(!Ml&&e in f)return f[e];switch(e){case Kl:case Pl:case Hl:return function(){return new n(this,e)}}return function(){return new n(this)}},d=t+" Iterator",h=!1,f=e.prototype,m=f[Yl]||f["@@iterator"]||i&&f[i],p=!Ml&&m||c(i),y="Array"==t&&f.entries||m;if(y&&(s=Il(y.call(new e)))!==Object.prototype&&s.next&&(Gl(s,d,!0,!0),Vl[d]=_l),Cl&&i==Pl&&m&&m.name!==Pl&&(h=!0,p=function(){return wl(m,this)}),i)if(l={values:c(Pl),keys:a?p:c(Kl),entries:c(Hl)},o)for(u in l)(Ml||h||!(u in f))&&Wl(f,u,l[u]);else xl({target:t,proto:!0,forced:Ml||h},l);return o&&f[Yl]!==p&&Wl(f,Yl,p,{name:i}),Vl[t]=p,l},El=function(e,t){return{value:e,done:t}},Nl=O,Ul=Co,Jl=$o;Ot.f;var Dl=Fl,jl=El,Al="Array Iterator",zl=Jl.set,Bl=Jl.getterFor(Al);Dl(Array,"Array",(function(e,t){zl(this,{type:Al,target:Nl(e),index:0,kind:t})}),(function(){var e=Bl(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=void 0,jl(void 0,!0)):jl("keys"==n?r:"values"==n?t[r]:[r,t[r]],!1)}),"values"),Ul.Arguments=Ul.Array;var Ol={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},Ql=r,ql=br,$l=bn,eu=Co,tu=dt("toStringTag");for(var nu in Ol){var ru=Ql[nu],iu=ru&&ru.prototype;iu&&ql(iu)!==tu&&$l(iu,tu,nu),eu[nu]=eu.Array}var au=Or.forEach,ou=Yi("forEach")?[].forEach:function(e){return au(this,e,arguments.length>1?arguments[1]:void 0)};Gn({target:"Array",proto:!0,forced:[].forEach!=ou},{forEach:ou});var su=ri("Array").forEach,lu=br,uu=Qe,cu=oe,du=su,hu=Array.prototype,fu={DOMTokenList:!0,NodeList:!0},mu=t((function(e){var t=e.forEach;return e===hu||cu(hu,e)&&t===hu.forEach||uu(fu,lu(e))?du:t})),pu={};pu.f=Object.getOwnPropertySymbols;var yu=I,bu=p,vu=V,gu=i,Zu=sa,Lu=pu,Su=R,Xu=ze,xu=U,wu=Object.assign,Tu=Object.defineProperty,ku=bu([].concat),Iu=!wu||gu((function(){if(yu&&1!==wu({b:1},wu(Tu({},"a",{enumerable:!0,get:function(){Tu(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach((function(e){t[e]=e})),7!=wu({},e)[n]||Zu(wu({},t)).join("")!=r}))?function(e,t){for(var n=Xu(e),r=arguments.length,i=1,a=Lu.f,o=Su.f;r>i;)for(var s,l=xu(arguments[i++]),u=a?ku(Zu(l),a(l)):Zu(l),c=u.length,d=0;c>d;)s=u[d++],yu&&!vu(o,l,s)||(n[s]=l[s]);return n}:wu,Gu=Iu;Gn({target:"Object",stat:!0,arity:2,forced:Object.assign!==Gu},{assign:Gu});var Wu=t(ee.Object.assign),Vu={},Ru=ra,Cu=ia.concat("length","prototype");Vu.f=Object.getOwnPropertyNames||function(e){return Ru(e,Cu)};var Mu=ae,Yu=Vu,Ku=pu,Pu=tn,Hu=p([].concat),_u=Mu("Reflect","ownKeys")||function(e){var t=Yu.f(Pu(e)),n=Ku.f;return n?Hu(t,n(e)):t},Fu=Qe,Eu=_u,Nu=k,Uu=Ot,Ju=$,Du=bn,ju=Error,Au=p("".replace),zu=String(ju("zxcasd").stack),Bu=/\n\s*at [^:]*:[^\n]*/,Ou=Bu.test(zu),Qu=H,qu=!i((function(){var e=Error("a");return!("stack"in e)||(Object.defineProperty(e,"stack",Qu(1,7)),7!==e.stack)})),$u=bn,ec=function(e,t){if(Ou&&"string"==typeof e&&!ju.prepareStackTrace)for(;t--;)e=Au(e,Bu,"");return e},tc=qu,nc=Error.captureStackTrace,rc=Co,ic=dt("iterator"),ac=Array.prototype,oc=function(e){return void 0!==e&&(rc.Array===e||ac[ic]===e)},sc=br,lc=Ce,uc=J,cc=Co,dc=dt("iterator"),hc=function(e){if(!uc(e))return lc(e,dc)||lc(e,"@@iterator")||cc[sc(e)]},fc=V,mc=We,pc=tn,yc=Te,bc=hc,vc=TypeError,gc=function(e,t){var n=arguments.length<2?bc(e):t;if(mc(n))return pc(fc(n,e));throw vc(yc(e)+" is not iterable")},Zc=V,Lc=tn,Sc=Ce,Xc=function(e,t,n){var r,i;Lc(e);try{if(!(r=Sc(e,"return"))){if("throw"===t)throw n;return n}r=Zc(r,e)}catch(a){i=!0,r=a}if("throw"===t)throw n;if(i)throw r;return Lc(r),n},xc=Bt,wc=V,Tc=tn,kc=Te,Ic=oc,Gc=or,Wc=oe,Vc=gc,Rc=hc,Cc=Xc,Mc=TypeError,Yc=function(e,t){this.stopped=e,this.result=t},Kc=Yc.prototype,Pc=function(e,t,n){var r,i,a,o,s,l,u,c=n&&n.that,d=!(!n||!n.AS_ENTRIES),h=!(!n||!n.IS_RECORD),f=!(!n||!n.IS_ITERATOR),m=!(!n||!n.INTERRUPTED),p=xc(t,c),y=function(e){return r&&Cc(r,"normal",e),new Yc(!0,e)},b=function(e){return d?(Tc(e),m?p(e[0],e[1],y):p(e[0],e[1])):m?p(e,y):p(e)};if(h)r=e.iterator;else if(f)r=e;else{if(!(i=Rc(e)))throw Mc(kc(e)+" is not iterable");if(Ic(i)){for(a=0,o=Gc(e);o>a;a++)if((s=b(e[a]))&&Wc(Kc,s))return s;return new Yc(!1)}r=Vc(e,i)}for(l=h?e.next:r.next;!(u=wc(l,r)).done;){try{s=b(u.value)}catch(v){Cc(r,"throw",v)}if("object"==typeof s&&s&&Wc(Kc,s))return s}return new Yc(!1)},Hc=fa,_c=Gn,Fc=oe,Ec=Fs,Nc=Xl,Uc=function(e,t,n){for(var r=Eu(t),i=Uu.f,a=Nu.f,o=0;o<r.length;o++){var s=r[o];Fu(e,s)||n&&Fu(n,s)||i(e,s,a(t,s))}},Jc=Vs,Dc=bn,jc=H,Ac=function(e,t){Ju(t)&&"cause"in t&&Du(e,"cause",t.cause)},zc=function(e,t,n,r){tc&&(nc?nc(e,t):$u(e,"stack",ec(n,r)))},Bc=Pc,Oc=function(e,t){return void 0===e?arguments.length<2?"":t:Hc(e)},Qc=dt("toStringTag"),qc=Error,$c=[].push,ed=function(e,t){var n,r=Fc(td,this);Nc?n=Nc(qc(),r?Ec(this):td):(n=r?this:Jc(td),Dc(n,Qc,"Error")),void 0!==t&&Dc(n,"message",Oc(t)),zc(n,ed,n.stack,1),arguments.length>2&&Ac(n,arguments[2]);var i=[];return Bc(e,$c,{that:i}),Dc(n,"errors",i),n};Nc?Nc(ed,qc):Uc(ed,qc,{name:!0});var td=ed.prototype=Jc(qc.prototype,{constructor:jc(1,ed),message:jc(1,""),name:jc(1,"AggregateError")});_c({global:!0,constructor:!0,arity:2},{AggregateError:ed});var nd,rd,id,ad,od="undefined"!=typeof process&&"process"==g(process),sd=Ot,ld=function(e,t,n){return sd.f(e,t,n)},ud=ae,cd=ld,dd=I,hd=dt("species"),fd=function(e){var t=ud(e);dd&&t&&!t[hd]&&cd(t,hd,{configurable:!0,get:function(){return this}})},md=oe,pd=TypeError,yd=function(e,t){if(md(t,e))return e;throw pd("Incorrect invocation")},bd=Yr,vd=Te,gd=TypeError,Zd=function(e){if(bd(e))return e;throw gd(vd(e)+" is not a constructor")},Ld=tn,Sd=Zd,Xd=J,xd=dt("species"),wd=function(e,t){var n,r=Ld(e).constructor;return void 0===r||Xd(n=Ld(r)[xd])?t:Sd(n)},Td=/(?:ipad|iphone|ipod).*applewebkit/i.test(se),kd=r,Id=c,Gd=Bt,Wd=T,Vd=Qe,Rd=i,Cd=ms,Md=Vn,Yd=wt,Kd=Cn,Pd=Td,Hd=od,_d=kd.setImmediate,Fd=kd.clearImmediate,Ed=kd.process,Nd=kd.Dispatch,Ud=kd.Function,Jd=kd.MessageChannel,Dd=kd.String,jd=0,Ad={},zd="onreadystatechange";Rd((function(){nd=kd.location}));var Bd=function(e){if(Vd(Ad,e)){var t=Ad[e];delete Ad[e],t()}},Od=function(e){return function(){Bd(e)}},Qd=function(e){Bd(e.data)},qd=function(e){kd.postMessage(Dd(e),nd.protocol+"//"+nd.host)};_d&&Fd||(_d=function(e){Kd(arguments.length,1);var t=Wd(e)?e:Ud(e),n=Md(arguments,1);return Ad[++jd]=function(){Id(t,void 0,n)},rd(jd),jd},Fd=function(e){delete Ad[e]},Hd?rd=function(e){Ed.nextTick(Od(e))}:Nd&&Nd.now?rd=function(e){Nd.now(Od(e))}:Jd&&!Pd?(ad=(id=new Jd).port2,id.port1.onmessage=Qd,rd=Gd(ad.postMessage,ad)):kd.addEventListener&&Wd(kd.postMessage)&&!kd.importScripts&&nd&&"file:"!==nd.protocol&&!Rd(qd)?(rd=qd,kd.addEventListener("message",Qd,!1)):rd=zd in Yd("script")?function(e){Cd.appendChild(Yd("script"))[zd]=function(){Cd.removeChild(this),Bd(e)}}:function(e){setTimeout(Od(e),0)});var $d={set:_d,clear:Fd},eh=function(){this.head=null,this.tail=null};eh.prototype={add:function(e){var t={item:e,next:null},n=this.tail;n?n.next=t:this.head=t,this.tail=t},get:function(){var e=this.head;if(e)return null===(this.head=e.next)&&(this.tail=null),e.item}};var th,nh,rh,ih,ah,oh=eh,sh=/ipad|iphone|ipod/i.test(se)&&"undefined"!=typeof Pebble,lh=/web0s(?!.*chrome)/i.test(se),uh=r,ch=Bt,dh=k.f,hh=$d.set,fh=oh,mh=Td,ph=sh,yh=lh,bh=od,vh=uh.MutationObserver||uh.WebKitMutationObserver,gh=uh.document,Zh=uh.process,Lh=uh.Promise,Sh=dh(uh,"queueMicrotask"),Xh=Sh&&Sh.value;if(!Xh){var xh=new fh,wh=function(){var e,t;for(bh&&(e=Zh.domain)&&e.exit();t=xh.get();)try{t()}catch(n){throw xh.head&&th(),n}e&&e.enter()};mh||bh||yh||!vh||!gh?!ph&&Lh&&Lh.resolve?((ih=Lh.resolve(void 0)).constructor=Lh,ah=ch(ih.then,ih),th=function(){ah(wh)}):bh?th=function(){Zh.nextTick(wh)}:(hh=ch(hh,uh),th=function(){hh(wh)}):(nh=!0,rh=gh.createTextNode(""),new vh(wh).observe(rh,{characterData:!0}),th=function(){rh.data=nh=!nh}),Xh=function(e){xh.head||th(),xh.add(e)}}var Th=Xh,kh=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}},Ih=r.Promise,Gh="object"==typeof Deno&&Deno&&"object"==typeof Deno.version,Wh=!Gh&&!od&&"object"==typeof window&&"object"==typeof document,Vh=r,Rh=Ih,Ch=T,Mh=Dt,Yh=Lr,Kh=dt,Ph=Wh,Hh=Gh,_h=me,Fh=Rh&&Rh.prototype,Eh=Kh("species"),Nh=!1,Uh=Ch(Vh.PromiseRejectionEvent),Jh={CONSTRUCTOR:Mh("Promise",(function(){var e=Yh(Rh),t=e!==String(Rh);if(!t&&66===_h)return!0;if(!Fh.catch||!Fh.finally)return!0;if(!_h||_h<51||!/native code/.test(e)){var n=new Rh((function(e){e(1)})),r=function(e){e((function(){}),(function(){}))};if((n.constructor={})[Eh]=r,!(Nh=n.then((function(){}))instanceof r))return!0}return!t&&(Ph||Hh)&&!Uh})),REJECTION_EVENT:Uh,SUBCLASSING:Nh},Dh={},jh=We,Ah=TypeError,zh=function(e){var t,n;this.promise=new e((function(e,r){if(void 0!==t||void 0!==n)throw Ah("Bad Promise constructor");t=e,n=r})),this.resolve=jh(t),this.reject=jh(n)};Dh.f=function(e){return new zh(e)};var Bh,Oh,Qh=Gn,qh=od,$h=r,ef=V,tf=Ns,nf=sl,rf=fd,af=We,of=T,sf=$,lf=yd,uf=wd,cf=$d.set,df=Th,hf=function(e,t){try{1==arguments.length?console.error(e):console.error(e,t)}catch(n){}},ff=kh,mf=oh,pf=$o,yf=Ih,bf=Jh,vf=Dh,gf="Promise",Zf=bf.CONSTRUCTOR,Lf=bf.REJECTION_EVENT,Sf=pf.getterFor(gf),Xf=pf.set,xf=yf&&yf.prototype,wf=yf,Tf=xf,kf=$h.TypeError,If=$h.document,Gf=$h.process,Wf=vf.f,Vf=Wf,Rf=!!(If&&If.createEvent&&$h.dispatchEvent),Cf="unhandledrejection",Mf=function(e){var t;return!(!sf(e)||!of(t=e.then))&&t},Yf=function(e,t){var n,r,i,a=t.value,o=1==t.state,s=o?e.ok:e.fail,l=e.resolve,u=e.reject,c=e.domain;try{s?(o||(2===t.rejection&&Ff(t),t.rejection=1),!0===s?n=a:(c&&c.enter(),n=s(a),c&&(c.exit(),i=!0)),n===e.promise?u(kf("Promise-chain cycle")):(r=Mf(n))?ef(r,n,l,u):l(n)):u(a)}catch(d){c&&!i&&c.exit(),u(d)}},Kf=function(e,t){e.notified||(e.notified=!0,df((function(){for(var n,r=e.reactions;n=r.get();)Yf(n,e);e.notified=!1,t&&!e.rejection&&Hf(e)})))},Pf=function(e,t,n){var r,i;Rf?((r=If.createEvent("Event")).promise=t,r.reason=n,r.initEvent(e,!1,!0),$h.dispatchEvent(r)):r={promise:t,reason:n},!Lf&&(i=$h["on"+e])?i(r):e===Cf&&hf("Unhandled promise rejection",n)},Hf=function(e){ef(cf,$h,(function(){var t,n=e.facade,r=e.value;if(_f(e)&&(t=ff((function(){qh?Gf.emit("unhandledRejection",r,n):Pf(Cf,n,r)})),e.rejection=qh||_f(e)?2:1,t.error))throw t.value}))},_f=function(e){return 1!==e.rejection&&!e.parent},Ff=function(e){ef(cf,$h,(function(){var t=e.facade;qh?Gf.emit("rejectionHandled",t):Pf("rejectionhandled",t,e.value)}))},Ef=function(e,t,n){return function(r){e(t,r,n)}},Nf=function(e,t,n){e.done||(e.done=!0,n&&(e=n),e.value=t,e.state=2,Kf(e,!0))},Uf=function(e,t,n){if(!e.done){e.done=!0,n&&(e=n);try{if(e.facade===t)throw kf("Promise can't be resolved itself");var r=Mf(t);r?df((function(){var n={done:!1};try{ef(r,t,Ef(Uf,n,e),Ef(Nf,n,e))}catch(i){Nf(n,i,e)}})):(e.value=t,e.state=1,Kf(e,!1))}catch(i){Nf({done:!1},i,e)}}};Zf&&(Tf=(wf=function(e){lf(this,Tf),af(e),ef(Bh,this);var t=Sf(this);try{e(Ef(Uf,t),Ef(Nf,t))}catch(n){Nf(t,n)}}).prototype,(Bh=function(e){Xf(this,{type:gf,done:!1,notified:!1,parent:!1,reactions:new mf,rejection:!1,state:0,value:void 0})}).prototype=tf(Tf,"then",(function(e,t){var n=Sf(this),r=Wf(uf(this,wf));return n.parent=!0,r.ok=!of(e)||e,r.fail=of(t)&&t,r.domain=qh?Gf.domain:void 0,0==n.state?n.reactions.add(r):df((function(){Yf(r,n)})),r.promise})),Oh=function(){var e=new Bh,t=Sf(e);this.promise=e,this.resolve=Ef(Uf,t),this.reject=Ef(Nf,t)},vf.f=Wf=function(e){return e===wf||undefined===e?new Oh(e):Vf(e)}),Qh({global:!0,constructor:!0,wrap:!0,forced:Zf},{Promise:wf}),nf(wf,gf,!1,!0),rf(gf);var Jf=dt("iterator"),Df=!1;try{var jf=0,Af={next:function(){return{done:!!jf++}},return:function(){Df=!0}};Af[Jf]=function(){return this},Array.from(Af,(function(){throw 2}))}catch(Ude){}var zf=function(e,t){if(!t&&!Df)return!1;var n=!1;try{var r={};r[Jf]=function(){return{next:function(){return{done:n=!0}}}},e(r)}catch(Ude){}return n},Bf=Ih,Of=Jh.CONSTRUCTOR||!zf((function(e){Bf.all(e).then(void 0,(function(){}))})),Qf=V,qf=We,$f=Dh,em=kh,tm=Pc;Gn({target:"Promise",stat:!0,forced:Of},{all:function(e){var t=this,n=$f.f(t),r=n.resolve,i=n.reject,a=em((function(){var n=qf(t.resolve),a=[],o=0,s=1;tm(e,(function(e){var l=o++,u=!1;s++,Qf(n,t,e).then((function(e){u||(u=!0,a[l]=e,--s||r(a))}),i)})),--s||r(a)}));return a.error&&i(a.value),n.promise}});var nm=Gn,rm=Jh.CONSTRUCTOR;Ih&&Ih.prototype,nm({target:"Promise",proto:!0,forced:rm,real:!0},{catch:function(e){return this.then(void 0,e)}});var im=V,am=We,om=Dh,sm=kh,lm=Pc;Gn({target:"Promise",stat:!0,forced:Of},{race:function(e){var t=this,n=om.f(t),r=n.reject,i=sm((function(){var i=am(t.resolve);lm(e,(function(e){im(i,t,e).then(n.resolve,r)}))}));return i.error&&r(i.value),n.promise}});var um=V,cm=Dh;Gn({target:"Promise",stat:!0,forced:Jh.CONSTRUCTOR},{reject:function(e){var t=cm.f(this);return um(t.reject,void 0,e),t.promise}});var dm=tn,hm=$,fm=Dh,mm=function(e,t){if(dm(e),hm(t)&&t.constructor===e)return t;var n=fm.f(e);return(0,n.resolve)(t),n.promise},pm=Gn,ym=Ih,bm=Jh.CONSTRUCTOR,vm=mm,gm=ae("Promise"),Zm=!bm;pm({target:"Promise",stat:!0,forced:true},{resolve:function(e){return vm(Zm&&this===gm?ym:this,e)}});var Lm=V,Sm=We,Xm=Dh,xm=kh,wm=Pc;Gn({target:"Promise",stat:!0,forced:Of},{allSettled:function(e){var t=this,n=Xm.f(t),r=n.resolve,i=n.reject,a=xm((function(){var n=Sm(t.resolve),i=[],a=0,o=1;wm(e,(function(e){var s=a++,l=!1;o++,Lm(n,t,e).then((function(e){l||(l=!0,i[s]={status:"fulfilled",value:e},--o||r(i))}),(function(e){l||(l=!0,i[s]={status:"rejected",reason:e},--o||r(i))}))})),--o||r(i)}));return a.error&&i(a.value),n.promise}});var Tm=V,km=We,Im=ae,Gm=Dh,Wm=kh,Vm=Pc,Rm="No one promise resolved";Gn({target:"Promise",stat:!0,forced:Of},{any:function(e){var t=this,n=Im("AggregateError"),r=Gm.f(t),i=r.resolve,a=r.reject,o=Wm((function(){var r=km(t.resolve),o=[],s=0,l=1,u=!1;Vm(e,(function(e){var c=s++,d=!1;l++,Tm(r,t,e).then((function(e){d||u||(u=!0,i(e))}),(function(e){d||u||(d=!0,o[c]=e,--l||a(new n(o,Rm)))}))})),--l||a(new n(o,Rm))}));return o.error&&a(o.value),r.promise}});var Cm=Gn,Mm=Ih,Ym=i,Km=ae,Pm=T,Hm=wd,_m=mm,Fm=Mm&&Mm.prototype;Cm({target:"Promise",proto:!0,real:!0,forced:!!Mm&&Ym((function(){Fm.finally.call({then:function(){}},(function(){}))}))},{finally:function(e){var t=Hm(this,Km("Promise")),n=Pm(e);return this.then(n?function(n){return _m(t,e()).then((function(){return n}))}:e,n?function(n){return _m(t,e()).then((function(){throw n}))}:e)}});var Em=p,Nm=tr,Um=fa,Jm=A,Dm=Em("".charAt),jm=Em("".charCodeAt),Am=Em("".slice),zm=function(e){return function(t,n){var r,i,a=Um(Jm(t)),o=Nm(n),s=a.length;return o<0||o>=s?e?"":void 0:(r=jm(a,o))<55296||r>56319||o+1===s||(i=jm(a,o+1))<56320||i>57343?e?Dm(a,o):r:e?Am(a,o,o+2):i-56320+(r-55296<<10)+65536}},Bm={codeAt:zm(!1),charAt:zm(!0)},Om=Bm.charAt,Qm=fa,qm=$o,$m=Fl,ep=El,tp="String Iterator",np=qm.set,rp=qm.getterFor(tp);$m(String,"String",(function(e){np(this,{type:tp,string:Qm(e),index:0})}),(function(){var e,t=rp(this),n=t.string,r=t.index;return r>=n.length?ep(void 0,!0):(e=Om(n,r),t.index+=e.length,ep(e,!1))}));var ip=ee.Promise,ap=Dh,op=kh;Gn({target:"Promise",stat:!0,forced:!0},{try:function(e){var t=ap.f(this),n=op(e);return(n.error?t.reject:t.resolve)(n.value),t.promise}});var sp=t(ip),lp=I,up=lr,cp=TypeError,dp=Object.getOwnPropertyDescriptor,hp=lp&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(Ude){return Ude instanceof TypeError}}()?function(e,t){if(up(e)&&!dp(e,"length").writable)throw cp("Cannot set read only .length");return e.length=t}:function(e,t){return e.length=t},fp=Te,mp=TypeError,pp=function(e,t){if(!delete e[t])throw mp("Cannot delete property "+fp(t)+" of "+fp(e))},yp=Gn,bp=ze,vp=Di,gp=tr,Zp=or,Lp=hp,Sp=ci,Xp=Nr,xp=mi,wp=pp,Tp=ei("splice"),kp=Math.max,Ip=Math.min;yp({target:"Array",proto:!0,forced:!Tp},{splice:function(e,t){var n,r,i,a,o,s,l=bp(this),u=Zp(l),c=vp(e,u),d=arguments.length;for(0===d?n=r=0:1===d?(n=0,r=u-c):(n=d-2,r=Ip(kp(gp(t),0),u-c)),Sp(u+n-r),i=Xp(l,r),a=0;a<r;a++)(o=c+a)in l&&xp(i,a,l[o]);if(i.length=r,n<r){for(a=c;a<u-r;a++)s=a+n,(o=a+r)in l?l[s]=l[o]:wp(l,s);for(a=u;a>u-r+n;a--)wp(l,a-1)}else if(n>r)for(a=u-r;a>c;a--)s=a+n-1,(o=a+r-1)in l?l[s]=l[o]:wp(l,s);for(a=0;a<n;a++)l[a+c]=arguments[a+2];return Lp(l,u-r+n),i}});var Gp=ri("Array").splice,Wp=oe,Vp=Gp,Rp=Array.prototype,Cp=t((function(e){var t=e.splice;return e===Rp||Wp(Rp,e)&&t===Rp.splice?Vp:t})),Mp="\t\n\v\f\r                 \u2028\u2029\ufeff",Yp=A,Kp=fa,Pp=Mp,Hp=p("".replace),_p=RegExp("^["+Pp+"]+"),Fp=RegExp("(^|[^"+Pp+"])["+Pp+"]+$"),Ep=function(e){return function(t){var n=Kp(Yp(t));return 1&e&&(n=Hp(n,_p,"")),2&e&&(n=Hp(n,Fp,"$1")),n}},Np={start:Ep(1),end:Ep(2),trim:Ep(3)},Up=r,Jp=i,Dp=p,jp=fa,Ap=Np.trim,zp=Mp,Bp=Up.parseInt,Op=Up.Symbol,Qp=Op&&Op.iterator,qp=/^[+-]?0x/i,$p=Dp(qp.exec),ey=8!==Bp(zp+"08")||22!==Bp(zp+"0x16")||Qp&&!Jp((function(){Bp(Object(Qp))}))?function(e,t){var n=Ap(jp(e));return Bp(n,t>>>0||($p(qp,n)?16:10))}:Bp;Gn({global:!0,forced:parseInt!=ey},{parseInt:ey});var ty=t(ee.parseInt),ny={},ry=Di,iy=or,ay=mi,oy=Array,sy=Math.max,ly=function(e,t,n){for(var r=iy(e),i=ry(t,r),a=ry(void 0===n?r:n,r),o=oy(sy(a-i,0)),s=0;i<a;i++,s++)ay(o,s,e[i]);return o.length=s,o},uy=g,cy=O,dy=Vu.f,hy=ly,fy="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];ny.f=function(e){return fy&&"Window"==uy(e)?function(e){try{return dy(e)}catch(Ude){return hy(fy)}}(e):dy(cy(e))};var my={},py=dt;my.f=py;var yy=ee,by=Qe,vy=my,gy=Ot.f,Zy=function(e){var t=yy.Symbol||(yy.Symbol={});by(t,e)||gy(t,e,{value:vy.f(e)})},Ly=V,Sy=ae,Xy=dt,xy=Ns,wy=function(){var e=Sy("Symbol"),t=e&&e.prototype,n=t&&t.valueOf,r=Xy("toPrimitive");t&&!t[r]&&xy(t,r,(function(e){return Ly(n,this)}),{arity:1})},Ty=Gn,ky=r,Iy=V,Gy=p,Wy=I,Vy=ve,Ry=i,Cy=Qe,My=oe,Yy=tn,Ky=O,Py=Lt,Hy=fa,_y=H,Fy=Vs,Ey=sa,Ny=Vu,Uy=ny,Jy=pu,Dy=k,jy=Ot,Ay=os,zy=R,By=Ns,Oy=ld,Qy=De,qy=Qi,$y=nt,eb=dt,tb=my,nb=Zy,rb=wy,ib=sl,ab=$o,ob=Or.forEach,sb=_o("hidden"),lb="Symbol",ub="prototype",cb=ab.set,db=ab.getterFor(lb),hb=Object[ub],fb=ky.Symbol,mb=fb&&fb[ub],pb=ky.TypeError,yb=ky.QObject,bb=Dy.f,vb=jy.f,gb=Uy.f,Zb=zy.f,Lb=Gy([].push),Sb=Qy("symbols"),Xb=Qy("op-symbols"),xb=Qy("wks"),wb=!yb||!yb[ub]||!yb[ub].findChild,Tb=Wy&&Ry((function(){return 7!=Fy(vb({},"a",{get:function(){return vb(this,"a",{value:7}).a}})).a}))?function(e,t,n){var r=bb(hb,t);r&&delete hb[t],vb(e,t,n),r&&e!==hb&&vb(hb,t,r)}:vb,kb=function(e,t){var n=Sb[e]=Fy(mb);return cb(n,{type:lb,tag:e,description:t}),Wy||(n.description=t),n},Ib=function(e,t,n){e===hb&&Ib(Xb,t,n),Yy(e);var r=Py(t);return Yy(n),Cy(Sb,r)?(n.enumerable?(Cy(e,sb)&&e[sb][r]&&(e[sb][r]=!1),n=Fy(n,{enumerable:_y(0,!1)})):(Cy(e,sb)||vb(e,sb,_y(1,{})),e[sb][r]=!0),Tb(e,r,n)):vb(e,r,n)},Gb=function(e,t){Yy(e);var n=Ky(t),r=Ey(n).concat(Cb(n));return ob(r,(function(t){Wy&&!Iy(Wb,n,t)||Ib(e,t,n[t])})),e},Wb=function(e){var t=Py(e),n=Iy(Zb,this,t);return!(this===hb&&Cy(Sb,t)&&!Cy(Xb,t))&&(!(n||!Cy(this,t)||!Cy(Sb,t)||Cy(this,sb)&&this[sb][t])||n)},Vb=function(e,t){var n=Ky(e),r=Py(t);if(n!==hb||!Cy(Sb,r)||Cy(Xb,r)){var i=bb(n,r);return!i||!Cy(Sb,r)||Cy(n,sb)&&n[sb][r]||(i.enumerable=!0),i}},Rb=function(e){var t=gb(Ky(e)),n=[];return ob(t,(function(e){Cy(Sb,e)||Cy(qy,e)||Lb(n,e)})),n},Cb=function(e){var t=e===hb,n=gb(t?Xb:Ky(e)),r=[];return ob(n,(function(e){!Cy(Sb,e)||t&&!Cy(hb,e)||Lb(r,Sb[e])})),r};Vy||(fb=function(){if(My(mb,this))throw pb("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?Hy(arguments[0]):void 0,t=$y(e),n=function(e){this===hb&&Iy(n,Xb,e),Cy(this,sb)&&Cy(this[sb],t)&&(this[sb][t]=!1),Tb(this,t,_y(1,e))};return Wy&&wb&&Tb(hb,t,{configurable:!0,set:n}),kb(t,e)},By(mb=fb[ub],"toString",(function(){return db(this).tag})),By(fb,"withoutSetter",(function(e){return kb($y(e),e)})),zy.f=Wb,jy.f=Ib,Ay.f=Gb,Dy.f=Vb,Ny.f=Uy.f=Rb,Jy.f=Cb,tb.f=function(e){return kb(eb(e),e)},Wy&&Oy(mb,"description",{configurable:!0,get:function(){return db(this).description}})),Ty({global:!0,constructor:!0,wrap:!0,forced:!Vy,sham:!Vy},{Symbol:fb}),ob(Ey(xb),(function(e){nb(e)})),Ty({target:lb,stat:!0,forced:!Vy},{useSetter:function(){wb=!0},useSimple:function(){wb=!1}}),Ty({target:"Object",stat:!0,forced:!Vy,sham:!Wy},{create:function(e,t){return void 0===t?Fy(e):Gb(Fy(e),t)},defineProperty:Ib,defineProperties:Gb,getOwnPropertyDescriptor:Vb}),Ty({target:"Object",stat:!0,forced:!Vy},{getOwnPropertyNames:Rb}),rb(),ib(fb,lb),qy[sb]=!0;var Mb=ve&&!!Symbol.for&&!!Symbol.keyFor,Yb=Gn,Kb=ae,Pb=Qe,Hb=fa,_b=De,Fb=Mb,Eb=_b("string-to-symbol-registry"),Nb=_b("symbol-to-string-registry");Yb({target:"Symbol",stat:!0,forced:!Fb},{for:function(e){var t=Hb(e);if(Pb(Eb,t))return Eb[t];var n=Kb("Symbol")(t);return Eb[t]=n,Nb[n]=t,n}});var Ub=Gn,Jb=Qe,Db=xe,jb=Te,Ab=Mb,zb=De("symbol-to-string-registry");Ub({target:"Symbol",stat:!0,forced:!Ab},{keyFor:function(e){if(!Db(e))throw TypeError(jb(e)+" is not a symbol");if(Jb(zb,e))return zb[e]}});var Bb=pu,Ob=ze;Gn({target:"Object",stat:!0,forced:!ve||i((function(){Bb.f(1)}))},{getOwnPropertySymbols:function(e){var t=Bb.f;return t?t(Ob(e)):[]}}),Zy("asyncIterator"),Zy("hasInstance"),Zy("isConcatSpreadable"),Zy("iterator"),Zy("match"),Zy("matchAll"),Zy("replace"),Zy("search"),Zy("species"),Zy("split");var Qb=wy;Zy("toPrimitive"),Qb();var qb=ae,$b=sl;Zy("toStringTag"),$b(qb("Symbol"),"Symbol"),Zy("unscopables"),sl(r.JSON,"JSON",!0);var ev=ee.Symbol;Zy("dispose");var tv=ev;Zy("asyncDispose");var nv=Gn,rv=p,iv=ae("Symbol"),av=iv.keyFor,ov=rv(iv.prototype.valueOf);nv({target:"Symbol",stat:!0},{isRegistered:function(e){try{return void 0!==av(ov(e))}catch(Ude){return!1}}});for(var sv=Gn,lv=De,uv=ae,cv=p,dv=xe,hv=dt,fv=uv("Symbol"),mv=fv.isWellKnown,pv=uv("Object","getOwnPropertyNames"),yv=cv(fv.prototype.valueOf),bv=lv("wks"),vv=0,gv=pv(fv),Zv=gv.length;vv<Zv;vv++)try{var Lv=gv[vv];dv(fv[Lv])&&hv(Lv)}catch(Ude){}sv({target:"Symbol",stat:!0,forced:!0},{isWellKnown:function(e){if(mv&&mv(e))return!0;try{for(var t=yv(e),n=0,r=pv(bv),i=r.length;n<i;n++)if(bv[r[n]]==t)return!0}catch(Ude){}return!1}}),Zy("matcher"),Zy("metadataKey"),Zy("observable"),Zy("metadata"),Zy("patternMatch"),Zy("replaceAll");var Sv=tv,Xv=t(Sv),xv=my.f("iterator"),wv=t(xv);function Tv(e){return(Tv="function"==typeof Xv&&"symbol"==typeof wv?function(e){return typeof e}:function(e){return e&&"function"==typeof Xv&&e.constructor===Xv&&e!==Xv.prototype?"symbol":typeof e})(e)}var kv=t(ee.Object.getOwnPropertySymbols),Iv={exports:{}},Gv=Gn,Wv=i,Vv=O,Rv=k.f,Cv=I;Gv({target:"Object",stat:!0,forced:!Cv||Wv((function(){Rv(1)})),sham:!Cv},{getOwnPropertyDescriptor:function(e,t){return Rv(Vv(e),t)}});var Mv=ee.Object,Yv=Iv.exports=function(e,t){return Mv.getOwnPropertyDescriptor(e,t)};Mv.getOwnPropertyDescriptor.sham&&(Yv.sham=!0);var Kv=Iv.exports,Pv=t(Kv),Hv=t(Kv),_v=_u,Fv=O,Ev=k,Nv=mi;Gn({target:"Object",stat:!0,sham:!I},{getOwnPropertyDescriptors:function(e){for(var t,n,r=Fv(e),i=Ev.f,a=_v(r),o={},s=0;a.length>s;)void 0!==(n=i(r,t=a[s++]))&&Nv(o,t,n);return o}});var Uv=t(ee.Object.getOwnPropertyDescriptors),Jv={exports:{}},Dv=Gn,jv=I,Av=os.f;Dv({target:"Object",stat:!0,forced:Object.defineProperties!==Av,sham:!jv},{defineProperties:Av});var zv=ee.Object,Bv=Jv.exports=function(e,t){return zv.defineProperties(e,t)};zv.defineProperties.sham&&(Bv.sham=!0);var Ov=t(Jv.exports),Qv={exports:{}},qv=Gn,$v=I,eg=Ot.f;qv({target:"Object",stat:!0,forced:Object.defineProperty!==eg,sham:!$v},{defineProperty:eg});var tg=ee.Object,ng=Qv.exports=function(e,t,n){return tg.defineProperty(e,t,n)};tg.defineProperty.sham&&(ng.sham=!0);var rg=Qv.exports,ig=t(rg),ag=t(rg),og=t(Sv);Gn({target:"Object",stat:!0,sham:!I},{create:Vs});var sg=ee.Object,lg=function(e,t){return sg.create(e,t)},ug=t(lg),cg=t(lg),dg=ze,hg=Fs,fg=Rs;Gn({target:"Object",stat:!0,forced:i((function(){hg(1)})),sham:!fg},{getPrototypeOf:function(e){return hg(dg(e))}});var mg=ee.Object.getPrototypeOf,pg=t(mg),yg=t(mg);Gn({target:"Object",stat:!0},{setPrototypeOf:Xl});var bg=ee.Object.setPrototypeOf,vg=t(bg),gg=t(bg),Zg=Gn,Lg=lr,Sg=p([].reverse),Xg=[1,2];Zg({target:"Array",proto:!0,forced:String(Xg)===String(Xg.reverse())},{reverse:function(){return Lg(this)&&(this.length=this.length),Sg(this)}});var xg=ri("Array").reverse,wg=oe,Tg=xg,kg=Array.prototype,Ig=t((function(e){var t=e.reverse;return e===kg||wg(kg,e)&&t===kg.reverse?Tg:t})),Gg=Gn,Wg=lr,Vg=Yr,Rg=$,Cg=Di,Mg=or,Yg=O,Kg=mi,Pg=dt,Hg=Vn,_g=ei("slice"),Fg=Pg("species"),Eg=Array,Ng=Math.max;Gg({target:"Array",proto:!0,forced:!_g},{slice:function(e,t){var n,r,i,a=Yg(this),o=Mg(a),s=Cg(e,o),l=Cg(void 0===t?o:t,o);if(Wg(a)&&(n=a.constructor,(Vg(n)&&(n===Eg||Wg(n.prototype))||Rg(n)&&null===(n=n[Fg]))&&(n=void 0),n===Eg||void 0===n))return Hg(a,s,l);for(r=new(void 0===n?Eg:n)(Ng(l-s,0)),i=0;s<l;s++,i++)s in a&&Kg(r,i,a[s]);return r.length=i,r}});var Ug=ri("Array").slice,Jg=oe,Dg=Ug,jg=Array.prototype,Ag=t((function(e){var t=e.slice;return e===jg||Jg(jg,e)&&t===jg.slice?Dg:t})),zg=t(xv),Bg=Gn,Og=c,Qg=po,qg=Zd,$g=tn,eZ=$,tZ=Vs,nZ=i,rZ=ae("Reflect","construct"),iZ=Object.prototype,aZ=[].push,oZ=nZ((function(){function e(){}return!(rZ((function(){}),[],e)instanceof e)})),sZ=!nZ((function(){rZ((function(){}))})),lZ=oZ||sZ;Bg({target:"Reflect",stat:!0,forced:lZ,sham:lZ},{construct:function(e,t){qg(e),$g(t);var n=arguments.length<3?e:qg(arguments[2]);if(sZ&&!oZ)return rZ(e,t,n);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var r=[null];return Og(aZ,r,t),new(Og(Qg,e,r))}var i=n.prototype,a=tZ(eZ(i)?i:iZ),o=Og(e,a,t);return eZ(o)?o:a}});var uZ=ee.Reflect.construct,cZ=t(uZ),dZ=t(uZ);Gn({target:"Array",stat:!0},{isArray:lr});var hZ=t(ee.Array.isArray),fZ=t(hc),mZ=tn,pZ=Xc,yZ=Bt,bZ=V,vZ=ze,gZ=function(e,t,n,r){try{return r?t(mZ(n)[0],n[1]):t(n)}catch(Ude){pZ(e,"throw",Ude)}},ZZ=oc,LZ=Yr,SZ=or,XZ=mi,xZ=gc,wZ=hc,TZ=Array,kZ=function(e){var t=vZ(e),n=LZ(this),r=arguments.length,i=r>1?arguments[1]:void 0,a=void 0!==i;a&&(i=yZ(i,r>2?arguments[2]:void 0));var o,s,l,u,c,d,h=wZ(t),f=0;if(!h||this===TZ&&ZZ(h))for(o=SZ(t),s=n?new this(o):TZ(o);o>f;f++)d=a?i(t[f],f):t[f],XZ(s,f,d);else for(c=(u=xZ(t,h)).next,s=n?new this:[];!(l=bZ(c,u)).done;f++)d=a?gZ(u,i,[l.value,f],!0):l.value,XZ(s,f,d);return s.length=f,s},IZ=kZ;Gn({target:"Array",stat:!0,forced:!zf((function(e){Array.from(e)}))},{from:IZ});var GZ=t(ee.Array.from);function WZ(e,t){var n=ca(e);if(kv){var r=kv(e);t&&(r=li(r).call(r,(function(t){return Hv(e,t).enumerable}))),n.push.apply(n,r)}return n}function VZ(e){for(var t=1;t<arguments.length;t++){var n,r,i=null!=arguments[t]?arguments[t]:{};t%2?mu(n=WZ(Object(i),!0)).call(n,(function(t){_Z(e,t,i[t])})):Uv?Ov(e,Uv(i)):mu(r=WZ(Object(i))).call(r,(function(t){ag(e,t,Hv(i,t))}))}return e}function RZ(){RZ=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,r=ag||function(e,t,n){e[t]=n.value},i="function"==typeof og?og:{},a=i.iterator||"@@iterator",o=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(e,t,n){return ag(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(k){l=function(e,t,n){return e[t]=n}}function u(e,t,n,i){var a=t&&t.prototype instanceof h?t:h,o=cg(a.prototype),s=new x(i||[]);return r(o,"_invoke",{value:Z(e,n,s)}),o}function c(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(k){return{type:"throw",arg:k}}}e.wrap=u;var d={};function h(){}function f(){}function m(){}var p={};l(p,a,(function(){return this}));var y=yg&&yg(yg(w([])));y&&y!==t&&n.call(y,a)&&(p=y);var b=m.prototype=h.prototype=cg(p);function v(e){var t;mu(t=["next","throw","return"]).call(t,(function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function g(e,t){function i(r,a,o,s){var l=c(e[r],e,a);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==Tv(d)&&n.call(d,"__await")?t.resolve(d.__await).then((function(e){i("next",e,o,s)}),(function(e){i("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return i("throw",e,o,s)}))}s(l.arg)}var a;r(this,"_invoke",{value:function(e,n){function r(){return new t((function(t,r){i(e,n,t,r)}))}return a=a?a.then(r,r):r()}})}function Z(e,t,n){var r="suspendedStart";return function(i,a){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw a;return{value:void 0,done:!0}}for(n.method=i,n.arg=a;;){var o=n.delegate;if(o){var s=L(o,n);if(s){if(s===d)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=c(e,t,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===d)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}function L(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,L(e,t),"throw"===t.method))return d;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}var r=c(n,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,d;var i=r.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function X(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function x(e){this.tryEntries=[{tryLoc:"root"}],mu(e).call(e,S,this),this.reset(!0)}function w(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function t(){for(;++r<e.length;)if(n.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:T}}function T(){return{value:void 0,done:!0}}return f.prototype=m,r(b,"constructor",{value:m,configurable:!0}),r(m,"constructor",{value:f,configurable:!0}),f.displayName=l(m,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===f||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return gg?gg(e,m):(e.__proto__=m,l(e,s,"GeneratorFunction")),e.prototype=cg(b),e},e.awrap=function(e){return{__await:e}},v(g.prototype),l(g.prototype,o,(function(){return this})),e.AsyncIterator=g,e.async=function(t,n,r,i,a){void 0===a&&(a=sp);var o=new g(u(t,n,r,i),a);return e.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},v(b),l(b,s,"Generator"),l(b,a,(function(){return this})),l(b,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return Ig(n).call(n),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},e.values=w,x.prototype={constructor:x,reset:function(e){var t;if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,mu(t=this.tryEntries).call(t,X),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+Ag(r).call(r,1))&&(this[r]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(n,r){return o.type="throw",o.arg=e,t.next=n,r&&(t.method="next",t.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(s&&l){if(this.prev<a.catchLoc)return r(a.catchLoc,!0);if(this.prev<a.finallyLoc)return r(a.finallyLoc)}else if(s){if(this.prev<a.catchLoc)return r(a.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return r(a.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var a=i;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var o=a?a.completion:{};return o.type=e,o.arg=t,a?(this.method="next",this.next=a.finallyLoc,d):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),d},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),X(n),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;X(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:w(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),d}},e}function CZ(e){return(CZ="function"==typeof og&&"symbol"==typeof zg?function(e){return typeof e}:function(e){return e&&"function"==typeof og&&e.constructor===og&&e!==og.prototype?"symbol":typeof e})(e)}function MZ(e,t,n,r,i,a,o){try{var s=e[a](o),l=s.value}catch(Ude){return void n(Ude)}s.done?t(l):sp.resolve(l).then(r,i)}function YZ(e){return function(){var t=this,n=arguments;return new sp((function(r,i){var a=e.apply(t,n);function o(e){MZ(a,r,i,o,s,"next",e)}function s(e){MZ(a,r,i,o,s,"throw",e)}o(void 0)}))}}function KZ(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function PZ(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),ag(e,r.key,r)}}function HZ(e,t,n){return t&&PZ(e.prototype,t),n&&PZ(e,n),ag(e,"prototype",{writable:!1}),e}function _Z(e,t,n){return t in e?ag(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function FZ(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=cg(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),ag(e,"prototype",{writable:!1}),t&&NZ(e,t)}function EZ(e){var t;return(EZ=gg?Xo(t=yg).call(t):function(e){return e.__proto__||yg(e)})(e)}function NZ(e,t){var n;return(NZ=gg?Xo(n=gg).call(n):function(e,t){return e.__proto__=t,e})(e,t)}function UZ(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function JZ(e){var t=function(){if("undefined"==typeof Reflect||!dZ)return!1;if(dZ.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(dZ(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=EZ(e);if(t){var i=EZ(this).constructor;n=dZ(r,arguments,i)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===Tv(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return UZ(e)}(this,n)}}function DZ(e){return function(e){if(hZ(e))return jZ(e)}(e)||function(e){if(void 0!==og&&null!=fZ(e)||null!=e["@@iterator"])return GZ(e)}(e)||function(e,t){var n;if(!e)return;if("string"==typeof e)return jZ(e,t);var r=Ag(n=Object.prototype.toString.call(e)).call(n,8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return GZ(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return jZ(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function jZ(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var AZ=function(e){return e&&e.Math==Math&&e},zZ=AZ("object"==typeof globalThis&&globalThis)||AZ("object"==typeof window&&window)||AZ("object"==typeof self&&self)||AZ("object"==typeof e&&e)||function(){return this}()||Function("return this")(),BZ={},OZ=function(e){try{return!!e()}catch(Ude){return!0}},QZ=!OZ((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),qZ=!OZ((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})),$Z=qZ,eL=Function.prototype.call,tL=$Z?eL.bind(eL):function(){return eL.apply(eL,arguments)},nL={},rL={}.propertyIsEnumerable,iL=Object.getOwnPropertyDescriptor,aL=iL&&!rL.call({1:2},1);nL.f=aL?function(e){var t=iL(this,e);return!!t&&t.enumerable}:rL;var oL,sL,lL=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},uL=qZ,cL=Function.prototype,dL=cL.call,hL=uL&&cL.bind.bind(dL,dL),fL=uL?hL:function(e){return function(){return dL.apply(e,arguments)}},mL=fL,pL=mL({}.toString),yL=mL("".slice),bL=function(e){return yL(pL(e),8,-1)},vL=OZ,gL=bL,ZL=Object,LL=fL("".split),SL=vL((function(){return!ZL("z").propertyIsEnumerable(0)}))?function(e){return"String"==gL(e)?LL(e,""):ZL(e)}:ZL,XL=function(e){return null==e},xL=XL,wL=TypeError,TL=function(e){if(xL(e))throw wL("Can't call method on "+e);return e},kL=SL,IL=TL,GL=function(e){return kL(IL(e))},WL="object"==typeof document&&document.all,VL={all:WL,IS_HTMLDDA:void 0===WL&&void 0!==WL},RL=VL.all,CL=VL.IS_HTMLDDA?function(e){return"function"==typeof e||e===RL}:function(e){return"function"==typeof e},ML=CL,YL=VL.all,KL=VL.IS_HTMLDDA?function(e){return"object"==typeof e?null!==e:ML(e)||e===YL}:function(e){return"object"==typeof e?null!==e:ML(e)},PL=zZ,HL=CL,_L=function(e,t){return arguments.length<2?(n=PL[e],HL(n)?n:void 0):PL[e]&&PL[e][t];var n},FL=fL({}.isPrototypeOf),EL=_L("navigator","userAgent")||"",NL=zZ,UL=EL,JL=NL.process,DL=NL.Deno,jL=JL&&JL.versions||DL&&DL.version,AL=jL&&jL.v8;AL&&(sL=(oL=AL.split("."))[0]>0&&oL[0]<4?1:+(oL[0]+oL[1])),!sL&&UL&&(!(oL=UL.match(/Edge\/(\d+)/))||oL[1]>=74)&&(oL=UL.match(/Chrome\/(\d+)/))&&(sL=+oL[1]);var zL=sL,BL=zL,OL=OZ,QL=!!Object.getOwnPropertySymbols&&!OL((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&BL&&BL<41})),qL=QL&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,$L=_L,eS=CL,tS=FL,nS=Object,rS=qL?function(e){return"symbol"==typeof e}:function(e){var t=$L("Symbol");return eS(t)&&tS(t.prototype,nS(e))},iS=String,aS=function(e){try{return iS(e)}catch(Ude){return"Object"}},oS=CL,sS=aS,lS=TypeError,uS=function(e){if(oS(e))return e;throw lS(sS(e)+" is not a function")},cS=uS,dS=XL,hS=function(e,t){var n=e[t];return dS(n)?void 0:cS(n)},fS=tL,mS=CL,pS=KL,yS=TypeError,bS={exports:{}},vS=zZ,gS=Object.defineProperty,ZS=function(e,t){try{gS(vS,e,{value:t,configurable:!0,writable:!0})}catch(Ude){vS[e]=t}return t},LS=ZS,SS="__core-js_shared__",XS=zZ[SS]||LS(SS,{}),xS=XS;(bS.exports=function(e,t){return xS[e]||(xS[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.26.1",mode:"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"});var wS=bS.exports,TS=TL,kS=Object,IS=function(e){return kS(TS(e))},GS=IS,WS=fL({}.hasOwnProperty),VS=Object.hasOwn||function(e,t){return WS(GS(e),t)},RS=fL,CS=0,MS=Math.random(),YS=RS(1..toString),KS=function(e){return"Symbol("+(void 0===e?"":e)+")_"+YS(++CS+MS,36)},PS=zZ,HS=VS,_S=KS,FS=QL,ES=qL,NS=wS("wks"),US=PS.Symbol,JS=US&&US.for,DS=ES?US:US&&US.withoutSetter||_S,jS=function(e){if(!HS(NS,e)||!FS&&"string"!=typeof NS[e]){var t="Symbol."+e;FS&&HS(US,e)?NS[e]=US[e]:NS[e]=ES&&JS?JS(t):DS(t)}return NS[e]},AS=tL,zS=KL,BS=rS,OS=hS,QS=function(e,t){var n,r;if("string"===t&&mS(n=e.toString)&&!pS(r=fS(n,e)))return r;if(mS(n=e.valueOf)&&!pS(r=fS(n,e)))return r;if("string"!==t&&mS(n=e.toString)&&!pS(r=fS(n,e)))return r;throw yS("Can't convert object to primitive value")},qS=TypeError,$S=jS("toPrimitive"),eX=function(e,t){if(!zS(e)||BS(e))return e;var n,r=OS(e,$S);if(r){if(void 0===t&&(t="default"),n=AS(r,e,t),!zS(n)||BS(n))return n;throw qS("Can't convert object to primitive value")}return void 0===t&&(t="number"),QS(e,t)},tX=eX,nX=rS,rX=function(e){var t=tX(e,"string");return nX(t)?t:t+""},iX=KL,aX=zZ.document,oX=iX(aX)&&iX(aX.createElement),sX=function(e){return oX?aX.createElement(e):{}},lX=sX,uX=!QZ&&!OZ((function(){return 7!=Object.defineProperty(lX("div"),"a",{get:function(){return 7}}).a})),cX=QZ,dX=tL,hX=nL,fX=lL,mX=GL,pX=rX,yX=VS,bX=uX,vX=Object.getOwnPropertyDescriptor;BZ.f=cX?vX:function(e,t){if(e=mX(e),t=pX(t),bX)try{return vX(e,t)}catch(Ude){}if(yX(e,t))return fX(!dX(hX.f,e,t),e[t])};var gX={},ZX=QZ&&OZ((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),LX=KL,SX=String,XX=TypeError,xX=function(e){if(LX(e))return e;throw XX(SX(e)+" is not an object")},wX=QZ,TX=uX,kX=ZX,IX=xX,GX=rX,WX=TypeError,VX=Object.defineProperty,RX=Object.getOwnPropertyDescriptor,CX="enumerable",MX="configurable",YX="writable";gX.f=wX?kX?function(e,t,n){if(IX(e),t=GX(t),IX(n),"function"==typeof e&&"prototype"===t&&"value"in n&&YX in n&&!n[YX]){var r=RX(e,t);r&&r[YX]&&(e[t]=n.value,n={configurable:MX in n?n[MX]:r[MX],enumerable:CX in n?n[CX]:r[CX],writable:!1})}return VX(e,t,n)}:VX:function(e,t,n){if(IX(e),t=GX(t),IX(n),TX)try{return VX(e,t,n)}catch(Ude){}if("get"in n||"set"in n)throw WX("Accessors not supported");return"value"in n&&(e[t]=n.value),e};var KX=gX,PX=lL,HX=QZ?function(e,t,n){return KX.f(e,t,PX(1,n))}:function(e,t,n){return e[t]=n,e},_X={exports:{}},FX=QZ,EX=VS,NX=Function.prototype,UX=FX&&Object.getOwnPropertyDescriptor,JX=EX(NX,"name"),DX={EXISTS:JX,PROPER:JX&&"something"===function(){}.name,CONFIGURABLE:JX&&(!FX||FX&&UX(NX,"name").configurable)},jX=CL,AX=XS,zX=fL(Function.toString);jX(AX.inspectSource)||(AX.inspectSource=function(e){return zX(e)});var BX,OX,QX,qX=AX.inspectSource,$X=CL,ex=zZ.WeakMap,tx=$X(ex)&&/native code/.test(String(ex)),nx=KS,rx=wS("keys"),ix=function(e){return rx[e]||(rx[e]=nx(e))},ax={},ox=tx,sx=zZ,lx=KL,ux=HX,cx=VS,dx=XS,hx=ix,fx=ax,mx="Object already initialized",px=sx.TypeError,yx=sx.WeakMap;if(ox||dx.state){var bx=dx.state||(dx.state=new yx);bx.get=bx.get,bx.has=bx.has,bx.set=bx.set,BX=function(e,t){if(bx.has(e))throw px(mx);return t.facade=e,bx.set(e,t),t},OX=function(e){return bx.get(e)||{}},QX=function(e){return bx.has(e)}}else{var vx=hx("state");fx[vx]=!0,BX=function(e,t){if(cx(e,vx))throw px(mx);return t.facade=e,ux(e,vx,t),t},OX=function(e){return cx(e,vx)?e[vx]:{}},QX=function(e){return cx(e,vx)}}var gx={set:BX,get:OX,has:QX,enforce:function(e){return QX(e)?OX(e):BX(e,{})},getterFor:function(e){return function(t){var n;if(!lx(t)||(n=OX(t)).type!==e)throw px("Incompatible receiver, "+e+" required");return n}}},Zx=OZ,Lx=CL,Sx=VS,Xx=QZ,xx=DX.CONFIGURABLE,wx=qX,Tx=gx.enforce,kx=gx.get,Ix=Object.defineProperty,Gx=Xx&&!Zx((function(){return 8!==Ix((function(){}),"length",{value:8}).length})),Wx=String(String).split("String"),Vx=_X.exports=function(e,t,n){"Symbol("===String(t).slice(0,7)&&(t="["+String(t).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(t="get "+t),n&&n.setter&&(t="set "+t),(!Sx(e,"name")||xx&&e.name!==t)&&(Xx?Ix(e,"name",{value:t,configurable:!0}):e.name=t),Gx&&n&&Sx(n,"arity")&&e.length!==n.arity&&Ix(e,"length",{value:n.arity});try{n&&Sx(n,"constructor")&&n.constructor?Xx&&Ix(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(Ude){}var r=Tx(e);return Sx(r,"source")||(r.source=Wx.join("string"==typeof t?t:"")),e};Function.prototype.toString=Vx((function(){return Lx(this)&&kx(this).source||wx(this)}),"toString");var Rx=_X.exports,Cx=CL,Mx=gX,Yx=Rx,Kx=ZS,Px=function(e,t,n,r){r||(r={});var i=r.enumerable,a=void 0!==r.name?r.name:t;if(Cx(n)&&Yx(n,a,r),r.global)i?e[t]=n:Kx(t,n);else{try{r.unsafe?e[t]&&(i=!0):delete e[t]}catch(Ude){}i?e[t]=n:Mx.f(e,t,{value:n,enumerable:!1,configurable:!r.nonConfigurable,writable:!r.nonWritable})}return e},Hx={},_x=Math.ceil,Fx=Math.floor,Ex=Math.trunc||function(e){var t=+e;return(t>0?Fx:_x)(t)},Nx=Ex,Ux=function(e){var t=+e;return t!=t||0===t?0:Nx(t)},Jx=Ux,Dx=Math.max,jx=Math.min,Ax=function(e,t){var n=Jx(e);return n<0?Dx(n+t,0):jx(n,t)},zx=Ux,Bx=Math.min,Ox=function(e){return e>0?Bx(zx(e),9007199254740991):0},Qx=Ox,qx=function(e){return Qx(e.length)},$x=GL,ew=Ax,tw=qx,nw=function(e){return function(t,n,r){var i,a=$x(t),o=tw(a),s=ew(r,o);if(e&&n!=n){for(;o>s;)if((i=a[s++])!=i)return!0}else for(;o>s;s++)if((e||s in a)&&a[s]===n)return e||s||0;return!e&&-1}},rw={includes:nw(!0),indexOf:nw(!1)},iw=VS,aw=GL,ow=rw.indexOf,sw=ax,lw=fL([].push),uw=function(e,t){var n,r=aw(e),i=0,a=[];for(n in r)!iw(sw,n)&&iw(r,n)&&lw(a,n);for(;t.length>i;)iw(r,n=t[i++])&&(~ow(a,n)||lw(a,n));return a},cw=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],dw=uw,hw=cw.concat("length","prototype");Hx.f=Object.getOwnPropertyNames||function(e){return dw(e,hw)};var fw={};fw.f=Object.getOwnPropertySymbols;var mw=_L,pw=Hx,yw=fw,bw=xX,vw=fL([].concat),gw=mw("Reflect","ownKeys")||function(e){var t=pw.f(bw(e)),n=yw.f;return n?vw(t,n(e)):t},Zw=VS,Lw=gw,Sw=BZ,Xw=gX,xw=function(e,t,n){for(var r=Lw(t),i=Xw.f,a=Sw.f,o=0;o<r.length;o++){var s=r[o];Zw(e,s)||n&&Zw(n,s)||i(e,s,a(t,s))}},ww=OZ,Tw=CL,kw=/#|\.prototype\./,Iw=function(e,t){var n=Ww[Gw(e)];return n==Rw||n!=Vw&&(Tw(t)?ww(t):!!t)},Gw=Iw.normalize=function(e){return String(e).replace(kw,".").toLowerCase()},Ww=Iw.data={},Vw=Iw.NATIVE="N",Rw=Iw.POLYFILL="P",Cw=Iw,Mw=zZ,Yw=BZ.f,Kw=HX,Pw=Px,Hw=ZS,_w=xw,Fw=Cw,Ew=function(e,t){var n,r,i,a,o,s=e.target,l=e.global,u=e.stat;if(n=l?Mw:u?Mw[s]||Hw(s,{}):(Mw[s]||{}).prototype)for(r in t){if(a=t[r],i=e.dontCallGetSet?(o=Yw(n,r))&&o.value:n[r],!Fw(l?r:s+(u?".":"#")+r,e.forced)&&void 0!==i){if(typeof a==typeof i)continue;_w(a,i)}(e.sham||i&&i.sham)&&Kw(a,"sham",!0),Pw(n,r,a,e)}},Nw=qZ,Uw=Function.prototype,Jw=Uw.apply,Dw=Uw.call,jw="object"==typeof Reflect&&Reflect.apply||(Nw?Dw.bind(Jw):function(){return Dw.apply(Jw,arguments)}),Aw=fL([].slice),zw=TypeError,Bw=function(e,t){if(e<t)throw zw("Not enough arguments");return e},Ow=zZ,Qw=jw,qw=CL,$w=Aw,eT=Bw,tT=/MSIE .\./.test(EL),nT=Ow.Function,rT=function(e){return tT?function(t,n){var r=eT(arguments.length,1)>2,i=qw(t)?t:nT(t),a=r?$w(arguments,2):void 0;return e(r?function(){Qw(i,this,a)}:i,n)}:e},iT={setTimeout:rT(Ow.setTimeout),setInterval:rT(Ow.setInterval)},aT=iT.setInterval;Ew({global:!0,bind:!0,forced:zZ.setInterval!==aT},{setInterval:aT});var oT=iT.setTimeout;Ew({global:!0,bind:!0,forced:zZ.setTimeout!==oT},{setTimeout:oT});var sT=bL,lT=fL,uT=function(e){if("Function"===sT(e))return lT(e)},cT=uS,dT=qZ,hT=uT(uT.bind),fT=function(e,t){return cT(e),void 0===t?e:dT?hT(e,t):function(){return e.apply(t,arguments)}},mT=bL,pT=Array.isArray||function(e){return"Array"==mT(e)},yT={};yT[jS("toStringTag")]="z";var bT="[object z]"===String(yT),vT=bT,gT=CL,ZT=bL,LT=jS("toStringTag"),ST=Object,XT="Arguments"==ZT(function(){return arguments}()),xT=vT?ZT:function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(Ude){}}(t=ST(e),LT))?n:XT?ZT(t):"Object"==(r=ZT(t))&&gT(t.callee)?"Arguments":r},wT=fL,TT=OZ,kT=CL,IT=xT,GT=qX,WT=function(){},VT=[],RT=_L("Reflect","construct"),CT=/^\s*(?:class|function)\b/,MT=wT(CT.exec),YT=!CT.exec(WT),KT=function(e){if(!kT(e))return!1;try{return RT(WT,VT,e),!0}catch(Ude){return!1}},PT=function(e){if(!kT(e))return!1;switch(IT(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return YT||!!MT(CT,GT(e))}catch(Ude){return!0}};PT.sham=!0;var HT=!RT||TT((function(){var e;return KT(KT.call)||!KT(Object)||!KT((function(){e=!0}))||e}))?PT:KT,_T=pT,FT=HT,ET=KL,NT=jS("species"),UT=Array,JT=function(e){var t;return _T(e)&&(t=e.constructor,(FT(t)&&(t===UT||_T(t.prototype))||ET(t)&&null===(t=t[NT]))&&(t=void 0)),void 0===t?UT:t},DT=function(e,t){return new(JT(e))(0===t?0:t)},jT=fT,AT=SL,zT=IS,BT=qx,OT=DT,QT=fL([].push),qT=function(e){var t=1==e,n=2==e,r=3==e,i=4==e,a=6==e,o=7==e,s=5==e||a;return function(l,u,c,d){for(var h,f,m=zT(l),p=AT(m),y=jT(u,c),b=BT(p),v=0,g=d||OT,Z=t?g(l,b):n||o?g(l,0):void 0;b>v;v++)if((s||v in p)&&(f=y(h=p[v],v,m),e))if(t)Z[v]=f;else if(f)switch(e){case 3:return!0;case 5:return h;case 6:return v;case 2:QT(Z,h)}else switch(e){case 4:return!1;case 7:QT(Z,h)}return a?-1:r||i?i:Z}},$T={forEach:qT(0),map:qT(1),filter:qT(2),some:qT(3),every:qT(4),find:qT(5),findIndex:qT(6),filterReject:qT(7)},ek=OZ,tk=zL,nk=jS("species"),rk=function(e){return tk>=51||!ek((function(){var t=[];return(t.constructor={})[nk]=function(){return{foo:1}},1!==t[e](Boolean).foo}))},ik=$T.filter;Ew({target:"Array",proto:!0,forced:!rk("filter")},{filter:function(e){return ik(this,e,arguments.length>1?arguments[1]:void 0)}});var ak=xT,ok=bT?{}.toString:function(){return"[object "+ak(this)+"]"};bT||Px(Object.prototype,"toString",ok,{unsafe:!0});var sk=TypeError,lk=function(e){if(e>9007199254740991)throw sk("Maximum allowed index exceeded");return e},uk=rX,ck=gX,dk=lL,hk=function(e,t,n){var r=uk(t);r in e?ck.f(e,r,dk(0,n)):e[r]=n},fk=Ew,mk=OZ,pk=pT,yk=KL,bk=IS,vk=qx,gk=lk,Zk=hk,Lk=DT,Sk=rk,Xk=zL,xk=jS("isConcatSpreadable"),wk=Xk>=51||!mk((function(){var e=[];return e[xk]=!1,e.concat()[0]!==e})),Tk=Sk("concat"),kk=function(e){if(!yk(e))return!1;var t=e[xk];return void 0!==t?!!t:pk(e)};fk({target:"Array",proto:!0,arity:1,forced:!wk||!Tk},{concat:function(e){var t,n,r,i,a,o=bk(this),s=Lk(o,0),l=0;for(t=-1,r=arguments.length;t<r;t++)if(kk(a=-1===t?o:arguments[t]))for(i=vk(a),gk(l+i),n=0;n<i;n++,l++)n in a&&Zk(s,l,a[n]);else gk(l+1),Zk(s,l++,a);return s.length=l,s}});var Ik=OZ,Gk=function(e,t){var n=[][e];return!!n&&Ik((function(){n.call(null,t||function(){return 1},1)}))},Wk=$T.every;Ew({target:"Array",proto:!0,forced:!Gk("every")},{every:function(e){return Wk(this,e,arguments.length>1?arguments[1]:void 0)}});var Vk=uw,Rk=cw,Ck=Object.keys||function(e){return Vk(e,Rk)},Mk=IS,Yk=Ck;Ew({target:"Object",stat:!0,forced:OZ((function(){Yk(1)}))},{keys:function(e){return Yk(Mk(e))}});var Kk=Ew,Pk=_L,Hk=jw,_k=tL,Fk=fL,Ek=OZ,Nk=pT,Uk=CL,Jk=KL,Dk=rS,jk=Aw,Ak=QL,zk=Pk("JSON","stringify"),Bk=Fk(/./.exec),Ok=Fk("".charAt),Qk=Fk("".charCodeAt),qk=Fk("".replace),$k=Fk(1..toString),eI=/[\uD800-\uDFFF]/g,tI=/^[\uD800-\uDBFF]$/,nI=/^[\uDC00-\uDFFF]$/,rI=!Ak||Ek((function(){var e=Pk("Symbol")();return"[null]"!=zk([e])||"{}"!=zk({a:e})||"{}"!=zk(Object(e))})),iI=Ek((function(){return'"\\udf06\\ud834"'!==zk("\udf06\ud834")||'"\\udead"'!==zk("\udead")})),aI=function(e,t){var n=jk(arguments),r=t;if((Jk(t)||void 0!==e)&&!Dk(e))return Nk(t)||(t=function(e,t){if(Uk(r)&&(t=_k(r,this,e,t)),!Dk(t))return t}),n[1]=t,Hk(zk,null,n)},oI=function(e,t,n){var r=Ok(n,t-1),i=Ok(n,t+1);return Bk(tI,e)&&!Bk(nI,i)||Bk(nI,e)&&!Bk(tI,r)?"\\u"+$k(Qk(e,0),16):e};zk&&Kk({target:"JSON",stat:!0,arity:3,forced:rI||iI},{stringify:function(e,t,n){var r=jk(arguments),i=Hk(rI?aI:zk,null,r);return iI&&"string"==typeof i?qk(i,eI,oI):i}});var sI=Ew,lI=rw.indexOf,uI=Gk,cI=uT([].indexOf),dI=!!cI&&1/cI([1],1,-0)<0,hI=uI("indexOf");sI({target:"Array",proto:!0,forced:dI||!hI},{indexOf:function(e){var t=arguments.length>1?arguments[1]:void 0;return dI?cI(this,e,t)||0:lI(this,e,t)}});var fI=fL,mI=uS,pI=KL,yI=VS,bI=Aw,vI=qZ,gI=Function,ZI=fI([].concat),LI=fI([].join),SI={},XI=vI?gI.bind:function(e){var t=mI(this),n=t.prototype,r=bI(arguments,1),i=function(){var n=ZI(r,bI(arguments));return this instanceof i?function(e,t,n){if(!yI(SI,t)){for(var r=[],i=0;i<t;i++)r[i]="a["+i+"]";SI[t]=gI("C,a","return new C("+LI(r,",")+")")}return SI[t](e,n)}(t,n.length,n):t.apply(e,n)};return pI(n)&&(i.prototype=n),i},xI=XI;Ew({target:"Function",proto:!0,forced:Function.bind!==xI},{bind:xI});var wI=$T.map;Ew({target:"Array",proto:!0,forced:!rk("map")},{map:function(e){return wI(this,e,arguments.length>1?arguments[1]:void 0)}});var TI=$T.forEach,kI=Gk("forEach")?[].forEach:function(e){return TI(this,e,arguments.length>1?arguments[1]:void 0)};Ew({target:"Array",proto:!0,forced:[].forEach!=kI},{forEach:kI});var II={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},GI=sX("span").classList,WI=GI&&GI.constructor&&GI.constructor.prototype,VI=WI===Object.prototype?void 0:WI,RI=zZ,CI=II,MI=VI,YI=kI,KI=HX,PI=function(e){if(e&&e.forEach!==YI)try{KI(e,"forEach",YI)}catch(Ude){e.forEach=YI}};for(var HI in CI)CI[HI]&&PI(RI[HI]&&RI[HI].prototype);PI(MI);var _I=QZ,FI=fL,EI=tL,NI=OZ,UI=Ck,JI=fw,DI=nL,jI=IS,AI=SL,zI=Object.assign,BI=Object.defineProperty,OI=FI([].concat),QI=!zI||NI((function(){if(_I&&1!==zI({b:1},zI(BI({},"a",{enumerable:!0,get:function(){BI(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach((function(e){t[e]=e})),7!=zI({},e)[n]||UI(zI({},t)).join("")!=r}))?function(e,t){for(var n=jI(e),r=arguments.length,i=1,a=JI.f,o=DI.f;r>i;)for(var s,l=AI(arguments[i++]),u=a?OI(UI(l),a(l)):UI(l),c=u.length,d=0;c>d;)s=u[d++],_I&&!EI(o,l,s)||(n[s]=l[s]);return n}:zI,qI=QI;Ew({target:"Object",stat:!0,arity:2,forced:Object.assign!==qI},{assign:qI});var $I={},eG=QZ,tG=ZX,nG=gX,rG=xX,iG=GL,aG=Ck;$I.f=eG&&!tG?Object.defineProperties:function(e,t){rG(e);for(var n,r=iG(t),i=aG(t),a=i.length,o=0;a>o;)nG.f(e,n=i[o++],r[n]);return e};var oG,sG=_L("document","documentElement"),lG=xX,uG=$I,cG=cw,dG=ax,hG=sG,fG=sX,mG="prototype",pG="script",yG=ix("IE_PROTO"),bG=function(){},vG=function(e){return"<"+pG+">"+e+"</"+pG+">"},gG=function(e){e.write(vG("")),e.close();var t=e.parentWindow.Object;return e=null,t},ZG=function(){try{oG=new ActiveXObject("htmlfile")}catch(Ude){}var e,t,n;ZG="undefined"!=typeof document?document.domain&&oG?gG(oG):(t=fG("iframe"),n="java"+pG+":",t.style.display="none",hG.appendChild(t),t.src=String(n),(e=t.contentWindow.document).open(),e.write(vG("document.F=Object")),e.close(),e.F):gG(oG);for(var r=cG.length;r--;)delete ZG[mG][cG[r]];return ZG()};dG[yG]=!0;var LG=Object.create||function(e,t){var n;return null!==e?(bG[mG]=lG(e),n=new bG,bG[mG]=null,n[yG]=e):n=ZG(),void 0===t?n:uG.f(n,t)},SG=jS,XG=LG,xG=gX.f,wG=SG("unscopables"),TG=Array.prototype;null==TG[wG]&&xG(TG,wG,{configurable:!0,value:XG(null)});var kG,IG,GG,WG=function(e){TG[wG][e]=!0},VG={},RG=!OZ((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})),CG=VS,MG=CL,YG=IS,KG=RG,PG=ix("IE_PROTO"),HG=Object,_G=HG.prototype,FG=KG?HG.getPrototypeOf:function(e){var t=YG(e);if(CG(t,PG))return t[PG];var n=t.constructor;return MG(n)&&t instanceof n?n.prototype:t instanceof HG?_G:null},EG=OZ,NG=CL,UG=KL,JG=FG,DG=Px,jG=jS("iterator"),AG=!1;[].keys&&("next"in(GG=[].keys())?(IG=JG(JG(GG)))!==Object.prototype&&(kG=IG):AG=!0),(!UG(kG)||EG((function(){var e={};return kG[jG].call(e)!==e})))&&(kG={}),NG(kG[jG])||DG(kG,jG,(function(){return this}));var zG={IteratorPrototype:kG,BUGGY_SAFARI_ITERATORS:AG},BG=gX.f,OG=VS,QG=jS("toStringTag"),qG=function(e,t,n){e&&!n&&(e=e.prototype),e&&!OG(e,QG)&&BG(e,QG,{configurable:!0,value:t})},$G=zG.IteratorPrototype,eW=LG,tW=lL,nW=qG,rW=VG,iW=function(){return this},aW=function(e,t,n,r){var i=t+" Iterator";return e.prototype=eW($G,{next:tW(+!r,n)}),nW(e,i,!1),rW[i]=iW,e},oW=CL,sW=String,lW=TypeError,uW=fL,cW=xX,dW=function(e){if("object"==typeof e||oW(e))return e;throw lW("Can't set "+sW(e)+" as a prototype")},hW=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{(e=uW(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(n,[]),t=n instanceof Array}catch(Ude){}return function(n,r){return cW(n),dW(r),t?e(n,r):n.__proto__=r,n}}():void 0),fW=Ew,mW=tL,pW=CL,yW=aW,bW=FG,vW=hW,gW=qG,ZW=HX,LW=Px,SW=VG,XW=DX.PROPER,xW=DX.CONFIGURABLE,wW=zG.IteratorPrototype,TW=zG.BUGGY_SAFARI_ITERATORS,kW=jS("iterator"),IW="keys",GW="values",WW="entries",VW=function(){return this},RW=function(e,t,n,r,i,a,o){yW(n,t,r);var s,l,u,c=function(e){if(e===i&&p)return p;if(!TW&&e in f)return f[e];switch(e){case IW:case GW:case WW:return function(){return new n(this,e)}}return function(){return new n(this)}},d=t+" Iterator",h=!1,f=e.prototype,m=f[kW]||f["@@iterator"]||i&&f[i],p=!TW&&m||c(i),y="Array"==t&&f.entries||m;if(y&&(s=bW(y.call(new e)))!==Object.prototype&&s.next&&(bW(s)!==wW&&(vW?vW(s,wW):pW(s[kW])||LW(s,kW,VW)),gW(s,d,!0)),XW&&i==GW&&m&&m.name!==GW&&(xW?ZW(f,"name",GW):(h=!0,p=function(){return mW(m,this)})),i)if(l={values:c(GW),keys:a?p:c(IW),entries:c(WW)},o)for(u in l)(TW||h||!(u in f))&&LW(f,u,l[u]);else fW({target:t,proto:!0,forced:TW||h},l);return f[kW]!==p&&LW(f,kW,p,{name:i}),SW[t]=p,l},CW=function(e,t){return{value:e,done:t}},MW=GL,YW=WG,KW=VG,PW=gx,HW=gX.f,_W=RW,FW=CW,EW=QZ,NW="Array Iterator",UW=PW.set,JW=PW.getterFor(NW),DW=_W(Array,"Array",(function(e,t){UW(this,{type:NW,target:MW(e),index:0,kind:t})}),(function(){var e=JW(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=void 0,FW(void 0,!0)):FW("keys"==n?r:"values"==n?t[r]:[r,t[r]],!1)}),"values"),jW=KW.Arguments=KW.Array;if(YW("keys"),YW("values"),YW("entries"),EW&&"values"!==jW.name)try{HW(jW,"name",{value:"values"})}catch(Ude){}var AW,zW,BW,OW,QW="process"==bL(zZ.process),qW=_L,$W=gX,eV=QZ,tV=jS("species"),nV=function(e){var t=qW(e),n=$W.f;eV&&t&&!t[tV]&&n(t,tV,{configurable:!0,get:function(){return this}})},rV=FL,iV=TypeError,aV=function(e,t){if(rV(t,e))return e;throw iV("Incorrect invocation")},oV=HT,sV=aS,lV=TypeError,uV=function(e){if(oV(e))return e;throw lV(sV(e)+" is not a constructor")},cV=xX,dV=uV,hV=XL,fV=jS("species"),mV=function(e,t){var n,r=cV(e).constructor;return void 0===r||hV(n=cV(r)[fV])?t:dV(n)},pV=/(?:ipad|iphone|ipod).*applewebkit/i.test(EL),yV=zZ,bV=jw,vV=fT,gV=CL,ZV=VS,LV=OZ,SV=sG,XV=Aw,xV=sX,wV=Bw,TV=pV,kV=QW,IV=yV.setImmediate,GV=yV.clearImmediate,WV=yV.process,VV=yV.Dispatch,RV=yV.Function,CV=yV.MessageChannel,MV=yV.String,YV=0,KV={},PV="onreadystatechange";try{AW=yV.location}catch(Ude){}var HV=function(e){if(ZV(KV,e)){var t=KV[e];delete KV[e],t()}},_V=function(e){return function(){HV(e)}},FV=function(e){HV(e.data)},EV=function(e){yV.postMessage(MV(e),AW.protocol+"//"+AW.host)};IV&&GV||(IV=function(e){wV(arguments.length,1);var t=gV(e)?e:RV(e),n=XV(arguments,1);return KV[++YV]=function(){bV(t,void 0,n)},zW(YV),YV},GV=function(e){delete KV[e]},kV?zW=function(e){WV.nextTick(_V(e))}:VV&&VV.now?zW=function(e){VV.now(_V(e))}:CV&&!TV?(OW=(BW=new CV).port2,BW.port1.onmessage=FV,zW=vV(OW.postMessage,OW)):yV.addEventListener&&gV(yV.postMessage)&&!yV.importScripts&&AW&&"file:"!==AW.protocol&&!LV(EV)?(zW=EV,yV.addEventListener("message",FV,!1)):zW=PV in xV("script")?function(e){SV.appendChild(xV("script"))[PV]=function(){SV.removeChild(this),HV(e)}}:function(e){setTimeout(_V(e),0)});var NV,UV,JV,DV,jV,AV,zV,BV,OV={set:IV,clear:GV},QV=zZ,qV=/ipad|iphone|ipod/i.test(EL)&&void 0!==QV.Pebble,$V=/web0s(?!.*chrome)/i.test(EL),eR=zZ,tR=fT,nR=BZ.f,rR=OV.set,iR=pV,aR=qV,oR=$V,sR=QW,lR=eR.MutationObserver||eR.WebKitMutationObserver,uR=eR.document,cR=eR.process,dR=eR.Promise,hR=nR(eR,"queueMicrotask"),fR=hR&&hR.value;fR||(NV=function(){var e,t;for(sR&&(e=cR.domain)&&e.exit();UV;){t=UV.fn,UV=UV.next;try{t()}catch(Ude){throw UV?DV():JV=void 0,Ude}}JV=void 0,e&&e.enter()},iR||sR||oR||!lR||!uR?!aR&&dR&&dR.resolve?((zV=dR.resolve(void 0)).constructor=dR,BV=tR(zV.then,zV),DV=function(){BV(NV)}):sR?DV=function(){cR.nextTick(NV)}:(rR=tR(rR,eR),DV=function(){rR(NV)}):(jV=!0,AV=uR.createTextNode(""),new lR(NV).observe(AV,{characterData:!0}),DV=function(){AV.data=jV=!jV}));var mR=fR||function(e){var t={fn:e,next:void 0};JV&&(JV.next=t),UV||(UV=t,DV()),JV=t},pR=zZ,yR=function(e){try{return{error:!1,value:e()}}catch(Ude){return{error:!0,value:Ude}}},bR=function(){this.head=null,this.tail=null};bR.prototype={add:function(e){var t={item:e,next:null};this.head?this.tail.next=t:this.head=t,this.tail=t},get:function(){var e=this.head;if(e)return this.head=e.next,this.tail===e&&(this.tail=null),e.item}};var vR=bR,gR=zZ.Promise,ZR="object"==typeof Deno&&Deno&&"object"==typeof Deno.version,LR=!ZR&&!QW&&"object"==typeof window&&"object"==typeof document,SR=zZ,XR=gR,xR=CL,wR=Cw,TR=qX,kR=jS,IR=LR,GR=ZR,WR=zL;XR&&XR.prototype;var VR=kR("species"),RR=!1,CR=xR(SR.PromiseRejectionEvent),MR={CONSTRUCTOR:wR("Promise",(function(){var e=TR(XR),t=e!==String(XR);if(!t&&66===WR)return!0;if(!WR||WR<51||!/native code/.test(e)){var n=new XR((function(e){e(1)})),r=function(e){e((function(){}),(function(){}))};if((n.constructor={})[VR]=r,!(RR=n.then((function(){}))instanceof r))return!0}return!t&&(IR||GR)&&!CR})),REJECTION_EVENT:CR,SUBCLASSING:RR},YR={},KR=uS,PR=TypeError,HR=function(e){var t,n;this.promise=new e((function(e,r){if(void 0!==t||void 0!==n)throw PR("Bad Promise constructor");t=e,n=r})),this.resolve=KR(t),this.reject=KR(n)};YR.f=function(e){return new HR(e)};var _R,FR,ER,NR=Ew,UR=QW,JR=zZ,DR=tL,jR=Px,AR=hW,zR=qG,BR=nV,OR=uS,QR=CL,qR=KL,$R=aV,eC=mV,tC=OV.set,nC=mR,rC=function(e,t){var n=pR.console;n&&n.error&&(1==arguments.length?n.error(e):n.error(e,t))},iC=yR,aC=vR,oC=gx,sC=gR,lC=YR,uC="Promise",cC=MR.CONSTRUCTOR,dC=MR.REJECTION_EVENT,hC=MR.SUBCLASSING,fC=oC.getterFor(uC),mC=oC.set,pC=sC&&sC.prototype,yC=sC,bC=pC,vC=JR.TypeError,gC=JR.document,ZC=JR.process,LC=lC.f,SC=LC,XC=!!(gC&&gC.createEvent&&JR.dispatchEvent),xC="unhandledrejection",wC=function(e){var t;return!(!qR(e)||!QR(t=e.then))&&t},TC=function(e,t){var n,r,i,a=t.value,o=1==t.state,s=o?e.ok:e.fail,l=e.resolve,u=e.reject,c=e.domain;try{s?(o||(2===t.rejection&&VC(t),t.rejection=1),!0===s?n=a:(c&&c.enter(),n=s(a),c&&(c.exit(),i=!0)),n===e.promise?u(vC("Promise-chain cycle")):(r=wC(n))?DR(r,n,l,u):l(n)):u(a)}catch(Ude){c&&!i&&c.exit(),u(Ude)}},kC=function(e,t){e.notified||(e.notified=!0,nC((function(){for(var n,r=e.reactions;n=r.get();)TC(n,e);e.notified=!1,t&&!e.rejection&&GC(e)})))},IC=function(e,t,n){var r,i;XC?((r=gC.createEvent("Event")).promise=t,r.reason=n,r.initEvent(e,!1,!0),JR.dispatchEvent(r)):r={promise:t,reason:n},!dC&&(i=JR["on"+e])?i(r):e===xC&&rC("Unhandled promise rejection",n)},GC=function(e){DR(tC,JR,(function(){var t,n=e.facade,r=e.value;if(WC(e)&&(t=iC((function(){UR?ZC.emit("unhandledRejection",r,n):IC(xC,n,r)})),e.rejection=UR||WC(e)?2:1,t.error))throw t.value}))},WC=function(e){return 1!==e.rejection&&!e.parent},VC=function(e){DR(tC,JR,(function(){var t=e.facade;UR?ZC.emit("rejectionHandled",t):IC("rejectionhandled",t,e.value)}))},RC=function(e,t,n){return function(r){e(t,r,n)}},CC=function(e,t,n){e.done||(e.done=!0,n&&(e=n),e.value=t,e.state=2,kC(e,!0))},MC=function(e,t,n){if(!e.done){e.done=!0,n&&(e=n);try{if(e.facade===t)throw vC("Promise can't be resolved itself");var r=wC(t);r?nC((function(){var n={done:!1};try{DR(r,t,RC(MC,n,e),RC(CC,n,e))}catch(Ude){CC(n,Ude,e)}})):(e.value=t,e.state=1,kC(e,!1))}catch(Ude){CC({done:!1},Ude,e)}}};if(cC&&(bC=(yC=function(e){$R(this,bC),OR(e),DR(_R,this);var t=fC(this);try{e(RC(MC,t),RC(CC,t))}catch(Ude){CC(t,Ude)}}).prototype,(_R=function(e){mC(this,{type:uC,done:!1,notified:!1,parent:!1,reactions:new aC,rejection:!1,state:0,value:void 0})}).prototype=jR(bC,"then",(function(e,t){var n=fC(this),r=LC(eC(this,yC));return n.parent=!0,r.ok=!QR(e)||e,r.fail=QR(t)&&t,r.domain=UR?ZC.domain:void 0,0==n.state?n.reactions.add(r):nC((function(){TC(r,n)})),r.promise})),FR=function(){var e=new _R,t=fC(e);this.promise=e,this.resolve=RC(MC,t),this.reject=RC(CC,t)},lC.f=LC=function(e){return e===yC||undefined===e?new FR(e):SC(e)},QR(sC)&&pC!==Object.prototype)){ER=pC.then,hC||jR(pC,"then",(function(e,t){var n=this;return new yC((function(e,t){DR(ER,n,e,t)})).then(e,t)}),{unsafe:!0});try{delete pC.constructor}catch(Ude){}AR&&AR(pC,bC)}NR({global:!0,constructor:!0,wrap:!0,forced:cC},{Promise:yC}),zR(yC,uC,!1),BR(uC);var YC=VG,KC=jS("iterator"),PC=Array.prototype,HC=function(e){return void 0!==e&&(YC.Array===e||PC[KC]===e)},_C=xT,FC=hS,EC=XL,NC=VG,UC=jS("iterator"),JC=function(e){if(!EC(e))return FC(e,UC)||FC(e,"@@iterator")||NC[_C(e)]},DC=tL,jC=uS,AC=xX,zC=aS,BC=JC,OC=TypeError,QC=function(e,t){var n=arguments.length<2?BC(e):t;if(jC(n))return AC(DC(n,e));throw OC(zC(e)+" is not iterable")},qC=tL,$C=xX,eM=hS,tM=function(e,t,n){var r,i;$C(e);try{if(!(r=eM(e,"return"))){if("throw"===t)throw n;return n}r=qC(r,e)}catch(Ude){i=!0,r=Ude}if("throw"===t)throw n;if(i)throw r;return $C(r),n},nM=fT,rM=tL,iM=xX,aM=aS,oM=HC,sM=qx,lM=FL,uM=QC,cM=JC,dM=tM,hM=TypeError,fM=function(e,t){this.stopped=e,this.result=t},mM=fM.prototype,pM=function(e,t,n){var r,i,a,o,s,l,u,c=n&&n.that,d=!(!n||!n.AS_ENTRIES),h=!(!n||!n.IS_RECORD),f=!(!n||!n.IS_ITERATOR),m=!(!n||!n.INTERRUPTED),p=nM(t,c),y=function(e){return r&&dM(r,"normal",e),new fM(!0,e)},b=function(e){return d?(iM(e),m?p(e[0],e[1],y):p(e[0],e[1])):m?p(e,y):p(e)};if(h)r=e.iterator;else if(f)r=e;else{if(!(i=cM(e)))throw hM(aM(e)+" is not iterable");if(oM(i)){for(a=0,o=sM(e);o>a;a++)if((s=b(e[a]))&&lM(mM,s))return s;return new fM(!1)}r=uM(e,i)}for(l=h?e.next:r.next;!(u=rM(l,r)).done;){try{s=b(u.value)}catch(Ude){dM(r,"throw",Ude)}if("object"==typeof s&&s&&lM(mM,s))return s}return new fM(!1)},yM=jS("iterator"),bM=!1;try{var vM=0,gM={next:function(){return{done:!!vM++}},return:function(){bM=!0}};gM[yM]=function(){return this},Array.from(gM,(function(){throw 2}))}catch(Ude){}var ZM=function(e,t){if(!t&&!bM)return!1;var n=!1;try{var r={};r[yM]=function(){return{next:function(){return{done:n=!0}}}},e(r)}catch(Ude){}return n},LM=gR,SM=MR.CONSTRUCTOR||!ZM((function(e){LM.all(e).then(void 0,(function(){}))})),XM=tL,xM=uS,wM=YR,TM=yR,kM=pM;Ew({target:"Promise",stat:!0,forced:SM},{all:function(e){var t=this,n=wM.f(t),r=n.resolve,i=n.reject,a=TM((function(){var n=xM(t.resolve),a=[],o=0,s=1;kM(e,(function(e){var l=o++,u=!1;s++,XM(n,t,e).then((function(e){u||(u=!0,a[l]=e,--s||r(a))}),i)})),--s||r(a)}));return a.error&&i(a.value),n.promise}});var IM=Ew,GM=MR.CONSTRUCTOR,WM=gR,VM=_L,RM=CL,CM=Px,MM=WM&&WM.prototype;if(IM({target:"Promise",proto:!0,forced:GM,real:!0},{catch:function(e){return this.then(void 0,e)}}),RM(WM)){var YM=VM("Promise").prototype.catch;MM.catch!==YM&&CM(MM,"catch",YM,{unsafe:!0})}var KM=tL,PM=uS,HM=YR,_M=yR,FM=pM;Ew({target:"Promise",stat:!0,forced:SM},{race:function(e){var t=this,n=HM.f(t),r=n.reject,i=_M((function(){var i=PM(t.resolve);FM(e,(function(e){KM(i,t,e).then(n.resolve,r)}))}));return i.error&&r(i.value),n.promise}});var EM=tL,NM=YR;Ew({target:"Promise",stat:!0,forced:MR.CONSTRUCTOR},{reject:function(e){var t=NM.f(this);return EM(t.reject,void 0,e),t.promise}});var UM=xX,JM=KL,DM=YR,jM=function(e,t){if(UM(e),JM(t)&&t.constructor===e)return t;var n=DM.f(e);return(0,n.resolve)(t),n.promise},AM=Ew,zM=MR.CONSTRUCTOR,BM=jM;_L("Promise"),AM({target:"Promise",stat:!0,forced:zM},{resolve:function(e){return BM(this,e)}});var OM=xT,QM=String,qM=function(e){if("Symbol"===OM(e))throw TypeError("Cannot convert a Symbol value to a string");return QM(e)},$M=fL,eY=Ux,tY=qM,nY=TL,rY=$M("".charAt),iY=$M("".charCodeAt),aY=$M("".slice),oY=function(e){return function(t,n){var r,i,a=tY(nY(t)),o=eY(n),s=a.length;return o<0||o>=s?e?"":void 0:(r=iY(a,o))<55296||r>56319||o+1===s||(i=iY(a,o+1))<56320||i>57343?e?rY(a,o):r:e?aY(a,o,o+2):i-56320+(r-55296<<10)+65536}},sY={codeAt:oY(!1),charAt:oY(!0)},lY=sY.charAt,uY=qM,cY=gx,dY=RW,hY=CW,fY="String Iterator",mY=cY.set,pY=cY.getterFor(fY);dY(String,"String",(function(e){mY(this,{type:fY,string:uY(e),index:0})}),(function(){var e,t=pY(this),n=t.string,r=t.index;return r>=n.length?hY(void 0,!0):(e=lY(n,r),t.index+=e.length,hY(e,!1))}));var yY=zZ,bY=II,vY=VI,gY=DW,ZY=HX,LY=jS,SY=LY("iterator"),XY=LY("toStringTag"),xY=gY.values,wY=function(e,t){if(e){if(e[SY]!==xY)try{ZY(e,SY,xY)}catch(Ude){e[SY]=xY}if(e[XY]||ZY(e,XY,t),bY[t])for(var n in gY)if(e[n]!==gY[n])try{ZY(e,n,gY[n])}catch(Ude){e[n]=gY[n]}}};for(var TY in bY)wY(yY[TY]&&yY[TY].prototype,TY);wY(vY,"DOMTokenList");var kY=fL,IY=Px,GY=Date.prototype,WY="Invalid Date",VY="toString",RY=kY(GY[VY]),CY=kY(GY.getTime);String(new Date(NaN))!=WY&&IY(GY,VY,(function(){var e=CY(this);return e==e?RY(this):WY}));var MY=Ew,YY=gR,KY=OZ,PY=_L,HY=CL,_Y=mV,FY=jM,EY=Px,NY=YY&&YY.prototype;if(MY({target:"Promise",proto:!0,real:!0,forced:!!YY&&KY((function(){NY.finally.call({then:function(){}},(function(){}))}))},{finally:function(e){var t=_Y(this,PY("Promise")),n=HY(e);return this.then(n?function(n){return FY(t,e()).then((function(){return n}))}:e,n?function(n){return FY(t,e()).then((function(){throw n}))}:e)}}),HY(YY)){var UY=PY("Promise").prototype.finally;NY.finally!==UY&&EY(NY,"finally",UY,{unsafe:!0})}var JY=CL,DY=KL,jY=hW,AY=function(e,t,n){var r,i;return jY&&JY(r=t.constructor)&&r!==n&&DY(i=r.prototype)&&i!==n.prototype&&jY(e,i),e},zY=fL(1..valueOf),BY="\t\n\v\f\r                 \u2028\u2029\ufeff",OY=TL,QY=qM,qY=BY,$Y=fL("".replace),eK="["+qY+"]",tK=RegExp("^"+eK+eK+"*"),nK=RegExp(eK+eK+"*$"),rK=function(e){return function(t){var n=QY(OY(t));return 1&e&&(n=$Y(n,tK,"")),2&e&&(n=$Y(n,nK,"")),n}},iK={start:rK(1),end:rK(2),trim:rK(3)},aK=QZ,oK=zZ,sK=fL,lK=Cw,uK=Px,cK=VS,dK=AY,hK=FL,fK=rS,mK=eX,pK=OZ,yK=Hx.f,bK=BZ.f,vK=gX.f,gK=zY,ZK=iK.trim,LK="Number",SK=oK[LK],XK=SK.prototype,xK=oK.TypeError,wK=sK("".slice),TK=sK("".charCodeAt),kK=function(e){var t,n,r,i,a,o,s,l,u=mK(e,"number");if(fK(u))throw xK("Cannot convert a Symbol value to a number");if("string"==typeof u&&u.length>2)if(u=ZK(u),43===(t=TK(u,0))||45===t){if(88===(n=TK(u,2))||120===n)return NaN}else if(48===t){switch(TK(u,1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+u}for(o=(a=wK(u,2)).length,s=0;s<o;s++)if((l=TK(a,s))<48||l>i)return NaN;return parseInt(a,r)}return+u};if(lK(LK,!SK(" 0o1")||!SK("0b1")||SK("+0x1"))){for(var IK,GK=function(e){var t=arguments.length<1?0:SK(function(e){var t=mK(e,"number");return"bigint"==typeof t?t:kK(t)}(e)),n=this;return hK(XK,n)&&pK((function(){gK(n)}))?dK(Object(t),n,GK):t},WK=aK?yK(SK):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),VK=0;WK.length>VK;VK++)cK(SK,IK=WK[VK])&&!cK(GK,IK)&&vK(GK,IK,bK(SK,IK));GK.prototype=XK,XK.constructor=GK,uK(oK,LK,GK,{constructor:!0})}var RK=QZ,CK=DX.EXISTS,MK=fL,YK=gX.f,KK=Function.prototype,PK=MK(KK.toString),HK=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,_K=MK(HK.exec);RK&&!CK&&YK(KK,"name",{configurable:!0,get:function(){try{return _K(HK,PK(this))[1]}catch(Ude){return""}}});var FK=QZ,EK=pT,NK=TypeError,UK=Object.getOwnPropertyDescriptor,JK=FK&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(Ude){return Ude instanceof TypeError}}(),DK=aS,jK=TypeError,AK=function(e,t){if(!delete e[t])throw jK("Cannot delete property "+DK(t)+" of "+DK(e))},zK=Ew,BK=IS,OK=Ax,QK=Ux,qK=qx,$K=JK?function(e,t){if(EK(e)&&!UK(e,"length").writable)throw NK("Cannot set read only .length");return e.length=t}:function(e,t){return e.length=t},eP=lk,tP=DT,nP=hk,rP=AK,iP=rk("splice"),aP=Math.max,oP=Math.min;zK({target:"Array",proto:!0,forced:!iP},{splice:function(e,t){var n,r,i,a,o,s,l=BK(this),u=qK(l),c=OK(e,u),d=arguments.length;for(0===d?n=r=0:1===d?(n=0,r=u-c):(n=d-2,r=oP(aP(QK(t),0),u-c)),eP(u+n-r),i=tP(l,r),a=0;a<r;a++)(o=c+a)in l&&nP(i,a,l[o]);if(i.length=r,n<r){for(a=c;a<u-r;a++)s=a+n,(o=a+r)in l?l[s]=l[o]:rP(l,s);for(a=u;a>u-r+n;a--)rP(l,a-1)}else if(n>r)for(a=u-r;a>c;a--)s=a+n-1,(o=a+r-1)in l?l[s]=l[o]:rP(l,s);for(a=0;a<n;a++)l[a+c]=arguments[a+2];return $K(l,u-r+n),i}});var sP=zZ,lP=OZ,uP=fL,cP=qM,dP=iK.trim,hP=BY,fP=sP.parseInt,mP=sP.Symbol,pP=mP&&mP.iterator,yP=/^[+-]?0x/i,bP=uP(yP.exec),vP=8!==fP(hP+"08")||22!==fP(hP+"0x16")||pP&&!lP((function(){fP(Object(pP))}))?function(e,t){var n=dP(cP(e));return fP(n,t>>>0||(bP(yP,n)?16:10))}:fP;Ew({global:!0,forced:parseInt!=vP},{parseInt:vP});var gP=Gn,ZP=Or.find,LP="find",SP=!0;LP in[]&&Array(1)[LP]((function(){SP=!1})),gP({target:"Array",proto:!0,forced:SP},{find:function(e){return ZP(this,e,arguments.length>1?arguments[1]:void 0)}});var XP=ri("Array").find,xP=oe,wP=XP,TP=Array.prototype,kP=t((function(e){var t=e.find;return e===TP||xP(TP,e)&&t===TP.find?wP:t}));Gn({target:"Number",stat:!0},{isNaN:function(e){return e!=e}});var IP=t(ee.Number.isNaN),GP=ri("Array").keys,WP=br,VP=Qe,RP=oe,CP=GP,MP=Array.prototype,YP={DOMTokenList:!0,NodeList:!0},KP=t((function(e){var t=e.keys;return e===MP||RP(MP,e)&&t===MP.keys||VP(YP,WP(e))?CP:t})),PP=Qe,HP=V,_P=$,FP=tn,EP=function(e){return void 0!==e&&(PP(e,"value")||PP(e,"writable"))},NP=k,UP=Fs;Gn({target:"Reflect",stat:!0},{get:function e(t,n){var r,i,a=arguments.length<3?t:arguments[2];return FP(t)===a?t[n]:(r=NP.f(t,n))?EP(r)?r.value:void 0===r.get?void 0:HP(r.get,a):_P(i=UP(t))?e(i,n,a):void 0}});var JP=ee.Reflect.get,DP=t(JP),jP=t(JP),AP=my.f("toPrimitive"),zP=t(AP),BP=t(AP);function OP(e,t){var n=ca(e);if(kv){var r=kv(e);t&&(r=li(r).call(r,(function(t){return Hv(e,t).enumerable}))),n.push.apply(n,r)}return n}function QP(e){for(var t=1;t<arguments.length;t++){var n,r,i=null!=arguments[t]?arguments[t]:{};t%2?mu(n=OP(Object(i),!0)).call(n,(function(t){nH(e,t,i[t])})):Uv?Ov(e,Uv(i)):mu(r=OP(Object(i))).call(r,(function(t){ag(e,t,Hv(i,t))}))}return e}function qP(e){return(qP="function"==typeof og&&"symbol"==typeof zg?function(e){return typeof e}:function(e){return e&&"function"==typeof og&&e.constructor===og&&e!==og.prototype?"symbol":typeof e})(e)}function $P(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function eH(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),ag(e,aH(r.key),r)}}function tH(e,t,n){return t&&eH(e.prototype,t),n&&eH(e,n),ag(e,"prototype",{writable:!1}),e}function nH(e,t,n){return(t=aH(t))in e?ag(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function rH(e){return function(e){if(hZ(e))return iH(e)}(e)||function(e){if(void 0!==og&&null!=fZ(e)||null!=e["@@iterator"])return GZ(e)}(e)||function(e,t){var n;if(!e)return;if("string"==typeof e)return iH(e,t);var r=Ag(n=Object.prototype.toString.call(e)).call(n,8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return GZ(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return iH(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function iH(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function aH(e){var t=function(e,t){if("object"!==Tv(e)||null===e)return e;var n=e[BP];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Tv(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Tv(t)?t:String(t)}var oH={exports:{}};!function(e){var t=Object.prototype.hasOwnProperty,n="~";function r(){}function i(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function a(e,t,r,a,o){if("function"!=typeof r)throw new TypeError("The listener must be a function");var s=new i(r,a||e,o),l=n?n+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],s]:e._events[l].push(s):(e._events[l]=s,e._eventsCount++),e}function o(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function s(){this._events=new r,this._eventsCount=0}cg&&(r.prototype=cg(null),(new r).__proto__||(n=!1)),s.prototype.eventNames=function(){var e,r,i=[];if(0===this._eventsCount)return i;for(r in e=this._events)t.call(e,r)&&i.push(n?Ag(r).call(r,1):r);return kv?Ci(i).call(i,kv(e)):i},s.prototype.listeners=function(e){var t=n?n+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var i=0,a=r.length,o=new Array(a);i<a;i++)o[i]=r[i].fn;return o},s.prototype.listenerCount=function(e){var t=n?n+e:e,r=this._events[t];return r?r.fn?1:r.length:0},s.prototype.emit=function(e,t,r,i,a,o){var s=n?n+e:e;if(!this._events[s])return!1;var l,u,c=this._events[s],d=arguments.length;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),d){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,r),!0;case 4:return c.fn.call(c.context,t,r,i),!0;case 5:return c.fn.call(c.context,t,r,i,a),!0;case 6:return c.fn.call(c.context,t,r,i,a,o),!0}for(u=1,l=new Array(d-1);u<d;u++)l[u-1]=arguments[u];c.fn.apply(c.context,l)}else{var h,f=c.length;for(u=0;u<f;u++)switch(c[u].once&&this.removeListener(e,c[u].fn,void 0,!0),d){case 1:c[u].fn.call(c[u].context);break;case 2:c[u].fn.call(c[u].context,t);break;case 3:c[u].fn.call(c[u].context,t,r);break;case 4:c[u].fn.call(c[u].context,t,r,i);break;default:if(!l)for(h=1,l=new Array(d-1);h<d;h++)l[h-1]=arguments[h];c[u].fn.apply(c[u].context,l)}}return!0},s.prototype.on=function(e,t,n){return a(this,e,t,n,!1)},s.prototype.once=function(e,t,n){return a(this,e,t,n,!0)},s.prototype.removeListener=function(e,t,r,i){var a=n?n+e:e;if(!this._events[a])return this;if(!t)return o(this,a),this;var s=this._events[a];if(s.fn)s.fn!==t||i&&!s.once||r&&s.context!==r||o(this,a);else{for(var l=0,u=[],c=s.length;l<c;l++)(s[l].fn!==t||i&&!s[l].once||r&&s[l].context!==r)&&u.push(s[l]);u.length?this._events[a]=1===u.length?u[0]:u:o(this,a)}return this},s.prototype.removeAllListeners=function(e){var t;return e?(t=n?n+e:e,this._events[t]&&o(this,t)):(this._events=new r,this._eventsCount=0),this},s.prototype.off=s.prototype.removeListener,s.prototype.addListener=s.prototype.on,s.prefixed=n,s.EventEmitter=s,e.exports=s}(oH);var sH=t(oH.exports),lH=Or.some;Gn({target:"Array",proto:!0,forced:!Yi("some")},{some:function(e){return lH(this,e,arguments.length>1?arguments[1]:void 0)}});var uH=ri("Array").some,cH=oe,dH=uH,hH=Array.prototype,fH=t((function(e){var t=e.some;return e===hH||cH(hH,e)&&t===hH.some?dH:t})),mH=tr,pH=fa,yH=A,bH=RangeError,vH=p,gH=ir,ZH=fa,LH=A,SH=vH((function(e){var t=pH(yH(this)),n="",r=mH(e);if(r<0||r==1/0)throw bH("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(t+=t))1&r&&(n+=t);return n})),XH=vH("".slice),xH=Math.ceil,wH=function(e){return function(t,n,r){var i,a,o=ZH(LH(t)),s=gH(n),l=o.length,u=void 0===r?" ":ZH(r);return s<=l||""==u?o:((a=SH(u,xH((i=s-l)/u.length))).length>i&&(a=XH(a,0,i)),e?o+a:a+o)}},TH={start:wH(!1),end:wH(!0)},kH=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(se),IH=TH.start;Gn({target:"String",proto:!0,forced:kH},{padStart:function(e){return IH(this,e,arguments.length>1?arguments[1]:void 0)}});var GH=ri("String").padStart,WH=oe,VH=GH,RH=String.prototype,CH=t((function(e){var t=e.padStart;return"string"==typeof e||e===RH||WH(RH,e)&&t===RH.padStart?VH:t})),MH=t(ee.setInterval),YH=r,KH=i,PH=fa,HH=Np.trim,_H=Mp,FH=p("".charAt),EH=YH.parseFloat,NH=YH.Symbol,UH=NH&&NH.iterator,JH=1/EH(_H+"-0")!=-1/0||UH&&!KH((function(){EH(Object(UH))}))?function(e){var t=HH(PH(e)),n=EH(t);return 0===n&&"-"==FH(t,0)?-0:n}:EH;Gn({global:!0,forced:parseFloat!=JH},{parseFloat:JH});var DH=t(ee.parseFloat),jH=as.PROPER,AH=i,zH=Mp,BH=Np.trim;Gn({target:"String",proto:!0,forced:function(e){return AH((function(){return!!zH[e]()||"​…᠎"!=="​…᠎"[e]()||jH&&zH[e].name!==e}))}("trim")},{trim:function(){return BH(this)}});var OH=ri("String").trim,QH=oe,qH=OH,$H=String.prototype,e_=t((function(e){var t=e.trim;return"string"==typeof e||e===$H||QH($H,e)&&t===$H.trim?qH:t})),t_=ly,n_=Math.floor,r_=function(e,t){var n=e.length,r=n_(n/2);return n<8?i_(e,t):a_(e,r_(t_(e,0,r),t),r_(t_(e,r),t),t)},i_=function(e,t){for(var n,r,i=e.length,a=1;a<i;){for(r=a,n=e[a];r&&t(e[r-1],n)>0;)e[r]=e[--r];r!==a++&&(e[r]=n)}return e},a_=function(e,t,n,r){for(var i=t.length,a=n.length,o=0,s=0;o<i||s<a;)e[o+s]=o<i&&s<a?r(t[o],n[s])<=0?t[o++]:n[s++]:o<i?t[o++]:n[s++];return e},o_=r_,s_=se.match(/firefox\/(\d+)/i),l_=!!s_&&+s_[1],u_=/MSIE|Trident/.test(se),c_=se.match(/AppleWebKit\/(\d+)\./),d_=!!c_&&+c_[1],h_=Gn,f_=p,m_=We,p_=ze,y_=or,b_=pp,v_=fa,g_=i,Z_=o_,L_=Yi,S_=l_,X_=u_,x_=me,w_=d_,T_=[],k_=f_(T_.sort),I_=f_(T_.push),G_=g_((function(){T_.sort(void 0)})),W_=g_((function(){T_.sort(null)})),V_=L_("sort"),R_=!g_((function(){if(x_)return x_<70;if(!(S_&&S_>3)){if(X_)return!0;if(w_)return w_<603;var e,t,n,r,i="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:n=3;break;case 68:case 71:n=4;break;default:n=2}for(r=0;r<47;r++)T_.push({k:t+r,v:n})}for(T_.sort((function(e,t){return t.v-e.v})),r=0;r<T_.length;r++)t=T_[r].k.charAt(0),i.charAt(i.length-1)!==t&&(i+=t);return"DGBEFHACIJK"!==i}}));h_({target:"Array",proto:!0,forced:G_||!W_||!V_||!R_},{sort:function(e){void 0!==e&&m_(e);var t=p_(this);if(R_)return void 0===e?k_(t):k_(t,e);var n,r,i=[],a=y_(t);for(r=0;r<a;r++)r in t&&I_(i,t[r]);for(Z_(i,function(e){return function(t,n){return void 0===n?-1:void 0===t?1:void 0!==e?+e(t,n)||0:v_(t)>v_(n)?1:-1}}(e)),n=y_(i),r=0;r<n;)t[r]=i[r++];for(;r<a;)b_(t,r++);return t}});var C_=ri("Array").sort,M_=oe,Y_=C_,K_=Array.prototype,P_=t((function(e){var t=e.sort;return e===K_||M_(K_,e)&&t===K_.sort?Y_:t})),H_=Gn,__=Date,F_=p(__.prototype.getTime);H_({target:"Date",stat:!0},{now:function(){return F_(new __)}});var E_,N_=t(ee.Date.now),U_="undefined"!=typeof window&&window.location&&ro(E_=window.location.href).call(E_,"xgplayerdebugger=1")>-1,J_="color: #525252; background-color: #90ee90;",D_="color: #525252; background-color: red;",j_="color: #525252; background-color: yellow; ",A_="%c[xgplayer]",z_={config:{debug:U_?3:0},logInfo:function(e){for(var t,n,r=arguments.length,i=new Array(r>1?r-1:0),a=1;a<r;a++)i[a-1]=arguments[a];this.config.debug>=3&&(n=console).log.apply(n,Ci(t=[A_,J_,e]).call(t,i))},logWarn:function(e){for(var t,n,r=arguments.length,i=new Array(r>1?r-1:0),a=1;a<r;a++)i[a-1]=arguments[a];this.config.debug>=1&&(n=console).warn.apply(n,Ci(t=[A_,j_,e]).call(t,i))},logError:function(e){var t,n;if(!(this.config.debug<1)){for(var r=this.config.debug>=2?"trace":"error",i=arguments.length,a=new Array(i>1?i-1:0),o=1;o<i;o++)a[o-1]=arguments[o];(n=console)[r].apply(n,Ci(t=[A_,D_,e]).call(t,a))}}},B_=function(){function e(t){$P(this,e),this.bufferedList=t}return tH(e,[{key:"start",value:function(e){return this.bufferedList[e].start}},{key:"end",value:function(e){return this.bufferedList[e].end}},{key:"length",get:function(){return this.bufferedList.length}}]),e}(),O_={};O_.createDom=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"div",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",a=document.createElement(t);return a.className=i,a.innerHTML=n,mu(e=ca(r)).call(e,(function(e){var n=e,i=r[e];"video"===t||"audio"===t||"live-video"===t?i&&a.setAttribute(n,i):a.setAttribute(n,i)})),a},O_.createDomFromHtml=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";try{var r=document.createElement("div");r.innerHTML=e;var i=r.children;if(r=null,i.length>0){var a;if(i=i[0],n&&O_.addClass(i,n),t)mu(a=ca(t)).call(a,(function(e){i.setAttribute(e,t[e])}));return i}return null}catch(o){return z_.logError("util.createDomFromHtml",o),null}},O_.hasClass=function(e,t){if(!e||!t)return!1;try{return fH(Array.prototype).call(e.classList,(function(e){return e===t}))}catch(r){var n=e.className&&"object"===qP(e.className)?e.getAttribute("class"):e.className;return n&&!!n.match(new RegExp("(\\s|^)"+t+"(\\s|$)"))}},O_.addClass=function(e,t){if(e&&t)try{var n;mu(n=t.replace(/(^\s+|\s+$)/g,"").split(/\s+/g)).call(n,(function(t){t&&e.classList.add(t)}))}catch(r){O_.hasClass(e,t)||(e.className&&"object"===qP(e.className)?e.setAttribute("class",e.getAttribute("class")+" "+t):e.className+=" "+t)}},O_.removeClass=function(e,t){if(e&&t)try{var n;mu(n=t.replace(/(^\s+|\s+$)/g,"").split(/\s+/g)).call(n,(function(t){t&&e.classList.remove(t)}))}catch(i){var r;if(O_.hasClass(e,t))mu(r=t.split(/\s+/g)).call(r,(function(t){var n=new RegExp("(\\s|^)"+t+"(\\s|$)");e.className&&"object"===qP(e.className)?e.setAttribute("class",e.getAttribute("class").replace(n," ")):e.className=e.className.replace(n," ")}))}},O_.toggleClass=function(e,t){var n;e&&mu(n=t.split(/\s+/g)).call(n,(function(t){O_.hasClass(e,t)?O_.removeClass(e,t):O_.addClass(e,t)}))},O_.classNames=function(){for(var e=arguments,t=[],n=function(n){if("String"===O_.typeOf(e[n]))t.push(e[n]);else if("Object"===O_.typeOf(e[n])){var r;Ro(r=ca(e[n])).call(r,(function(r){e[n][r]&&t.push(r)}))}},r=0;r<arguments.length;r++)n(r);return t.join(" ")},O_.findDom=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,n=arguments.length>1?arguments[1]:void 0;try{e=t.querySelector(n)}catch(r){z_.logError("util.findDom",r),0===ro(n).call(n,"#")&&(e=t.getElementById(Ag(n).call(n,1)))}return e},O_.getCss=function(e,t){return e.currentStyle?e.currentStyle[t]:document.defaultView.getComputedStyle(e,!1)[t]},O_.padStart=function(e,t,n){for(var r=String(n),i=t>>0,a=Math.ceil(i/r.length),o=[],s=String(e);a--;)o.push(r);return o.join("").substring(0,i-s.length)+s},O_.format=function(e){if(window.isNaN(e))return"";e=Math.round(e);var t=CH(O_).call(O_,Math.floor(e/3600),2,0),n=CH(O_).call(O_,Math.floor((e-3600*t)/60),2,0),r=CH(O_).call(O_,Math.floor(e-3600*t-60*n),2,0);return("00"===t?[n,r]:[t,n,r]).join(":")},O_.event=function(e){if(e.touches){var t=e.touches[0]||e.changedTouches[0];e.clientX=t.clientX||0,e.clientY=t.clientY||0,e.offsetX=t.pageX-t.target.offsetLeft,e.offsetY=t.pageY-t.target.offsetTop}e._target=e.target||e.srcElement},O_.typeOf=function(e){return Object.prototype.toString.call(e).match(/([^\s.*]+)(?=]$)/g)[0]},O_.deepCopy=function(e,t){var n;if("Object"===O_.typeOf(t)&&"Object"===O_.typeOf(e))return mu(n=ca(t)).call(n,(function(n){if("Object"!==O_.typeOf(t[n])||t[n]instanceof Node)if("Array"===O_.typeOf(t[n])){var r;e[n]="Array"===O_.typeOf(e[n])?Ci(r=e[n]).call(r,t[n]):t[n]}else e[n]=t[n];else void 0===e[n]||void 0===e[n]?e[n]=t[n]:O_.deepCopy(e[n],t[n])})),e},O_.deepMerge=function(e,t){var n;return Ro(n=ca(t)).call(n,(function(n){var r;"Array"===O_.typeOf(t[n])&&"Array"===O_.typeOf(e[n])?"Array"===O_.typeOf(e[n])&&(r=e[n]).push.apply(r,rH(t[n])):O_.typeOf(e[n])!==O_.typeOf(t[n])||null===e[n]||"Object"!==O_.typeOf(e[n])||t[n]instanceof window.Node?null!==t[n]&&(e[n]=t[n]):O_.deepMerge(e[n],t[n])})),e},O_.getBgImage=function(e){var t=(e.currentStyle||window.getComputedStyle(e,null)).backgroundImage;if(!t||"none"===t)return"";var n=document.createElement("a");return n.href=t.replace(/url\("|"\)/g,""),n.href},O_.copyDom=function(e){if(e&&1===e.nodeType){var t=document.createElement(e.tagName);return mu(Array.prototype).call(e.attributes,(function(e){t.setAttribute(e.name,e.value)})),e.innerHTML&&(t.innerHTML=e.innerHTML),t}return""},O_.setInterval=function(e,t,n,r){e._interval[t]||(e._interval[t]=MH(Xo(n).call(n,e),r))},O_.clearInterval=function(e,t){clearInterval(e._interval[t]),e._interval[t]=null},O_.setTimeout=function(e,t,n){e._timers||(e._timers=[]);var r=On((function(){t(),O_.clearTimeout(e,r)}),n);return e._timers.push(r),r},O_.clearTimeout=function(e,t){var n=e._timers;if("Array"===O_.typeOf(n)){for(var r=0;r<n.length;r++)if(n[r]===t){Cp(n).call(n,r,1),clearTimeout(t);break}}else clearTimeout(t)},O_.clearAllTimers=function(e){var t=e._timers;"Array"===O_.typeOf(t)&&(Ro(t).call(t,(function(e){clearTimeout(e)})),e._timerIds=[])},O_.createImgBtn=function(e,t,n,r){var i,a,o,s,l,u,c,d,h,f,m,p,y=O_.createDom("xg-".concat(e),"",{},"xgplayer-".concat(e,"-img"));(y.style.backgroundImage='url("'.concat(t,'")'),n&&r)&&(Ei(i=["px","rem","em","pt","dp","vw","vh","vm","%"]).call(i,(function(e){var t,i;return!(ro(n).call(n,e)>-1&&ro(r).call(r,e)>-1)||(c=DH(e_(t=Ag(n).call(n,0,ro(n).call(n,e))).call(t)),d=DH(e_(i=Ag(r).call(r,0,ro(r).call(r,e))).call(i)),h=e,!1)})),y.style.width=Ci(a="".concat(c)).call(a,h),y.style.height=Ci(o="".concat(d)).call(o,h),y.style.backgroundSize=Ci(s=Ci(l=Ci(u="".concat(c)).call(u,h," ")).call(l,d)).call(s,h),y.style.margin="start"===e?Ci(f=Ci(m=Ci(p="-".concat(d/2)).call(p,h," auto auto -")).call(m,c/2)).call(f,h):"auto 5px auto 5px");return y},O_.Hex2RGBA=function(e,t){var n,r=[];if(/^\#[0-9A-F]{3}$/i.test(e)){var i="#";e.replace(/[0-9A-F]/gi,(function(e){i+=e+e})),e=i}return/^#[0-9A-F]{6}$/i.test(e)?(e.replace(/[0-9A-F]{2}/gi,(function(e){r.push(ty(e,16))})),Ci(n="rgba(".concat(r.join(","),", ")).call(n,t,")")):"rgba(255, 255, 255, 0.1)"},O_.getFullScreenEl=function(){return document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement},O_.checkIsFunction=function(e){return e&&"function"==typeof e},O_.checkIsObject=function(e){return null!==e&&"object"===qP(e)},O_.hide=function(e){e.style.display="none"},O_.show=function(e,t){e.style.display=t||"block"},O_.isUndefined=function(e){if(null==e)return!0},O_.isNotNull=function(e){return!(null==e)},O_.setStyleFromCsstext=function(e,t){if(t)if("String"===O_.typeOf(t)){var n=t.replace(/\s+/g,"").split(";");Ro(n).call(n,(function(t){if(t){var n=t.split(":");n.length>1&&(e.style[n[0]]=n[1])}}))}else{var r;Ro(r=ca(t)).call(r,(function(n){e.style[n]=t[n]}))}},O_.filterStyleFromText=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["width","height","top","left","bottom","right","position","z-index","padding","margin","transform"],r=e.style.cssText;if(!r)return{};var i=r.replace(/\s+/g,"").split(";"),a={},o={};return Ro(i).call(i,(function(e){if(e){var t=e.split(":");t.length>1&&(!function(e,t){for(var n=0,r=t.length;n<r;n++)if(ro(e).call(e,t[n])>-1)return!0;return!1}(t[0],n)?o[t[0]]=t[1]:a[t[0]]=t[1])}})),e.setAttribute("style",""),Ro(t=ca(o)).call(t,(function(t){e.style[t]=o[t]})),a},O_.getStyleFromCsstext=function(e){var t=e.style.cssText;if(!t)return{};var n=t.replace(/\s+/g,"").split(";"),r={};return Ro(n).call(n,(function(e){if(e){var t=e.split(":");t.length>1&&(r[t[0]]=t[1])}})),r},O_.preloadImg=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){};if(e){var r=new window.Image;r.onload=function(e){r=null,t&&t(e)},r.onerror=function(e){r=null,n&&n(e)},r.src=e}},O_.stopPropagation=function(e){e&&e.stopPropagation()},O_.scrollTop=function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},O_.scrollLeft=function(){return window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0},O_.checkTouchSupport=function(){return"ontouchstart"in window},O_.getBuffered2=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.5,n=[],r=0;r<e.length;r++)n.push({start:e.start(r)<.5?0:e.start(r),end:e.end(r)});P_(n).call(n,(function(e,t){var n=e.start-t.start;return n||t.end-e.end}));var i=[];if(t)for(var a=0;a<n.length;a++){var o=i.length;if(o){var s=i[o-1].end;n[a].start-s<t?n[a].end>s&&(i[o-1].end=n[a].end):i.push(n[a])}else i.push(n[a])}else i=n;return new B_(i)},O_.getEventPos=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return e.touches&&e.touches.length>0&&(e=e.touches[0]),{x:e.x/t,y:e.y/t,clientX:e.clientX/t,clientY:e.clientY/t,offsetX:e.offsetX/t,offsetY:e.offsetY/t,pageX:e.pageX/t,pageY:e.pageY/t}},O_.requestAnimationFrame=function(e){var t=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame;if(t)return t(e)},O_.getHostFromUrl=function(e){if("String"!==O_.typeOf(e))return"";var t=e.split("/"),n="";return t.length>3&&t[2]&&(n=t[2]),n},O_.cancelAnimationFrame=function(e){var t=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.cancelRequestAnimationFrame;t&&t(e)},O_.isMSE=function(e){return!!(e&&e instanceof HTMLMediaElement)&&(/^blob/.test(e.currentSrc)||/^blob/.test(e.src))},O_.generateSessionId=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=(new Date).getTime();try{e=ty(e)}catch(n){e=0}return t+=e,window.performance&&"function"==typeof window.performance.now&&(t+=ty(window.performance.now())),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var n=(t+16*Math.random())%16|0;return t=Math.floor(t/16),("x"===e?n:3&n|8).toString(16)}))},O_.createEvent=function(e){var t;return"function"==typeof window.Event?t=new Event(e):(t=document.createEvent("Event")).initEvent(e,!0,!0),t},O_.adjustTimeByDuration=function(e,t,n){return t&&e&&(e>t||n&&e<t)?t:e},O_.createPositionBar=function(e,t){var n=O_.createDom("xg-bar","",{"data-index":-1},e);return t.appendChild(n),n},O_.getTransformStyle=function(){var e,t,n,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{x:0,y:0,scale:1,rotate:0};return Ci(e=Ci(t=Ci(n="scale(".concat(r.scale||1,") translate(")).call(n,r.x||0,"%, ")).call(t,r.y||0,"%) rotate(")).call(e,r.rotate||0,"deg)")},O_.convertDeg=function(e){return Math.abs(e)<=1?360*e:e%360};var Q_=/(Android)\s([\d.]+)/,q_=/(Version)\/([\d.]+)/,$_=["avc1.42E01E, mp4a.40.2","avc1.58A01E, mp4a.40.2","avc1.4D401E, mp4a.40.2","avc1.64001E, mp4a.40.2","avc1.42E01E","mp4v.20.8","avc1.42E01E, mp4a.40.2","avc1.58A01E, mp4a.40.2","avc1.4D401E, mp4a.40.2","avc1.64001E, mp4a.40.2","mp4v.20.8, mp4a.40.2","mp4v.20.240, mp4a.40.2"],eF={get device(){return eF.os.isPc?"pc":"mobile"},get browser(){var e,t;if("undefined"==typeof navigator)return"";var n=navigator.userAgent.toLowerCase(),r={ie:/rv:([\d.]+)\) like gecko/,firefox:/firefox\/([\d.]+)/,chrome:/chrome\/([\d.]+)/,opera:/opera.([\d.]+)/,safari:/version\/([\d.]+).*safari/};return Ci(e=[]).call(e,li(t=ca(r)).call(t,(function(e){return r[e].test(n)})))[0]},get os(){if("undefined"==typeof navigator)return{};var e=navigator.userAgent,t=/(?:Windows Phone)/.test(e),n=/(?:SymbianOS)/.test(e)||t,r=/(?:Android)/.test(e),i=/(?:Firefox)/.test(e),a=/(?:iPad|PlayBook)/.test(e)||r&&!/(?:Mobile)/.test(e)||i&&/(?:Tablet)/.test(e),o=/(?:iPhone)/.test(e)&&!a,s=!(o||r||n||a),l=/(?:iPad|PlayBook)/.test(e);return{isTablet:a,isPhone:o,isIpad:l,isIos:o||l,isAndroid:r,isPc:s,isSymbian:n,isWindowsPhone:t,isFireFox:i}},get osVersion(){if("undefined"==typeof navigator)return 0;var e=navigator.userAgent,t="",n=(t=/(?:iPhone)|(?:iPad|PlayBook)/.test(e)?q_:Q_)?t.exec(e):[];if(n&&n.length>=3){var r=n[2].split(".");return r.length>0?ty(r[0]):0}return 0},get isWeixin(){if("undefined"==typeof navigator)return!1;return!!/(micromessenger)\/([\d.]+)/.exec(navigator.userAgent.toLocaleLowerCase())},isSupportMP4:function(){var e={isSupport:!1,mime:""};if("undefined"==typeof document)return e;if(this.supportResult)return this.supportResult;var t=document.createElement("video");return"function"==typeof t.canPlayType&&Ro($_).call($_,(function(n){"probably"===t.canPlayType('video/mp4; codecs="'.concat(n,'"'))&&(e.isSupport=!0,e.mime+="||".concat(n))})),this.supportResult=e,t=null,e},isMSESupport:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:'video/mp4; codecs="avc1.42E01E,mp4a.40.2"';if("undefined"==typeof MediaSource||!MediaSource)return!1;try{return MediaSource.isTypeSupported(e)}catch(Ude){return this._logger.error(e,Ude),!1}},isHevcSupported:function(){return!("undefined"==typeof MediaSource||!MediaSource.isTypeSupported)&&(MediaSource.isTypeSupported('video/mp4;codecs="hev1.1.6.L120.90"')||MediaSource.isTypeSupported('video/mp4;codecs="hev1.2.4.L120.90"')||MediaSource.isTypeSupported('video/mp4;codecs="hev1.3.E.L120.90"')||MediaSource.isTypeSupported('video/mp4;codecs="hev1.4.10.L120.90"'))},probeConfigSupported:function(e){var t={supported:!1,smooth:!1,powerEfficient:!1};if(!e||"undefined"==typeof navigator)return sp.resolve(t);if(navigator.mediaCapabilities&&navigator.mediaCapabilities.decodingInfo)return navigator.mediaCapabilities.decodingInfo(e);var n=e.video||{},r=e.audio||{};try{var i=MediaSource.isTypeSupported(n.contentType),a=MediaSource.isTypeSupported(r.contentType);return sp.resolve({supported:i&&a,smooth:!1,powerEfficient:!1})}catch(o){return sp.resolve(t)}}},tF="3.0.7",nF={1:5101,2:5102,3:5103,4:5104,5:5105,6:5106},rF=tH((function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{errorType:"",errorCode:0,errorMessage:"",originError:"",ext:{},mediaError:null};$P(this,e);var r=t&&t.i18n?t.i18n.ERROR_TYPES:null;if(t.media){var i,a=n.mediaError?n.mediaError:t.media.error||{},o=t.duration,s=t.currentTime,l=t.ended,u=t.src,c=t.currentSrc,d=t.media,h=d.readyState,f=d.networkState,m=n.errorCode||a.code;nF[m]&&(m=nF[m]);var p={playerVersion:tF,currentTime:s,duration:o,ended:l,readyState:h,networkState:f,src:u||c,errorType:n.errorType,errorCode:m,message:n.errorMessage||a.message,mediaError:a,originError:n.originError?n.originError.stack:"",host:O_.getHostFromUrl(u||c)};return n.ext&&Ro(i=ca(n.ext)).call(i,(function(e){p[e]=n.ext[e]})),p}if(arguments.length>1){for(var y={playerVersion:tF,domain:document.domain},b=["errorType","currentTime","duration","networkState","readyState","src","currentSrc","ended","errd","errorCode","mediaError"],v=0;v<arguments.length;v++)y[b[v]]=arguments[v];return y.ex=r?(r[arguments[0]]||{}).msg:"",y}})),iF="definition_change";function aF(e,t,n){for(var r,i=arguments.length,a=new Array(i>3?i-3:0),o=3;o<i;o++)a[o-3]=arguments[o];var s,l=t.call.apply(t,Ci(r=[e]).call(r,a));n&&"function"==typeof n&&(l&&l.then?l.then((function(){for(var t,r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];n.call.apply(n,Ci(t=[e]).call(t,i))})):n.call.apply(n,Ci(s=[e]).call(s,a)))}function oF(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{pre:null,next:null};return this.__hooks||(this.__hooks={}),!this.__hooks[e]&&(this.__hooks[e]=null),Xo(n=function(){var n,i=arguments,a=this;if(r.pre)try{var o,s;(s=r.pre).call.apply(s,Ci(o=[this]).call(o,Ag(Array.prototype).call(arguments)))}catch(b){var l,u;throw b.message=Ci(l=Ci(u="[pluginName: ".concat(this.pluginName,":")).call(u,e,":pre error] >> ")).call(l,b.message),b}if(this.__hooks&&this.__hooks[e])try{var c,d,h,f=(d=this.__hooks[e]).call.apply(d,Ci(c=[this,this]).call(c,Ag(Array.prototype).call(arguments)));if(f)if(f.then)f.then((function(e){var n;!1!==e&&aF.apply(void 0,Ci(n=[a,t,r.next]).call(n,rH(i)))})).catch((function(e){throw e}));else aF.apply(void 0,Ci(h=[this,t,r.next]).call(h,Ag(Array.prototype).call(arguments)));else if(void 0===f){var m;aF.apply(void 0,Ci(m=[this,t,r.next]).call(m,Ag(Array.prototype).call(arguments)))}}catch(b){var p,y;throw b.message=Ci(p=Ci(y="[pluginName: ".concat(this.pluginName,":")).call(y,e,"] >> ")).call(p,b.message),b}else aF.apply(void 0,Ci(n=[this,t,r.next]).call(n,Ag(Array.prototype).call(arguments)))}).call(n,this)}function sF(e,t){var n=this.__hooks;if(n)return n.hasOwnProperty(e)?(n&&(n[e]=t),!0):(console.warn("has no supported hook which name [".concat(e,"]")),!1)}function lF(e,t){var n=this.__hooks;n&&delete n[e]}function uF(e,t){var n;z_.logError(Ci(n="[".concat(e,"] event or callback cant be undefined or null when call ")).call(n,t))}var cF=function(){function e(t){$P(this,e),O_.checkIsFunction(this.beforeCreate)&&this.beforeCreate(t),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];e.__hooks={},t&&Ro(t).call(t,(function(t){e.__hooks[t]=null})),ag(e,"hooks",{get:function(){var t;return e.__hooks&&Ro(t=ca(e.__hooks)).call(t,(function(t){if(e.__hooks[t])return t}))}})}(this),this.__args=t,this.__events={},this.__onceEvents={},this.config=t.config||{},this.player=null,this.playerConfig={},this.pluginName="",this.__init(t)}return tH(e,[{key:"beforeCreate",value:function(e){}},{key:"afterCreate",value:function(){}},{key:"beforePlayerInit",value:function(){}},{key:"onPluginsReady",value:function(){}},{key:"afterPlayerInit",value:function(){}},{key:"destroy",value:function(){}},{key:"__init",value:function(e){this.player=e.player,this.playerConfig=e.player&&e.player.config,this.pluginName=e.pluginName?e.pluginName.toLowerCase():this.constructor.pluginName.toLowerCase(),this.logger=e.player&&e.player.logger}},{key:"updateLang",value:function(e){e||(e=this.lang)}},{key:"lang",get:function(){return this.player.lang}},{key:"i18n",get:function(){return this.player.i18n}},{key:"i18nKeys",get:function(){return this.player.i18nKeys}},{key:"domEventType",get:function(){var e=O_.checkTouchSupport()?"touch":"mouse";return!this.playerConfig||"touch"!==this.playerConfig.domEventType&&"mouse"!==this.playerConfig.domEventType||(e=this.playerConfig.domEventType),e}},{key:"on",value:function(e,t){var n=this;e&&t&&this.player?"string"==typeof e?(this.__events[e]=t,this.player.on(e,t)):hZ(e)&&mu(e).call(e,(function(e){n.__events[e]=t,n.player.on(e,t)})):uF(this.pluginName,"plugin.on(event, callback)")}},{key:"once",value:function(e,t){var n=this;e&&t&&this.player?"string"==typeof e?(this.__onceEvents[e]=t,this.player.once(e,t)):hZ(e)&&mu(e).call(e,(function(r){n.__onceEvents[r]=t,n.player.once(e,t)})):uF(this.pluginName,"plugin.once(event, callback)")}},{key:"off",value:function(e,t){var n=this;e&&t&&this.player?"string"==typeof e?(delete this.__events[e],this.player.off(e,t)):hZ(e)&&mu(e).call(e,(function(r){delete n.__events[e],n.player.off(r,t)})):uF(this.pluginName,"plugin.off(event, callback)")}},{key:"offAll",value:function(){var e,t=this;mu(e=["__events","__onceEvents"]).call(e,(function(e){var n;mu(n=ca(t[e])).call(n,(function(n){t[e][n]&&t.off(n,t[e][n]),n&&delete t[e][n]}))})),this.__events={},this.__onceEvents={}}},{key:"emit",value:function(e){var t,n;if(this.player){for(var r=arguments.length,i=new Array(r>1?r-1:0),a=1;a<r;a++)i[a-1]=arguments[a];(n=this.player).emit.apply(n,Ci(t=[e]).call(t,i))}}},{key:"emitUserAction",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(this.player){var r=QP(QP({},n),{},{pluginName:this.pluginName});this.player.emitUserAction(e,t,r)}}},{key:"hook",value:function(e,t){var n;return oF.call.apply(oF,Ci(n=[this]).call(n,Ag(Array.prototype).call(arguments)))}},{key:"useHooks",value:function(e,t){for(var n,r=arguments.length,i=new Array(r>2?r-2:0),a=2;a<r;a++)i[a-2]=arguments[a];return sF.call.apply(sF,Ci(n=[this]).call(n,Ag(Array.prototype).call(arguments)))}},{key:"removeHooks",value:function(e,t){for(var n,r=arguments.length,i=new Array(r>2?r-2:0),a=2;a<r;a++)i[a-2]=arguments[a];return lF.call.apply(lF,Ci(n=[this]).call(n,Ag(Array.prototype).call(arguments)))}},{key:"registerPlugin",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";if(this.player)return n&&(t.pluginName=n),this.player.registerPlugin({plugin:e,options:t})}},{key:"getPlugin",value:function(e){return this.player?this.player.getPlugin(e):null}},{key:"__destroy",value:function(){var e,t=this,n=this.player,r=this.pluginName;this.offAll(),O_.clearAllTimers(this),O_.checkIsFunction(this.destroy)&&this.destroy(),Ro(e=["player","playerConfig","pluginName","logger","__args","__hooks"]).call(e,(function(e){t[e]=null})),n.unRegisterPlugin(r),this.__hooks=null}}],[{key:"defineGetterOrSetter",value:function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&ag(e,n,t[n])}},{key:"defaultConfig",get:function(){return{}}},{key:"pluginName",get:function(){return"pluginName"}}]),e}(),dF=i,hF=dt("iterator"),fF=!dF((function(){var e=new URL("b?a=1&b=2&c=3","http://a"),t=e.searchParams,n="";return e.pathname="c%20d",t.forEach((function(e,r){t.delete("b"),n+=r+e})),!e.toJSON||!t.size&&true||!t.sort||"http://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[hF]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==n||"x"!==new URL("http://x",void 0).host})),mF=p,pF=2147483647,yF=/[^\0-\u007E]/,bF=/[.\u3002\uFF0E\uFF61]/g,vF="Overflow: input needs wider integers to process",gF=RangeError,ZF=mF(bF.exec),LF=Math.floor,SF=String.fromCharCode,XF=mF("".charCodeAt),xF=mF([].join),wF=mF([].push),TF=mF("".replace),kF=mF("".split),IF=mF("".toLowerCase),GF=function(e){return e+22+75*(e<26)},WF=function(e,t,n){var r=0;for(e=n?LF(e/700):e>>1,e+=LF(e/t);e>455;)e=LF(e/35),r+=36;return LF(r+36*e/(e+38))},VF=function(e){var t=[];e=function(e){for(var t=[],n=0,r=e.length;n<r;){var i=XF(e,n++);if(i>=55296&&i<=56319&&n<r){var a=XF(e,n++);56320==(64512&a)?wF(t,((1023&i)<<10)+(1023&a)+65536):(wF(t,i),n--)}else wF(t,i)}return t}(e);var n,r,i=e.length,a=128,o=0,s=72;for(n=0;n<e.length;n++)(r=e[n])<128&&wF(t,SF(r));var l=t.length,u=l;for(l&&wF(t,"-");u<i;){var c=pF;for(n=0;n<e.length;n++)(r=e[n])>=a&&r<c&&(c=r);var d=u+1;if(c-a>LF((pF-o)/d))throw gF(vF);for(o+=(c-a)*d,a=c,n=0;n<e.length;n++){if((r=e[n])<a&&++o>pF)throw gF(vF);if(r==a){for(var h=o,f=36;;){var m=f<=s?1:f>=s+26?26:f-s;if(h<m)break;var p=h-m,y=36-m;wF(t,SF(GF(m+p%y))),h=LF(p/y),f+=36}wF(t,SF(GF(h))),s=WF(o,d,u==l),o=0,u++}}o++,a++}return xF(t,"")},RF=Ns,CF=function(e,t,n){for(var r in t)n&&n.unsafe&&e[r]?e[r]=t[r]:RF(e,r,t[r],n);return e},MF=Gn,YF=r,KF=V,PF=p,HF=I,_F=fF,FF=Ns,EF=ld,NF=CF,UF=sl,JF=ml,DF=$o,jF=yd,AF=T,zF=Qe,BF=Bt,OF=br,QF=tn,qF=$,$F=fa,eE=Vs,tE=H,nE=gc,rE=hc,iE=Cn,aE=o_,oE=dt("iterator"),sE="URLSearchParams",lE=sE+"Iterator",uE=DF.set,cE=DF.getterFor(sE),dE=DF.getterFor(lE),hE=Object.getOwnPropertyDescriptor,fE=function(e){if(!HF)return YF[e];var t=hE(YF,e);return t&&t.value},mE=fE("fetch"),pE=fE("Request"),yE=fE("Headers"),bE=pE&&pE.prototype,vE=yE&&yE.prototype,gE=YF.RegExp,ZE=YF.TypeError,LE=YF.decodeURIComponent,SE=YF.encodeURIComponent,XE=PF("".charAt),xE=PF([].join),wE=PF([].push),TE=PF("".replace),kE=PF([].shift),IE=PF([].splice),GE=PF("".split),WE=PF("".slice),VE=/\+/g,RE=Array(4),CE=function(e){return RE[e-1]||(RE[e-1]=gE("((?:%[\\da-f]{2}){"+e+"})","gi"))},ME=function(e){try{return LE(e)}catch(Ude){return e}},YE=function(e){var t=TE(e,VE," "),n=4;try{return LE(t)}catch(Ude){for(;n;)t=TE(t,CE(n--),ME);return t}},KE=/[!'()~]|%20/g,PE={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},HE=function(e){return PE[e]},_E=function(e){return TE(SE(e),KE,HE)},FE=JF((function(e,t){uE(this,{type:lE,iterator:nE(cE(e).entries),kind:t})}),"Iterator",(function(){var e=dE(this),t=e.kind,n=e.iterator.next(),r=n.value;return n.done||(n.value="keys"===t?r.key:"values"===t?r.value:[r.key,r.value]),n}),!0),EE=function(e){this.entries=[],this.url=null,void 0!==e&&(qF(e)?this.parseObject(e):this.parseQuery("string"==typeof e?"?"===XE(e,0)?WE(e,1):e:$F(e)))};EE.prototype={type:sE,bindURL:function(e){this.url=e,this.update()},parseObject:function(e){var t,n,r,i,a,o,s,l=rE(e);if(l)for(n=(t=nE(e,l)).next;!(r=KF(n,t)).done;){if(a=(i=nE(QF(r.value))).next,(o=KF(a,i)).done||(s=KF(a,i)).done||!KF(a,i).done)throw ZE("Expected sequence with length 2");wE(this.entries,{key:$F(o.value),value:$F(s.value)})}else for(var u in e)zF(e,u)&&wE(this.entries,{key:u,value:$F(e[u])})},parseQuery:function(e){if(e)for(var t,n,r=GE(e,"&"),i=0;i<r.length;)(t=r[i++]).length&&(n=GE(t,"="),wE(this.entries,{key:YE(kE(n)),value:YE(xE(n,"="))}))},serialize:function(){for(var e,t=this.entries,n=[],r=0;r<t.length;)e=t[r++],wE(n,_E(e.key)+"="+_E(e.value));return xE(n,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var NE=function(){jF(this,UE);var e=uE(this,new EE(arguments.length>0?arguments[0]:void 0));HF||(this.length=e.entries.length)},UE=NE.prototype;if(NF(UE,{append:function(e,t){iE(arguments.length,2);var n=cE(this);wE(n.entries,{key:$F(e),value:$F(t)}),HF||this.length++,n.updateURL()},delete:function(e){iE(arguments.length,1);for(var t=cE(this),n=t.entries,r=$F(e),i=0;i<n.length;)n[i].key===r?IE(n,i,1):i++;HF||(this.length=n.length),t.updateURL()},get:function(e){iE(arguments.length,1);for(var t=cE(this).entries,n=$F(e),r=0;r<t.length;r++)if(t[r].key===n)return t[r].value;return null},getAll:function(e){iE(arguments.length,1);for(var t=cE(this).entries,n=$F(e),r=[],i=0;i<t.length;i++)t[i].key===n&&wE(r,t[i].value);return r},has:function(e){iE(arguments.length,1);for(var t=cE(this).entries,n=$F(e),r=0;r<t.length;)if(t[r++].key===n)return!0;return!1},set:function(e,t){iE(arguments.length,1);for(var n,r=cE(this),i=r.entries,a=!1,o=$F(e),s=$F(t),l=0;l<i.length;l++)(n=i[l]).key===o&&(a?IE(i,l--,1):(a=!0,n.value=s));a||wE(i,{key:o,value:s}),HF||(this.length=i.length),r.updateURL()},sort:function(){var e=cE(this);aE(e.entries,(function(e,t){return e.key>t.key?1:-1})),e.updateURL()},forEach:function(e){for(var t,n=cE(this).entries,r=BF(e,arguments.length>1?arguments[1]:void 0),i=0;i<n.length;)r((t=n[i++]).value,t.key,this)},keys:function(){return new FE(this,"keys")},values:function(){return new FE(this,"values")},entries:function(){return new FE(this,"entries")}},{enumerable:!0}),FF(UE,oE,UE.entries,{name:"entries"}),FF(UE,"toString",(function(){return cE(this).serialize()}),{enumerable:!0}),HF&&EF(UE,"size",{get:function(){return cE(this).entries.length},configurable:!0,enumerable:!0}),UF(NE,sE),MF({global:!0,constructor:!0,forced:!_F},{URLSearchParams:NE}),!_F&&AF(yE)){var JE=PF(vE.has),DE=PF(vE.set),jE=function(e){if(qF(e)){var t,n=e.body;if(OF(n)===sE)return t=e.headers?new yE(e.headers):new yE,JE(t,"content-type")||DE(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),eE(e,{body:tE(0,$F(n)),headers:tE(0,t)})}return e};if(AF(mE)&&MF({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return mE(e,arguments.length>1?jE(arguments[1]):{})}}),AF(pE)){var AE=function(e){return jF(this,bE),new pE(e,arguments.length>1?jE(arguments[1]):{})};bE.constructor=AE,AE.prototype=bE,MF({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:AE})}}var zE,BE=Gn,OE=I,QE=fF,qE=r,$E=Bt,eN=p,tN=Ns,nN=ld,rN=yd,iN=Qe,aN=Iu,oN=kZ,sN=ly,lN=Bm.codeAt,uN=function(e){var t,n,r=[],i=kF(TF(IF(e),bF,"."),".");for(t=0;t<i.length;t++)n=i[t],wF(r,ZF(yF,n)?"xn--"+VF(n):n);return xF(r,".")},cN=fa,dN=sl,hN=Cn,fN={URLSearchParams:NE,getState:cE},mN=$o,pN=mN.set,yN=mN.getterFor("URL"),bN=fN.URLSearchParams,vN=fN.getState,gN=qE.URL,ZN=qE.TypeError,LN=qE.parseInt,SN=Math.floor,XN=Math.pow,xN=eN("".charAt),wN=eN(/./.exec),TN=eN([].join),kN=eN(1..toString),IN=eN([].pop),GN=eN([].push),WN=eN("".replace),VN=eN([].shift),RN=eN("".split),CN=eN("".slice),MN=eN("".toLowerCase),YN=eN([].unshift),KN="Invalid scheme",PN="Invalid host",HN="Invalid port",_N=/[a-z]/i,FN=/[\d+-.a-z]/i,EN=/\d/,NN=/^0x/i,UN=/^[0-7]+$/,JN=/^\d+$/,DN=/^[\da-f]+$/i,jN=/[\0\t\n\r #%/:<>?@[\\\]^|]/,AN=/[\0\t\n\r #/:<>?@[\\\]^|]/,zN=/^[\u0000-\u0020]+/,BN=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,ON=/[\t\n\r]/g,QN=function(e){var t,n,r,i;if("number"==typeof e){for(t=[],n=0;n<4;n++)YN(t,e%256),e=SN(e/256);return TN(t,".")}if("object"==typeof e){for(t="",r=function(e){for(var t=null,n=1,r=null,i=0,a=0;a<8;a++)0!==e[a]?(i>n&&(t=r,n=i),r=null,i=0):(null===r&&(r=a),++i);return i>n&&(t=r,n=i),t}(e),n=0;n<8;n++)i&&0===e[n]||(i&&(i=!1),r===n?(t+=n?":":"::",i=!0):(t+=kN(e[n],16),n<7&&(t+=":")));return"["+t+"]"}return e},qN={},$N=aN({},qN,{" ":1,'"':1,"<":1,">":1,"`":1}),eU=aN({},$N,{"#":1,"?":1,"{":1,"}":1}),tU=aN({},eU,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),nU=function(e,t){var n=lN(e,0);return n>32&&n<127&&!iN(t,e)?e:encodeURIComponent(e)},rU={ftp:21,file:null,http:80,https:443,ws:80,wss:443},iU=function(e,t){var n;return 2==e.length&&wN(_N,xN(e,0))&&(":"==(n=xN(e,1))||!t&&"|"==n)},aU=function(e){var t;return e.length>1&&iU(CN(e,0,2))&&(2==e.length||"/"===(t=xN(e,2))||"\\"===t||"?"===t||"#"===t)},oU=function(e){return"."===e||"%2e"===MN(e)},sU={},lU={},uU={},cU={},dU={},hU={},fU={},mU={},pU={},yU={},bU={},vU={},gU={},ZU={},LU={},SU={},XU={},xU={},wU={},TU={},kU={},IU=function(e,t,n){var r,i,a,o=cN(e);if(t){if(i=this.parse(o))throw ZN(i);this.searchParams=null}else{if(void 0!==n&&(r=new IU(n,!0)),i=this.parse(o,null,r))throw ZN(i);(a=vN(new bN)).bindURL(this),this.searchParams=a}};IU.prototype={type:"URL",parse:function(e,t,n){var r,i,a,o,s,l=this,u=t||sU,c=0,d="",h=!1,f=!1,m=!1;for(e=cN(e),t||(l.scheme="",l.username="",l.password="",l.host=null,l.port=null,l.path=[],l.query=null,l.fragment=null,l.cannotBeABaseURL=!1,e=WN(e,zN,""),e=WN(e,BN,"$1")),e=WN(e,ON,""),r=oN(e);c<=r.length;){switch(i=r[c],u){case sU:if(!i||!wN(_N,i)){if(t)return KN;u=uU;continue}d+=MN(i),u=lU;break;case lU:if(i&&(wN(FN,i)||"+"==i||"-"==i||"."==i))d+=MN(i);else{if(":"!=i){if(t)return KN;d="",u=uU,c=0;continue}if(t&&(l.isSpecial()!=iN(rU,d)||"file"==d&&(l.includesCredentials()||null!==l.port)||"file"==l.scheme&&!l.host))return;if(l.scheme=d,t)return void(l.isSpecial()&&rU[l.scheme]==l.port&&(l.port=null));d="","file"==l.scheme?u=ZU:l.isSpecial()&&n&&n.scheme==l.scheme?u=cU:l.isSpecial()?u=mU:"/"==r[c+1]?(u=dU,c++):(l.cannotBeABaseURL=!0,GN(l.path,""),u=wU)}break;case uU:if(!n||n.cannotBeABaseURL&&"#"!=i)return KN;if(n.cannotBeABaseURL&&"#"==i){l.scheme=n.scheme,l.path=sN(n.path),l.query=n.query,l.fragment="",l.cannotBeABaseURL=!0,u=kU;break}u="file"==n.scheme?ZU:hU;continue;case cU:if("/"!=i||"/"!=r[c+1]){u=hU;continue}u=pU,c++;break;case dU:if("/"==i){u=yU;break}u=xU;continue;case hU:if(l.scheme=n.scheme,i==zE)l.username=n.username,l.password=n.password,l.host=n.host,l.port=n.port,l.path=sN(n.path),l.query=n.query;else if("/"==i||"\\"==i&&l.isSpecial())u=fU;else if("?"==i)l.username=n.username,l.password=n.password,l.host=n.host,l.port=n.port,l.path=sN(n.path),l.query="",u=TU;else{if("#"!=i){l.username=n.username,l.password=n.password,l.host=n.host,l.port=n.port,l.path=sN(n.path),l.path.length--,u=xU;continue}l.username=n.username,l.password=n.password,l.host=n.host,l.port=n.port,l.path=sN(n.path),l.query=n.query,l.fragment="",u=kU}break;case fU:if(!l.isSpecial()||"/"!=i&&"\\"!=i){if("/"!=i){l.username=n.username,l.password=n.password,l.host=n.host,l.port=n.port,u=xU;continue}u=yU}else u=pU;break;case mU:if(u=pU,"/"!=i||"/"!=xN(d,c+1))continue;c++;break;case pU:if("/"!=i&&"\\"!=i){u=yU;continue}break;case yU:if("@"==i){h&&(d="%40"+d),h=!0,a=oN(d);for(var p=0;p<a.length;p++){var y=a[p];if(":"!=y||m){var b=nU(y,tU);m?l.password+=b:l.username+=b}else m=!0}d=""}else if(i==zE||"/"==i||"?"==i||"#"==i||"\\"==i&&l.isSpecial()){if(h&&""==d)return"Invalid authority";c-=oN(d).length+1,d="",u=bU}else d+=i;break;case bU:case vU:if(t&&"file"==l.scheme){u=SU;continue}if(":"!=i||f){if(i==zE||"/"==i||"?"==i||"#"==i||"\\"==i&&l.isSpecial()){if(l.isSpecial()&&""==d)return PN;if(t&&""==d&&(l.includesCredentials()||null!==l.port))return;if(o=l.parseHost(d))return o;if(d="",u=XU,t)return;continue}"["==i?f=!0:"]"==i&&(f=!1),d+=i}else{if(""==d)return PN;if(o=l.parseHost(d))return o;if(d="",u=gU,t==vU)return}break;case gU:if(!wN(EN,i)){if(i==zE||"/"==i||"?"==i||"#"==i||"\\"==i&&l.isSpecial()||t){if(""!=d){var v=LN(d,10);if(v>65535)return HN;l.port=l.isSpecial()&&v===rU[l.scheme]?null:v,d=""}if(t)return;u=XU;continue}return HN}d+=i;break;case ZU:if(l.scheme="file","/"==i||"\\"==i)u=LU;else{if(!n||"file"!=n.scheme){u=xU;continue}if(i==zE)l.host=n.host,l.path=sN(n.path),l.query=n.query;else if("?"==i)l.host=n.host,l.path=sN(n.path),l.query="",u=TU;else{if("#"!=i){aU(TN(sN(r,c),""))||(l.host=n.host,l.path=sN(n.path),l.shortenPath()),u=xU;continue}l.host=n.host,l.path=sN(n.path),l.query=n.query,l.fragment="",u=kU}}break;case LU:if("/"==i||"\\"==i){u=SU;break}n&&"file"==n.scheme&&!aU(TN(sN(r,c),""))&&(iU(n.path[0],!0)?GN(l.path,n.path[0]):l.host=n.host),u=xU;continue;case SU:if(i==zE||"/"==i||"\\"==i||"?"==i||"#"==i){if(!t&&iU(d))u=xU;else if(""==d){if(l.host="",t)return;u=XU}else{if(o=l.parseHost(d))return o;if("localhost"==l.host&&(l.host=""),t)return;d="",u=XU}continue}d+=i;break;case XU:if(l.isSpecial()){if(u=xU,"/"!=i&&"\\"!=i)continue}else if(t||"?"!=i)if(t||"#"!=i){if(i!=zE&&(u=xU,"/"!=i))continue}else l.fragment="",u=kU;else l.query="",u=TU;break;case xU:if(i==zE||"/"==i||"\\"==i&&l.isSpecial()||!t&&("?"==i||"#"==i)){if(".."===(s=MN(s=d))||"%2e."===s||".%2e"===s||"%2e%2e"===s?(l.shortenPath(),"/"==i||"\\"==i&&l.isSpecial()||GN(l.path,"")):oU(d)?"/"==i||"\\"==i&&l.isSpecial()||GN(l.path,""):("file"==l.scheme&&!l.path.length&&iU(d)&&(l.host&&(l.host=""),d=xN(d,0)+":"),GN(l.path,d)),d="","file"==l.scheme&&(i==zE||"?"==i||"#"==i))for(;l.path.length>1&&""===l.path[0];)VN(l.path);"?"==i?(l.query="",u=TU):"#"==i&&(l.fragment="",u=kU)}else d+=nU(i,eU);break;case wU:"?"==i?(l.query="",u=TU):"#"==i?(l.fragment="",u=kU):i!=zE&&(l.path[0]+=nU(i,qN));break;case TU:t||"#"!=i?i!=zE&&("'"==i&&l.isSpecial()?l.query+="%27":l.query+="#"==i?"%23":nU(i,qN)):(l.fragment="",u=kU);break;case kU:i!=zE&&(l.fragment+=nU(i,$N))}c++}},parseHost:function(e){var t,n,r;if("["==xN(e,0)){if("]"!=xN(e,e.length-1))return PN;if(t=function(e){var t,n,r,i,a,o,s,l=[0,0,0,0,0,0,0,0],u=0,c=null,d=0,h=function(){return xN(e,d)};if(":"==h()){if(":"!=xN(e,1))return;d+=2,c=++u}for(;h();){if(8==u)return;if(":"!=h()){for(t=n=0;n<4&&wN(DN,h());)t=16*t+LN(h(),16),d++,n++;if("."==h()){if(0==n)return;if(d-=n,u>6)return;for(r=0;h();){if(i=null,r>0){if(!("."==h()&&r<4))return;d++}if(!wN(EN,h()))return;for(;wN(EN,h());){if(a=LN(h(),10),null===i)i=a;else{if(0==i)return;i=10*i+a}if(i>255)return;d++}l[u]=256*l[u]+i,2!=++r&&4!=r||u++}if(4!=r)return;break}if(":"==h()){if(d++,!h())return}else if(h())return;l[u++]=t}else{if(null!==c)return;d++,c=++u}}if(null!==c)for(o=u-c,u=7;0!=u&&o>0;)s=l[u],l[u--]=l[c+o-1],l[c+--o]=s;else if(8!=u)return;return l}(CN(e,1,-1)),!t)return PN;this.host=t}else if(this.isSpecial()){if(e=uN(e),wN(jN,e))return PN;if(t=function(e){var t,n,r,i,a,o,s,l=RN(e,".");if(l.length&&""==l[l.length-1]&&l.length--,(t=l.length)>4)return e;for(n=[],r=0;r<t;r++){if(""==(i=l[r]))return e;if(a=10,i.length>1&&"0"==xN(i,0)&&(a=wN(NN,i)?16:8,i=CN(i,8==a?1:2)),""===i)o=0;else{if(!wN(10==a?JN:8==a?UN:DN,i))return e;o=LN(i,a)}GN(n,o)}for(r=0;r<t;r++)if(o=n[r],r==t-1){if(o>=XN(256,5-t))return null}else if(o>255)return null;for(s=IN(n),r=0;r<n.length;r++)s+=n[r]*XN(256,3-r);return s}(e),null===t)return PN;this.host=t}else{if(wN(AN,e))return PN;for(t="",n=oN(e),r=0;r<n.length;r++)t+=nU(n[r],qN);this.host=t}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||"file"==this.scheme},includesCredentials:function(){return""!=this.username||""!=this.password},isSpecial:function(){return iN(rU,this.scheme)},shortenPath:function(){var e=this.path,t=e.length;!t||"file"==this.scheme&&1==t&&iU(e[0],!0)||e.length--},serialize:function(){var e=this,t=e.scheme,n=e.username,r=e.password,i=e.host,a=e.port,o=e.path,s=e.query,l=e.fragment,u=t+":";return null!==i?(u+="//",e.includesCredentials()&&(u+=n+(r?":"+r:"")+"@"),u+=QN(i),null!==a&&(u+=":"+a)):"file"==t&&(u+="//"),u+=e.cannotBeABaseURL?o[0]:o.length?"/"+TN(o,"/"):"",null!==s&&(u+="?"+s),null!==l&&(u+="#"+l),u},setHref:function(e){var t=this.parse(e);if(t)throw ZN(t);this.searchParams.update()},getOrigin:function(){var e=this.scheme,t=this.port;if("blob"==e)try{return new GU(e.path[0]).origin}catch(Ude){return"null"}return"file"!=e&&this.isSpecial()?e+"://"+QN(this.host)+(null!==t?":"+t:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(e){this.parse(cN(e)+":",sU)},getUsername:function(){return this.username},setUsername:function(e){var t=oN(cN(e));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var n=0;n<t.length;n++)this.username+=nU(t[n],tU)}},getPassword:function(){return this.password},setPassword:function(e){var t=oN(cN(e));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var n=0;n<t.length;n++)this.password+=nU(t[n],tU)}},getHost:function(){var e=this.host,t=this.port;return null===e?"":null===t?QN(e):QN(e)+":"+t},setHost:function(e){this.cannotBeABaseURL||this.parse(e,bU)},getHostname:function(){var e=this.host;return null===e?"":QN(e)},setHostname:function(e){this.cannotBeABaseURL||this.parse(e,vU)},getPort:function(){var e=this.port;return null===e?"":cN(e)},setPort:function(e){this.cannotHaveUsernamePasswordPort()||(""==(e=cN(e))?this.port=null:this.parse(e,gU))},getPathname:function(){var e=this.path;return this.cannotBeABaseURL?e[0]:e.length?"/"+TN(e,"/"):""},setPathname:function(e){this.cannotBeABaseURL||(this.path=[],this.parse(e,XU))},getSearch:function(){var e=this.query;return e?"?"+e:""},setSearch:function(e){""==(e=cN(e))?this.query=null:("?"==xN(e,0)&&(e=CN(e,1)),this.query="",this.parse(e,TU)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var e=this.fragment;return e?"#"+e:""},setHash:function(e){""!=(e=cN(e))?("#"==xN(e,0)&&(e=CN(e,1)),this.fragment="",this.parse(e,kU)):this.fragment=null},update:function(){this.query=this.searchParams.serialize()||null}};var GU=function(e){var t=rN(this,WU),n=hN(arguments.length,1)>1?arguments[1]:void 0,r=pN(t,new IU(e,!1,n));OE||(t.href=r.serialize(),t.origin=r.getOrigin(),t.protocol=r.getProtocol(),t.username=r.getUsername(),t.password=r.getPassword(),t.host=r.getHost(),t.hostname=r.getHostname(),t.port=r.getPort(),t.pathname=r.getPathname(),t.search=r.getSearch(),t.searchParams=r.getSearchParams(),t.hash=r.getHash())},WU=GU.prototype,VU=function(e,t){return{get:function(){return yN(this)[e]()},set:t&&function(e){return yN(this)[t](e)},configurable:!0,enumerable:!0}};if(OE&&(nN(WU,"href",VU("serialize","setHref")),nN(WU,"origin",VU("getOrigin")),nN(WU,"protocol",VU("getProtocol","setProtocol")),nN(WU,"username",VU("getUsername","setUsername")),nN(WU,"password",VU("getPassword","setPassword")),nN(WU,"host",VU("getHost","setHost")),nN(WU,"hostname",VU("getHostname","setHostname")),nN(WU,"port",VU("getPort","setPort")),nN(WU,"pathname",VU("getPathname","setPathname")),nN(WU,"search",VU("getSearch","setSearch")),nN(WU,"searchParams",VU("getSearchParams")),nN(WU,"hash",VU("getHash","setHash"))),tN(WU,"toJSON",(function(){return yN(this).serialize()}),{enumerable:!0}),tN(WU,"toString",(function(){return yN(this).serialize()}),{enumerable:!0}),gN){var RU=gN.createObjectURL,CU=gN.revokeObjectURL;RU&&tN(GU,"createObjectURL",$E(RU,gN)),CU&&tN(GU,"revokeObjectURL",$E(CU,gN))}dN(GU,"URL"),BE({global:!0,constructor:!0,forced:!QE,sham:!OE},{URL:GU});var MU=Gn,YU=i,KU=Cn,PU=fa,HU=fF,_U=ae("URL");MU({target:"URL",stat:!0,forced:!(HU&&YU((function(){_U.canParse()})))},{canParse:function(e){var t=KU(arguments.length,1),n=PU(e),r=t<2||void 0===arguments[1]?void 0:PU(arguments[1]);try{return!!new _U(n,r)}catch(Ude){return!1}}});var FU=t(ee.URL),EU=$,NU=g,UU=dt("match"),JU=function(e){var t;return EU(e)&&(void 0!==(t=e[UU])?!!t:"RegExp"==NU(e))},DU=TypeError,jU=function(e){if(JU(e))throw DU("The method doesn't accept regular expressions");return e},AU=dt("match"),zU=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[AU]=!1,"/./"[e](t)}catch(r){}}return!1},BU=Gn,OU=S;k.f;var QU=ir,qU=fa,$U=jU,eJ=A,tJ=zU,nJ=OU("".startsWith),rJ=OU("".slice),iJ=Math.min;BU({target:"String",proto:!0,forced:!tJ("startsWith")},{startsWith:function(e){var t=qU(eJ(this));$U(e);var n=QU(iJ(arguments.length>1?arguments[1]:void 0,t.length)),r=qU(e);return nJ?nJ(t,r,n):rJ(t,n,n+r.length)===r}});var aJ=ri("String").startsWith,oJ=oe,sJ=aJ,lJ=String.prototype,uJ=t((function(e){var t=e.startsWith;return"string"==typeof e||e===lJ||oJ(lJ,e)&&t===lJ.startsWith?sJ:t})),cJ=Oi.includes;Gn({target:"Array",proto:!0,forced:i((function(){return!Array(1).includes()}))},{includes:function(e){return cJ(this,e,arguments.length>1?arguments[1]:void 0)}});var dJ=ri("Array").includes,hJ=Gn,fJ=jU,mJ=A,pJ=fa,yJ=zU,bJ=p("".indexOf);hJ({target:"String",proto:!0,forced:!yJ("includes")},{includes:function(e){return!!~bJ(pJ(mJ(this)),pJ(fJ(e)),arguments.length>1?arguments[1]:void 0)}});var vJ=ri("String").includes,gJ=oe,ZJ=dJ,LJ=vJ,SJ=Array.prototype,XJ=String.prototype,xJ=t((function(e){var t=e.includes;return e===SJ||gJ(SJ,e)&&t===SJ.includes?ZJ:"string"==typeof e||e===XJ||gJ(XJ,e)&&t===XJ.includes?LJ:t}));function wJ(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),ag(e,r.key,r)}}function TJ(e){var t;return(TJ=gg?Xo(t=yg).call(t):function(e){return e.__proto__||yg(e)})(e)}function kJ(e,t){var n;return(kJ=gg?Xo(n=gg).call(n):function(e,t){return e.__proto__=t,e})(e,t)}function IJ(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function GJ(e){var t=function(){if("undefined"==typeof Reflect||!dZ)return!1;if(dZ.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(dZ(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=TJ(e);if(t){var i=TJ(this).constructor;n=dZ(r,arguments,i)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===Tv(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return IJ(e)}(this,n)}}var WJ=OZ,VJ=jS("iterator"),RJ=!WJ((function(){var e=new URL("b?a=1&b=2&c=3","http://a"),t=e.searchParams,n="";return e.pathname="c%20d",t.forEach((function(e,r){t.delete("b"),n+=r+e})),!t.sort||"http://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[VJ]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==n||"x"!==new URL("http://x",void 0).host})),CJ=Rx,MJ=gX,YJ=function(e,t,n){return n.get&&CJ(n.get,t,{getter:!0}),n.set&&CJ(n.set,t,{setter:!0}),MJ.f(e,t,n)},KJ=xX,PJ=tM,HJ=fT,_J=tL,FJ=IS,EJ=function(e,t,n,r){try{return r?t(KJ(n)[0],n[1]):t(n)}catch(Ude){PJ(e,"throw",Ude)}},NJ=HC,UJ=HT,JJ=qx,DJ=hk,jJ=QC,AJ=JC,zJ=Array,BJ=function(e){var t=FJ(e),n=UJ(this),r=arguments.length,i=r>1?arguments[1]:void 0,a=void 0!==i;a&&(i=HJ(i,r>2?arguments[2]:void 0));var o,s,l,u,c,d,h=AJ(t),f=0;if(!h||this===zJ&&NJ(h))for(o=JJ(t),s=n?new this(o):zJ(o);o>f;f++)d=a?i(t[f],f):t[f],DJ(s,f,d);else for(c=(u=jJ(t,h)).next,s=n?new this:[];!(l=_J(c,u)).done;f++)d=a?EJ(u,i,[l.value,f],!0):l.value,DJ(s,f,d);return s.length=f,s},OJ=Ax,QJ=qx,qJ=hk,$J=Array,eD=Math.max,tD=function(e,t,n){for(var r=QJ(e),i=OJ(t,r),a=OJ(void 0===n?r:n,r),o=$J(eD(a-i,0)),s=0;i<a;i++,s++)qJ(o,s,e[i]);return o.length=s,o},nD=fL,rD=2147483647,iD=/[^\0-\u007E]/,aD=/[.\u3002\uFF0E\uFF61]/g,oD="Overflow: input needs wider integers to process",sD=RangeError,lD=nD(aD.exec),uD=Math.floor,cD=String.fromCharCode,dD=nD("".charCodeAt),hD=nD([].join),fD=nD([].push),mD=nD("".replace),pD=nD("".split),yD=nD("".toLowerCase),bD=function(e){return e+22+75*(e<26)},vD=function(e,t,n){var r=0;for(e=n?uD(e/700):e>>1,e+=uD(e/t);e>455;)e=uD(e/35),r+=36;return uD(r+36*e/(e+38))},gD=function(e){var t=[];e=function(e){for(var t=[],n=0,r=e.length;n<r;){var i=dD(e,n++);if(i>=55296&&i<=56319&&n<r){var a=dD(e,n++);56320==(64512&a)?fD(t,((1023&i)<<10)+(1023&a)+65536):(fD(t,i),n--)}else fD(t,i)}return t}(e);var n,r,i=e.length,a=128,o=0,s=72;for(n=0;n<e.length;n++)(r=e[n])<128&&fD(t,cD(r));var l=t.length,u=l;for(l&&fD(t,"-");u<i;){var c=rD;for(n=0;n<e.length;n++)(r=e[n])>=a&&r<c&&(c=r);var d=u+1;if(c-a>uD((rD-o)/d))throw sD(oD);for(o+=(c-a)*d,a=c,n=0;n<e.length;n++){if((r=e[n])<a&&++o>rD)throw sD(oD);if(r==a){for(var h=o,f=36;;){var m=f<=s?1:f>=s+26?26:f-s;if(h<m)break;var p=h-m,y=36-m;fD(t,cD(bD(m+p%y))),h=uD(p/y),f+=36}fD(t,cD(bD(h))),s=vD(o,d,u==l),o=0,u++}}o++,a++}return hD(t,"")},ZD=Px,LD=function(e,t,n){for(var r in t)ZD(e,r,t[r],n);return e},SD=tD,XD=Math.floor,xD=function(e,t){var n=e.length,r=XD(n/2);return n<8?wD(e,t):TD(e,xD(SD(e,0,r),t),xD(SD(e,r),t),t)},wD=function(e,t){for(var n,r,i=e.length,a=1;a<i;){for(r=a,n=e[a];r&&t(e[r-1],n)>0;)e[r]=e[--r];r!==a++&&(e[r]=n)}return e},TD=function(e,t,n,r){for(var i=t.length,a=n.length,o=0,s=0;o<i||s<a;)e[o+s]=o<i&&s<a?r(t[o],n[s])<=0?t[o++]:n[s++]:o<i?t[o++]:n[s++];return e},kD=xD,ID=Ew,GD=zZ,WD=tL,VD=fL,RD=QZ,CD=RJ,MD=Px,YD=LD,KD=qG,PD=aW,HD=gx,_D=aV,FD=CL,ED=VS,ND=fT,UD=xT,JD=xX,DD=KL,jD=qM,AD=LG,zD=lL,BD=QC,OD=JC,QD=Bw,qD=kD,$D=jS("iterator"),ej="URLSearchParams",tj=ej+"Iterator",nj=HD.set,rj=HD.getterFor(ej),ij=HD.getterFor(tj),aj=Object.getOwnPropertyDescriptor,oj=function(e){if(!RD)return GD[e];var t=aj(GD,e);return t&&t.value},sj=oj("fetch"),lj=oj("Request"),uj=oj("Headers"),cj=lj&&lj.prototype,dj=uj&&uj.prototype,hj=GD.RegExp,fj=GD.TypeError,mj=GD.decodeURIComponent,pj=GD.encodeURIComponent,yj=VD("".charAt),bj=VD([].join),vj=VD([].push),gj=VD("".replace),Zj=VD([].shift),Lj=VD([].splice),Sj=VD("".split),Xj=VD("".slice),xj=/\+/g,wj=Array(4),Tj=function(e){return wj[e-1]||(wj[e-1]=hj("((?:%[\\da-f]{2}){"+e+"})","gi"))},kj=function(e){try{return mj(e)}catch(Ude){return e}},Ij=function(e){var t=gj(e,xj," "),n=4;try{return mj(t)}catch(Ude){for(;n;)t=gj(t,Tj(n--),kj);return t}},Gj=/[!'()~]|%20/g,Wj={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},Vj=function(e){return Wj[e]},Rj=function(e){return gj(pj(e),Gj,Vj)},Cj=PD((function(e,t){nj(this,{type:tj,iterator:BD(rj(e).entries),kind:t})}),"Iterator",(function(){var e=ij(this),t=e.kind,n=e.iterator.next(),r=n.value;return n.done||(n.value="keys"===t?r.key:"values"===t?r.value:[r.key,r.value]),n}),!0),Mj=function(e){this.entries=[],this.url=null,void 0!==e&&(DD(e)?this.parseObject(e):this.parseQuery("string"==typeof e?"?"===yj(e,0)?Xj(e,1):e:jD(e)))};Mj.prototype={type:ej,bindURL:function(e){this.url=e,this.update()},parseObject:function(e){var t,n,r,i,a,o,s,l=OD(e);if(l)for(n=(t=BD(e,l)).next;!(r=WD(n,t)).done;){if(a=(i=BD(JD(r.value))).next,(o=WD(a,i)).done||(s=WD(a,i)).done||!WD(a,i).done)throw fj("Expected sequence with length 2");vj(this.entries,{key:jD(o.value),value:jD(s.value)})}else for(var u in e)ED(e,u)&&vj(this.entries,{key:u,value:jD(e[u])})},parseQuery:function(e){if(e)for(var t,n,r=Sj(e,"&"),i=0;i<r.length;)(t=r[i++]).length&&(n=Sj(t,"="),vj(this.entries,{key:Ij(Zj(n)),value:Ij(bj(n,"="))}))},serialize:function(){for(var e,t=this.entries,n=[],r=0;r<t.length;)e=t[r++],vj(n,Rj(e.key)+"="+Rj(e.value));return bj(n,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var Yj=function(){_D(this,Kj),nj(this,new Mj(arguments.length>0?arguments[0]:void 0))},Kj=Yj.prototype;if(YD(Kj,{append:function(e,t){QD(arguments.length,2);var n=rj(this);vj(n.entries,{key:jD(e),value:jD(t)}),n.updateURL()},delete:function(e){QD(arguments.length,1);for(var t=rj(this),n=t.entries,r=jD(e),i=0;i<n.length;)n[i].key===r?Lj(n,i,1):i++;t.updateURL()},get:function(e){QD(arguments.length,1);for(var t=rj(this).entries,n=jD(e),r=0;r<t.length;r++)if(t[r].key===n)return t[r].value;return null},getAll:function(e){QD(arguments.length,1);for(var t=rj(this).entries,n=jD(e),r=[],i=0;i<t.length;i++)t[i].key===n&&vj(r,t[i].value);return r},has:function(e){QD(arguments.length,1);for(var t=rj(this).entries,n=jD(e),r=0;r<t.length;)if(t[r++].key===n)return!0;return!1},set:function(e,t){QD(arguments.length,1);for(var n,r=rj(this),i=r.entries,a=!1,o=jD(e),s=jD(t),l=0;l<i.length;l++)(n=i[l]).key===o&&(a?Lj(i,l--,1):(a=!0,n.value=s));a||vj(i,{key:o,value:s}),r.updateURL()},sort:function(){var e=rj(this);qD(e.entries,(function(e,t){return e.key>t.key?1:-1})),e.updateURL()},forEach:function(e){for(var t,n=rj(this).entries,r=ND(e,arguments.length>1?arguments[1]:void 0),i=0;i<n.length;)r((t=n[i++]).value,t.key,this)},keys:function(){return new Cj(this,"keys")},values:function(){return new Cj(this,"values")},entries:function(){return new Cj(this,"entries")}},{enumerable:!0}),MD(Kj,$D,Kj.entries,{name:"entries"}),MD(Kj,"toString",(function(){return rj(this).serialize()}),{enumerable:!0}),KD(Yj,ej),ID({global:!0,constructor:!0,forced:!CD},{URLSearchParams:Yj}),!CD&&FD(uj)){var Pj=VD(dj.has),Hj=VD(dj.set),_j=function(e){if(DD(e)){var t,n=e.body;if(UD(n)===ej)return t=e.headers?new uj(e.headers):new uj,Pj(t,"content-type")||Hj(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),AD(e,{body:zD(0,jD(n)),headers:zD(0,t)})}return e};if(FD(sj)&&ID({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return sj(e,arguments.length>1?_j(arguments[1]):{})}}),FD(lj)){var Fj=function(e){return _D(this,cj),new lj(e,arguments.length>1?_j(arguments[1]):{})};cj.constructor=Fj,Fj.prototype=cj,ID({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:Fj})}}var Ej,Nj=Ew,Uj=QZ,Jj=RJ,Dj=zZ,jj=fT,Aj=fL,zj=Px,Bj=YJ,Oj=aV,Qj=VS,qj=QI,$j=BJ,eA=tD,tA=sY.codeAt,nA=function(e){var t,n,r=[],i=pD(mD(yD(e),aD,"."),".");for(t=0;t<i.length;t++)n=i[t],fD(r,lD(iD,n)?"xn--"+gD(n):n);return hD(r,".")},rA=qM,iA=qG,aA=Bw,oA={URLSearchParams:Yj,getState:rj},sA=gx,lA=sA.set,uA=sA.getterFor("URL"),cA=oA.URLSearchParams,dA=oA.getState,hA=Dj.URL,fA=Dj.TypeError,mA=Dj.parseInt,pA=Math.floor,yA=Math.pow,bA=Aj("".charAt),vA=Aj(/./.exec),gA=Aj([].join),ZA=Aj(1..toString),LA=Aj([].pop),SA=Aj([].push),XA=Aj("".replace),xA=Aj([].shift),wA=Aj("".split),TA=Aj("".slice),kA=Aj("".toLowerCase),IA=Aj([].unshift),GA="Invalid scheme",WA="Invalid host",VA="Invalid port",RA=/[a-z]/i,CA=/[\d+-.a-z]/i,MA=/\d/,YA=/^0x/i,KA=/^[0-7]+$/,PA=/^\d+$/,HA=/^[\da-f]+$/i,_A=/[\0\t\n\r #%/:<>?@[\\\]^|]/,FA=/[\0\t\n\r #/:<>?@[\\\]^|]/,EA=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,NA=/[\t\n\r]/g,UA=function(e){var t,n,r,i;if("number"==typeof e){for(t=[],n=0;n<4;n++)IA(t,e%256),e=pA(e/256);return gA(t,".")}if("object"==typeof e){for(t="",r=function(e){for(var t=null,n=1,r=null,i=0,a=0;a<8;a++)0!==e[a]?(i>n&&(t=r,n=i),r=null,i=0):(null===r&&(r=a),++i);return i>n&&(t=r,n=i),t}(e),n=0;n<8;n++)i&&0===e[n]||(i&&(i=!1),r===n?(t+=n?":":"::",i=!0):(t+=ZA(e[n],16),n<7&&(t+=":")));return"["+t+"]"}return e},JA={},DA=qj({},JA,{" ":1,'"':1,"<":1,">":1,"`":1}),jA=qj({},DA,{"#":1,"?":1,"{":1,"}":1}),AA=qj({},jA,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),zA=function(e,t){var n=tA(e,0);return n>32&&n<127&&!Qj(t,e)?e:encodeURIComponent(e)},BA={ftp:21,file:null,http:80,https:443,ws:80,wss:443},OA=function(e,t){var n;return 2==e.length&&vA(RA,bA(e,0))&&(":"==(n=bA(e,1))||!t&&"|"==n)},QA=function(e){var t;return e.length>1&&OA(TA(e,0,2))&&(2==e.length||"/"===(t=bA(e,2))||"\\"===t||"?"===t||"#"===t)},qA=function(e){return"."===e||"%2e"===kA(e)},$A={},ez={},tz={},nz={},rz={},iz={},az={},oz={},sz={},lz={},uz={},cz={},dz={},hz={},fz={},mz={},pz={},yz={},bz={},vz={},gz={},Zz=function(e,t,n){var r,i,a,o=rA(e);if(t){if(i=this.parse(o))throw fA(i);this.searchParams=null}else{if(void 0!==n&&(r=new Zz(n,!0)),i=this.parse(o,null,r))throw fA(i);(a=dA(new cA)).bindURL(this),this.searchParams=a}};Zz.prototype={type:"URL",parse:function(e,t,n){var r,i,a,o,s,l=this,u=t||$A,c=0,d="",h=!1,f=!1,m=!1;for(e=rA(e),t||(l.scheme="",l.username="",l.password="",l.host=null,l.port=null,l.path=[],l.query=null,l.fragment=null,l.cannotBeABaseURL=!1,e=XA(e,EA,"")),e=XA(e,NA,""),r=$j(e);c<=r.length;){switch(i=r[c],u){case $A:if(!i||!vA(RA,i)){if(t)return GA;u=tz;continue}d+=kA(i),u=ez;break;case ez:if(i&&(vA(CA,i)||"+"==i||"-"==i||"."==i))d+=kA(i);else{if(":"!=i){if(t)return GA;d="",u=tz,c=0;continue}if(t&&(l.isSpecial()!=Qj(BA,d)||"file"==d&&(l.includesCredentials()||null!==l.port)||"file"==l.scheme&&!l.host))return;if(l.scheme=d,t)return void(l.isSpecial()&&BA[l.scheme]==l.port&&(l.port=null));d="","file"==l.scheme?u=hz:l.isSpecial()&&n&&n.scheme==l.scheme?u=nz:l.isSpecial()?u=oz:"/"==r[c+1]?(u=rz,c++):(l.cannotBeABaseURL=!0,SA(l.path,""),u=bz)}break;case tz:if(!n||n.cannotBeABaseURL&&"#"!=i)return GA;if(n.cannotBeABaseURL&&"#"==i){l.scheme=n.scheme,l.path=eA(n.path),l.query=n.query,l.fragment="",l.cannotBeABaseURL=!0,u=gz;break}u="file"==n.scheme?hz:iz;continue;case nz:if("/"!=i||"/"!=r[c+1]){u=iz;continue}u=sz,c++;break;case rz:if("/"==i){u=lz;break}u=yz;continue;case iz:if(l.scheme=n.scheme,i==Ej)l.username=n.username,l.password=n.password,l.host=n.host,l.port=n.port,l.path=eA(n.path),l.query=n.query;else if("/"==i||"\\"==i&&l.isSpecial())u=az;else if("?"==i)l.username=n.username,l.password=n.password,l.host=n.host,l.port=n.port,l.path=eA(n.path),l.query="",u=vz;else{if("#"!=i){l.username=n.username,l.password=n.password,l.host=n.host,l.port=n.port,l.path=eA(n.path),l.path.length--,u=yz;continue}l.username=n.username,l.password=n.password,l.host=n.host,l.port=n.port,l.path=eA(n.path),l.query=n.query,l.fragment="",u=gz}break;case az:if(!l.isSpecial()||"/"!=i&&"\\"!=i){if("/"!=i){l.username=n.username,l.password=n.password,l.host=n.host,l.port=n.port,u=yz;continue}u=lz}else u=sz;break;case oz:if(u=sz,"/"!=i||"/"!=bA(d,c+1))continue;c++;break;case sz:if("/"!=i&&"\\"!=i){u=lz;continue}break;case lz:if("@"==i){h&&(d="%40"+d),h=!0,a=$j(d);for(var p=0;p<a.length;p++){var y=a[p];if(":"!=y||m){var b=zA(y,AA);m?l.password+=b:l.username+=b}else m=!0}d=""}else if(i==Ej||"/"==i||"?"==i||"#"==i||"\\"==i&&l.isSpecial()){if(h&&""==d)return"Invalid authority";c-=$j(d).length+1,d="",u=uz}else d+=i;break;case uz:case cz:if(t&&"file"==l.scheme){u=mz;continue}if(":"!=i||f){if(i==Ej||"/"==i||"?"==i||"#"==i||"\\"==i&&l.isSpecial()){if(l.isSpecial()&&""==d)return WA;if(t&&""==d&&(l.includesCredentials()||null!==l.port))return;if(o=l.parseHost(d))return o;if(d="",u=pz,t)return;continue}"["==i?f=!0:"]"==i&&(f=!1),d+=i}else{if(""==d)return WA;if(o=l.parseHost(d))return o;if(d="",u=dz,t==cz)return}break;case dz:if(!vA(MA,i)){if(i==Ej||"/"==i||"?"==i||"#"==i||"\\"==i&&l.isSpecial()||t){if(""!=d){var v=mA(d,10);if(v>65535)return VA;l.port=l.isSpecial()&&v===BA[l.scheme]?null:v,d=""}if(t)return;u=pz;continue}return VA}d+=i;break;case hz:if(l.scheme="file","/"==i||"\\"==i)u=fz;else{if(!n||"file"!=n.scheme){u=yz;continue}if(i==Ej)l.host=n.host,l.path=eA(n.path),l.query=n.query;else if("?"==i)l.host=n.host,l.path=eA(n.path),l.query="",u=vz;else{if("#"!=i){QA(gA(eA(r,c),""))||(l.host=n.host,l.path=eA(n.path),l.shortenPath()),u=yz;continue}l.host=n.host,l.path=eA(n.path),l.query=n.query,l.fragment="",u=gz}}break;case fz:if("/"==i||"\\"==i){u=mz;break}n&&"file"==n.scheme&&!QA(gA(eA(r,c),""))&&(OA(n.path[0],!0)?SA(l.path,n.path[0]):l.host=n.host),u=yz;continue;case mz:if(i==Ej||"/"==i||"\\"==i||"?"==i||"#"==i){if(!t&&OA(d))u=yz;else if(""==d){if(l.host="",t)return;u=pz}else{if(o=l.parseHost(d))return o;if("localhost"==l.host&&(l.host=""),t)return;d="",u=pz}continue}d+=i;break;case pz:if(l.isSpecial()){if(u=yz,"/"!=i&&"\\"!=i)continue}else if(t||"?"!=i)if(t||"#"!=i){if(i!=Ej&&(u=yz,"/"!=i))continue}else l.fragment="",u=gz;else l.query="",u=vz;break;case yz:if(i==Ej||"/"==i||"\\"==i&&l.isSpecial()||!t&&("?"==i||"#"==i)){if(".."===(s=kA(s=d))||"%2e."===s||".%2e"===s||"%2e%2e"===s?(l.shortenPath(),"/"==i||"\\"==i&&l.isSpecial()||SA(l.path,"")):qA(d)?"/"==i||"\\"==i&&l.isSpecial()||SA(l.path,""):("file"==l.scheme&&!l.path.length&&OA(d)&&(l.host&&(l.host=""),d=bA(d,0)+":"),SA(l.path,d)),d="","file"==l.scheme&&(i==Ej||"?"==i||"#"==i))for(;l.path.length>1&&""===l.path[0];)xA(l.path);"?"==i?(l.query="",u=vz):"#"==i&&(l.fragment="",u=gz)}else d+=zA(i,jA);break;case bz:"?"==i?(l.query="",u=vz):"#"==i?(l.fragment="",u=gz):i!=Ej&&(l.path[0]+=zA(i,JA));break;case vz:t||"#"!=i?i!=Ej&&("'"==i&&l.isSpecial()?l.query+="%27":l.query+="#"==i?"%23":zA(i,JA)):(l.fragment="",u=gz);break;case gz:i!=Ej&&(l.fragment+=zA(i,DA))}c++}},parseHost:function(e){var t,n,r;if("["==bA(e,0)){if("]"!=bA(e,e.length-1))return WA;if(t=function(e){var t,n,r,i,a,o,s,l=[0,0,0,0,0,0,0,0],u=0,c=null,d=0,h=function(){return bA(e,d)};if(":"==h()){if(":"!=bA(e,1))return;d+=2,c=++u}for(;h();){if(8==u)return;if(":"!=h()){for(t=n=0;n<4&&vA(HA,h());)t=16*t+mA(h(),16),d++,n++;if("."==h()){if(0==n)return;if(d-=n,u>6)return;for(r=0;h();){if(i=null,r>0){if(!("."==h()&&r<4))return;d++}if(!vA(MA,h()))return;for(;vA(MA,h());){if(a=mA(h(),10),null===i)i=a;else{if(0==i)return;i=10*i+a}if(i>255)return;d++}l[u]=256*l[u]+i,2!=++r&&4!=r||u++}if(4!=r)return;break}if(":"==h()){if(d++,!h())return}else if(h())return;l[u++]=t}else{if(null!==c)return;d++,c=++u}}if(null!==c)for(o=u-c,u=7;0!=u&&o>0;)s=l[u],l[u--]=l[c+o-1],l[c+--o]=s;else if(8!=u)return;return l}(TA(e,1,-1)),!t)return WA;this.host=t}else if(this.isSpecial()){if(e=nA(e),vA(_A,e))return WA;if(t=function(e){var t,n,r,i,a,o,s,l=wA(e,".");if(l.length&&""==l[l.length-1]&&l.length--,(t=l.length)>4)return e;for(n=[],r=0;r<t;r++){if(""==(i=l[r]))return e;if(a=10,i.length>1&&"0"==bA(i,0)&&(a=vA(YA,i)?16:8,i=TA(i,8==a?1:2)),""===i)o=0;else{if(!vA(10==a?PA:8==a?KA:HA,i))return e;o=mA(i,a)}SA(n,o)}for(r=0;r<t;r++)if(o=n[r],r==t-1){if(o>=yA(256,5-t))return null}else if(o>255)return null;for(s=LA(n),r=0;r<n.length;r++)s+=n[r]*yA(256,3-r);return s}(e),null===t)return WA;this.host=t}else{if(vA(FA,e))return WA;for(t="",n=$j(e),r=0;r<n.length;r++)t+=zA(n[r],JA);this.host=t}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||"file"==this.scheme},includesCredentials:function(){return""!=this.username||""!=this.password},isSpecial:function(){return Qj(BA,this.scheme)},shortenPath:function(){var e=this.path,t=e.length;!t||"file"==this.scheme&&1==t&&OA(e[0],!0)||e.length--},serialize:function(){var e=this,t=e.scheme,n=e.username,r=e.password,i=e.host,a=e.port,o=e.path,s=e.query,l=e.fragment,u=t+":";return null!==i?(u+="//",e.includesCredentials()&&(u+=n+(r?":"+r:"")+"@"),u+=UA(i),null!==a&&(u+=":"+a)):"file"==t&&(u+="//"),u+=e.cannotBeABaseURL?o[0]:o.length?"/"+gA(o,"/"):"",null!==s&&(u+="?"+s),null!==l&&(u+="#"+l),u},setHref:function(e){var t=this.parse(e);if(t)throw fA(t);this.searchParams.update()},getOrigin:function(){var e=this.scheme,t=this.port;if("blob"==e)try{return new Lz(e.path[0]).origin}catch(Ude){return"null"}return"file"!=e&&this.isSpecial()?e+"://"+UA(this.host)+(null!==t?":"+t:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(e){this.parse(rA(e)+":",$A)},getUsername:function(){return this.username},setUsername:function(e){var t=$j(rA(e));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var n=0;n<t.length;n++)this.username+=zA(t[n],AA)}},getPassword:function(){return this.password},setPassword:function(e){var t=$j(rA(e));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var n=0;n<t.length;n++)this.password+=zA(t[n],AA)}},getHost:function(){var e=this.host,t=this.port;return null===e?"":null===t?UA(e):UA(e)+":"+t},setHost:function(e){this.cannotBeABaseURL||this.parse(e,uz)},getHostname:function(){var e=this.host;return null===e?"":UA(e)},setHostname:function(e){this.cannotBeABaseURL||this.parse(e,cz)},getPort:function(){var e=this.port;return null===e?"":rA(e)},setPort:function(e){this.cannotHaveUsernamePasswordPort()||(""==(e=rA(e))?this.port=null:this.parse(e,dz))},getPathname:function(){var e=this.path;return this.cannotBeABaseURL?e[0]:e.length?"/"+gA(e,"/"):""},setPathname:function(e){this.cannotBeABaseURL||(this.path=[],this.parse(e,pz))},getSearch:function(){var e=this.query;return e?"?"+e:""},setSearch:function(e){""==(e=rA(e))?this.query=null:("?"==bA(e,0)&&(e=TA(e,1)),this.query="",this.parse(e,vz)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var e=this.fragment;return e?"#"+e:""},setHash:function(e){""!=(e=rA(e))?("#"==bA(e,0)&&(e=TA(e,1)),this.fragment="",this.parse(e,gz)):this.fragment=null},update:function(){this.query=this.searchParams.serialize()||null}};var Lz=function(e){var t=Oj(this,Sz),n=aA(arguments.length,1)>1?arguments[1]:void 0,r=lA(t,new Zz(e,!1,n));Uj||(t.href=r.serialize(),t.origin=r.getOrigin(),t.protocol=r.getProtocol(),t.username=r.getUsername(),t.password=r.getPassword(),t.host=r.getHost(),t.hostname=r.getHostname(),t.port=r.getPort(),t.pathname=r.getPathname(),t.search=r.getSearch(),t.searchParams=r.getSearchParams(),t.hash=r.getHash())},Sz=Lz.prototype,Xz=function(e,t){return{get:function(){return uA(this)[e]()},set:t&&function(e){return uA(this)[t](e)},configurable:!0,enumerable:!0}};if(Uj&&(Bj(Sz,"href",Xz("serialize","setHref")),Bj(Sz,"origin",Xz("getOrigin")),Bj(Sz,"protocol",Xz("getProtocol","setProtocol")),Bj(Sz,"username",Xz("getUsername","setUsername")),Bj(Sz,"password",Xz("getPassword","setPassword")),Bj(Sz,"host",Xz("getHost","setHost")),Bj(Sz,"hostname",Xz("getHostname","setHostname")),Bj(Sz,"port",Xz("getPort","setPort")),Bj(Sz,"pathname",Xz("getPathname","setPathname")),Bj(Sz,"search",Xz("getSearch","setSearch")),Bj(Sz,"searchParams",Xz("getSearchParams")),Bj(Sz,"hash",Xz("getHash","setHash"))),zj(Sz,"toJSON",(function(){return uA(this).serialize()}),{enumerable:!0}),zj(Sz,"toString",(function(){return uA(this).serialize()}),{enumerable:!0}),hA){var xz=hA.createObjectURL,wz=hA.revokeObjectURL;xz&&zj(Lz,"createObjectURL",jj(xz,hA)),wz&&zj(Lz,"revokeObjectURL",jj(wz,hA))}iA(Lz,"URL"),Nj({global:!0,constructor:!0,forced:!Jj,sham:!Uj},{URL:Lz});var Tz=Ew,kz=pT,Iz=HT,Gz=KL,Wz=Ax,Vz=qx,Rz=GL,Cz=hk,Mz=jS,Yz=Aw,Kz=rk("slice"),Pz=Mz("species"),Hz=Array,_z=Math.max;function Fz(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ez(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),ag(e,r.key,r)}}function Nz(e,t,n){return t&&Ez(e.prototype,t),n&&Ez(e,n),ag(e,"prototype",{writable:!1}),e}Tz({target:"Array",proto:!0,forced:!Kz},{slice:function(e,t){var n,r,i,a=Rz(this),o=Vz(a),s=Wz(e,o),l=Wz(void 0===t?o:t,o);if(kz(a)&&(n=a.constructor,(Iz(n)&&(n===Hz||kz(n.prototype))||Gz(n)&&null===(n=n[Pz]))&&(n=void 0),n===Hz||void 0===n))return Yz(a,s,l);for(r=new(void 0===n?Hz:n)(_z(l-s,0)),i=0;s<l;s++,i++)s in a&&Cz(r,i,a[s]);return r.length=i,r}});var Uz=function(){function e(){var t,n;Fz(this,e);var r=new sp((function(e,r){t=e,n=r}));return r.resolve=t,r.reject=n,r}return Nz(e,[{key:"resolve",value:function(e){}},{key:"reject",value:function(e){}}]),e}(),Jz=Ew,Dz=Date,jz=fL(Dz.prototype.getTime);Jz({target:"Date",stat:!0},{now:function(){return jz(new Dz)}});var Az,zz,Bz=function(){function e(){Fz(this,e)}return Nz(e,null,[{key:"install",value:function(){if(window.requestAnimationFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame,window.cancelAnimationFrame=window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.cancelRequestAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame,!window.requestAnimationFrame){var e=N_();window.requestAnimationFrame=function(t){var n=N_(),r=Math.max(16.7-(n-e),0),i=On(t,r);return e=n+r,i}}window.cancelAnimationFrame||(window.cancelAnimationFrame=function(e){clearTimeout(e)})}}]),e}(),Oz=function(){function e(){var t;Fz(this,e),this.fps=0,this.isStoped=!0,this.ticks=[],this.isSupport=!0,this.maxFps=0,this.step=Xo(t=this._step).call(t,this),this.rafId=null}return Nz(e,[{key:"_step",value:function(e){var t=this.ticks;if(t.unshift(e),t.length>10){var n=t.pop();n&&(this.fps=Math.floor(1e4/(e-n)),this.updateFpsInfo())}this.isStoped||(this.rafId=window.requestAnimationFrame(this.step))}},{key:"updateFpsInfo",value:function(){this.fps>this.maxFps&&(this.maxFps=this.fps)}},{key:"start",value:function(){void 0!==window.requestAnimationFrame&&(this.isStoped=!1,this.rafId=window.requestAnimationFrame(this.step))}},{key:"stop",value:function(){window.cancelAnimationFrame(this.rafId),this.isStoped=!0}}],[{key:"install",value:function(){Bz.install()}}]),e}(),Qz=xX,qz=function(){var e=Qz(this),t="";return e.hasIndices&&(t+="d"),e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.unicodeSets&&(t+="v"),e.sticky&&(t+="y"),t},$z=OZ,eB=zZ.RegExp,tB=$z((function(){var e=eB("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),nB=tB||$z((function(){return!eB("a","y").sticky})),rB=tB||$z((function(){var e=eB("^r","gy");return e.lastIndex=2,null!=e.exec("str")})),iB={BROKEN_CARET:rB,MISSED_STICKY:nB,UNSUPPORTED_Y:tB},aB=OZ,oB=zZ.RegExp,sB=aB((function(){var e=oB(".","s");return!(e.dotAll&&e.exec("\n")&&"s"===e.flags)})),lB=OZ,uB=zZ.RegExp,cB=lB((function(){var e=uB("(?<a>b)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$<a>c")})),dB=tL,hB=fL,fB=qM,mB=qz,pB=iB,yB=LG,bB=gx.get,vB=sB,gB=cB,ZB=wS("native-string-replace",String.prototype.replace),LB=RegExp.prototype.exec,SB=LB,XB=hB("".charAt),xB=hB("".indexOf),wB=hB("".replace),TB=hB("".slice),kB=(zz=/b*/g,dB(LB,Az=/a/,"a"),dB(LB,zz,"a"),0!==Az.lastIndex||0!==zz.lastIndex),IB=pB.BROKEN_CARET,GB=void 0!==/()??/.exec("")[1];(kB||GB||IB||vB||gB)&&(SB=function(e){var t,n,r,i,a,o,s,l=this,u=bB(l),c=fB(e),d=u.raw;if(d)return d.lastIndex=l.lastIndex,t=dB(SB,d,c),l.lastIndex=d.lastIndex,t;var h=u.groups,f=IB&&l.sticky,m=dB(mB,l),p=l.source,y=0,b=c;if(f&&(m=wB(m,"y",""),-1===xB(m,"g")&&(m+="g"),b=TB(c,l.lastIndex),l.lastIndex>0&&(!l.multiline||l.multiline&&"\n"!==XB(c,l.lastIndex-1))&&(p="(?: "+p+")",b=" "+b,y++),n=new RegExp("^(?:"+p+")",m)),GB&&(n=new RegExp("^"+p+"$(?!\\s)",m)),kB&&(r=l.lastIndex),i=dB(LB,f?n:l,b),f?i?(i.input=TB(i.input,y),i[0]=TB(i[0],y),i.index=l.lastIndex,l.lastIndex+=i[0].length):l.lastIndex=0:kB&&i&&(l.lastIndex=l.global?i.index+i[0].length:r),GB&&i&&i.length>1&&dB(ZB,i[0],n,(function(){for(a=1;a<arguments.length-2;a++)void 0===arguments[a]&&(i[a]=void 0)})),i&&h)for(i.groups=o=yB(null),a=0;a<h.length;a++)o[(s=h[a])[0]]=i[s[1]];return i});var WB=SB;Ew({target:"RegExp",proto:!0,forced:/./.exec!==WB},{exec:WB});var VB=Ew,RB=SL,CB=GL,MB=Gk,YB=fL([].join),KB=RB!=Object,PB=MB("join",",");VB({target:"Array",proto:!0,forced:KB||!PB},{join:function(e){return YB(CB(this),void 0===e?",":e)}});var HB="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView,_B=Ux,FB=Ox,EB=RangeError,NB=function(e){if(void 0===e)return 0;var t=_B(e),n=FB(t);if(t!==n)throw EB("Wrong length or index");return n},UB=Array,JB=Math.abs,DB=Math.pow,jB=Math.floor,AB=Math.log,zB=Math.LN2,BB=IS,OB=Ax,QB=qx,qB=function(e){for(var t=BB(this),n=QB(t),r=arguments.length,i=OB(r>1?arguments[1]:void 0,n),a=r>2?arguments[2]:void 0,o=void 0===a?n:OB(a,n);o>i;)t[i++]=e;return t},$B=zZ,eO=fL,tO=QZ,nO=HB,rO=DX,iO=HX,aO=LD,oO=OZ,sO=aV,lO=Ux,uO=Ox,cO=NB,dO={pack:function(e,t,n){var r,i,a,o=UB(n),s=8*n-t-1,l=(1<<s)-1,u=l>>1,c=23===t?DB(2,-24)-DB(2,-77):0,d=e<0||0===e&&1/e<0?1:0,h=0;for((e=JB(e))!=e||e===1/0?(i=e!=e?1:0,r=l):(r=jB(AB(e)/zB),e*(a=DB(2,-r))<1&&(r--,a*=2),(e+=r+u>=1?c/a:c*DB(2,1-u))*a>=2&&(r++,a/=2),r+u>=l?(i=0,r=l):r+u>=1?(i=(e*a-1)*DB(2,t),r+=u):(i=e*DB(2,u-1)*DB(2,t),r=0));t>=8;)o[h++]=255&i,i/=256,t-=8;for(r=r<<t|i,s+=t;s>0;)o[h++]=255&r,r/=256,s-=8;return o[--h]|=128*d,o},unpack:function(e,t){var n,r=e.length,i=8*r-t-1,a=(1<<i)-1,o=a>>1,s=i-7,l=r-1,u=e[l--],c=127&u;for(u>>=7;s>0;)c=256*c+e[l--],s-=8;for(n=c&(1<<-s)-1,c>>=-s,s+=t;s>0;)n=256*n+e[l--],s-=8;if(0===c)c=1-o;else{if(c===a)return n?NaN:u?-1/0:1/0;n+=DB(2,t),c-=o}return(u?-1:1)*n*DB(2,c-t)}},hO=FG,fO=hW,mO=Hx.f,pO=gX.f,yO=qB,bO=tD,vO=qG,gO=rO.PROPER,ZO=rO.CONFIGURABLE,LO=gx.get,SO=gx.set,XO="ArrayBuffer",xO="DataView",wO="prototype",TO="Wrong index",kO=$B[XO],IO=kO,GO=IO&&IO[wO],WO=$B[xO],VO=WO&&WO[wO],RO=Object.prototype,CO=$B.Array,MO=$B.RangeError,YO=eO(yO),KO=eO([].reverse),PO=dO.pack,HO=dO.unpack,_O=function(e){return[255&e]},FO=function(e){return[255&e,e>>8&255]},EO=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},NO=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},UO=function(e){return PO(e,23,4)},JO=function(e){return PO(e,52,8)},DO=function(e,t){pO(e[wO],t,{get:function(){return LO(this)[t]}})},jO=function(e,t,n,r){var i=cO(n),a=LO(e);if(i+t>a.byteLength)throw MO(TO);var o=LO(a.buffer).bytes,s=i+a.byteOffset,l=bO(o,s,s+t);return r?l:KO(l)},AO=function(e,t,n,r,i,a){var o=cO(n),s=LO(e);if(o+t>s.byteLength)throw MO(TO);for(var l=LO(s.buffer).bytes,u=o+s.byteOffset,c=r(+i),d=0;d<t;d++)l[u+d]=c[a?d:t-d-1]};if(nO){var zO=gO&&kO.name!==XO;if(oO((function(){kO(1)}))&&oO((function(){new kO(-1)}))&&!oO((function(){return new kO,new kO(1.5),new kO(NaN),1!=kO.length||zO&&!ZO})))zO&&ZO&&iO(kO,"name",XO);else{(IO=function(e){return sO(this,GO),new kO(cO(e))})[wO]=GO;for(var BO,OO=mO(kO),QO=0;OO.length>QO;)(BO=OO[QO++])in IO||iO(IO,BO,kO[BO]);GO.constructor=IO}fO&&hO(VO)!==RO&&fO(VO,RO);var qO=new WO(new IO(2)),$O=eO(VO.setInt8);qO.setInt8(0,2147483648),qO.setInt8(1,2147483649),!qO.getInt8(0)&&qO.getInt8(1)||aO(VO,{setInt8:function(e,t){$O(this,e,t<<24>>24)},setUint8:function(e,t){$O(this,e,t<<24>>24)}},{unsafe:!0})}else GO=(IO=function(e){sO(this,GO);var t=cO(e);SO(this,{bytes:YO(CO(t),0),byteLength:t}),tO||(this.byteLength=t)})[wO],VO=(WO=function(e,t,n){sO(this,VO),sO(e,GO);var r=LO(e).byteLength,i=lO(t);if(i<0||i>r)throw MO("Wrong offset");if(i+(n=void 0===n?r-i:uO(n))>r)throw MO("Wrong length");SO(this,{buffer:e,byteLength:n,byteOffset:i}),tO||(this.buffer=e,this.byteLength=n,this.byteOffset=i)})[wO],tO&&(DO(IO,"byteLength"),DO(WO,"buffer"),DO(WO,"byteLength"),DO(WO,"byteOffset")),aO(VO,{getInt8:function(e){return jO(this,1,e)[0]<<24>>24},getUint8:function(e){return jO(this,1,e)[0]},getInt16:function(e){var t=jO(this,2,e,arguments.length>1?arguments[1]:void 0);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=jO(this,2,e,arguments.length>1?arguments[1]:void 0);return t[1]<<8|t[0]},getInt32:function(e){return NO(jO(this,4,e,arguments.length>1?arguments[1]:void 0))},getUint32:function(e){return NO(jO(this,4,e,arguments.length>1?arguments[1]:void 0))>>>0},getFloat32:function(e){return HO(jO(this,4,e,arguments.length>1?arguments[1]:void 0),23)},getFloat64:function(e){return HO(jO(this,8,e,arguments.length>1?arguments[1]:void 0),52)},setInt8:function(e,t){AO(this,1,e,_O,t)},setUint8:function(e,t){AO(this,1,e,_O,t)},setInt16:function(e,t){AO(this,2,e,FO,t,arguments.length>2?arguments[2]:void 0)},setUint16:function(e,t){AO(this,2,e,FO,t,arguments.length>2?arguments[2]:void 0)},setInt32:function(e,t){AO(this,4,e,EO,t,arguments.length>2?arguments[2]:void 0)},setUint32:function(e,t){AO(this,4,e,EO,t,arguments.length>2?arguments[2]:void 0)},setFloat32:function(e,t){AO(this,4,e,UO,t,arguments.length>2?arguments[2]:void 0)},setFloat64:function(e,t){AO(this,8,e,JO,t,arguments.length>2?arguments[2]:void 0)}});vO(IO,XO),vO(WO,xO);var eQ={ArrayBuffer:IO,DataView:WO},tQ=Ew,nQ=uT,rQ=OZ,iQ=xX,aQ=Ax,oQ=Ox,sQ=mV,lQ=eQ.ArrayBuffer,uQ=eQ.DataView,cQ=uQ.prototype,dQ=nQ(lQ.prototype.slice),hQ=nQ(cQ.getUint8),fQ=nQ(cQ.setUint8);tQ({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:rQ((function(){return!new lQ(2).slice(1,void 0).byteLength}))},{slice:function(e,t){if(dQ&&void 0===t)return dQ(iQ(this),e);for(var n=iQ(this).byteLength,r=aQ(e,n),i=aQ(void 0===t?n:t,n),a=new(sQ(this,lQ))(oQ(i-r)),o=new uQ(this),s=new uQ(a),l=0;r<i;)fQ(s,l++,hQ(o,r++));return a}});var mQ,pQ,yQ,bQ={exports:{}},vQ=HB,gQ=QZ,ZQ=zZ,LQ=CL,SQ=KL,XQ=VS,xQ=xT,wQ=aS,TQ=HX,kQ=Px,IQ=gX.f,GQ=FL,WQ=FG,VQ=hW,RQ=jS,CQ=KS,MQ=gx.enforce,YQ=gx.get,KQ=ZQ.Int8Array,PQ=KQ&&KQ.prototype,HQ=ZQ.Uint8ClampedArray,_Q=HQ&&HQ.prototype,FQ=KQ&&WQ(KQ),EQ=PQ&&WQ(PQ),NQ=Object.prototype,UQ=ZQ.TypeError,JQ=RQ("toStringTag"),DQ=CQ("TYPED_ARRAY_TAG"),jQ="TypedArrayConstructor",AQ=vQ&&!!VQ&&"Opera"!==xQ(ZQ.opera),zQ=!1,BQ={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},OQ={BigInt64Array:8,BigUint64Array:8},QQ=function(e){var t=WQ(e);if(SQ(t)){var n=YQ(t);return n&&XQ(n,jQ)?n[jQ]:QQ(t)}},qQ=function(e){if(!SQ(e))return!1;var t=xQ(e);return XQ(BQ,t)||XQ(OQ,t)};for(mQ in BQ)(yQ=(pQ=ZQ[mQ])&&pQ.prototype)?MQ(yQ)[jQ]=pQ:AQ=!1;for(mQ in OQ)(yQ=(pQ=ZQ[mQ])&&pQ.prototype)&&(MQ(yQ)[jQ]=pQ);if((!AQ||!LQ(FQ)||FQ===Function.prototype)&&(FQ=function(){throw UQ("Incorrect invocation")},AQ))for(mQ in BQ)ZQ[mQ]&&VQ(ZQ[mQ],FQ);if((!AQ||!EQ||EQ===NQ)&&(EQ=FQ.prototype,AQ))for(mQ in BQ)ZQ[mQ]&&VQ(ZQ[mQ].prototype,EQ);if(AQ&&WQ(_Q)!==EQ&&VQ(_Q,EQ),gQ&&!XQ(EQ,JQ))for(mQ in zQ=!0,IQ(EQ,JQ,{get:function(){return SQ(this)?this[DQ]:void 0}}),BQ)ZQ[mQ]&&TQ(ZQ[mQ],DQ,mQ);var $Q={NATIVE_ARRAY_BUFFER_VIEWS:AQ,TYPED_ARRAY_TAG:zQ&&DQ,aTypedArray:function(e){if(qQ(e))return e;throw UQ("Target is not a typed array")},aTypedArrayConstructor:function(e){if(LQ(e)&&(!VQ||GQ(FQ,e)))return e;throw UQ(wQ(e)+" is not a typed array constructor")},exportTypedArrayMethod:function(e,t,n,r){if(gQ){if(n)for(var i in BQ){var a=ZQ[i];if(a&&XQ(a.prototype,e))try{delete a.prototype[e]}catch(Ude){try{a.prototype[e]=t}catch(o){}}}EQ[e]&&!n||kQ(EQ,e,n?t:AQ&&PQ[e]||t,r)}},exportTypedArrayStaticMethod:function(e,t,n){var r,i;if(gQ){if(VQ){if(n)for(r in BQ)if((i=ZQ[r])&&XQ(i,e))try{delete i[e]}catch(Ude){}if(FQ[e]&&!n)return;try{return kQ(FQ,e,n?t:AQ&&FQ[e]||t)}catch(Ude){}}for(r in BQ)!(i=ZQ[r])||i[e]&&!n||kQ(i,e,t)}},getTypedArrayConstructor:QQ,isView:function(e){if(!SQ(e))return!1;var t=xQ(e);return"DataView"===t||XQ(BQ,t)||XQ(OQ,t)},isTypedArray:qQ,TypedArray:FQ,TypedArrayPrototype:EQ},eq=zZ,tq=OZ,nq=ZM,rq=$Q.NATIVE_ARRAY_BUFFER_VIEWS,iq=eq.ArrayBuffer,aq=eq.Int8Array,oq=!rq||!tq((function(){aq(1)}))||!tq((function(){new aq(-1)}))||!nq((function(e){new aq,new aq(null),new aq(1.5),new aq(e)}),!0)||tq((function(){return 1!==new aq(new iq(2),1,void 0).length})),sq=KL,lq=Math.floor,uq=Number.isInteger||function(e){return!sq(e)&&isFinite(e)&&lq(e)===e},cq=Ux,dq=RangeError,hq=function(e){var t=cq(e);if(t<0)throw dq("The argument can't be less than 0");return t},fq=RangeError,mq=function(e,t){var n=hq(e);if(n%t)throw fq("Wrong offset");return n},pq=xT,yq=fL("".slice),bq=eX,vq=TypeError,gq=function(e){var t=bq(e,"number");if("number"==typeof t)throw vq("Can't convert number to bigint");return BigInt(t)},Zq=fT,Lq=tL,Sq=uV,Xq=IS,xq=qx,wq=QC,Tq=JC,kq=HC,Iq=function(e){return"Big"===yq(pq(e),0,3)},Gq=$Q.aTypedArrayConstructor,Wq=gq,Vq=Ew,Rq=zZ,Cq=tL,Mq=QZ,Yq=oq,Kq=$Q,Pq=eQ,Hq=aV,_q=lL,Fq=HX,Eq=uq,Nq=Ox,Uq=NB,Jq=mq,Dq=rX,jq=VS,Aq=xT,zq=KL,Bq=rS,Oq=LG,Qq=FL,qq=hW,$q=Hx.f,e$=function(e){var t,n,r,i,a,o,s,l,u=Sq(this),c=Xq(e),d=arguments.length,h=d>1?arguments[1]:void 0,f=void 0!==h,m=Tq(c);if(m&&!kq(m))for(l=(s=wq(c,m)).next,c=[];!(o=Lq(l,s)).done;)c.push(o.value);for(f&&d>2&&(h=Zq(h,arguments[2])),n=xq(c),r=new(Gq(u))(n),i=Iq(r),t=0;n>t;t++)a=f?h(c[t],t):c[t],r[t]=i?Wq(a):+a;return r},t$=$T.forEach,n$=nV,r$=gX,i$=BZ,a$=AY,o$=gx.get,s$=gx.set,l$=gx.enforce,u$=r$.f,c$=i$.f,d$=Math.round,h$=Rq.RangeError,f$=Pq.ArrayBuffer,m$=f$.prototype,p$=Pq.DataView,y$=Kq.NATIVE_ARRAY_BUFFER_VIEWS,b$=Kq.TYPED_ARRAY_TAG,v$=Kq.TypedArray,g$=Kq.TypedArrayPrototype,Z$=Kq.aTypedArrayConstructor,L$=Kq.isTypedArray,S$="BYTES_PER_ELEMENT",X$="Wrong length",x$=function(e,t){Z$(e);for(var n=0,r=t.length,i=new e(r);r>n;)i[n]=t[n++];return i},w$=function(e,t){u$(e,t,{get:function(){return o$(this)[t]}})},T$=function(e){var t;return Qq(m$,e)||"ArrayBuffer"==(t=Aq(e))||"SharedArrayBuffer"==t},k$=function(e,t){return L$(e)&&!Bq(t)&&t in e&&Eq(+t)&&t>=0},I$=function(e,t){return t=Dq(t),k$(e,t)?_q(2,e[t]):c$(e,t)},G$=function(e,t,n){return t=Dq(t),!(k$(e,t)&&zq(n)&&jq(n,"value"))||jq(n,"get")||jq(n,"set")||n.configurable||jq(n,"writable")&&!n.writable||jq(n,"enumerable")&&!n.enumerable?u$(e,t,n):(e[t]=n.value,e)};Mq?(y$||(i$.f=I$,r$.f=G$,w$(g$,"buffer"),w$(g$,"byteOffset"),w$(g$,"byteLength"),w$(g$,"length")),Vq({target:"Object",stat:!0,forced:!y$},{getOwnPropertyDescriptor:I$,defineProperty:G$}),bQ.exports=function(e,t,n){var r=e.match(/\d+$/)[0]/8,i=e+(n?"Clamped":"")+"Array",a="get"+e,o="set"+e,s=Rq[i],l=s,u=l&&l.prototype,c={},d=function(e,t){u$(e,t,{get:function(){return function(e,t){var n=o$(e);return n.view[a](t*r+n.byteOffset,!0)}(this,t)},set:function(e){return function(e,t,i){var a=o$(e);n&&(i=(i=d$(i))<0?0:i>255?255:255&i),a.view[o](t*r+a.byteOffset,i,!0)}(this,t,e)},enumerable:!0})};y$?Yq&&(l=t((function(e,t,n,i){return Hq(e,u),a$(zq(t)?T$(t)?void 0!==i?new s(t,Jq(n,r),i):void 0!==n?new s(t,Jq(n,r)):new s(t):L$(t)?x$(l,t):Cq(e$,l,t):new s(Uq(t)),e,l)})),qq&&qq(l,v$),t$($q(s),(function(e){e in l||Fq(l,e,s[e])})),l.prototype=u):(l=t((function(e,t,n,i){Hq(e,u);var a,o,s,c=0,h=0;if(zq(t)){if(!T$(t))return L$(t)?x$(l,t):Cq(e$,l,t);a=t,h=Jq(n,r);var f=t.byteLength;if(void 0===i){if(f%r)throw h$(X$);if((o=f-h)<0)throw h$(X$)}else if((o=Nq(i)*r)+h>f)throw h$(X$);s=o/r}else s=Uq(t),a=new f$(o=s*r);for(s$(e,{buffer:a,byteOffset:h,byteLength:o,length:s,view:new p$(a)});c<s;)d(e,c++)})),qq&&qq(l,v$),u=l.prototype=Oq(g$)),u.constructor!==l&&Fq(u,"constructor",l),l$(u).TypedArrayConstructor=l,b$&&Fq(u,b$,i);var h=l!=s;c[i]=l,Vq({global:!0,constructor:!0,forced:h,sham:!y$},c),S$ in l||Fq(l,S$,r),S$ in u||Fq(u,S$,r),n$(i)}):bQ.exports=function(){};var W$=bQ.exports;W$("Uint8",(function(e){return function(t,n,r){return e(this,t,n,r)}}));var V$=IS,R$=Ax,C$=qx,M$=AK,Y$=Math.min,K$=[].copyWithin||function(e,t){var n=V$(this),r=C$(n),i=R$(e,r),a=R$(t,r),o=arguments.length>2?arguments[2]:void 0,s=Y$((void 0===o?r:R$(o,r))-a,r-i),l=1;for(a<i&&i<a+s&&(l=-1,a+=s-1,i+=s-1);s-- >0;)a in n?n[i]=n[a]:M$(n,i),i+=l,a+=l;return n},P$=$Q,H$=fL(K$),_$=P$.aTypedArray;(0,P$.exportTypedArrayMethod)("copyWithin",(function(e,t){return H$(_$(this),e,t,arguments.length>2?arguments[2]:void 0)}));var F$=$T.every,E$=$Q.aTypedArray;(0,$Q.exportTypedArrayMethod)("every",(function(e){return F$(E$(this),e,arguments.length>1?arguments[1]:void 0)}));var N$=qB,U$=gq,J$=xT,D$=tL,j$=OZ,A$=$Q.aTypedArray,z$=$Q.exportTypedArrayMethod,B$=fL("".slice);z$("fill",(function(e){var t=arguments.length;A$(this);var n="Big"===B$(J$(this),0,3)?U$(e):+e;return D$(N$,this,n,t>1?arguments[1]:void 0,t>2?arguments[2]:void 0)}),j$((function(){var e=0;return new Int8Array(2).fill({valueOf:function(){return e++}}),1!==e})));var O$=qx,Q$=mV,q$=$Q.aTypedArrayConstructor,$$=$Q.getTypedArrayConstructor,e0=function(e){return q$(Q$(e,$$(e)))},t0=function(e,t){for(var n=0,r=O$(t),i=new e(r);r>n;)i[n]=t[n++];return i},n0=e0,r0=$T.filter,i0=function(e,t){return t0(n0(e),t)},a0=$Q.aTypedArray;(0,$Q.exportTypedArrayMethod)("filter",(function(e){var t=r0(a0(this),e,arguments.length>1?arguments[1]:void 0);return i0(this,t)}));var o0=$T.find,s0=$Q.aTypedArray;(0,$Q.exportTypedArrayMethod)("find",(function(e){return o0(s0(this),e,arguments.length>1?arguments[1]:void 0)}));var l0=$T.findIndex,u0=$Q.aTypedArray;(0,$Q.exportTypedArrayMethod)("findIndex",(function(e){return l0(u0(this),e,arguments.length>1?arguments[1]:void 0)}));var c0=$T.forEach,d0=$Q.aTypedArray;(0,$Q.exportTypedArrayMethod)("forEach",(function(e){c0(d0(this),e,arguments.length>1?arguments[1]:void 0)}));var h0=rw.includes,f0=$Q.aTypedArray;(0,$Q.exportTypedArrayMethod)("includes",(function(e){return h0(f0(this),e,arguments.length>1?arguments[1]:void 0)}));var m0=rw.indexOf,p0=$Q.aTypedArray;(0,$Q.exportTypedArrayMethod)("indexOf",(function(e){return m0(p0(this),e,arguments.length>1?arguments[1]:void 0)}));var y0=zZ,b0=OZ,v0=fL,g0=$Q,Z0=DW,L0=jS("iterator"),S0=y0.Uint8Array,X0=v0(Z0.values),x0=v0(Z0.keys),w0=v0(Z0.entries),T0=g0.aTypedArray,k0=g0.exportTypedArrayMethod,I0=S0&&S0.prototype,G0=!b0((function(){I0[L0].call([1])})),W0=!!I0&&I0.values&&I0[L0]===I0.values&&"values"===I0.values.name,V0=function(){return X0(T0(this))};k0("entries",(function(){return w0(T0(this))}),G0),k0("keys",(function(){return x0(T0(this))}),G0),k0("values",V0,G0||!W0,{name:"values"}),k0(L0,V0,G0||!W0,{name:"values"});var R0=$Q.aTypedArray,C0=$Q.exportTypedArrayMethod,M0=fL([].join);C0("join",(function(e){return M0(R0(this),e)}));var Y0=jw,K0=GL,P0=Ux,H0=qx,_0=Gk,F0=Math.min,E0=[].lastIndexOf,N0=!!E0&&1/[1].lastIndexOf(1,-0)<0,U0=_0("lastIndexOf"),J0=N0||!U0?function(e){if(N0)return Y0(E0,this,arguments)||0;var t=K0(this),n=H0(t),r=n-1;for(arguments.length>1&&(r=F0(r,P0(arguments[1]))),r<0&&(r=n+r);r>=0;r--)if(r in t&&t[r]===e)return r||0;return-1}:E0,D0=jw,j0=J0,A0=$Q.aTypedArray;(0,$Q.exportTypedArrayMethod)("lastIndexOf",(function(e){var t=arguments.length;return D0(j0,A0(this),t>1?[e,arguments[1]]:[e])}));var z0=$T.map,B0=e0,O0=$Q.aTypedArray;(0,$Q.exportTypedArrayMethod)("map",(function(e){return z0(O0(this),e,arguments.length>1?arguments[1]:void 0,(function(e,t){return new(B0(e))(t)}))}));var Q0=uS,q0=IS,$0=SL,e1=qx,t1=TypeError,n1=function(e){return function(t,n,r,i){Q0(n);var a=q0(t),o=$0(a),s=e1(a),l=e?s-1:0,u=e?-1:1;if(r<2)for(;;){if(l in o){i=o[l],l+=u;break}if(l+=u,e?l<0:s<=l)throw t1("Reduce of empty array with no initial value")}for(;e?l>=0:s>l;l+=u)l in o&&(i=n(i,o[l],l,a));return i}},r1={left:n1(!1),right:n1(!0)},i1=r1.left,a1=$Q.aTypedArray;(0,$Q.exportTypedArrayMethod)("reduce",(function(e){var t=arguments.length;return i1(a1(this),e,t,t>1?arguments[1]:void 0)}));var o1=r1.right,s1=$Q.aTypedArray;(0,$Q.exportTypedArrayMethod)("reduceRight",(function(e){var t=arguments.length;return o1(s1(this),e,t,t>1?arguments[1]:void 0)}));var l1=$Q.aTypedArray,u1=$Q.exportTypedArrayMethod,c1=Math.floor;u1("reverse",(function(){for(var e,t=this,n=l1(t).length,r=c1(n/2),i=0;i<r;)e=t[i],t[i++]=t[--n],t[n]=e;return t}));var d1=zZ,h1=tL,f1=$Q,m1=qx,p1=mq,y1=IS,b1=OZ,v1=d1.RangeError,g1=d1.Int8Array,Z1=g1&&g1.prototype,L1=Z1&&Z1.set,S1=f1.aTypedArray,X1=f1.exportTypedArrayMethod,x1=!b1((function(){var e=new Uint8ClampedArray(2);return h1(L1,e,{length:1,0:3},1),3!==e[1]})),w1=x1&&f1.NATIVE_ARRAY_BUFFER_VIEWS&&b1((function(){var e=new g1(2);return e.set(1),e.set("2",1),0!==e[0]||2!==e[1]}));X1("set",(function(e){S1(this);var t=p1(arguments.length>1?arguments[1]:void 0,1),n=y1(e);if(x1)return h1(L1,this,n,t);var r=this.length,i=m1(n),a=0;if(i+t>r)throw v1("Wrong length");for(;a<i;)this[t+a]=n[a++]}),!x1||w1);var T1=e0,k1=Aw,I1=$Q.aTypedArray;(0,$Q.exportTypedArrayMethod)("slice",(function(e,t){for(var n=k1(I1(this),e,t),r=T1(this),i=0,a=n.length,o=new r(a);a>i;)o[i]=n[i++];return o}),OZ((function(){new Int8Array(1).slice()})));var G1=$T.some,W1=$Q.aTypedArray;(0,$Q.exportTypedArrayMethod)("some",(function(e){return G1(W1(this),e,arguments.length>1?arguments[1]:void 0)}));var V1=EL.match(/firefox\/(\d+)/i),R1=!!V1&&+V1[1],C1=/MSIE|Trident/.test(EL),M1=EL.match(/AppleWebKit\/(\d+)\./),Y1=!!M1&&+M1[1],K1=uT,P1=OZ,H1=uS,_1=kD,F1=R1,E1=C1,N1=zL,U1=Y1,J1=$Q.aTypedArray,D1=$Q.exportTypedArrayMethod,j1=zZ.Uint16Array,A1=j1&&K1(j1.prototype.sort),z1=!(!A1||P1((function(){A1(new j1(2),null)}))&&P1((function(){A1(new j1(2),{})}))),B1=!!A1&&!P1((function(){if(N1)return N1<74;if(F1)return F1<67;if(E1)return!0;if(U1)return U1<602;var e,t,n=new j1(516),r=Array(516);for(e=0;e<516;e++)t=e%4,n[e]=515-e,r[e]=e-2*t+3;for(A1(n,(function(e,t){return(e/4|0)-(t/4|0)})),e=0;e<516;e++)if(n[e]!==r[e])return!0}));D1("sort",(function(e){return void 0!==e&&H1(e),B1?A1(this,e):_1(J1(this),function(e){return function(t,n){return void 0!==e?+e(t,n)||0:n!=n?-1:t!=t?1:0===t&&0===n?1/t>0&&1/n<0?1:-1:t>n}}(e))}),!B1||z1);var O1=Ox,Q1=Ax,q1=e0,$1=$Q.aTypedArray;(0,$Q.exportTypedArrayMethod)("subarray",(function(e,t){var n=$1(this),r=n.length,i=Q1(e,r);return new(q1(n))(n.buffer,n.byteOffset+i*n.BYTES_PER_ELEMENT,O1((void 0===t?r:Q1(t,r))-i))}));var e2=jw,t2=$Q,n2=OZ,r2=Aw,i2=zZ.Int8Array,a2=t2.aTypedArray,o2=t2.exportTypedArrayMethod,s2=[].toLocaleString,l2=!!i2&&n2((function(){s2.call(new i2(1))}));o2("toLocaleString",(function(){return e2(s2,l2?r2(a2(this)):a2(this),r2(arguments))}),n2((function(){return[1,2].toLocaleString()!=new i2([1,2]).toLocaleString()}))||!n2((function(){i2.prototype.toLocaleString.call([1,2])})));var u2=$Q.exportTypedArrayMethod,c2=OZ,d2=fL,h2=zZ.Uint8Array,f2=h2&&h2.prototype||{},m2=[].toString,p2=d2([].join);c2((function(){m2.call({})}))&&(m2=function(){return p2(this)});var y2=f2.toString!=m2;u2("toString",m2,y2);var b2=uT,v2=Px,g2=WB,Z2=OZ,L2=jS,S2=HX,X2=L2("species"),x2=RegExp.prototype,w2=function(e,t,n,r){var i=L2(e),a=!Z2((function(){var t={};return t[i]=function(){return 7},7!=""[e](t)})),o=a&&!Z2((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[X2]=function(){return n},n.flags="",n[i]=/./[i]),n.exec=function(){return t=!0,null},n[i](""),!t}));if(!a||!o||n){var s=b2(/./[i]),l=t(i,""[e],(function(e,t,n,r,i){var o=b2(e),l=t.exec;return l===g2||l===x2.exec?a&&!i?{done:!0,value:s(t,n,r)}:{done:!0,value:o(n,t,r)}:{done:!1}}));v2(String.prototype,e,l[0]),v2(x2,i,l[1])}r&&S2(x2[i],"sham",!0)},T2=KL,k2=bL,I2=jS("match"),G2=function(e){var t;return T2(e)&&(void 0!==(t=e[I2])?!!t:"RegExp"==k2(e))},W2=sY.charAt,V2=function(e,t,n){return t+(n?W2(e,t).length:1)},R2=tL,C2=xX,M2=CL,Y2=bL,K2=WB,P2=TypeError,H2=function(e,t){var n=e.exec;if(M2(n)){var r=R2(n,e,t);return null!==r&&C2(r),r}if("RegExp"===Y2(e))return R2(K2,e,t);throw P2("RegExp#exec called on incompatible receiver")},_2=jw,F2=tL,E2=fL,N2=w2,U2=xX,J2=XL,D2=G2,j2=TL,A2=mV,z2=V2,B2=Ox,O2=qM,Q2=hS,q2=tD,$2=H2,e5=WB,t5=OZ,n5=iB.UNSUPPORTED_Y,r5=4294967295,i5=Math.min,a5=[].push,o5=E2(/./.exec),s5=E2(a5),l5=E2("".slice),u5=!t5((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));N2("split",(function(e,t,n){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,n){var r=O2(j2(this)),i=void 0===n?r5:n>>>0;if(0===i)return[];if(void 0===e)return[r];if(!D2(e))return F2(t,r,e,i);for(var a,o,s,l=[],u=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),c=0,d=new RegExp(e.source,u+"g");(a=F2(e5,d,r))&&!((o=d.lastIndex)>c&&(s5(l,l5(r,c,a.index)),a.length>1&&a.index<r.length&&_2(a5,l,q2(a,1)),s=a[0].length,c=o,l.length>=i));)d.lastIndex===a.index&&d.lastIndex++;return c===r.length?!s&&o5(d,"")||s5(l,""):s5(l,l5(r,c)),l.length>i?q2(l,0,i):l}:"0".split(void 0,0).length?function(e,n){return void 0===e&&0===n?[]:F2(t,this,e,n)}:t,[function(t,n){var i=j2(this),a=J2(t)?void 0:Q2(t,e);return a?F2(a,t,i,n):F2(r,O2(i),t,n)},function(e,i){var a=U2(this),o=O2(e),s=n(r,a,o,i,r!==t);if(s.done)return s.value;var l=A2(a,RegExp),u=a.unicode,c=(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.unicode?"u":"")+(n5?"g":"y"),d=new l(n5?"^(?:"+a.source+")":a,c),h=void 0===i?r5:i>>>0;if(0===h)return[];if(0===o.length)return null===$2(d,o)?[o]:[];for(var f=0,m=0,p=[];m<o.length;){d.lastIndex=n5?0:m;var y,b=$2(d,n5?l5(o,m):o);if(null===b||(y=i5(B2(d.lastIndex+(n5?m:0)),o.length))===f)m=z2(o,m,u);else{if(s5(p,l5(o,f,m)),p.length===h)return p;for(var v=1;v<=b.length-1;v++)if(s5(p,b[v]),p.length===h)return p;m=f=y}}return s5(p,l5(o,f)),p}]}),!u5,n5);var c5=DX.PROPER,d5=OZ,h5=BY,f5=iK.trim;Ew({target:"String",proto:!0,forced:function(e){return d5((function(){return!!h5[e]()||"​…᠎"!=="​…᠎"[e]()||c5&&h5[e].name!==e}))}("trim")},{trim:function(){return f5(this)}});var m5=function(){function e(){Fz(this,e),this.timeID=null,this.func=null}return Nz(e,[{key:"repeat",value:function(e,t){this.timeID=1,this.repeatInterval(e,t)}},{key:"repeatInterval",value:function(e,t){var n=this;this.timeID&&(null===this.func&&(this.func=e),this.func===e&&(this.timeID&&clearTimeout(this.timeID),this.timeID=null,this.timeID=On((function(){e(),n.repeatInterval(e,t)}),t)))}},{key:"clear",value:function(){clearTimeout(this.timeID),this.timeID=null}}]),e}(),p5=y5&&!function(){var e="_localstorage_support_test";try{return localStorage.setItem(e,!0),localStorage.removeItem(e),!1}catch(t){return!0}}();function y5(){try{return"undefined"!=typeof localStorage&&"setItem"in localStorage&&!!localStorage.setItem}catch(e){return!1}}var b5={length:p5?localStorage.length:0,clear:function(e){try{for(var t=localStorage.length-1;t>=0;t--){var n=localStorage.key(t);0===ro(n).call(n,e)&&localStorage.removeItem(n)}}catch(Ude){}},getItem:function(e){try{return localStorage.getItem(e)}catch(Ude){return null}},key:function(e){try{return localStorage.key(e)}catch(Ude){return null}},setItem:function(e,t){try{localStorage.setItem(e,t)}catch(Ude){}},removeItem:function(e){try{localStorage.removeItem(e)}catch(Ude){}},isSupport:p5},v5="video",g5="appendBuffer",Z5="removeBuffer",L5="mse_error",S5="updateend",X5="mse_open",x5="mse_open_done",w5=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=cg(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),ag(e,"prototype",{writable:!1}),t&&kJ(e,t)}(a,e);var t,n,r,i=GJ(a);function a(e,t){var n,r,o,s;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),(s=i.call(this)).mediaSource=new window.MediaSource(e),s.url=FU.createObjectURL(s.mediaSource),s.queue=[],s._hasDestroyed=!1,s._onSourceOpen=Xo(n=s._onSourceOpen).call(n,IJ(s)),s._onSourceBufferError=Xo(r=s._onSourceBufferError).call(r,IJ(s)),s._onSourceBufferUpdateEnd=Xo(o=s._onSourceBufferUpdateEnd).call(o,IJ(s)),s._mseStart=T5(),s._appendStart=-1,s.mediaSource.addEventListener("sourceopen",s._onSourceOpen),s.opQueues={},s.sourceBuffers={},s.updateHanders={},s.errorHandlers={},s.logger=t||function(){},s._sourceOpenDonePromise=new Uz,s._mseAppendFlag=!1,s._mseOpenTime=-1,s.mseFullFlag={},s}return t=a,n=[{key:"init",value:function(){var e,t,n,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(n={mimeType:"video/mp4",codec:'video/mp4; codecs="avc1.64001E, mp4a.40.5"'},(t=v5)in(e={})?ag(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e);return this.contentTypes=r,this._sourceOpenDonePromise}},{key:"_onSourceOpen",value:function(){var e=this;this._mseOpenTime=T5()-this._mseStart,console.log("[mseOpen]==> costtime",this._mseOpenTime),this.mediaSource.removeEventListener("sourceopen",this._onSourceOpen),this.emit(X5,{costtime:this._mseOpenTime});for(var t=ca(this.contentTypes),n=0;n<t.length;n++)try{!function(){var r=t[n],i=e.contentTypes[r].codec,a=e.mediaSource.addSourceBuffer(i),o=function(){return e._onSourceBufferError(r)};a.addEventListener("error",o);var s=function(){return e._onSourceBufferUpdateEnd(r)};a.addEventListener("updateend",s),e.updateHanders={},e.sourceBuffers[r]=a,e.opQueues[r]=[],e.updateHanders[r]=s,e.errorHandlers[r]=o}()}catch(Ude){Ude.errtype="open_error",this.emit(L5,Ude)}this.logger("[debug mse] mse init ready, readyState",this.mediaSource.readyState),this._mseAppendFlag=!0,this.emit(x5,{costtime:T5()-this._mseStart}),this._sourceOpenDonePromise.resolve()}},{key:"ready",get:function(){return this._mseAppendFlag}},{key:"_onSourceBufferError",value:function(e){if(!this._hasDestroyed){this.logger("[debug mse] sourceBuffer error, contentType",e,"readyState",this.mediaSource.readyState);var t=this.opQueues[e][0];this.emit(L5,{errtype:"append_error",name:t.name,context:t.context})}}},{key:"_onSourceBufferUpdateEnd",value:function(e){if(!this._hasDestroyed){var t=this.opQueues[e][0];t&&(this.emit(S5,{name:t.name,context:t.context,costtime:T5()-this._appendStart}),this.pop(e))}}},{key:"state",get:function(){return this.mediaSource.readyState}},{key:"duration",get:function(){return this.mediaSource.duration}},{key:"setDuration",value:function(e){var t=this;this.mediaSource.duration>e||this.enqueueBlockOp((function(){t.ended()?t.logger("[debug mse] setDuration ended"):(t.logger("[debug mse] setDuration"),t.mediaSource.duration=e)}),"setDuration")}},{key:"appendBuffer",value:function(e,t,n){var r=this;return this.enqueueOp(e,(function(){return r._append(e,t,n)}),g5,n)}},{key:"_append",value:function(e,t,n){this._appendStart=T5(),this.logger("[real appendBuffer], context,",n),this.sourceBuffers[e].appendBuffer(t)}},{key:"enqueueOp",value:function(e,t,n,r){var i=this;if(!this._hasDestroyed){var a={handler:t,context:r,name:n};return this._mseAppendFlag?this._enQueue(e,a):this._sourceOpenDonePromise.then((function(){i._hasDestroyed||i._enQueue(e,a)})),a.p}}},{key:"_enQueue",value:function(e,t){var n;this.opQueues[e]||(this.opQueues[e]=[]),this.mseFullFlag[e]&&t.name===Z5?(Cp(n=this.opQueues[e]).call(n,0,0,t),this.mseFullFlag[e]=!1,this.handleOp(e)):(this.opQueues[e].push(t),1===this.opQueues[e].length&&this.handleOp(e))}},{key:"enqueueBlockOp",value:function(e,t){var n=this;this._hasDestroyed||this._sourceOpenDonePromise.then((function(){if(!n._hasDestroyed){for(var r=[],i=ca(n.contentTypes),a=function(e){var a=i[e],o=new Uz,s={handler:function(){return o.resolve()},p:o,name:t};n.opQueues[a]||(n.opQueues[a]=[]),n.opQueues[a].push(s),r.push(o),1===n.opQueues[a].length&&s.handler()},o=0;o<i.length;o++)a(o);sp.all(r).then((function(){try{e()}catch(a){console.log(a)}finally{for(var t=0;t<i.length;t++){var r=i[t];n.pop(r)}}})).catch((function(e){console.log("waiting cath",e)}))}}))}},{key:"isFull",value:function(e){return e?this.mseFullFlag[e]:this.mseFullFlag[v5]}},{key:"handleOp",value:function(e){if(!this._hasDestroyed){var t=this.opQueues[e][0];if(t&&!this.mseFullFlag[e])try{t.handler()}catch(Ude){var n;Ude&&ro(n=Ude.message).call(n,"SourceBuffer is full")>=0?(this.mseFullFlag[e]=!0,this.logger("[MSE error], context,",t.context,",name,",t.name,",err,SourceBuffer is full")):this.pop(e),this.emit(L5,{errtype:"append_error",context:t.context,errMsg:Ude?Ude.message:null})}}}},{key:"pop",value:function(e){this._hasDestroyed||(this.opQueues[e].shift(),this.handleOp(e))}},{key:"clearOpqueues",value:function(e){var t,n,r=[];if(Ro(t=this.opQueues[e]).call(t,(function(e){e.context.isinit&&r.push(e)})),this.opQueues&&this.opQueues[e]&&this.opQueues[e].length>1)if(this.opQueues[e][0].name===g5||this.opQueues[e][0].name===Z5){var i;this.logger("[debug mse] clearOpqueues, left:",1,", len,",this.opQueues[e].length),this.opQueues[e]=Ag(i=this.opQueues[e]).call(i,0,1)}else{var a,o=Math.min(this.opQueues[e].length,ca(this.contentTypes).length);this.logger("[debug mse] clearOpqueues, left:",o,", len,",this.opQueues[e].length),this.opQueues[e]=Ag(a=this.opQueues[e]).call(a,0,o)}r.length>0&&(n=this.opQueues[e]).push.apply(n,r)}},{key:"removeBuffer",value:function(e,t,n,r){var i=this;return this.enqueueOp(e,(function(){return i._remove(e,t,n,r)}),Z5,r)}},{key:"_remove",value:function(e,t,n,r){n<=t?this._onSourceBufferUpdateEnd(e):(this.logger("[debug mse],real removeBuffer, context,",r),this._appendStart=T5(),this.sourceBuffers[e].remove(t,n))}},{key:"endOfStream",value:function(){var e=this;this._hasDestroyed||this.ended()||this.enqueueBlockOp((function(){e._hasDestroyed||e.ended()||(e.logger("[debug mse] endOfStream"),e.mediaSource.endOfStream())}),"endOfStream")}},{key:"ended",value:function(){return!!this.mediaSource&&"ended"===this.mediaSource.readyState}},{key:"isMediaSourceOpen",value:function(){return!!this.mediaSource&&"open"===this.mediaSource.readyState}},{key:"abort",value:function(e){var t=this;return this.isMediaSourceOpen()?this.enqueueOp(e,(function(){t.sourceBuffers[e].abort(),t._onSourceBufferUpdateEnd(e)}),"abort"):sp.resolve()}},{key:"reuse",value:function(e,t){for(var n=ca(this.contentTypes),r=0;r<n.length;r++){var i=n[r];this.removeBuffer(i,e,t,{start:e,end:t})}}},{key:"_forceAbort",value:function(){try{for(var e=ca(this.contentTypes),t=0;t<e.length;t++){var n=e[t];this.sourceBuffers[n].abort()}}catch(Ude){console.log("forceAbort error")}}},{key:"destroy",value:function(){if(this.logger("[debug mse] destroy execute"),!this._hasDestroyed){this._forceAbort(),this._hasDestroyed=!0,FU.revokeObjectURL(this.url),this.mediaSource&&(this.mediaSource.removeEventListener("sourceclose",this._onMediaSourceClose),this.mediaSource.removeEventListener("sourceopen",this._onSourceOpen));for(var e=ca(this.contentTypes),t=0;t<e.length;t++){var n=e[t],r=this.sourceBuffers[n];if(r){var i=this.errorHandlers[n];r.removeEventListener("error",i);var a=this.updateHanders[n];r.removeEventListener("updateend",a)}}this.opQueues={},this.sourceBuffers={}}}},{key:"buffered",value:function(e){return this.sourceBuffers[e]&&this.sourceBuffers[e].buffered}},{key:"sourceBuffer",value:function(e){return this.sourceBuffers[e]}},{key:"removeSourceBuffer",value:function(e){var t=this.sourceBuffer(e);if(t){this.mediaSource.removeSourceBuffer(t);var n=this.errorHandlers[e];t.removeEventListener("error",n);var r=this.updateHanders[e];t.removeEventListener("updateend",r),delete this.errorHandlers[e],delete this.sourceBuffers[e],delete this.updateHanders[e]}}},{key:"setTimeoffset",value:function(e,t){var n=this;return this.enqueueOp(e,(function(){t<0&&(t+=.001),n.sourceBuffers[e].timestampOffset=t,n._onSourceBufferUpdateEnd(e)}),"setTimeoffset")}}],r=[{key:"isSupported",value:function(e){return window.MediaSource&&window.MediaSource.isTypeSupported(e)}}],n&&wJ(t.prototype,n),r&&wJ(t,r),ag(t,"prototype",{writable:!1}),a}(sH),T5=function(){try{return ty(performance.now(),10)}catch(e){return(new Date).getTime()}},k5={exports:{}},I5=i((function(){if("function"==typeof ArrayBuffer){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}})),G5=i,W5=$,V5=g,R5=I5,C5=Object.isExtensible,M5=G5((function(){C5(1)}))||R5?function(e){return!!W5(e)&&((!R5||"ArrayBuffer"!=V5(e))&&(!C5||C5(e)))}:C5,Y5=!i((function(){return Object.isExtensible(Object.preventExtensions({}))})),K5=Gn,P5=p,H5=Qi,_5=$,F5=Qe,E5=Ot.f,N5=Vu,U5=ny,J5=M5,D5=Y5,j5=!1,A5=nt("meta"),z5=0,B5=function(e){E5(e,A5,{value:{objectID:"O"+z5++,weakData:{}}})},O5=k5.exports={enable:function(){O5.enable=function(){},j5=!0;var e=N5.f,t=P5([].splice),n={};n[A5]=1,e(n).length&&(N5.f=function(n){for(var r=e(n),i=0,a=r.length;i<a;i++)if(r[i]===A5){t(r,i,1);break}return r},K5({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:U5.f}))},fastKey:function(e,t){if(!_5(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!F5(e,A5)){if(!J5(e))return"F";if(!t)return"E";B5(e)}return e[A5].objectID},getWeakData:function(e,t){if(!F5(e,A5)){if(!J5(e))return!0;if(!t)return!1;B5(e)}return e[A5].weakData},onFreeze:function(e){return D5&&j5&&J5(e)&&!F5(e,A5)&&B5(e),e}};H5[A5]=!0;var Q5=k5.exports,q5=Gn,$5=r,e9=Q5,t9=i,n9=bn,r9=Pc,i9=yd,a9=T,o9=$,s9=sl,l9=Ot.f,u9=Or.forEach,c9=I,d9=$o.set,h9=$o.getterFor,f9=Vs,m9=ld,p9=CF,y9=Bt,b9=yd,v9=J,g9=Pc,Z9=Fl,L9=El,S9=fd,X9=I,x9=Q5.fastKey,w9=$o.set,T9=$o.getterFor,k9={getConstructor:function(e,t,n,r){var i=e((function(e,i){b9(e,a),w9(e,{type:t,index:f9(null),first:void 0,last:void 0,size:0}),X9||(e.size=0),v9(i)||g9(i,e[r],{that:e,AS_ENTRIES:n})})),a=i.prototype,o=T9(t),s=function(e,t,n){var r,i,a=o(e),s=l(e,t);return s?s.value=n:(a.last=s={index:i=x9(t,!0),key:t,value:n,previous:r=a.last,next:void 0,removed:!1},a.first||(a.first=s),r&&(r.next=s),X9?a.size++:e.size++,"F"!==i&&(a.index[i]=s)),e},l=function(e,t){var n,r=o(e),i=x9(t);if("F"!==i)return r.index[i];for(n=r.first;n;n=n.next)if(n.key==t)return n};return p9(a,{clear:function(){for(var e=o(this),t=e.index,n=e.first;n;)n.removed=!0,n.previous&&(n.previous=n.previous.next=void 0),delete t[n.index],n=n.next;e.first=e.last=void 0,X9?e.size=0:this.size=0},delete:function(e){var t=this,n=o(t),r=l(t,e);if(r){var i=r.next,a=r.previous;delete n.index[r.index],r.removed=!0,a&&(a.next=i),i&&(i.previous=a),n.first==r&&(n.first=i),n.last==r&&(n.last=a),X9?n.size--:t.size--}return!!r},forEach:function(e){for(var t,n=o(this),r=y9(e,arguments.length>1?arguments[1]:void 0);t=t?t.next:n.first;)for(r(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!l(this,e)}}),p9(a,n?{get:function(e){var t=l(this,e);return t&&t.value},set:function(e,t){return s(this,0===e?0:e,t)}}:{add:function(e){return s(this,e=0===e?0:e,e)}}),X9&&m9(a,"size",{configurable:!0,get:function(){return o(this).size}}),i},setStrong:function(e,t,n){var r=t+" Iterator",i=T9(t),a=T9(r);Z9(e,t,(function(e,t){w9(this,{type:r,target:e,state:i(e),kind:t,last:void 0})}),(function(){for(var e=a(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?L9("keys"==t?n.key:"values"==t?n.value:[n.key,n.value],!1):(e.target=void 0,L9(void 0,!0))}),n?"entries":"values",!n,!0),S9(t)}};(function(e,t,n){var r,i=-1!==e.indexOf("Map"),a=-1!==e.indexOf("Weak"),o=i?"set":"add",s=$5[e],l=s&&s.prototype,u={};if(c9&&a9(s)&&(a||l.forEach&&!t9((function(){(new s).entries().next()})))){var c=(r=t((function(t,n){d9(i9(t,c),{type:e,collection:new s}),null!=n&&r9(n,t[o],{that:t,AS_ENTRIES:i})}))).prototype,d=h9(e);u9(["add","clear","delete","forEach","get","has","set","keys","values","entries"],(function(e){var t="add"==e||"set"==e;!(e in l)||a&&"clear"==e||n9(c,e,(function(n,r){var i=d(this).collection;if(!t&&a&&!o9(n))return"get"==e&&void 0;var o=i[e](0===n?0:n,r);return t?this:o}))})),a||l9(c,"size",{configurable:!0,get:function(){return d(this).collection.size}})}else r=n.getConstructor(t,e,i,o),e9.enable();s9(r,e,!1,!0),u[e]=r,q5({global:!0,forced:!0},u),a||n.setStrong(r,e,i)})("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),k9);var I9=ee.Map,G9=Bt,W9=V,V9=We,R9=Zd,C9=J,M9=Pc,Y9=[].push,K9=function(e){var t,n,r,i,a=arguments.length,o=a>1?arguments[1]:void 0;return R9(this),(t=void 0!==o)&&V9(o),C9(e)?new this:(n=[],t?(r=0,i=G9(o,a>2?arguments[2]:void 0),M9(e,(function(e){W9(Y9,n,i(e,r++))}))):M9(e,Y9,{that:n}),new this(n))};Gn({target:"Map",stat:!0,forced:!0},{from:K9});var P9=Vn,H9=function(){return new this(P9(arguments))};Gn({target:"Map",stat:!0,forced:!0},{of:H9});var _9=Te,F9=function(e){if("object"==typeof e&&"size"in e&&"has"in e&&"get"in e&&"set"in e&&"delete"in e&&"entries"in e)return e;throw TypeError(_9(e)+" is not a map")},E9=function(e,t){return 1==t?function(t,n){return t[e](n)}:function(t,n,r){return t[e](n,r)}},N9=ae("Map"),U9={Map:N9,set:E9("set",2),get:E9("get",1),has:E9("has",1),remove:E9("delete",1),proto:N9.prototype},J9=F9,D9=U9.remove;Gn({target:"Map",proto:!0,real:!0,forced:!0},{deleteAll:function(){for(var e,t=J9(this),n=!0,r=0,i=arguments.length;r<i;r++)e=D9(t,arguments[r]),n=n&&e;return!!n}});var j9=F9,A9=U9.get,z9=U9.has,B9=U9.set;Gn({target:"Map",proto:!0,real:!0,forced:!0},{emplace:function(e,t){var n,r,i=j9(this);return z9(i,e)?(n=A9(i,e),"update"in t&&(n=t.update(n,e,i),B9(i,e,n)),n):(r=t.insert(e,i),B9(i,e,r),r)}});var O9=V,Q9=function(e,t,n){for(var r,i,a=n||e.next;!(r=O9(a,e)).done;)if(void 0!==(i=t(r.value)))return i},q9=function(e,t,n){return n?Q9(e.entries(),(function(e){return t(e[1],e[0])})):e.forEach(t)},$9=Bt,e3=F9,t3=q9;Gn({target:"Map",proto:!0,real:!0,forced:!0},{every:function(e){var t=e3(this),n=$9(e,arguments.length>1?arguments[1]:void 0);return!1!==t3(t,(function(e,r){if(!n(e,r,t))return!1}),!0)}});var n3=Bt,r3=F9,i3=q9,a3=U9.Map,o3=U9.set;Gn({target:"Map",proto:!0,real:!0,forced:!0},{filter:function(e){var t=r3(this),n=n3(e,arguments.length>1?arguments[1]:void 0),r=new a3;return i3(t,(function(e,i){n(e,i,t)&&o3(r,i,e)})),r}});var s3=Bt,l3=F9,u3=q9;Gn({target:"Map",proto:!0,real:!0,forced:!0},{find:function(e){var t=l3(this),n=s3(e,arguments.length>1?arguments[1]:void 0),r=u3(t,(function(e,r){if(n(e,r,t))return{value:e}}),!0);return r&&r.value}});var c3=Bt,d3=F9,h3=q9;Gn({target:"Map",proto:!0,real:!0,forced:!0},{findKey:function(e){var t=d3(this),n=c3(e,arguments.length>1?arguments[1]:void 0),r=h3(t,(function(e,r){if(n(e,r,t))return{key:r}}),!0);return r&&r.key}});var f3=Gn,m3=V,p3=T,y3=We,b3=Pc,v3=U9.Map,g3=p([].push);f3({target:"Map",stat:!0,forced:!0},{groupBy:function(e,t){var n=new(p3(this)?this:v3);y3(t);var r=y3(n.has),i=y3(n.get),a=y3(n.set);return b3(e,(function(e){var o=t(e);m3(r,n,o)?g3(m3(i,n,o),e):m3(a,n,o,[e])})),n}});var Z3=function(e,t){return e===t||e!=e&&t!=t},L3=F9,S3=q9;Gn({target:"Map",proto:!0,real:!0,forced:!0},{includes:function(e){return!0===S3(L3(this),(function(t){if(Z3(t,e))return!0}),!0)}});var X3=V,x3=Pc,w3=T,T3=We,k3=U9.Map;Gn({target:"Map",stat:!0,forced:!0},{keyBy:function(e,t){var n=new(w3(this)?this:k3);T3(t);var r=T3(n.set);return x3(e,(function(e){X3(r,n,t(e),e)})),n}});var I3=F9,G3=q9;Gn({target:"Map",proto:!0,real:!0,forced:!0},{keyOf:function(e){var t=G3(I3(this),(function(t,n){if(t===e)return{key:n}}),!0);return t&&t.key}});var W3=Bt,V3=F9,R3=q9,C3=U9.Map,M3=U9.set;Gn({target:"Map",proto:!0,real:!0,forced:!0},{mapKeys:function(e){var t=V3(this),n=W3(e,arguments.length>1?arguments[1]:void 0),r=new C3;return R3(t,(function(e,i){M3(r,n(e,i,t),e)})),r}});var Y3=Bt,K3=F9,P3=q9,H3=U9.Map,_3=U9.set;Gn({target:"Map",proto:!0,real:!0,forced:!0},{mapValues:function(e){var t=K3(this),n=Y3(e,arguments.length>1?arguments[1]:void 0),r=new H3;return P3(t,(function(e,i){_3(r,i,n(e,i,t))})),r}});var F3=F9,E3=Pc,N3=U9.set;Gn({target:"Map",proto:!0,real:!0,arity:1,forced:!0},{merge:function(e){for(var t=F3(this),n=arguments.length,r=0;r<n;)E3(arguments[r++],(function(e,n){N3(t,e,n)}),{AS_ENTRIES:!0});return t}});var U3=We,J3=F9,D3=q9,j3=TypeError;Gn({target:"Map",proto:!0,real:!0,forced:!0},{reduce:function(e){var t=J3(this),n=arguments.length<2,r=n?void 0:arguments[1];if(U3(e),D3(t,(function(i,a){n?(n=!1,r=i):r=e(r,i,a,t)})),n)throw j3("Reduce of empty map with no initial value");return r}});var A3=Bt,z3=F9,B3=q9;Gn({target:"Map",proto:!0,real:!0,forced:!0},{some:function(e){var t=z3(this),n=A3(e,arguments.length>1?arguments[1]:void 0);return!0===B3(t,(function(e,r){if(n(e,r,t))return!0}),!0)}});var O3=We,Q3=F9,q3=TypeError,$3=U9.get,e4=U9.has,t4=U9.set;Gn({target:"Map",proto:!0,real:!0,forced:!0},{update:function(e,t){var n=Q3(this),r=arguments.length;O3(t);var i=e4(n,e);if(!i&&r<3)throw q3("Updating absent value");var a=i?$3(n,e):O3(r>2?arguments[2]:void 0)(e,n);return t4(n,e,t(a,e,n)),n}});var n4=V,r4=We,i4=T,a4=tn,o4=TypeError,s4=function(e,t){var n,r=a4(this),i=r4(r.get),a=r4(r.has),o=r4(r.set),s=arguments.length>2?arguments[2]:void 0;if(!i4(t)&&!i4(s))throw o4("At least one callback required");return n4(a,r,e)?(n=n4(i,r,e),i4(t)&&(n=t(n),n4(o,r,e,n))):i4(s)&&(n=s(),n4(o,r,e,n)),n};Gn({target:"Map",proto:!0,real:!0,forced:!0},{upsert:s4}),Gn({target:"Map",proto:!0,real:!0,name:"upsert",forced:!0},{updateOrInsert:s4});var l4=t(I9),u4=qx,c4=Ux,d4=$Q.aTypedArray;(0,$Q.exportTypedArrayMethod)("at",(function(e){var t=d4(this),n=u4(t),r=c4(e),i=r>=0?r:n+r;return i<0||i>=n?void 0:t[i]}));var h4=fT,f4=SL,m4=IS,p4=qx,y4=function(e){var t=1==e;return function(n,r,i){for(var a,o=m4(n),s=f4(o),l=h4(r,i),u=p4(s);u-- >0;)if(l(a=s[u],u,o))switch(e){case 0:return a;case 1:return u}return t?-1:void 0}},b4={findLast:y4(0),findLastIndex:y4(1)},v4=b4.findLast,g4=$Q.aTypedArray;(0,$Q.exportTypedArrayMethod)("findLast",(function(e){return v4(g4(this),e,arguments.length>1?arguments[1]:void 0)}));var Z4=b4.findLastIndex,L4=$Q.aTypedArray;(0,$Q.exportTypedArrayMethod)("findLastIndex",(function(e){return Z4(L4(this),e,arguments.length>1?arguments[1]:void 0)}));var S4={exports:{}},X4={},x4=bL,w4=GL,T4=Hx.f,k4=tD,I4="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];X4.f=function(e){return I4&&"Window"==x4(e)?function(e){try{return T4(e)}catch(Ude){return k4(I4)}}(e):T4(w4(e))};var G4=OZ((function(){if("function"==typeof ArrayBuffer){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}})),W4=OZ,V4=KL,R4=bL,C4=G4,M4=Object.isExtensible,Y4=W4((function(){M4(1)}))||C4?function(e){return!!V4(e)&&((!C4||"ArrayBuffer"!=R4(e))&&(!M4||M4(e)))}:M4,K4=!OZ((function(){return Object.isExtensible(Object.preventExtensions({}))})),P4=Ew,H4=fL,_4=ax,F4=KL,E4=VS,N4=gX.f,U4=Hx,J4=X4,D4=Y4,j4=K4,A4=!1,z4=KS("meta"),B4=0,O4=function(e){N4(e,z4,{value:{objectID:"O"+B4++,weakData:{}}})},Q4=S4.exports={enable:function(){Q4.enable=function(){},A4=!0;var e=U4.f,t=H4([].splice),n={};n[z4]=1,e(n).length&&(U4.f=function(n){for(var r=e(n),i=0,a=r.length;i<a;i++)if(r[i]===z4){t(r,i,1);break}return r},P4({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:J4.f}))},fastKey:function(e,t){if(!F4(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!E4(e,z4)){if(!D4(e))return"F";if(!t)return"E";O4(e)}return e[z4].objectID},getWeakData:function(e,t){if(!E4(e,z4)){if(!D4(e))return!0;if(!t)return!1;O4(e)}return e[z4].weakData},onFreeze:function(e){return j4&&A4&&D4(e)&&!E4(e,z4)&&O4(e),e}};_4[z4]=!0;var q4=S4.exports,$4=Ew,e8=zZ,t8=fL,n8=Cw,r8=Px,i8=q4,a8=pM,o8=aV,s8=CL,l8=XL,u8=KL,c8=OZ,d8=ZM,h8=qG,f8=AY,m8=gX.f,p8=LG,y8=LD,b8=fT,v8=aV,g8=XL,Z8=pM,L8=RW,S8=CW,X8=nV,x8=QZ,w8=q4.fastKey,T8=gx.set,k8=gx.getterFor,I8={getConstructor:function(e,t,n,r){var i=e((function(e,i){v8(e,a),T8(e,{type:t,index:p8(null),first:void 0,last:void 0,size:0}),x8||(e.size=0),g8(i)||Z8(i,e[r],{that:e,AS_ENTRIES:n})})),a=i.prototype,o=k8(t),s=function(e,t,n){var r,i,a=o(e),s=l(e,t);return s?s.value=n:(a.last=s={index:i=w8(t,!0),key:t,value:n,previous:r=a.last,next:void 0,removed:!1},a.first||(a.first=s),r&&(r.next=s),x8?a.size++:e.size++,"F"!==i&&(a.index[i]=s)),e},l=function(e,t){var n,r=o(e),i=w8(t);if("F"!==i)return r.index[i];for(n=r.first;n;n=n.next)if(n.key==t)return n};return y8(a,{clear:function(){for(var e=o(this),t=e.index,n=e.first;n;)n.removed=!0,n.previous&&(n.previous=n.previous.next=void 0),delete t[n.index],n=n.next;e.first=e.last=void 0,x8?e.size=0:this.size=0},delete:function(e){var t=this,n=o(t),r=l(t,e);if(r){var i=r.next,a=r.previous;delete n.index[r.index],r.removed=!0,a&&(a.next=i),i&&(i.previous=a),n.first==r&&(n.first=i),n.last==r&&(n.last=a),x8?n.size--:t.size--}return!!r},forEach:function(e){for(var t,n=o(this),r=b8(e,arguments.length>1?arguments[1]:void 0);t=t?t.next:n.first;)for(r(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!l(this,e)}}),y8(a,n?{get:function(e){var t=l(this,e);return t&&t.value},set:function(e,t){return s(this,0===e?0:e,t)}}:{add:function(e){return s(this,e=0===e?0:e,e)}}),x8&&m8(a,"size",{get:function(){return o(this).size}}),i},setStrong:function(e,t,n){var r=t+" Iterator",i=k8(t),a=k8(r);L8(e,t,(function(e,t){T8(this,{type:r,target:e,state:i(e),kind:t,last:void 0})}),(function(){for(var e=a(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?S8("keys"==t?n.key:"values"==t?n.value:[n.key,n.value],!1):(e.target=void 0,S8(void 0,!0))}),n?"entries":"values",!n,!0),X8(t)}};(function(e,t,n){var r=-1!==e.indexOf("Map"),i=-1!==e.indexOf("Weak"),a=r?"set":"add",o=e8[e],s=o&&o.prototype,l=o,u={},c=function(e){var t=t8(s[e]);r8(s,e,"add"==e?function(e){return t(this,0===e?0:e),this}:"delete"==e?function(e){return!(i&&!u8(e))&&t(this,0===e?0:e)}:"get"==e?function(e){return i&&!u8(e)?void 0:t(this,0===e?0:e)}:"has"==e?function(e){return!(i&&!u8(e))&&t(this,0===e?0:e)}:function(e,n){return t(this,0===e?0:e,n),this})};if(n8(e,!s8(o)||!(i||s.forEach&&!c8((function(){(new o).entries().next()})))))l=n.getConstructor(t,e,r,a),i8.enable();else if(n8(e,!0)){var d=new l,h=d[a](i?{}:-0,1)!=d,f=c8((function(){d.has(1)})),m=d8((function(e){new o(e)})),p=!i&&c8((function(){for(var e=new o,t=5;t--;)e[a](t,t);return!e.has(-0)}));m||((l=t((function(e,t){o8(e,s);var n=f8(new o,e,l);return l8(t)||a8(t,n[a],{that:n,AS_ENTRIES:r}),n}))).prototype=s,s.constructor=l),(f||p)&&(c("delete"),c("has"),r&&c("get")),(p||h)&&c(a),i&&s.clear&&delete s.clear}u[e]=l,$4({global:!0,constructor:!0,forced:l!=o},u),h8(l,e),i||n.setStrong(l,e,r)})("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),I8);var G8=Ew,W8=$T.find,V8=WG,R8="find",C8=!0;R8 in[]&&Array(1)[R8]((function(){C8=!1})),G8({target:"Array",proto:!0,forced:C8},{find:function(e){return W8(this,e,arguments.length>1?arguments[1]:void 0)}}),V8(R8);var M8,Y8=t(gc),K8={};ag(K8,"__esModule",{value:!0}),K8.default=function(e){for(var t=0,n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];var a=!0,o=!1,s=void 0;try{for(var l,u=Y8(r);!(a=(l=u.next()).done);a=!0){t+=l.value.length}}catch(v){o=!0,s=v}finally{try{!a&&u.return&&u.return()}finally{if(o)throw s}}var c=new e(t),d=0,h=!0,f=!1,m=void 0;try{for(var p,y=Y8(r);!(h=(p=y.next()).done);h=!0){var b=p.value;c.set(b,d),d+=b.length}}catch(v){f=!0,m=v}finally{try{!h&&y.return&&y.return()}finally{if(f)throw m}}return c};var P8=t(((M8=K8)&&M8.__esModule?M8:{default:M8}).default);function H8(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _8(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),ag(e,r.key,r)}}function F8(e,t,n){return t&&_8(e.prototype,t),n&&_8(e,n),ag(e,"prototype",{writable:!1}),e}function E8(e,t,n){return t in e?ag(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function N8(e,t){return function(e){if(hZ(e))return e}(e)||function(e,t){var n=null==e?null:void 0!==og&&fZ(e)||e["@@iterator"];if(null==n)return;var r,i,a=[],o=!0,s=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);o=!0);}catch(l){s=!0,i=l}finally{try{o||null==n.return||n.return()}finally{if(s)throw i}}return a}(e,t)||J8(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function U8(e){return function(e){if(hZ(e))return D8(e)}(e)||function(e){if(void 0!==og&&null!=fZ(e)||null!=e["@@iterator"])return GZ(e)}(e)||J8(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function J8(e,t){var n;if(e){if("string"==typeof e)return D8(e,t);var r=Ag(n=Object.prototype.toString.call(e)).call(n,8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?GZ(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?D8(e,t):void 0}}function D8(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var j8=rw.includes,A8=WG;Ew({target:"Array",proto:!0,forced:OZ((function(){return!Array(1).includes()}))},{includes:function(e){return j8(this,e,arguments.length>1?arguments[1]:void 0)}}),A8("includes");var z8=G2,B8=TypeError,O8=function(e){if(z8(e))throw B8("The method doesn't accept regular expressions");return e},Q8=jS("match"),q8=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[Q8]=!1,"/./"[e](t)}catch(r){}}return!1},$8=Ew,e6=O8,t6=TL,n6=qM,r6=q8,i6=fL("".indexOf);$8({target:"String",proto:!0,forced:!r6("includes")},{includes:function(e){return!!~i6(n6(t6(this)),n6(e6(e)),arguments.length>1?arguments[1]:void 0)}});var a6="video",o6="audio",s6="metadata",l6="avc",u6="hevc",c6="aac",d6="g7110a",h6="g7110m",f6=function(){function e(){H8(this,e),E8(this,"id",1),E8(this,"type",a6),E8(this,"codecType",l6),E8(this,"pid",-1),E8(this,"hvcC",void 0),E8(this,"codec",""),E8(this,"timescale",0),E8(this,"formatTimescale",0),E8(this,"sequenceNumber",0),E8(this,"baseMediaDecodeTime",0),E8(this,"baseDts",0),E8(this,"duration",0),E8(this,"warnings",[]),E8(this,"samples",[]),E8(this,"pps",[]),E8(this,"sps",[]),E8(this,"vps",[]),E8(this,"fpsNum",0),E8(this,"fpsDen",0),E8(this,"sarRatio",[]),E8(this,"width",0),E8(this,"height",0),E8(this,"nalUnitSize",4),E8(this,"present",!1),E8(this,"isVideoEncryption",!1),E8(this,"isAudioEncryption",!1),E8(this,"kid",null),E8(this,"pssh",null),E8(this,"ext",void 0)}return F8(e,[{key:"reset",value:function(){this.sequenceNumber=this.width=this.height=this.fpsDen=this.fpsNum=this.duration=this.baseMediaDecodeTime=this.timescale=0,this.codec="",this.present=!1,this.pid=-1,this.pps=[],this.sps=[],this.vps=[],this.sarRatio=[],this.samples=[],this.warnings=[],this.hvcC=null}},{key:"exist",value:function(){return!!(this.pps.length&&this.sps.length&&this.codec)}},{key:"hasSample",value:function(){return!!this.samples.length}}]),e}(),m6=function(){function e(){H8(this,e),E8(this,"id",2),E8(this,"type",o6),E8(this,"codecType",c6),E8(this,"pid",-1),E8(this,"codec",""),E8(this,"sequenceNumber",0),E8(this,"sampleDuration",0),E8(this,"timescale",0),E8(this,"formatTimescale",0),E8(this,"baseMediaDecodeTime",0),E8(this,"duration",0),E8(this,"warnings",[]),E8(this,"samples",[]),E8(this,"baseDts",0),E8(this,"sampleSize",16),E8(this,"sampleRate",0),E8(this,"channelCount",0),E8(this,"objectType",0),E8(this,"sampleRateIndex",0),E8(this,"config",[]),E8(this,"present",!1),E8(this,"isVideoEncryption",!1),E8(this,"isAudioEncryption",!1),E8(this,"kid",null),E8(this,"ext",void 0)}return F8(e,[{key:"reset",value:function(){this.sequenceNumber=0,this.timescale=0,this.sampleDuration=0,this.sampleRate=0,this.channelCount=0,this.baseMediaDecodeTime=0,this.present=!1,this.pid=-1,this.codec="",this.samples=[],this.config=[],this.warnings=[]}},{key:"exist",value:function(){return!!(this.sampleRate&&this.channelCount&&this.codec&&this.codecType===c6)}},{key:"hasSample",value:function(){return!!this.samples.length}}]),e}(),p6=function(){function e(t,n,r){H8(this,e),E8(this,"flag",{}),E8(this,"keyframe",!1),E8(this,"gopId",0),E8(this,"duration",0),E8(this,"size",0),E8(this,"units",[]),E8(this,"chromaFormat",420),this.originPts=this.pts=t,this.originDts=this.dts=n,r&&(this.units=r)}return F8(e,[{key:"cts",get:function(){return this.pts-this.dts}},{key:"setToKeyframe",value:function(){this.keyframe=!0,this.flag.dependsOn=2,this.flag.isNonSyncSample=0}}]),e}(),y6=F8((function e(t,n,r,i){H8(this,e),E8(this,"duration",1024),E8(this,"flag",{dependsOn:2,isNonSyncSample:0}),E8(this,"keyframe",!0),this.originPts=this.pts=this.dts=t,this.data=n,this.size=n.byteLength,this.sampleOffset=i,r&&(this.duration=r)})),b6=function(){function e(){H8(this,e),E8(this,"id",3),E8(this,"type",s6),E8(this,"timescale",0),E8(this,"flvScriptSamples",[]),E8(this,"seiSamples",[])}return F8(e,[{key:"exist",value:function(){return!(!this.flvScriptSamples.length&&!this.seiSamples.length||!this.timescale)}},{key:"reset",value:function(){this.timescale=0,this.flvScriptSamples=[],this.seiSamples=[]}},{key:"hasSample",value:function(){return!(!this.flvScriptSamples.length&&!this.seiSamples.length)}}]),e}(),v6=tL,g6=VS,Z6=FL,L6=qz,S6=RegExp.prototype,X6=DX.PROPER,x6=Px,w6=xX,T6=qM,k6=OZ,I6=function(e){var t=e.flags;return void 0!==t||"flags"in S6||g6(e,"flags")||!Z6(S6,e)?t:v6(L6,e)},G6="toString",W6=RegExp.prototype[G6],V6=k6((function(){return"/a/b"!=W6.call({source:"a",flags:"b"})})),R6=X6&&W6.name!=G6;(V6||R6)&&x6(RegExp.prototype,G6,(function(){var e=w6(this);return"/"+T6(e.source)+"/"+T6(I6(e))}),{unsafe:!0});var C6,M6,Y6=Ew,K6=tL,P6=CL,H6=xX,_6=qM,F6=(C6=!1,(M6=/[ac]/).exec=function(){return C6=!0,/./.exec.apply(this,arguments)},!0===M6.test("abc")&&C6),E6=/./.test;Y6({target:"RegExp",proto:!0,forced:!F6},{test:function(e){var t=H6(this),n=_6(e),r=t.exec;if(!P6(r))return K6(E6,t,n);var i=K6(r,t,n);return null!==i&&(H6(i),!0)}});var N6="undefined"!=typeof window,U6=N6&&navigator.userAgent.toLocaleLowerCase(),J6=N6&&xJ(U6).call(U6,"firefox"),D6=N6&&xJ(U6).call(U6,"android"),j6=function(){function e(){H8(this,e)}return F8(e,null,[{key:"getRateIndexByRate",value:function(t){var n;return ro(n=e.FREQ).call(n,t)}},{key:"parseADTS",value:function(t,n){for(var r=t.length,i=0;i+2<r&&(255!==t[i]||240!=(246&t[i+1]));)i++;if(!(i>=r)){var a=i,o=[],s=(60&t[i+2])>>>2,l=e.FREQ[s];if(!l)throw new Error("Invalid sampling index: ".concat(s));for(var u,c,d=1+((192&t[i+2])>>>6),h=(1&t[i+2])<<2|(192&t[i+3])>>>6,f=e._getConfig(s,h,d),m=f.config,p=f.codec,y=0,b=e.getFrameDuration(l);i+7<r;)if(255===t[i]&&240==(246&t[i+1])){if(r-i<(c=(3&t[i+3])<<11|t[i+4]<<3|(224&t[i+5])>>5))break;u=2*(1&~t[i+1]),o.push({pts:n+y*b,data:t.subarray(i+7+u,i+c)}),y++,i+=c}else i++;return{skip:a,remaining:i>=r?void 0:t.subarray(i),frames:o,samplingFrequencyIndex:s,sampleRate:l,objectType:d,channelCount:h,codec:p,config:m,originCodec:"mp4a.40.".concat(d)}}}},{key:"parseAudioSpecificConfig",value:function(t){if(t.length){var n=t[0]>>>3,r=(7&t[0])<<1|t[1]>>>7,i=(120&t[1])>>>3,a=e.FREQ[r];if(!a)throw new Error("Invalid sampling index: ".concat(r));var o=e._getConfig(r,i,n);return{samplingFrequencyIndex:r,sampleRate:a,objectType:n,channelCount:i,config:o.config,codec:o.codec,originCodec:"mp4a.40.".concat(n)}}}},{key:"getFrameDuration",value:function(e){return 1024*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4)/e}},{key:"_getConfig",value:function(e,t,n){var r,i,a=[];return J6?e>=6?(r=5,i=e-3):(r=2,i=e):D6?(r=2,i=e):(r=2===n||5===n?n:5,i=e,e>=6?i=e-3:1===t&&(r=2,i=e)),a[0]=r<<3,a[0]|=(14&e)>>1,a[1]=(1&e)<<7,a[1]|=t<<3,5===r&&(a[1]|=(14&i)>>1,a[2]=(1&i)<<7,a[2]|=8,a[3]=0),{config:a,codec:"mp4a.40.".concat(r)}}},{key:"getSilentFrame",value:function(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}}}]),e}();E8(j6,"FREQ",[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350]);var A6=We,z6=ze,B6=U,O6=or,Q6=TypeError,q6=function(e){return function(t,n,r,i){A6(n);var a=z6(t),o=B6(a),s=O6(a),l=e?s-1:0,u=e?-1:1;if(r<2)for(;;){if(l in o){i=o[l],l+=u;break}if(l+=u,e?l<0:s<=l)throw Q6("Reduce of empty array with no initial value")}for(;e?l>=0:s>l;l+=u)l in o&&(i=n(i,o[l],l,a));return i}},$6={left:q6(!1),right:q6(!0)}.left;Gn({target:"Array",proto:!0,forced:!od&&me>79&&me<83||!Yi("reduce")},{reduce:function(e){var t=arguments.length;return $6(this,e,t,t>1?arguments[1]:void 0)}});var e7=ri("Array").reduce,t7=oe,n7=e7,r7=Array.prototype,i7=t((function(e){var t=e.reduce;return e===r7||t7(r7,e)&&t===r7.reduce?n7:t}));function a7(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t=li(t).call(t,Boolean);var r=new Uint8Array(i7(t).call(t,(function(e,t){return e+t.byteLength}),0)),i=0;return mu(t).call(t,(function(e){r.set(e,i),i+=e.byteLength})),r}var o7=Math.pow(2,32);function s7(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<8)+(e[t+1]||0)}function l7(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<24>>>0)+(e[t+1]<<16)+(e[t+2]<<8)+(e[t+3]||0)}function u7(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return l7(e,t)*o7+l7(e,t+4)}function c7(e){var t="";if(mu(e).call(e,(function(e){t+=function(e){var t;return Ag(t="0"+Number(e).toString(16)).call(t,-2).toUpperCase()}(e)})),t.length<=32)for(var n=32-t.length,r=0;r<n;r++)t+="0";return t}function d7(e){if(!hZ(e)){for(var t=[],n="",r=0;r<e.length;r++)r%2&&(n=e[r-1]+e[r],t.push(ty(n,16)),n="");return t}return Ro(e).call(e,(function(e){return ty(e,16)}))}var h7=tn,f7=V,m7=Qe,p7=oe,y7=function(){var e=h7(this),t="";return e.hasIndices&&(t+="d"),e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.unicodeSets&&(t+="v"),e.sticky&&(t+="y"),t},b7=RegExp.prototype,v7=oe,g7=function(e){var t=e.flags;return void 0!==t||"flags"in b7||m7(e,"flags")||!p7(b7,e)?t:f7(y7,e)},Z7=RegExp.prototype,L7=t((function(e){return e===Z7||v7(Z7,e)?g7(e):e.flags})),S7=ri("Array").entries,X7=br,x7=Qe,w7=oe,T7=S7,k7=Array.prototype,I7={DOMTokenList:!0,NodeList:!0},G7=t((function(e){var t=e.entries;return e===k7||w7(k7,e)&&t===k7.entries||x7(I7,X7(e))?T7:t})),W7=QZ,V7=YJ,R7=qz,C7=OZ,M7=zZ.RegExp,Y7=M7.prototype;W7&&C7((function(){var e=!0;try{M7(".","d")}catch(Ude){e=!1}var t={},n="",r=e?"dgimsy":"gimsy",i=function(e,r){Object.defineProperty(t,e,{get:function(){return n+=r,!0}})},a={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};for(var o in e&&(a.hasIndices="d"),a)i(o,a[o]);return Object.getOwnPropertyDescriptor(Y7,"flags").get.call(t)!==r||n!==r}))&&V7(Y7,"flags",{configurable:!0,get:R7});var K7=Ux,P7=qM,H7=TL,_7=RangeError,F7=function(e){var t=P7(H7(this)),n="",r=K7(e);if(r<0||r==1/0)throw _7("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(t+=t))1&r&&(n+=t);return n},E7=fL,N7=Ox,U7=qM,J7=TL,D7=E7(F7),j7=E7("".slice),A7=Math.ceil,z7=function(e){return function(t,n,r){var i,a,o=U7(J7(t)),s=N7(n),l=o.length,u=void 0===r?" ":U7(r);return s<=l||""==u?o:((a=D7(u,A7((i=s-l)/u.length))).length>i&&(a=j7(a,0,i)),e?o+a:a+o)}},B7={start:z7(!1),end:z7(!0)},O7=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(EL),Q7=B7.start;Ew({target:"String",proto:!0,forced:O7},{padStart:function(e){return Q7(this,e,arguments.length>1?arguments[1]:void 0)}});var q7=BJ;Ew({target:"Array",stat:!0,forced:!ZM((function(e){Array.from(e)}))},{from:q7});var $7=function(){function e(){H8(this,e)}return F8(e,null,[{key:"findBox",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=[];if(!t)return i;for(var a=0,o="",s=0;t.length>7;){if(a=l7(t),o=String.fromCharCode.apply(null,t.subarray(4,8)),s=8,1===a?(a=u7(t,8),s+=8):a||(a=t.length),!n[0]||o===n[0]){var l=t.subarray(0,a);if(!(n.length<2))return e.findBox(l.subarray(s),Ag(n).call(n,1),r+s);i.push({start:r,size:a,headerSize:s,type:o,data:l})}r+=a,t=t.subarray(a)}return i}},{key:"tfhd",value:function(e){return ree(e,!0,(function(e,t){e.trackId=l7(t);var n=4,r=1&L7(e),i=2&L7(e),a=8&L7(e),o=16&L7(e),s=32&L7(e);r&&(n+=4,e.baseDataOffset=l7(t,n),n+=4),i&&(e.sampleDescriptionIndex=l7(t,n),n+=4),a&&(e.defaultSampleDuration=l7(t,n),n+=4),o&&(e.defaultSampleSize=l7(t,n),n+=4),s&&(e.defaultSampleFlags=l7(t,n))}))}},{key:"sidx",value:function(e){return ree(e,!0,(function(e,t){var n=0;e.reference_ID=l7(t,n),n+=4,e.timescale=l7(t,n),n+=4,0===e.version?(e.earliest_presentation_time=l7(t,n),n+=4,e.first_offset=l7(t,n),n+=4):(e.earliest_presentation_time=u7(t,n),n+=8,e.first_offset=u7(t,n),n+=8),n+=2,e.references=[];var r=s7(t,n);n+=2;for(var i=0;i<r;i++){var a={};e.references.push(a);var o=l7(t,n);n+=4,a.reference_type=o>>31&1,a.referenced_size=2147483647&o,a.subsegment_duration=l7(t,n),o=l7(t,n+=4),n+=4,a.starts_with_SAP=o>>31&1,a.SAP_type=o>>28&7,a.SAP_delta_time=268435455&o}}))}},{key:"moov",value:function(t){return ree(t,!1,(function(t,n,r){var i;t.mvhd=e.mvhd(e.findBox(n,["mvhd"],r)[0]),t.trak=Ro(i=e.findBox(n,["trak"],r)).call(i,(function(t){return e.trak(t)})),t.pssh=e.pssh(e.findBox(n,["pssh"],r)[0])}))}},{key:"mvhd",value:function(e){return ree(e,!0,(function(e,t){var n=0;1===e.version?(e.timescale=l7(t,16),e.duration=u7(t,20),n+=28):(e.timescale=l7(t,8),e.duration=l7(t,12),n+=16),e.nextTrackId=l7(t,n+76)}))}},{key:"trak",value:function(t){return ree(t,!1,(function(t,n,r){t.tkhd=e.tkhd(e.findBox(n,["tkhd"],r)[0]),t.mdia=e.mdia(e.findBox(n,["mdia"],r)[0])}))}},{key:"tkhd",value:function(e){return ree(e,!0,(function(e,t){var n=0;1===e.version?(e.trackId=l7(t,16),e.duration=u7(t,24),n+=32):(e.trackId=l7(t,8),e.duration=l7(t,16),n+=20),e.width=l7(t,n+52),e.height=l7(t,n+56)}))}},{key:"mdia",value:function(t){return ree(t,!1,(function(t,n,r){t.mdhd=e.mdhd(e.findBox(n,["mdhd"],r)[0]),t.hdlr=e.hdlr(e.findBox(n,["hdlr"],r)[0]),t.minf=e.minf(e.findBox(n,["minf"],r)[0])}))}},{key:"mdhd",value:function(e){return ree(e,!0,(function(e,t){var n=0;1===e.version?(e.timescale=l7(t,16),e.duration=u7(t,20),n+=28):(e.timescale=l7(t,8),e.duration=l7(t,12),n+=16);var r=s7(t,n);e.language=String.fromCharCode(96+(r>>10&31),96+(r>>5&31),96+(31&r))}))}},{key:"hdlr",value:function(e){return ree(e,!0,(function(e,t){0===e.version&&(e.handlerType=String.fromCharCode.apply(null,t.subarray(4,8)))}))}},{key:"minf",value:function(t){return ree(t,!1,(function(t,n,r){t.vmhd=e.vmhd(e.findBox(n,["vmhd"],r)[0]),t.smhd=e.smhd(e.findBox(n,["smhd"],r)[0]),t.stbl=e.stbl(e.findBox(n,["stbl"],r)[0])}))}},{key:"vmhd",value:function(e){return ree(e,!0,(function(e,t){e.graphicsmode=s7(t),e.opcolor=[s7(t,2),s7(t,4),s7(t,6)]}))}},{key:"smhd",value:function(e){return ree(e,!0,(function(e,t){e.balance=s7(t)}))}},{key:"stbl",value:function(t){return ree(t,!1,(function(t,n,r){t.stsd=e.stsd(e.findBox(n,["stsd"],r)[0]),t.stts=e.stts(e.findBox(n,["stts"],r)[0]),t.ctts=e.ctts(e.findBox(n,["ctts"],r)[0]),t.stsc=e.stsc(e.findBox(n,["stsc"],r)[0]),t.stsz=e.stsz(e.findBox(n,["stsz"],r)[0]),t.stco=e.stco(e.findBox(n,["stco"],r)[0]),t.stco||(t.co64=e.co64(e.findBox(n,["co64"],r)[0]),t.stco=t.co64),t.stss=e.stss(e.findBox(n,["stss"],r)[0]),t.senc=e.senc(e.findBox(n,["senc"],r)[0])}))}},{key:"senc",value:function(e){return ree(e,!0,(function(e,t){var n=0,r=l7(t,n);n+=4,e.samples=[];for(var i=0;i<r;i++){var a={};if(a.InitializationVector=[t[n],t[n+1],t[n+2],t[n+3],t[n+4],t[n+5],t[n+6],t[n+7]],n+=8,2&L7(e)){a.subsamples=[];var o=s7(t,n);n+=2;for(var s=0;s<o;s++){var l={};l.BytesOfClearData=s7(t,n),n+=2,l.BytesOfProtectedData=l7(t,n),n+=4,a.subsamples.push(l)}}e.samples.push(a)}}))}},{key:"pssh",value:function(e){return ree(e,!0,(function(e,t){for(var n=[],r=[],i=0,a=0;a<16;a++)r.push(iee(t[i+a]));if(i+=16,e.version>0){var o=l7(t,i);i+=4;for(var s=0;s<(""+o).length;s++)for(var l=0;l<16;l++){var u=t[i];i+=1,n.push(iee(u))}}var c=l7(t,i);e.data_size=c,i+=4,e.kid=n,e.system_id=r,e.buffer=t}))}},{key:"stsd",value:function(t){return ree(t,!0,(function(t,n,r){var i,a;t.entryCount=l7(n),t.entries=li(i=Ro(a=e.findBox(n.subarray(4),[],r+4)).call(a,(function(t){switch(t.type){case"avc1":case"avc2":case"avc3":case"avc4":return e.avc1(t);case"hvc1":case"hev1":return e.hvc1(t);case"mp4a":return e.mp4a(t);case"alaw":case"ulaw":return e.alaw(t);case"enca":return ree(t,!1,(function(t,n,r){t.channelCount=s7(n,16),t.samplesize=s7(n,18),t.sampleRate=l7(n,24)/65536,n=n.subarray(28),t.sinf=e.sinf(e.findBox(n,["sinf"],r)[0]),t.esds=e.esds(e.findBox(n,["esds"],r)[0])}));case"encv":return ree(t,!1,(function(t,n,r){t.width=s7(n,24),t.height=s7(n,26),t.horizresolution=l7(n,28),t.vertresolution=l7(n,32),n=n.subarray(78),t.sinf=e.sinf(e.findBox(n,["sinf"],r)[0]),t.avcC=e.avcC(e.findBox(n,["avcC"],r)[0]),t.hvcC=e.hvcC(e.findBox(n,["hvcC"],r)[0]),t.pasp=e.pasp(e.findBox(n,["pasp"],r)[0])}))}}))).call(i,Boolean)}))}},{key:"tenc",value:function(e){return ree(e,!1,(function(e,t){var n=6;e.default_IsEncrypted=t[n],n+=1,e.default_IV_size=t[n],n+=1,e.default_KID=[];for(var r=0;r<16;r++)e.default_KID.push(iee(t[n])),n+=1}))}},{key:"schi",value:function(t){return ree(t,!1,(function(t,n,r){t.tenc=e.tenc(e.findBox(n,["tenc"],r)[0])}))}},{key:"sinf",value:function(t){return ree(t,!1,(function(t,n,r){t.schi=e.schi(e.findBox(n,["schi"],r)[0]),t.frma=e.frma(e.findBox(n,["frma"],r)[0])}))}},{key:"frma",value:function(e){return ree(e,!1,(function(e,t){e.data_format="";for(var n=0;n<4;n++)e.data_format+=String.fromCharCode(t[n])}))}},{key:"avc1",value:function(t){return ree(t,!1,(function(t,n,r){var i=tee(t,n),a=n.subarray(i);r+=i,t.avcC=e.avcC(e.findBox(a,["avcC"],r)[0]),t.pasp=e.pasp(e.findBox(a,["pasp"],r)[0])}))}},{key:"avcC",value:function(e){return ree(e,!1,(function(e,t){e.configurationVersion=t[0],e.AVCProfileIndication=t[1],e.profileCompatibility=t[2],e.AVCLevelIndication=t[3],e.codec=function(e){for(var t,n="avc1.",r=0;r<3;r++)(t=e[r].toString(16)).length<2&&(t="0".concat(t)),n+=t;return n}([t[1],t[2],t[3]]),e.lengthSizeMinusOne=3&t[4],e.spsLength=31&t[5],e.sps=[];for(var n=6,r=0;r<e.spsLength;r++){var i=s7(t,n);n+=2,e.sps.push(t.subarray(n,n+i)),n+=i}e.ppsLength=t[n],n+=1,e.pps=[];for(var a=0;a<e.ppsLength;a++){var o=s7(t,n);n+=2,e.pps.push(t.subarray(n,n+=o)),n+=o}}))}},{key:"hvc1",value:function(t){return ree(t,!1,(function(t,n,r){var i=tee(t,n),a=n.subarray(i);r+=i,t.hvcC=e.hvcC(e.findBox(a,["hvcC"],r)[0]),t.pasp=e.pasp(e.findBox(a,["pasp"],r)[0])}))}},{key:"hvcC",value:function(e){return ree(e,!1,(function(t,n){t.data=e.data,t.codec="hev1.1.6.L93.B0",t.configurationVersion=n[0];var r=n[1];t.generalProfileSpace=r>>6,t.generalTierFlag=(32&r)>>5,t.generalProfileIdc=31&r,t.generalProfileCompatibility=l7(n,2),t.generalConstraintIndicatorFlags=n.subarray(6,12),t.generalLevelIdc=n[12],t.avgFrameRate=s7(n,19),t.numOfArrays=n[22],t.vps=[],t.sps=[],t.pps=[];for(var i=23,a=0,o=0,s=0,l=0;l<t.numOfArrays;l++){a=63&n[i],o=s7(n,i+1),i+=3;for(var u,c=[],d=0;d<o;d++)s=s7(n,i),i+=2,c.push(n.subarray(i,i+s)),i+=s;if(32===a)(u=t.vps).push.apply(u,c);else if(33===a){var h;(h=t.sps).push.apply(h,c)}else if(34===a){var f;(f=t.pps).push.apply(f,c)}}}))}},{key:"pasp",value:function(e){return ree(e,!1,(function(e,t){e.hSpacing=l7(t),e.vSpacing=l7(t,4)}))}},{key:"mp4a",value:function(t){return ree(t,!1,(function(t,n,r){var i=nee(t,n);t.esds=e.esds(e.findBox(n.subarray(i),["esds"],r+i)[0])}))}},{key:"esds",value:function(e){return ree(e,!0,(function(e,t){e.codec="mp4a.";for(var n=0,r=0,i=0,a=0;t.length;){for(a=t[n=0],r=t[n+1],n+=2;128&r;)i=(127&r)<<7,r=t[n],n+=1;if(i+=127&r,3===a)t=t.subarray(n+3);else{if(4!==a){if(5===a){var o=e.config=t.subarray(n,n+i),s=(248&o[0])>>3;return 31===s&&o.length>=2&&(s=32+((7&o[0])<<3)+((224&o[1])>>5)),e.objectType=s,e.codec+=s.toString(16),void("."===e.codec[e.codec.length-1]&&(e.codec=e.codec.substring(0,e.codec.length-1)))}return void("."===e.codec[e.codec.length-1]&&(e.codec=e.codec.substring(0,e.codec.length-1)))}var l;e.codec+=CH(l=t[n].toString(16)+".").call(l,3,"0"),t=t.subarray(n+13)}}}))}},{key:"alaw",value:function(e){return ree(e,!1,(function(e,t){nee(e,t)}))}},{key:"stts",value:function(e){return ree(e,!0,(function(e,t){for(var n=l7(t),r=[],i=4,a=0;a<n;a++)r.push({count:l7(t,i),delta:l7(t,i+4)}),i+=8;e.entryCount=n,e.entries=r}))}},{key:"ctts",value:function(e){return ree(e,!0,(function(e,t){var n=l7(t),r=[],i=4;if(1===e.version)for(var a=0;a<n;a++)r.push({count:l7(t,i),offset:l7(t,i+4)}),i+=8;else for(var o=0;o<n;o++)r.push({count:l7(t,i),offset:-(1+~l7(t,i+4))}),i+=8;e.entryCount=n,e.entries=r}))}},{key:"stsc",value:function(e){return ree(e,!0,(function(e,t){for(var n=l7(t),r=[],i=4,a=0;a<n;a++)r.push({firstChunk:l7(t,i),samplesPerChunk:l7(t,i+4),sampleDescriptionIndex:l7(t,i+8)}),i+=12;e.entryCount=n,e.entries=r}))}},{key:"stsz",value:function(e){return ree(e,!0,(function(e,t){var n=l7(t),r=l7(t,4),i=[];if(!n)for(var a=8,o=0;o<r;o++)i.push(l7(t,a)),a+=4;e.sampleSize=n,e.sampleCount=r,e.entrySizes=i}))}},{key:"stco",value:function(e){return ree(e,!0,(function(e,t){for(var n=l7(t),r=[],i=4,a=0;a<n;a++)r.push(l7(t,i)),i+=4;e.entryCount=n,e.entries=r}))}},{key:"co64",value:function(e){return ree(e,!0,(function(e,t){for(var n=l7(t),r=[],i=4,a=0;a<n;a++)r.push(u7(t,i)),i+=8;e.entryCount=n,e.entries=r}))}},{key:"stss",value:function(e){return ree(e,!0,(function(e,t){for(var n=l7(t),r=[],i=4,a=0;a<n;a++)r.push(l7(t,i)),i+=4;e.entryCount=n,e.entries=r}))}},{key:"moof",value:function(t){return ree(t,!1,(function(t,n,r){var i;t.mfhd=e.mfhd(e.findBox(n,["mfhd"],r)[0]),t.traf=Ro(i=e.findBox(n,["traf"],r)).call(i,(function(t){return e.traf(t)}))}))}},{key:"mfhd",value:function(e){return ree(e,!0,(function(e,t){e.sequenceNumber=l7(t)}))}},{key:"traf",value:function(t){return ree(t,!1,(function(t,n,r){t.tfhd=e.tfhd(e.findBox(n,["tfhd"],r)[0]),t.tfdt=e.tfdt(e.findBox(n,["tfdt"],r)[0]),t.trun=e.trun(e.findBox(n,["trun"],r)[0])}))}},{key:"trun",value:function(e){return ree(e,!0,(function(e,t){var n=e.version,r=L7(e),i=t.length,a=e.sampleCount=l7(t),o=4;if(i>o&&1&r&&(e.dataOffset=-(1+~l7(t,o)),o+=4),i>o&&4&r&&(e.firstSampleFlags=l7(t,o),o+=4),e.samples=[],i>o)for(var s,l=0;l<a;l++)s={},256&r&&(s.duration=l7(t,o),o+=4),512&r&&(s.size=l7(t,o),o+=4),1024&r&&(s.flags=l7(t,o),o+=4),2048&r&&(s.cts=n?-(1+~l7(t,o+4)):l7(t,o),o+=4),e.samples.push(s)}))}},{key:"tfdt",value:function(e){return ree(e,!0,(function(e,t){1===e.version?e.baseMediaDecodeTime=u7(t):e.baseMediaDecodeTime=l7(t)}))}},{key:"probe",value:function(t){return!!e.findBox(t,["ftyp"])}},{key:"parseSampleFlags",value:function(e){return{isLeading:(12&e[0])>>>2,dependsOn:3&e[0],isDependedOn:(192&e[1])>>>6,hasRedundancy:(48&e[1])>>>4,paddingValue:(14&e[1])>>>1,isNonSyncSample:1&e[1],degradationPriority:e[2]<<8|e[3]}}},{key:"moovToTrack",value:function(e,t,n){var r,i,a=e.trak;if(a&&a.length){var o=kP(a).call(a,(function(e){var t,n;return"vide"===(null===(t=e.mdia)||void 0===t||null===(n=t.hdlr)||void 0===n?void 0:n.handlerType)})),s=kP(a).call(a,(function(e){var t,n;return"soun"===(null===(t=e.mdia)||void 0===t||null===(n=t.hdlr)||void 0===n?void 0:n.handlerType)}));if(o&&t){var l,u,c,d,h,f,m,p=t,y=null===(l=o.tkhd)||void 0===l?void 0:l.trackId;null!=y&&(p.id=o.tkhd.trackId),p.tkhdDuration=o.tkhd.duration,p.mvhdDurtion=e.mvhd.duration,p.mvhdTimecale=e.mvhd.timescale,p.timescale=p.formatTimescale=o.mdia.mdhd.timescale,p.duration=o.mdia.mdhd.duration||p.mvhdDurtion/p.mvhdTimecale*p.timescale;var b,v,g,Z,L,S,X,x,w=G7(o.mdia.minf.stbl.stsd)[0];if(p.width=w.width,p.height=w.height,w.pasp&&(p.sarRatio=[w.pasp.hSpacing,w.pasp.vSpacing]),w.hvcC)p.codecType=u6,p.codec=w.hvcC.codec,p.vps=w.hvcC.vps,p.sps=w.hvcC.sps,p.pps=w.hvcC.pps,p.hvcC=w.hvcC.data;else{if(!w.avcC)throw new Error("unknown video stsd entry");p.codec=w.avcC.codec,p.sps=w.avcC.sps,p.pps=w.avcC.pps}if(p.present=!0,p.ext={},p.ext.stss=null===(u=o.mdia)||void 0===u||null===(c=u.minf)||void 0===c||null===(d=c.stbl)||void 0===d?void 0:d.stss,p.ext.ctts=null===(h=o.mdia)||void 0===h||null===(f=h.minf)||void 0===f||null===(m=f.stbl)||void 0===m?void 0:m.ctts,w&&"encv"===w.type)p.isVideoEncryption=!0,w.default_KID=null===(b=w.sinf)||void 0===b||null===(v=b.schi)||void 0===v?void 0:v.tenc.default_KID,w.default_IsEncrypted=null===(g=w.sinf)||void 0===g||null===(Z=g.schi)||void 0===Z?void 0:Z.tenc.default_IsEncrypted,w.default_IV_size=null===(L=w.sinf)||void 0===L||null===(S=L.schi)||void 0===S?void 0:S.tenc.default_IV_size,p.videoSenc=o.mdia.minf.stbl.senc&&o.mdia.minf.stbl.senc.samples,w.data_format=null===(X=w.sinf)||void 0===X||null===(x=X.frma)||void 0===x?void 0:x.data_format,p.useEME=e.useEME,p.kidValue=e.kidValue,p.pssh=e.pssh,p.encv=w}if(s&&n){var T,k,I,G,W,V,R,C,M,Y=n,K=null===(T=s.tkhd)||void 0===T?void 0:T.trackId;null!=K&&(Y.id=s.tkhd.trackId),Y.tkhdDuration=s.tkhd.duration,Y.mvhdDurtion=e.mvhd.duration,Y.mvhdTimecale=e.mvhd.timescale,Y.timescale=Y.formatTimescale=s.mdia.mdhd.timescale,Y.duration=s.mdia.mdhd.duration||Y.mvhdDurtion/Y.mvhdTimecale*Y.timescale;var P,H,_,F,E,N,U,J,D=G7(s.mdia.minf.stbl.stsd)[0];switch(Y.sampleSize=D.sampleSize,Y.sampleRate=D.sampleRate,Y.channelCount=D.channelCount,Y.present=!0,D.type){case"alaw":Y.codecType=Y.codec=d6,Y.sampleRate=8e3;break;case"ulaw":Y.codecType=Y.codec=h6,Y.sampleRate=8e3;break;default:Y.sampleDuration=j6.getFrameDuration(Y.sampleRate,Y.timescale),Y.sampleRateIndex=j6.getRateIndexByRate(Y.sampleRate),Y.objectType=(null===(r=D.esds)||void 0===r?void 0:r.objectType)||2,D.esds&&(Y.config=GZ(D.esds.config)),Y.codec=(null===(i=D.esds)||void 0===i?void 0:i.codec)||"mp4a.40.2"}if(Y.sampleDuration=j6.getFrameDuration(Y.sampleRate,Y.timescale),Y.objectType=(null===(k=D.esds)||void 0===k?void 0:k.objectType)||2,D.esds&&(D.esds.config?Y.config=GZ(D.esds.config):console.warn("esds config is null")),Y.codec=(null===(I=D.esds)||void 0===I?void 0:I.codec)||"mp4a.40.2",Y.sampleRateIndex=j6.getRateIndexByRate(Y.sampleRate),Y.ext={},Y.ext.stss=null===(G=s.mdia)||void 0===G||null===(W=G.minf)||void 0===W||null===(V=W.stbl)||void 0===V?void 0:V.stss,Y.ext.ctts=null===(R=s.mdia)||void 0===R||null===(C=R.minf)||void 0===C||null===(M=C.stbl)||void 0===M?void 0:M.ctts,Y.present=!0,D&&"enca"===D.type)Y.isAudioEncryption=!0,D.data_format=null===(P=D.sinf)||void 0===P||null===(H=P.frma)||void 0===H?void 0:H.data_format,D.default_KID=null===(_=D.sinf)||void 0===_||null===(F=_.schi)||void 0===F?void 0:F.tenc.default_KID,D.default_IsEncrypted=null===(E=D.sinf)||void 0===E||null===(N=E.schi)||void 0===N?void 0:N.tenc.default_IsEncrypted,D.default_IV_size=null===(U=D.sinf)||void 0===U||null===(J=U.schi)||void 0===J?void 0:J.tenc.default_IV_size,Y.audioSenc=s.mdia.minf.stbl.senc&&s.mdia.minf.stbl.senc.samples,Y.useEME=e.useEME,Y.kidValue=e.kidValue,Y.enca=D}if(n&&(n.isVideoEncryption=!!t&&t.isVideoEncryption),t&&(t.isAudioEncryption=!!n&&n.isAudioEncryption),null!=t&&t.encv||null!=n&&n.enca){var j,A,z=null==t||null===(j=t.encv)||void 0===j?void 0:j.default_KID,B=null==n||null===(A=n.enca)||void 0===A?void 0:A.default_KID,O=z||B?(z||B).join(""):null;t&&(t.kid=O),n&&(n.kid=O)}return t&&(t.flags=3841),n&&(n.flags=1793),{videoTrack:t,audioTrack:n}}}},{key:"evaluateDefaultDuration",value:function(e,t,n){var r,i=null==t||null===(r=t.samples)||void 0===r?void 0:r.length;return i?1024*i/t.timescale*e.timescale/n:1024}},{key:"moofToSamples",value:function(t,n,r){var i,a={};return t.mfhd&&(n&&(n.sequenceNumber=t.mfhd.sequenceNumber),r&&(r.sequenceNumber=t.mfhd.sequenceNumber)),mu(i=t.traf).call(i,(function(t){var i=t.tfhd,o=t.tfdt,s=t.trun;if(i&&s){o&&(n&&n.id===i.trackId&&(n.baseMediaDecodeTime=o.baseMediaDecodeTime),r&&r.id===i.trackId&&(r.baseMediaDecodeTime=o.baseMediaDecodeTime));var l=i.defaultSampleSize||0,u=i.defaultSampleDuration||e.evaluateDefaultDuration(n,r,s.samples.length||s.sampleCount),c=s.dataOffset||0,d=0,h=-1;if(!s.samples.length&&s.sampleCount){a[i.trackId]=[];for(var f=0;f<s.sampleCount;f++)a[i.trackId].push({offset:c,dts:d,duration:u,size:l}),d+=u,c+=l}else{var m;a[i.trackId]=Ro(m=s.samples).call(m,(function(e,t){return(e={offset:c,dts:d,pts:d+(e.cts||0),duration:e.duration||u,size:e.size||l,gopId:h,keyframe:0===t||null!==L7(e)&&void 0!==L7(e)&&(65536&L7(e))>>>0!=65536}).keyframe&&(h++,e.gopId=h),d+=e.duration,c+=e.size,e}))}}})),a}},{key:"moovToSamples",value:function(e){var t=e.trak;if(t&&t.length){var n=kP(t).call(t,(function(e){var t,n;return"vide"===(null===(t=e.mdia)||void 0===t||null===(n=t.hdlr)||void 0===n?void 0:n.handlerType)})),r=kP(t).call(t,(function(e){var t,n;return"soun"===(null===(t=e.mdia)||void 0===t||null===(n=t.hdlr)||void 0===n?void 0:n.handlerType)}));if(n||r){var i,a;if(n){var o,s,l=null===(o=n.mdia)||void 0===o||null===(s=o.minf)||void 0===s?void 0:s.stbl;if(!l)return;var u=l.stts,c=l.stsc,d=l.stsz,h=l.stco,f=l.stss,m=l.ctts;if(!(u&&c&&d&&h&&f))return;i=eee(u,c,d,h,m,f)}if(r){var p,y,b,v=null===(p=r.mdia)||void 0===p||null===(y=p.minf)||void 0===y?void 0:y.stbl;if(!v)return;var g=null===(b=r.mdia.mdhd)||void 0===b?void 0:b.timescale,Z=v.stts,L=v.stsc,S=v.stsz,X=v.stco;if(!(g&&Z&&L&&S&&X))return;a=eee(Z,L,S,X)}return{videoSamples:i,audioSamples:a}}}}}]),e}();function eee(e,t,n,r,i,a){var o,s,l,u,c=[],d=null==i?void 0:G7(i),h=G7(t),f=G7(r),m=n.entrySizes,p=null==a?void 0:G7(a);p&&(s={},mu(p).call(p,(function(e){s[e-1]=!0}))),d&&(l=[],mu(d).call(d,(function(e){for(var t=e.count,n=e.offset,r=0;r<t;r++)l.push(n)})));var y=-1,b=0,v=0,g=0,Z=0,L=0,S=h[0].samplesPerChunk,X=h[1]?h[1].firstChunk-1:1/0;return mu(o=G7(e)).call(o,(function(e){for(var t=e.count,r=e.delta,i=0;i<t;i++)u={dts:b,duration:r,size:m[v]||n.sampleSize,offset:f[g]+L,index:v},p&&(u.keyframe=s[v],u.keyframe&&y++,u.gopId=y),l&&v<l.length&&(u.pts=u.dts+l[v]),c.push(u),b+=r,++v<S?L+=u.size:(g++,L=0,g>=X&&(Z++,X=h[Z+1]?h[Z+1].firstChunk-1:1/0),S+=h[Z].samplesPerChunk)})),c}function tee(e,t){return e.dataReferenceIndex=s7(t,6),e.width=s7(t,24),e.height=s7(t,26),e.horizresolution=l7(t,28),e.vertresolution=l7(t,32),e.frameCount=s7(t,40),e.depth=s7(t,74),78}function nee(e,t){return e.dataReferenceIndex=s7(t,6),e.channelCount=s7(t,16),e.sampleSize=s7(t,18),e.sampleRate=l7(t,24)/65536,28}function ree(e,t,n){if(e){if(e.size!==e.data.length)throw new Error("box ".concat(e.type," size !== data.length"));var r={start:e.start,size:e.size,headerSize:e.headerSize,type:e.type};return t&&(r.version=e.data[e.headerSize],r.flags=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<16)+(e[t+1]<<8)+(e[t+2]||0)}(e.data,e.headerSize+1),r.headerSize+=4),n(r,e.data.subarray(r.headerSize),r.start+r.headerSize),r}}var iee=function(){for(var e=[],t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return mu(n).call(n,(function(t){e.push(function(e,t,n){for(var r=String(n),i=t>>0,a=Math.ceil(i/r.length),o=[],s=String(e);a--;)o.push(r);return o.join("").substring(0,i-s.length)+s}(Number(t).toString(16),2,0))})),e[0]},aee=nV,oee="ArrayBuffer",see=eQ[oee];Ew({global:!0,constructor:!0,forced:zZ[oee]!==see},{ArrayBuffer:see}),aee(oee);var lee,uee=function(){function e(){H8(this,e),this.buffer=new Uint8Array(0)}return F8(e,[{key:"write",value:function(){for(var e=this,t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];mu(n).call(n,(function(t){t?e.buffer=P8(Uint8Array,e.buffer,t):window.console.warn(t)}))}}],[{key:"writeUint16",value:function(e){return new Uint8Array([e>>8&255,255&e])}},{key:"writeUint32",value:function(e){return new Uint8Array([e>>24,e>>16&255,e>>8&255,255&e])}}]),e}(),cee=Math.pow(2,32)-1,dee=function(){function e(){H8(this,e)}return F8(e,null,[{key:"box",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];n=li(n).call(n,Boolean);var i=8+i7(n).call(n,(function(e,t){return e+t.byteLength}),0),a=new Uint8Array(i);a[0]=i>>24&255,a[1]=i>>16&255,a[2]=i>>8&255,a[3]=255&i,a.set(e,4);var o=8;return mu(n).call(n,(function(e){a.set(e,o),o+=e.byteLength})),a}},{key:"ftyp",value:function(t){return kP(t).call(t,(function(e){return e.type===a6&&e.codecType===u6}))?e.FTYPHEV1:e.FTYPAVC1}},{key:"initSegment",value:function(t){return a7(e.ftyp(t),e.moov(t))}},{key:"pssh",value:function(t){var n,r=new Uint8Array(Ci(n=[1,0,0,0]).call(n,[16,119,239,236,192,178,77,2,172,227,60,30,82,226,251,75],[0,0,0,1],d7(t.kid),[0,0,0,0]));return e.box(e.types.pssh,r)}},{key:"moov",value:function(t){if(t[0].useEME&&(t[0].encv||t[0].enca)){var n;t[0].pssh||(t[0].pssh={kid:t[0].kid});var r=this.pssh(t[0].pssh);return e.box.apply(e,Ci(n=[e.types.moov,e.mvhd(t[0].mvhdDurtion||t[0].duration,t[0].mvhdTimecale||t[0].timescale),e.mvex(t)]).call(n,U8(Ro(t).call(t,(function(t){return e.trak(t)}))),[r]))}var i;return e.box.apply(e,Ci(i=[e.types.moov,e.mvhd(t[0].mvhdDurtion||t[0].duration,t[0].mvhdTimecale||t[0].timescale)]).call(i,U8(Ro(t).call(t,(function(t){return e.trak(t)}))),[e.mvex(t)]))}},{key:"mvhd",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4;return e.box(e.types.mvhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,n>>24&255,n>>16&255,n>>8&255,255&n,t>>24&255,t>>16&255,t>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}},{key:"trak",value:function(t){return e.box(e.types.trak,e.tkhd(t.id,t.tkhdDuration||0,t.width,t.height),e.mdia(t))}},{key:"tkhd",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return e.box(e.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,t>>24&255,t>>16&255,t>>8&255,255&t,0,0,0,0,n>>24&255,n>>16&255,n>>8&255,255&n,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,r>>8&255,255&r,0,0,i>>8&255,255&i,0,0]))}},{key:"mdia",value:function(t){return e.box(e.types.mdia,e.mdhd(t.duration,t.timescale),e.hdlr(t.type),e.minf(t))}},{key:"mdhd",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4;return e.box(e.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,n>>24&255,n>>16&255,n>>8&255,255&n,t>>24&255,t>>16&255,t>>8&255,255&t,85,196,0,0]))}},{key:"hdlr",value:function(t){return e.box(e.types.hdlr,e.HDLR_TYPES[t])}},{key:"minf",value:function(t){return e.box(e.types.minf,t.type===a6?e.VMHD:e.SMHD,e.DINF,e.stbl(t))}},{key:"stbl",value:function(t){var n=[];return t&&t.ext&&t.ext.stss&&n.push(e.stss(G7(t.ext.stss))),e.box(e.types.stbl,e.stsd(t),e.STTS,n[0],e.STSC,e.STSZ,e.STCO)}},{key:"stsd",value:function(t){var n;return n="audio"===t.type?t.useEME&&t.enca?e.enca(t):e.mp4a(t):t.useEME&&t.encv?e.encv(t):e.avc1hev1(t),e.box(e.types.stsd,new Uint8Array([0,0,0,0,0,0,0,1]),n)}},{key:"enca",value:function(t){var n=t.enca.channelCount,r=t.enca.sampleRate,i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,n,0,16,0,0,0,0,r>>8&255,255&r,0,0]),a=e.esds(t.config),o=e.sinf(t.enca);return e.box(e.types.enca,i,a,o)}},{key:"encv",value:function(t){var n,r,i,a=t.sps.length>0?t.sps[0]:[],o=t.pps.length>0?t.pps[0]:[],s=t.width,l=t.height,u=t.sarRatio[0],c=t.sarRatio[1],d=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,s>>8&255,255&s,l>>8&255,255&l,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),h=new Uint8Array(Ci(r=Ci(n=Ci(i=[1,a[1],a[2],a[3],255,225,a.length>>>8&255,255&a.length]).apply(i,U8(a))).call(n,[1,o.length>>>8&255,255&o.length])).apply(r,U8(o))),f=new Uint8Array([0,0,88,57,0,15,200,192,0,4,86,72]),m=e.sinf(t.encv),p=new Uint8Array([u>>24,u>>16&255,u>>8&255,255&u,c>>24,c>>16&255,c>>8&255,255&c]);return e.box(e.types.encv,d,e.box(e.types.avcC,h),e.box(e.types.btrt,f),m,e.box(e.types.pasp,p))}},{key:"schi",value:function(t){var n=new Uint8Array([]),r=e.tenc(t);return e.box(e.types.schi,n,r)}},{key:"tenc",value:function(t){var n,r=new Uint8Array(Ci(n=[0,0,0,0,0,0,255&t.default_IsEncrypted,255&t.default_IV_size]).call(n,d7(t.default_KID)));return e.box(e.types.tenc,r)}},{key:"sinf",value:function(t){var n=new Uint8Array([]),r=new Uint8Array([t.data_format.charCodeAt(0),t.data_format.charCodeAt(1),t.data_format.charCodeAt(2),t.data_format.charCodeAt(3)]),i=new Uint8Array([0,0,0,0,99,101,110,99,0,1,0,0]),a=e.schi(t);return e.box(e.types.sinf,n,e.box(e.types.frma,r),e.box(e.types.schm,i),a)}},{key:"avc1hev1",value:function(t){var n,r=t.codecType===u6,i=r?e.types.hvc1:e.types.avc1,a=r?e.hvcC(t):e.avcC(t),o=[new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,t.width>>8&255,255&t.width,t.height>>8&255,255&t.height,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),a];return r?o.push(e.box(e.types.fiel,new Uint8Array([1,0]))):t.sarRatio&&t.sarRatio.length>1&&o.push(e.pasp(t.sarRatio)),e.box.apply(e,Ci(n=[i]).call(n,o))}},{key:"avcC",value:function(t){var n,r,i,a,o,s,l=[],u=[];return mu(n=t.sps).call(n,(function(e){s=e.byteLength,l.push(s>>>8&255),l.push(255&s),l.push.apply(l,U8(e))})),mu(r=t.pps).call(r,(function(e){s=e.byteLength,u.push(s>>>8&255),u.push(255&s),u.push.apply(u,U8(e))})),e.box(e.types.avcC,new Uint8Array(Ci(a=Ci(i=Ci(o=[1,l[3],l[4],l[5],255,224|t.sps.length]).apply(o,l)).call(i,[t.pps.length])).apply(a,u)))}},{key:"hvcC",value:function(t){var n=t.hvcC;if(n instanceof ArrayBuffer||n instanceof Uint8Array)return n;var r,i=t.vps,a=t.sps,o=t.pps;if(n){var s=n.generalProfileCompatibilityFlags,l=n.generalConstraintIndicatorFlags,u=(i.length&&1)+(a.length&&1)+(o.length&&1);r=[1,n.generalProfileSpace<<6|n.generalTierFlag<<5|n.generalProfileIdc,s>>>24,s>>>16,s>>>8,s,l[0],l[1],l[2],l[3],l[4],l[5],n.generalLevelIdc,240,0,252,252|n.chromaFormatIdc,248|n.bitDepthLumaMinus8,248|n.bitDepthChromaMinus8,0,0,n.numTemporalLayers<<3|n.temporalIdNested<<2|3,u];var c=function(e){var t;r.push(e.length>>8,e.length),(t=r).push.apply(t,U8(e))};i.length&&(r.push(160,0,i.length),mu(i).call(i,c)),a.length&&(r.push(161,0,a.length),mu(a).call(a,c)),o.length&&(r.push(162,0,o.length),mu(o).call(o,c))}else r=[1,1,96,0,0,0,144,0,0,0,0,0,93,240,0,252,253,248,248,0,0,15,3,160,0,1,0,24,64,1,12,1,255,255,1,96,0,0,3,0,144,0,0,3,0,0,3,0,93,153,152,9,161,0,1,0,45,66,1,1,1,96,0,0,3,0,144,0,0,3,0,0,3,0,93,160,2,128,128,45,22,89,153,164,147,43,154,128,128,128,130,0,0,3,0,2,0,0,3,0,50,16,162,0,1,0,7,68,1,193,114,180,98,64];return e.box(e.types.hvcC,new Uint8Array(r))}},{key:"pasp",value:function(t){var n=N8(t,2),r=n[0],i=n[1];return e.box(e.types.pasp,new Uint8Array([r>>24,r>>16&255,r>>8&255,255&r,i>>24,i>>16&255,i>>8&255,255&i]))}},{key:"mp4a",value:function(t){return e.box(e.types.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t.channelCount,0,16,0,0,0,0,t.sampleRate>>8&255,255&t.sampleRate,0,0]),t.config.length?e.esds(t.config):void 0)}},{key:"esds",value:function(t){var n,r,i,a=t.length;return e.box(e.types.esds,new Uint8Array(Ci(n=Ci(r=Ci(i=[0,0,0,0,3,23+a,0,0,0,4,15+a,64,21,0,6,0,0,0,218,192,0,0,218,192,5]).call(i,[a])).call(r,t)).call(n,[6,1,2])))}},{key:"mvex",value:function(t){var n;return e.box.apply(e,Ci(n=[e.types.mvex]).call(n,U8(Ro(t).call(t,(function(t){return e.trex(t.id)})))))}},{key:"trex",value:function(t){return e.box(e.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}},{key:"trex1",value:function(t){return e.box(e.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t,0,0,0,1,0,0,2,0,0,0,0,0,0,1,0,0]))}},{key:"trex2",value:function(t){return e.box(e.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t,0,0,0,1,0,0,4,0,0,0,0,0,2,0,0,0]))}},{key:"moof",value:function(t){var n;return e.box.apply(e,Ci(n=[e.types.moof,e.mfhd(t[0].samples?t[0].samples[0].gopId:0)]).call(n,U8(Ro(t).call(t,(function(t){return e.traf(t)})))))}},{key:"mfhd",value:function(t){return e.box(e.types.mfhd,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]))}},{key:"traf",value:function(t){var n=e.tfhd(t.id),r=e.tfdt(t,t.baseMediaDecodeTime);if(t.useEME&&(t.isVideoEncryption||t.isAudioEncryption)){if(t.isVideoEncryption){if(1===t.id){var i=e.saiz(t),a=e.saio(t),o=e.trun1(t),s=e.senc(t);return e.box(e.types.traf,n,r,i,a,o,s)}if(t.isAudioEncryption){var l=e.sbgp(),u=e.saiz(t),c=e.saio(t),d=e.senc(t),h=e.trun1(t);return e.box(e.types.traf,n,r,l,u,c,d,h)}var f=e.sbgp(),m=e.trun1(t);return e.box(e.types.traf,n,r,f,m)}if(1===t.id){var p=e.trun1(t);return e.box(e.types.traf,n,r,p)}var y=e.sbgp(),b=e.saiz(t),v=e.saio(t),g=e.senc(t),Z=e.trun1(t);return e.box(e.types.traf,n,r,y,b,v,g,Z)}var L=e.sdtp(t);return e.box(e.types.traf,n,r,L,e.trun(t.samples,L.byteLength+76))}},{key:"sdtp",value:function(t){var n,r=new uee;return mu(n=t.samples).call(n,(function(e){r.write(new Uint8Array(1===t.id?[e.keyframe?32:16]:[16]))})),e.box(e.types.sdtp,this.extension(0,0),r.buffer)}},{key:"trun1",value:function(t){var n,r=new uee,i=uee.writeUint32(t.samples.length),a=null;if(1===t.id){var o=t.videoSencLength;a=uee.writeUint32(16*t.samples.length+o+149),!t.isVideoEncryption&&t.isAudioEncryption&&(a=uee.writeUint32(16*t.samples.length+92))}else{var s=12*t.samples.length+124;t.isAudioEncryption&&(s=12*t.samples.length+8*t.audioSenc.length+177),a=uee.writeUint32(s)}return mu(n=t.samples).call(n,(function(e){r.write(uee.writeUint32(e.duration)),r.write(uee.writeUint32(e.size)),r.write(uee.writeUint32(e.keyframe?33554432:65536)),1===t.id&&r.write(uee.writeUint32(e.cts?e.cts:0))})),e.box(e.types.trun,this.extension(0,L7(t)),i,a,r.buffer)}},{key:"senc",value:function(t){var n=new uee,r=t.samples.length,i=1===t.id?16:8,a=1===t.id?2:0,o=[],s=0;return 1===t.id?(o=t.videoSenc,s=t.videoSencLength):o=t.audioSenc,s=s||i*r,n.write(uee.writeUint32(16+s),e.types.senc,this.extension(0,a)),n.write(uee.writeUint32(r)),mu(o).call(o,(function(e){for(var t=0;t<e.InitializationVector.length;t++)n.write(new Uint8Array([e.InitializationVector[t]]));var r;e.subsamples&&e.subsamples.length&&(n.write(uee.writeUint16(e.subsamples.length)),mu(r=e.subsamples).call(r,(function(e){n.write(uee.writeUint16(e.BytesOfClearData)),n.write(uee.writeUint32(e.BytesOfProtectedData))})))})),n.buffer}},{key:"saio",value:function(t){var n=12*t.samples.length+141;2===t.id&&t.isAudioEncryption&&(n=149);var r=new Uint8Array([1,0,0,0,0,0,0,1,0,0,0,0,n>>24&255,n>>16&255,n>>8&255,255&n]);return e.box(e.types.saio,r)}},{key:"saiz",value:function(t){var n=t.samples.length,r=new Uint8Array([0,0,0,0,16,n>>24&255,n>>16&255,n>>8&255,255&n]);return e.box(e.types.saiz,r)}},{key:"sbgp",value:function(){var t=new Uint8Array([114,111,108,108,0,0,0,1,0,0,1,25,0,0,0,1]);return e.box(e.types.sbgp,this.extension(0,0),t)}},{key:"extension",value:function(e,t){return new Uint8Array([e,t>>16&255,t>>8&255,255&t])}},{key:"tfhd",value:function(t){return e.box(e.types.tfhd,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]))}},{key:"tfdt",value:function(t,n){var r=Math.floor(n/(cee+1)),i=Math.floor(n%(cee+1));return t.useEME&&(t.isVideoEncryption||t.isAudioEncryption)?e.box(e.types.tfdt,new Uint8Array([0,0,0,0,i>>24,i>>16&255,i>>8&255,255&i])):e.box(e.types.tfdt,new Uint8Array([1,0,0,0,r>>24,r>>16&255,r>>8&255,255&r,i>>24,i>>16&255,i>>8&255,255&i]))}},{key:"trun",value:function(t,n){var r=t.length,i=12+16*r;n+=8+i;var a=new Uint8Array(i);a.set([0,0,15,1,r>>>24&255,r>>>16&255,r>>>8&255,255&r,n>>>24&255,n>>>16&255,n>>>8&255,255&n],0);for(var o=0;o<r;o++){var s=t[o],l=s.duration,u=s.size,c=s.flag,d=void 0===c?{}:c,h=s.cts,f=void 0===h?0:h;a.set([l>>>24&255,l>>>16&255,l>>>8&255,255&l,u>>>24&255,u>>>16&255,u>>>8&255,255&u,d.isLeading<<2|(null===d.dependsOn||void 0===d.dependsOn?1:d.dependsOn),d.isDependedOn<<6|d.hasRedundancy<<4|d.paddingValue<<1|(null===d.isNonSyncSample||void 0===d.isNonSyncSample?1:d.isNonSyncSample),61440&d.degradationPriority,15&d.degradationPriority,f>>>24&255,f>>>16&255,f>>>8&255,255&f],12+16*o)}return e.box(e.types.trun,a)}},{key:"moovMP4",value:function(t){var n;return e.box.apply(e,Ci(n=[e.types.moov,e.mvhd(t[0].duration,t[0].timescale)]).call(n,U8(Ro(t).call(t,(function(t){return e.trackMP4(t)})))))}},{key:"trackMP4",value:function(t){return e.box(e.types.trak,e.tkhd(t.id,t.duration,t.width,t.height),e.mdiaMP4(t))}},{key:"mdiaMP4",value:function(t){return e.box(e.types.mdia,e.mdhd(t.duration,t.timescale),e.hdlr(t.type),e.minfMP4(t))}},{key:"minfMP4",value:function(t){return e.box(e.types.minf,t.type===a6?e.VMHD:e.SMHD,e.DINF,e.stblMP4(t))}},{key:"stblMP4",value:function(t){var n,r=t.ext,i=[e.stsd(t),e.stts(r.stts),e.stsc(r.stsc),e.stsz(r.stsz),e.stco(r.stco)];return r.stss.length&&i.push(e.stss(r.stss)),r.ctts.length&&i.push(e.ctts(r.ctts)),e.box.apply(e,Ci(n=[e.types.stbl]).call(n,i))}},{key:"stts",value:function(t){var n=t.length,r=new Uint8Array(8*n),i=0;return mu(t).call(t,(function(e){var t=e.value,n=e.count;r.set([n>>24,n>>16&255,n>>8&255,255&n,t>>24,t>>16&255,t>>8&255,255&t],i),i+=8})),e.box(e.types.stts,a7(new Uint8Array([0,0,0,0,n>>24,n>>16&255,n>>8&255,255&n]),r))}},{key:"stsc",value:function(t){var n=t.length,r=new Uint8Array(12*n),i=0;return mu(t).call(t,(function(e){var t=e.firstChunk,n=e.samplesPerChunk,a=e.sampleDescIndex;r.set([t>>24,t>>16&255,t>>8&255,255&t,n>>24,n>>16&255,n>>8&255,255&n,a>>24,a>>16&255,a>>8&255,255&a],i),i+=12})),e.box(e.types.stsc,a7(new Uint8Array([0,0,0,0,n>>24,n>>16&255,n>>8&255,255&n]),r))}},{key:"stsz",value:function(t){var n=t.length,r=new Uint8Array(4*n),i=0;return mu(t).call(t,(function(e){r.set([e>>24,e>>16&255,e>>8&255,255&e],i),i+=4})),e.box(e.types.stsz,a7(new Uint8Array([0,0,0,0,0,0,0,0,n>>24,n>>16&255,n>>8&255,255&n]),r))}},{key:"stco",value:function(t){var n=t.length,r=new Uint8Array(4*n),i=0;return mu(t).call(t,(function(e){r.set([e>>24,e>>16&255,e>>8&255,255&e],i),i+=4})),e.box(e.types.stco,a7(new Uint8Array([0,0,0,0,n>>24,n>>16&255,n>>8&255,255&n]),r))}},{key:"stss",value:function(t){var n=t.length,r=new Uint8Array(4*n),i=0;return mu(t).call(t,(function(e){r.set([e>>24,e>>16&255,e>>8&255,255&e],i),i+=4})),e.box(e.types.stss,a7(new Uint8Array([0,0,0,0,n>>24,n>>16&255,n>>8&255,255&n]),r))}},{key:"ctts",value:function(t){var n=t.length,r=new Uint8Array(8*n),i=0;return mu(t).call(t,(function(e){var t=e.value,n=e.count;r.set([n>>24,n>>16&255,n>>8&255,255&n,t>>24,t>>16&255,t>>8&255,255&t],i),i+=8})),e.box(e.types.ctts,a7(new Uint8Array([0,0,0,0,n>>24,n>>16&255,n>>8&255,255&n]),r))}},{key:"styp",value:function(){return e.box(e.types.styp,new Uint8Array([109,115,100,104,0,0,0,0,109,115,100,104,109,115,105,120]))}},{key:"sidx",value:function(t){var n,r=t.timescale,i=t.samples[0].duration,a=i*t.samples.length,o=t.samples[0].sampleOffset*i,s=8;mu(n=t.samples).call(n,(function(e){s+=e.size}));var l=0;if(1===t.id){var u,c=0;t.videoSenc&&(u=t.videoSenc),1===t.id&&mu(u).call(u,(function(e){c+=8,e.subsamples&&e.subsamples.length&&(c+=2,c+=6*e.subsamples.length)})),t.videoSencLength=c,l=s+141+16*t.samples.length+c,t.useEME&&t.isAudioEncryption&&!t.isVideoEncryption&&(l=s+16*t.samples.length+84)}else l=s+116+12*t.samples.length,t.useEME&&t.isAudioEncryption&&(l=s+169+12*t.samples.length+8*t.audioSenc.length);var d=new Uint8Array([0,0,0,0,0,0,0,255&t.id,r>>24&255,r>>16&255,r>>8&255,255&r,o>>24&255,o>>16&255,o>>8&255,255&o,0,0,0,0,0,0,0,1,0,l>>16&255,l>>8&255,255&l,a>>24&255,a>>16&255,a>>8&255,255&a,144,0,0,0]);return e.box(e.types.sidx,d)}},{key:"mdat",value:function(t){return e.box(e.types.mdat,t)}}]),e}();E8(dee,"types",i7(lee=["avc1","avcC","hvc1","hvcC","dinf","dref","esds","ftyp","hdlr","mdat","mdhd","mdia","mfhd","minf","moof","moov","mp4a","mvex","mvhd","pasp","stbl","stco","stsc","stsd","stsz","stts","tfdt","tfhd","traf","trak","trex","tkhd","vmhd","smhd","ctts","stss","styp","pssh","sidx","sbgp","saiz","saio","senc","trun","encv","enca","sinf","btrt","frma","tenc","schm","schi","mehd","fiel","sdtp"]).call(lee,(function(e,t){return e[t]=[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)],e}),cg(null))),E8(dee,"HDLR_TYPES",{video:new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),audio:new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0])}),E8(dee,"FTYPAVC1",dee.box(dee.types.ftyp,new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]))),E8(dee,"FTYPHEV1",dee.box(dee.types.ftyp,new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,104,101,118,49]))),E8(dee,"DINF",dee.box(dee.types.dinf,dee.box(dee.types.dref,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1])))),E8(dee,"VMHD",dee.box(dee.types.vmhd,new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]))),E8(dee,"SMHD",dee.box(dee.types.smhd,new Uint8Array([0,0,0,0,0,0,0,0]))),E8(dee,"StblTable",new Uint8Array([0,0,0,0,0,0,0,0])),E8(dee,"STTS",dee.box(dee.types.stts,dee.StblTable)),E8(dee,"STSC",dee.box(dee.types.stsc,dee.StblTable)),E8(dee,"STSZ",dee.box(dee.types.stsz,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]))),E8(dee,"STCO",dee.box(dee.types.stco,dee.StblTable));var hee=function(){function e(t,n){H8(this,e),this.name=t||"",this._prefix="[".concat(this.name,"]"),e.disabled=n}return F8(e,[{key:"debug",value:function(){var t,n;if(!e.disabled){for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];(n=console).debug.apply(n,Ci(t=[this._prefix]).call(t,i))}}},{key:"log",value:function(){var t,n;if(!e.disabled){for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];(n=console).log.apply(n,Ci(t=[this._prefix]).call(t,i))}}},{key:"warn",value:function(){var t,n;if(!e.disabled){for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];(n=console).warn.apply(n,Ci(t=[this._prefix]).call(t,i))}}},{key:"error",value:function(){var t,n;if(!e.disabled){for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];(n=console).error.apply(n,Ci(t=[this._prefix]).call(t,i))}}},{key:"table",value:function(){var t;e.disabled||(console.group(this._prefix),(t=console).table.apply(t,arguments),console.groupEnd())}}],[{key:"enable",value:function(){e.disabled=!1}},{key:"disable",value:function(){e.disabled=!0}}]),e}();E8(hee,"disabled",!0);var fee=function(){function e(t,n,r){H8(this,e),this.videoTrack=t,this.audioTrack=n;var i=/Chrome\/([^.]+)/.exec(navigator.userAgent);this.forceFirstIDR=i&&Number(i[1])<50,this.log=new hee("FMP4Remuxer",!r||!r.openLog||!r.openLog)}return F8(e,[{key:"remux",value:function(){var e,t,n,r,i,a=arguments.length>0&&void 0!==arguments[0]&&arguments[0],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=this.videoTrack,l=this.audioTrack,u=s.exist(),c=l.exist(),d=[];return a&&(o&&o.initMerge?(u&&d.push(this.videoTrack),c&&d.push(this.audioTrack),n=dee.initSegment(d)):(u&&(e=dee.initSegment([this.videoTrack])),c&&(t=dee.initSegment([this.audioTrack])))),u&&s.hasSample()&&(r=this._remuxVideo()),c&&l.hasSample()&&(i=this._remuxAudio()),s.samples=[],l.samples=[],{initSegment:n,videoInitSegment:e,audioInitSegment:t,videoSegment:r,audioSegment:i}}},{key:"_remuxVideo",value:function(){var e=this.videoTrack;this.forceFirstIDR&&(e.samples[0].flag={dependsOn:2,isNonSyncSample:0});var t=e.samples,n=0;mu(t).call(t,(function(e){var t;n+=i7(t=e.units).call(t,(function(e,t){return e+t.byteLength}),0),n+=4*e.units.length}));for(var r,i=new Uint8Array(n),a=new DataView(i.buffer),o=function(e,n,o,s){var l;s=t[e];var c=0;mu(l=s.units).call(l,(function(e){a.setUint32(o,e.byteLength),o+=4,i.set(e,o),o+=e.byteLength,c+=4+e.byteLength})),s.size=c,u=o,r=s},s=0,l=t.length,u=0;s<l;s++)o(s,0,u,r);var c=dee.mdat(i);return e.isVideoEncryption||e.isAudioEncryption?a7(dee.styp(),dee.sidx(e),dee.moof([e]),c):a7(dee.moof([e]),c)}},{key:"_remuxAudio",value:function(){var e,t,n=this.audioTrack,r=new Uint8Array(i7(e=n.samples).call(e,(function(e,t){return e+t.size}),0));i7(t=n.samples).call(t,(function(e,t){return r.set(t.data,e),e+t.size}),0);var i=dee.mdat(r);return n.isVideoEncryption||n.isAudioEncryption?a7(dee.styp(),dee.sidx(n),dee.moof([n]),i):a7(dee.moof([n]),i)}},{key:"reset",value:function(){this.videoTrack.reset(),this.audioTrack.reset()}}]),e}();function mee(e){var t;return(mee=vg?So(t=pg).call(t):function(e){return e.__proto__||pg(e)})(e)}function pee(){var e;"undefined"!=typeof Reflect&&DP?pee=So(e=DP).call(e):pee=function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=mee(e)););return e}(e,t);if(r){var i=Pv(r,t);return i.get?i.get.call(arguments.length<3?e:n):i.value}};return pee.apply(this,arguments)}function yee(e,t){var n;return(yee=vg?So(n=vg).call(n):function(e,t){return e.__proto__=t,e})(e,t)}function bee(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=ug(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),ig(e,"prototype",{writable:!1}),t&&yee(e,t)}function vee(){if("undefined"==typeof Reflect||!cZ)return!1;if(cZ.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(cZ(Boolean,[],(function(){}))),!0}catch(e){return!1}}function gee(e,t){if(t&&("object"===Tv(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function Zee(e){var t=vee();return function(){var n,r=mee(e);if(t){var i=mee(this).constructor;n=cZ(r,arguments,i)}else n=r.apply(this,arguments);return gee(this,n)}}var Lee=ze,See=or,Xee=hp,xee=ci;Gn({target:"Array",proto:!0,arity:1,forced:i((function(){return 4294967297!==[].push.call({length:4294967296},1)}))||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(Ude){return Ude instanceof TypeError}}()},{push:function(e){var t=Lee(this),n=See(t),r=arguments.length;xee(n+r);for(var i=0;i<r;i++)t[n]=arguments[i],n++;return Xee(t,n),n}});var wee=ri("Array").push,Tee=oe,kee=wee,Iee=Array.prototype,Gee=t((function(e){var t=e.push;return e===Iee||Tee(Iee,e)&&t===Iee.push?kee:t}));function Wee(e,t,n){var r;vee()?Wee=So(r=cZ).call(r):Wee=function(e,t,n){var r=[null];Gee(r).apply(r,t);var i=new(So(Function).apply(e,r));return n&&yee(i,n.prototype),i};return Wee.apply(null,arguments)}function Vee(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ree(e){var t=function(e,t){if("object"!==Tv(e)||null===e)return e;var n=e[zP];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Tv(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Tv(t)?t:String(t)}function Cee(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),ig(e,Ree(r.key),r)}}function Mee(e,t,n){return t&&Cee(e.prototype,t),n&&Cee(e,n),ig(e,"prototype",{writable:!1}),e}for(var Yee=function(){function e(){Vee(this,e)}return Mee(e,[{key:"mixIn",value:function(e){return Wu(this,e)}},{key:"clone",value:function(){var e=new this.constructor;return Wu(e,this),e}}],[{key:"create",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return Wee(this,t)}}]),e}(),Kee=function(e){bee(n,e);var t=Zee(n);function n(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4*r.length;Vee(this,n),e=t.call(this);var a=r;if(a instanceof ArrayBuffer&&(a=new Uint8Array(a)),(a instanceof Int8Array||a instanceof Uint8ClampedArray||a instanceof Int16Array||a instanceof Uint16Array||a instanceof Int32Array||a instanceof Uint32Array||a instanceof Float32Array||a instanceof Float64Array)&&(a=new Uint8Array(a.buffer,a.byteOffset,a.byteLength)),a instanceof Uint8Array){for(var o=a.byteLength,s=[],l=0;l<o;l+=1)s[l>>>2]|=a[l]<<24-l%4*8;e.words=s,e.sigBytes=o}else e.words=r,e.sigBytes=i;return e}return Mee(n,[{key:"toString",value:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:Pee).stringify(this)}},{key:"concat",value:function(e){var t=this.words,n=e.words,r=this.sigBytes,i=e.sigBytes;if(this.clamp(),r%4)for(var a=0;a<i;a+=1){var o=n[a>>>2]>>>24-a%4*8&255;t[r+a>>>2]|=o<<24-(r+a)%4*8}else for(var s=0;s<i;s+=4)t[r+s>>>2]=n[s>>>2];return this.sigBytes+=i,this}},{key:"clamp",value:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=Math.ceil(t/4)}},{key:"clone",value:function(){var e,t=pee(mee(n.prototype),"clone",this).call(this);return t.words=Ag(e=this.words).call(e,0),t}}],[{key:"random",value:function(e){for(var t,r=[],i=function(e){var t=e,n=987654321,r=4294967295;return function(){var e=((n=36969*(65535&n)+(n>>16)&r)<<16)+(t=18e3*(65535&t)+(t>>16)&r)&r;return e/=4294967296,(e+=.5)*(Math.random()>.5?1:-1)}},a=0;a<e;a+=4){var o=i(4294967296*(t||Math.random()));t=987654071*o(),r.push(4294967296*o()|0)}return new n(r,e)}}]),n}(Yee),Pee={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i<n;i+=1){var a=t[i>>>2]>>>24-i%4*8&255;r.push((a>>>4).toString(16)),r.push((15&a).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r<t;r+=2)n[r>>>3]|=ty(e.substr(r,2),16)<<24-r%8*4;return new Kee(n,t/2)}},Hee=function(e){for(var t=e.length,n=[],r=0;r<t;r+=1)n[r>>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new Kee(n,t)},_ee=function(e){return Hee(unescape(encodeURIComponent(e)))},Fee=function(e){bee(n,e);var t=Zee(n);function n(){var e;return Vee(this,n),(e=t.call(this))._minBufferSize=0,e}return Mee(n,[{key:"reset",value:function(){this._data=new Kee,this._nDataBytes=0}},{key:"_append",value:function(e){var t,n=e;"string"==typeof n&&(n=_ee(n)),Ci(t=this._data).call(t,n),this._nDataBytes+=n.sigBytes}},{key:"_process",value:function(e){var t,n=this._data,r=this.blockSize,i=n.words,a=n.sigBytes,o=a/(4*r),s=(o=e?Math.ceil(o):Math.max((0|o)-this._minBufferSize,0))*r,l=Math.min(4*s,a);if(s){for(var u=0;u<s;u+=r)this._doProcessBlock(i,u);t=Cp(i).call(i,0,s),n.sigBytes-=l}return new Kee(t,l)}},{key:"clone",value:function(){var e=pee(mee(n.prototype),"clone",this).call(this);return e._data=this._data.clone(),e}}]),n}(Yee),Eee=function(e){bee(n,e);var t=Zee(n);function n(e){var r;return Vee(this,n),(r=t.call(this)).blockSize=16,r.cfg=Wu(new Yee,e),r.reset(),r}return Mee(n,[{key:"reset",value:function(){pee(mee(n.prototype),"reset",this).call(this),this._doReset()}},{key:"update",value:function(e){return this._append(e),this._process(),this}},{key:"finalize",value:function(e){return e&&this._append(e),this._doFinalize()}}],[{key:"_createHelper",value:function(e){return function(t,n){return new e(n).finalize(t)}}},{key:"_createHmacHelper",value:function(e){return function(t,n){return new Nee(e,n).finalize(t)}}}]),n}(Fee),Nee=function(e){bee(n,e);var t=Zee(n);function n(e,r){var i;Vee(this,n),i=t.call(this);var a=new e;i._hasher=a;var o=r;"string"==typeof o&&(o=_ee(o));var s=a.blockSize,l=4*s;o.sigBytes>l&&(o=a.finalize(r)),o.clamp();var u=o.clone();i._oKey=u;var c=o.clone();i._iKey=c;for(var d=u.words,h=c.words,f=0;f<s;f+=1)d[f]^=1549556828,h[f]^=909522486;return u.sigBytes=l,c.sigBytes=l,i.reset(),i}return Mee(n,[{key:"reset",value:function(){var e=this._hasher;e.reset(),e.update(this._iKey)}},{key:"update",value:function(e){return this._hasher.update(e),this}},{key:"finalize",value:function(e){var t,n=this._hasher,r=n.finalize(e);return n.reset(),n.finalize(Ci(t=this._oKey.clone()).call(t,r))}}]),n}(Yee),Uee={stringify:function(e){var t=e.words,n=e.sigBytes,r=this._map;e.clamp();for(var i=[],a=0;a<n;a+=3)for(var o=(t[a>>>2]>>>24-a%4*8&255)<<16|(t[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|t[a+2>>>2]>>>24-(a+2)%4*8&255,s=0;s<4&&a+.75*s<n;s+=1)i.push(r.charAt(o>>>6*(3-s)&63));var l=r.charAt(64);if(l)for(;i.length%4;)i.push(l);return i.join("")},parse:function(e){var t=e.length,n=this._map,r=this._reverseMap;if(!r){this._reverseMap=[],r=this._reverseMap;for(var i=0;i<n.length;i+=1)r[n.charCodeAt(i)]=i}var a=n.charAt(64);if(a){var o=ro(e).call(e,a);-1!==o&&(t=o)}return function(e,t,n){for(var r=[],i=0,a=0;a<t;a+=1)if(a%4){var o=n[e.charCodeAt(a-1)]<<a%4*2|n[e.charCodeAt(a)]>>>6-a%4*2;r[i>>>2]|=o<<24-i%4*8,i+=1}return Kee.create(r,i)}(e,t,r)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},Jee=[],Dee=0;Dee<64;Dee+=1)Jee[Dee]=4294967296*Math.abs(Math.sin(Dee+1))|0;var jee=function(e,t,n,r,i,a,o){var s=e+(t&n|~t&r)+i+o;return(s<<a|s>>>32-a)+t},Aee=function(e,t,n,r,i,a,o){var s=e+(t&r|n&~r)+i+o;return(s<<a|s>>>32-a)+t},zee=function(e,t,n,r,i,a,o){var s=e+(t^n^r)+i+o;return(s<<a|s>>>32-a)+t},Bee=function(e,t,n,r,i,a,o){var s=e+(n^(t|~r))+i+o;return(s<<a|s>>>32-a)+t},Oee=function(e){bee(n,e);var t=Zee(n);function n(){return Vee(this,n),t.apply(this,arguments)}return Mee(n,[{key:"_doReset",value:function(){this._hash=new Kee([1732584193,4023233417,2562383102,271733878])}},{key:"_doProcessBlock",value:function(e,t){for(var n=e,r=0;r<16;r+=1){var i=t+r,a=e[i];n[i]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}var o=this._hash.words,s=n[t+0],l=n[t+1],u=n[t+2],c=n[t+3],d=n[t+4],h=n[t+5],f=n[t+6],m=n[t+7],p=n[t+8],y=n[t+9],b=n[t+10],v=n[t+11],g=n[t+12],Z=n[t+13],L=n[t+14],S=n[t+15],X=o[0],x=o[1],w=o[2],T=o[3];X=jee(X,x,w,T,s,7,Jee[0]),T=jee(T,X,x,w,l,12,Jee[1]),w=jee(w,T,X,x,u,17,Jee[2]),x=jee(x,w,T,X,c,22,Jee[3]),X=jee(X,x,w,T,d,7,Jee[4]),T=jee(T,X,x,w,h,12,Jee[5]),w=jee(w,T,X,x,f,17,Jee[6]),x=jee(x,w,T,X,m,22,Jee[7]),X=jee(X,x,w,T,p,7,Jee[8]),T=jee(T,X,x,w,y,12,Jee[9]),w=jee(w,T,X,x,b,17,Jee[10]),x=jee(x,w,T,X,v,22,Jee[11]),X=jee(X,x,w,T,g,7,Jee[12]),T=jee(T,X,x,w,Z,12,Jee[13]),w=jee(w,T,X,x,L,17,Jee[14]),x=jee(x,w,T,X,S,22,Jee[15]),X=Aee(X,x,w,T,l,5,Jee[16]),T=Aee(T,X,x,w,f,9,Jee[17]),w=Aee(w,T,X,x,v,14,Jee[18]),x=Aee(x,w,T,X,s,20,Jee[19]),X=Aee(X,x,w,T,h,5,Jee[20]),T=Aee(T,X,x,w,b,9,Jee[21]),w=Aee(w,T,X,x,S,14,Jee[22]),x=Aee(x,w,T,X,d,20,Jee[23]),X=Aee(X,x,w,T,y,5,Jee[24]),T=Aee(T,X,x,w,L,9,Jee[25]),w=Aee(w,T,X,x,c,14,Jee[26]),x=Aee(x,w,T,X,p,20,Jee[27]),X=Aee(X,x,w,T,Z,5,Jee[28]),T=Aee(T,X,x,w,u,9,Jee[29]),w=Aee(w,T,X,x,m,14,Jee[30]),x=Aee(x,w,T,X,g,20,Jee[31]),X=zee(X,x,w,T,h,4,Jee[32]),T=zee(T,X,x,w,p,11,Jee[33]),w=zee(w,T,X,x,v,16,Jee[34]),x=zee(x,w,T,X,L,23,Jee[35]),X=zee(X,x,w,T,l,4,Jee[36]),T=zee(T,X,x,w,d,11,Jee[37]),w=zee(w,T,X,x,m,16,Jee[38]),x=zee(x,w,T,X,b,23,Jee[39]),X=zee(X,x,w,T,Z,4,Jee[40]),T=zee(T,X,x,w,s,11,Jee[41]),w=zee(w,T,X,x,c,16,Jee[42]),x=zee(x,w,T,X,f,23,Jee[43]),X=zee(X,x,w,T,y,4,Jee[44]),T=zee(T,X,x,w,g,11,Jee[45]),w=zee(w,T,X,x,S,16,Jee[46]),x=zee(x,w,T,X,u,23,Jee[47]),X=Bee(X,x,w,T,s,6,Jee[48]),T=Bee(T,X,x,w,m,10,Jee[49]),w=Bee(w,T,X,x,L,15,Jee[50]),x=Bee(x,w,T,X,h,21,Jee[51]),X=Bee(X,x,w,T,g,6,Jee[52]),T=Bee(T,X,x,w,c,10,Jee[53]),w=Bee(w,T,X,x,b,15,Jee[54]),x=Bee(x,w,T,X,l,21,Jee[55]),X=Bee(X,x,w,T,p,6,Jee[56]),T=Bee(T,X,x,w,S,10,Jee[57]),w=Bee(w,T,X,x,f,15,Jee[58]),x=Bee(x,w,T,X,Z,21,Jee[59]),X=Bee(X,x,w,T,d,6,Jee[60]),T=Bee(T,X,x,w,v,10,Jee[61]),w=Bee(w,T,X,x,u,15,Jee[62]),x=Bee(x,w,T,X,y,21,Jee[63]),o[0]=o[0]+X|0,o[1]=o[1]+x|0,o[2]=o[2]+w|0,o[3]=o[3]+T|0}},{key:"_doFinalize",value:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;t[r>>>5]|=128<<24-r%32;var i=Math.floor(n/4294967296),a=n;t[15+(r+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t[14+(r+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),e.sigBytes=4*(t.length+1),this._process();for(var o=this._hash,s=o.words,l=0;l<4;l+=1){var u=s[l];s[l]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return o}},{key:"clone",value:function(){var e=pee(mee(n.prototype),"clone",this).call(this);return e._hash=this._hash.clone(),e}}]),n}(Eee);Eee._createHelper(Oee),Eee._createHmacHelper(Oee);var Qee=function(e){bee(n,e);var t=Zee(n);function n(e){var r;return Vee(this,n),(r=t.call(this)).cfg=Wu(new Yee,{keySize:4,hasher:Oee,iterations:1},e),r}return Mee(n,[{key:"compute",value:function(e,t){for(var n,r=this.cfg,i=r.hasher.create(),a=Kee.create(),o=a.words,s=r.keySize,l=r.iterations;o.length<s;){n&&i.update(n),n=i.update(e).finalize(t),i.reset();for(var u=1;u<l;u+=1)n=i.finalize(n),i.reset();Ci(a).call(a,n)}return a.sigBytes=4*s,a}}]),n}(Yee),qee=function(e){bee(n,e);var t=Zee(n);function n(e,r,i){var a;return Vee(this,n),(a=t.call(this)).cfg=Wu(new Yee,i),a._xformMode=e,a._key=r,a.reset(),a}return Mee(n,[{key:"reset",value:function(){pee(mee(n.prototype),"reset",this).call(this),this._doReset()}},{key:"process",value:function(e){return this._append(e),this._process()}},{key:"finalize",value:function(e){return e&&this._append(e),this._doFinalize()}}],[{key:"createEncryptor",value:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)}},{key:"createDecryptor",value:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)}},{key:"_createHelper",value:function(e){var t=function(e){return"string"==typeof e?lte:ote};return{encrypt:function(n,r,i){return t(r).encrypt(e,n,r,i)},decrypt:function(n,r,i){return t(r).decrypt(e,n,r,i)}}}}]),n}(Fee);qee._ENC_XFORM_MODE=1,qee._DEC_XFORM_MODE=2,qee.keySize=4,qee.ivSize=4;var $ee=function(e){bee(n,e);var t=Zee(n);function n(e,r){var i;return Vee(this,n),(i=t.call(this))._cipher=e,i._iv=r,i}return Mee(n,null,[{key:"createEncryptor",value:function(e,t){return this.Encryptor.create(e,t)}},{key:"createDecryptor",value:function(e,t){return this.Decryptor.create(e,t)}}]),n}(Yee);function ete(e,t,n){var r,i=e,a=this._iv;a?(r=a,this._iv=void 0):r=this._prevBlock;for(var o=0;o<n;o+=1)i[t+o]^=r[o]}var tte=function(e){bee(n,e);var t=Zee(n);function n(){return Vee(this,n),t.apply(this,arguments)}return Mee(n)}($ee);tte.Encryptor=function(e){bee(n,e);var t=Zee(n);function n(){return Vee(this,n),t.apply(this,arguments)}return Mee(n,[{key:"processBlock",value:function(e,t){var n=this._cipher,r=n.blockSize;ete.call(this,e,t,r),n.encryptBlock(e,t),this._prevBlock=Ag(e).call(e,t,t+r)}}]),n}(tte),tte.Decryptor=function(e){bee(n,e);var t=Zee(n);function n(){return Vee(this,n),t.apply(this,arguments)}return Mee(n,[{key:"processBlock",value:function(e,t){var n=this._cipher,r=n.blockSize,i=Ag(e).call(e,t,t+r);n.decryptBlock(e,t),ete.call(this,e,t,r),this._prevBlock=i}}]),n}(tte);var nte={pad:function(e,t){for(var n=4*t,r=n-e.sigBytes%n,i=r<<24|r<<16|r<<8|r,a=[],o=0;o<r;o+=4)a.push(i);var s=Kee.create(a,r);Ci(e).call(e,s)},unpad:function(e){var t=e,n=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=n}},rte=function(e){bee(n,e);var t=Zee(n);function n(e,r,i){var a;return Vee(this,n),(a=t.call(this,e,r,Wu({mode:tte,padding:nte},i))).blockSize=4,a}return Mee(n,[{key:"reset",value:function(){var e;pee(mee(n.prototype),"reset",this).call(this);var t=this.cfg,r=t.iv,i=t.mode;this._xformMode===this.constructor._ENC_XFORM_MODE?e=i.createEncryptor:(e=i.createDecryptor,this._minBufferSize=1),this._mode=e.call(i,this,r&&r.words),this._mode.__creator=e}},{key:"_doProcessBlock",value:function(e,t){this._mode.processBlock(e,t)}},{key:"_doFinalize",value:function(){var e,t=this.cfg.padding;return this._xformMode===this.constructor._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e}}]),n}(qee),ite=function(e){bee(n,e);var t=Zee(n);function n(e){var r;return Vee(this,n),(r=t.call(this)).mixIn(e),r}return Mee(n,[{key:"toString",value:function(e){return(e||this.formatter).stringify(this)}}]),n}(Yee),ate={stringify:function(e){var t,n,r,i=e.ciphertext,a=e.salt;a?t=Ci(n=Ci(r=Kee.create([1398893684,1701076831])).call(r,a)).call(n,i):t=i;return t.toString(Uee)},parse:function(e){var t,n=Uee.parse(e),r=n.words;return 1398893684===r[0]&&1701076831===r[1]&&(t=Kee.create(Ag(r).call(r,2,4)),Cp(r).call(r,0,4),n.sigBytes-=16),ite.create({ciphertext:n,salt:t})}},ote=function(e){bee(n,e);var t=Zee(n);function n(){return Vee(this,n),t.apply(this,arguments)}return Mee(n,null,[{key:"encrypt",value:function(e,t,n,r){var i=Wu(new Yee,this.cfg,r),a=e.createEncryptor(n,i),o=a.finalize(t),s=a.cfg;return ite.create({ciphertext:o,key:n,iv:s.iv,algorithm:e,mode:s.mode,padding:s.padding,blockSize:a.blockSize,formatter:i.format})}},{key:"decrypt",value:function(e,t,n,r){var i=t,a=Wu(new Yee,this.cfg,r);return i=this._parse(i,a.format),e.createDecryptor(n,a).finalize(i.ciphertext)}},{key:"_parse",value:function(e,t){return"string"==typeof e?t.parse(e,this):e}}]),n}(Yee);ote.cfg=Wu(new Yee,{format:ate});var ste={execute:function(e,t,n,r){var i,a=r;a||(a=Kee.random(8));var o=Qee.create({keySize:t+n}).compute(e,a),s=Kee.create(Ag(i=o.words).call(i,t),4*n);return o.sigBytes=4*t,ite.create({key:o,iv:s,salt:a})}},lte=function(e){bee(n,e);var t=Zee(n);function n(){return Vee(this,n),t.apply(this,arguments)}return Mee(n,null,[{key:"encrypt",value:function(e,t,n,r){var i=Wu(new Yee,this.cfg,r),a=i.kdf.execute(n,e.keySize,e.ivSize);i.iv=a.iv;var o=ote.encrypt.call(this,e,t,a.key,i);return o.mixIn(a),o}},{key:"decrypt",value:function(e,t,n,r){var i=t,a=Wu(new Yee,this.cfg,r);i=this._parse(i,a.format);var o=a.kdf.execute(n,e.keySize,e.ivSize,i.salt);return a.iv=o.iv,ote.decrypt.call(this,e,i,o.key,a)}}]),n}(ote);lte.cfg=Wu(ote.cfg,{kdf:ste});for(var ute=[],cte=[],dte=[],hte=[],fte=[],mte=[],pte=[],yte=[],bte=[],vte=[],gte=[],Zte=0;Zte<256;Zte+=1)gte[Zte]=Zte<128?Zte<<1:Zte<<1^283;for(var Lte=0,Ste=0,Xte=0;Xte<256;Xte+=1){var xte=Ste^Ste<<1^Ste<<2^Ste<<3^Ste<<4;xte=xte>>>8^255&xte^99,ute[Lte]=xte,cte[xte]=Lte;var wte=gte[Lte],Tte=gte[wte],kte=gte[Tte],Ite=257*gte[xte]^16843008*xte;dte[Lte]=Ite<<24|Ite>>>8,hte[Lte]=Ite<<16|Ite>>>16,fte[Lte]=Ite<<8|Ite>>>24,mte[Lte]=Ite,Ite=16843009*kte^65537*Tte^257*wte^16843008*Lte,pte[xte]=Ite<<24|Ite>>>8,yte[xte]=Ite<<16|Ite>>>16,bte[xte]=Ite<<8|Ite>>>24,vte[xte]=Ite,Lte?(Lte=wte^gte[gte[gte[kte^wte]]],Ste^=gte[gte[Ste]]):Lte=Ste=1}var Gte=[0,1,2,4,8,16,32,64,128,27,54],Wte=function(e){bee(n,e);var t=Zee(n);function n(){return Vee(this,n),t.apply(this,arguments)}return Mee(n,[{key:"_doReset",value:function(){var e;if(!this._nRounds||this._keyPriorReset!==this._key){this._keyPriorReset=this._key;var t=this._keyPriorReset,n=t.words,r=t.sigBytes/4;this._nRounds=r+6;var i=4*(this._nRounds+1);this._keySchedule=[];for(var a=this._keySchedule,o=0;o<i;o+=1)o<r?a[o]=n[o]:(e=a[o-1],o%r?r>6&&o%r==4&&(e=ute[e>>>24]<<24|ute[e>>>16&255]<<16|ute[e>>>8&255]<<8|ute[255&e]):(e=ute[(e=e<<8|e>>>24)>>>24]<<24|ute[e>>>16&255]<<16|ute[e>>>8&255]<<8|ute[255&e],e^=Gte[o/r|0]<<24),a[o]=a[o-r]^e);this._invKeySchedule=[];for(var s=this._invKeySchedule,l=0;l<i;l+=1){var u=i-l;e=l%4?a[u]:a[u-4],s[l]=l<4||u<=4?e:pte[ute[e>>>24]]^yte[ute[e>>>16&255]]^bte[ute[e>>>8&255]]^vte[ute[255&e]]}}}},{key:"encryptBlock",value:function(e,t){this._doCryptBlock(e,t,this._keySchedule,dte,hte,fte,mte,ute)}},{key:"decryptBlock",value:function(e,t){var n=e,r=n[t+1];n[t+1]=n[t+3],n[t+3]=r,this._doCryptBlock(n,t,this._invKeySchedule,pte,yte,bte,vte,cte),r=n[t+1],n[t+1]=n[t+3],n[t+3]=r}},{key:"_doCryptBlock",value:function(e,t,n,r,i,a,o,s){for(var l=e,u=this._nRounds,c=l[t]^n[0],d=l[t+1]^n[1],h=l[t+2]^n[2],f=l[t+3]^n[3],m=4,p=1;p<u;p+=1){var y=r[c>>>24]^i[d>>>16&255]^a[h>>>8&255]^o[255&f]^n[m];m+=1;var b=r[d>>>24]^i[h>>>16&255]^a[f>>>8&255]^o[255&c]^n[m];m+=1;var v=r[h>>>24]^i[f>>>16&255]^a[c>>>8&255]^o[255&d]^n[m];m+=1;var g=r[f>>>24]^i[c>>>16&255]^a[d>>>8&255]^o[255&h]^n[m];m+=1,c=y,d=b,h=v,f=g}var Z=(s[c>>>24]<<24|s[d>>>16&255]<<16|s[h>>>8&255]<<8|s[255&f])^n[m];m+=1;var L=(s[d>>>24]<<24|s[h>>>16&255]<<16|s[f>>>8&255]<<8|s[255&c])^n[m];m+=1;var S=(s[h>>>24]<<24|s[f>>>16&255]<<16|s[c>>>8&255]<<8|s[255&d])^n[m];m+=1;var X=(s[f>>>24]<<24|s[c>>>16&255]<<16|s[d>>>8&255]<<8|s[255&h])^n[m];m+=1,l[t]=Z,l[t+1]=L,l[t+2]=S,l[t+3]=X}}]),n}(rte);Wte.keySize=8;var Vte=rte._createHelper(Wte),Rte=function(e){bee(n,e);var t=Zee(n);function n(){return Vee(this,n),t.apply(this,arguments)}return Mee(n)}($ee);Rte.Encryptor=function(e){bee(n,e);var t=Zee(n);function n(){return Vee(this,n),t.apply(this,arguments)}return Mee(n,[{key:"processBlock",value:function(e,t){var n=e,r=this._cipher,i=r.blockSize,a=this._iv,o=this._counter;a&&(this._counter=Ag(a).call(a,0),o=this._counter,this._iv=void 0);var s=Ag(o).call(o,0);r.encryptBlock(s,0),o[i-1]=o[i-1]+1|0;for(var l=0;l<i;l+=1)n[t+l]^=s[l]}}]),n}(Rte),Rte.Decryptor=Rte.Encryptor;var Cte={pad:function(){},unpad:function(){}},Mte={decryptWordArray:function(e,t,n){var r=Pee.parse(t),i=Pee.parse(c7(n)),a=Kee.create(new Uint8Array(e)),o=Vte.decrypt(ite.create({ciphertext:a}),r,{iv:i,mode:Rte,padding:Cte});return Mte.wordArrayToUint8Array(o)},wordArrayToUint8Array:function(e){for(var t=e.sigBytes,n=e.words,r=new Uint8Array(t),i=0,a=0;i!==t;){var o=n[a++];if(r[i++]=(4278190080&o)>>>24,i===t)break;if(r[i++]=(16711680&o)>>>16,i===t)break;if(r[i++]=(65280&o)>>>8,i===t)break;r[i++]=255&o}return r}},Yte=function(){function e(t,n,r,i){var a=this;H8(this,e),E8(this,"_videoSamples",[]),E8(this,"_audioSamples",[]),E8(this,"_lastRemainBuffer",[]),E8(this,"_lastRemainBufferStartPos",0),this.videoTrack=new f6,this.audioTrack=new m6,this.metadataTrack=r||new b6,this.log=new hee("MP4Demuxer",!i||!i.openLog||!i.openLog),t&&mu(t).call(t,(function(e){var t;(t=a._videoSamples).push.apply(t,U8(e.frames))})),n&&mu(n).call(n,(function(e){var t;(t=a._audioSamples).push.apply(t,U8(e.frames))}))}return F8(e,[{key:"parseSamples",value:function(e){if(!e)throw new Error("moov is required");if(this.videoTrack.codec||this.audioTrack.codec||($7.moovToTrack(e,this.videoTrack,this.audioTrack),this.videoSenc=this.videoTrack.videoSenc,this.audioSenc=this.audioTrack.audioSenc),!this._audioSamples.length&&!this._videoSamples.length){var t=$7.moovToSamples(e);if(!t)throw new Error("cannot parse samples from moov box");this._videoSamples=t.videoSamples||[],this._audioSamples=t.audioSamples||[]}}},{key:"demux",value:function(e,t,n,r,i){this.parseSamples(i);var a,o,s,l=this.videoTrack,u=this.audioTrack;if(l.samples=[],u.samples=[],n){for(var c,d=0,h=n[0],f=n[1];h<=f;h++){if(!(a=this._videoSamples[h]))throw new Error("cannot found video frame #".concat(h));s=a.offset-t,o=e.subarray(s,s+a.size),(c=new p6(a.pts||a.dts,a.dts)).duration=a.duration,c.gopId=a.gopId,a.keyframe&&c.setToKeyframe();for(var m=0,p=o.length-1;m<p;)d=l7(o,m),m+=4,c.units.push(o.subarray(m,m+d)),m+=d;l.samples.push(c)}l.baseMediaDecodeTime=l.samples[0].dts}if(r){for(var y=r[0],b=r[1];y<=b;y++){if(!(a=this._audioSamples[y]))throw new Error("cannot found video frame #".concat(y));s=a.offset-t,o=e.subarray(s,s+a.size),u.samples.push(new y6(a.dts,o,a.duration))}u.baseMediaDecodeTime=u.samples[0].dts}return{videoTrack:l,audioTrack:u,metadataTrack:this.metadataTrack}}},{key:"demuxPart",value:function(e,t,n,r,i,a,o){if(this.parseSamples(i),this.videoTrack.useEME=a,this.audioTrack.useEME=a,this._lastRemainBuffer&&this._lastRemainBuffer.byteLength>0&&t>this._lastRemainBufferStartPos&&t<=this._lastRemainBufferStartPos+this._lastRemainBuffer.byteLength)for(var s=0;s<20;)try{var l=this._lastRemainBuffer.subarray(0,t-this._lastRemainBufferStartPos),u=new Uint8Array(e.byteLength+l.byteLength);u.set(l,0),u.set(new Uint8Array(e),l.byteLength),e=u,t-=l.byteLength,this._lastRemainBuffer=null,this._lastRemainBufferStartPos=0;break}catch(I){if(!(s<20))throw new Error("new Uint8Array error:,"+I.errorMessage);s++}var c,d,h,f=this.videoTrack,m=this.audioTrack;f.samples=[],m.samples=[],f.videoSenc=null,m.audioSenc=null;var p=0,y=0;if(this._videoSamples.length>0&&n.length>0){for(var b,v,g=e.byteLength+t,Z=n[0];Z<=n[1];Z++){if(!(c=this._videoSamples[Z]))throw new Error("cannot found video frame #".concat(Z));c.offset>=t&&c.offset+c.size<=g&&(p=(h=c.offset-t)+c.size,d=e.subarray(h,p),(b=new p6(c.pts||c.dts,c.dts)).duration=c.duration,b.gopId=c.gopId,b.sampleOffset=c.index,c.keyframe&&b.setToKeyframe(),b.data=d,b.size=c.size,f.samples.push(b))}if(f.samples.length>0)if(f.gopId=f.samples[0].gopId,f.baseMediaDecodeTime=f.samples[0].dts,f.startPts=f.samples[0].pts/f.timescale,f.endPts=f.samples[f.samples.length-1].pts/f.timescale,this.videoSenc)f.videoSenc=Ag(v=this.videoSenc).call(v,f.samples[0].sampleOffset,f.samples[0].sampleOffset+f.samples.length),f.kidValue=o}if(this._audioSamples.length>0&&r.length>0){for(var L=r[0];L<=r[1];L++){if(!(c=this._audioSamples[L]))throw new Error("cannot found video frame #".concat(L));c.offset>=t&&c.offset+c.size<=e.byteLength+t&&(y=(h=c.offset-t)+c.size,d=e.subarray(h,y),m.samples.push(new y6(c.dts,d,c.duration,c.index)))}var S;if(m.samples.length>0)if(m.gopId=m.samples[0].gopId||f.gopId,m.baseMediaDecodeTime=m.samples[0].dts,m.startPts=m.samples[0].pts/m.timescale,m.endPts=m.samples[m.samples.length-1].pts/m.timescale,this.audioSenc)m.audioSenc=Ag(S=this.audioSenc).call(S,m.samples[0].sampleOffset,m.samples[0].sampleOffset+m.samples.length),m.kidValue=o}this.decoderData(f,m);for(var X=0,x=0;x<f.samples.length;x++)for(var w=0,T=f.samples[x].data,k=T.length-1;w<k;)X=l7(T,w),w+=4,f.samples[x].units.push(T.subarray(w,w+X)),w+=X;return this._lastRemainBuffer=e.subarray(Math.max(p,y)),this._lastRemainBuffer.byteLength>0?this._lastRemainBufferStartPos=t+e.byteLength-this._lastRemainBuffer.byteLength:this._lastRemainBufferStartPos=0,{videoTrack:f,audioTrack:m,metadataTrack:this.metadataTrack}}},{key:"reset",value:function(){this._videoSamples=[],this._audioSamples=[],this._lastRemainBuffer=null,this._lastRemainBufferStartPos=0,this.videoTrack.reset(),this.audioTrack.reset(),this.metadataTrack.reset()}},{key:"decoderData",value:function(e,t){if(!e.useEME&&!t.useEME){if(e.videoSenc&&1===e.id){var n,r=e.kidValue,i=e.videoSenc;mu(n=e.samples).call(n,(function(t,n){var a=i[n],o=t.data,s=[],l=[],u=a.InitializationVector;if(a.subsamples&&a.subsamples.length){var c;mu(c=a.subsamples).call(c,(function(e){var t=e.BytesOfClearData+e.BytesOfProtectedData,n=Ag(o).call(o,0,t);s.push(Ag(n).call(n,0,e.BytesOfClearData)),l.push(Ag(n).call(n,e.BytesOfClearData)),o=Ag(o).call(o,t)}))}else{var d=t.size;s.push(Ag(o).call(o,0,0)),l.push(Ag(o).call(o,0,d)),o=Ag(o).call(o,d)}var h=new uee;h.write.apply(h,l);var f=Mte.decryptWordArray(h.buffer,r,u),m=new uee;mu(s).call(s,(function(e,t){var n=l[t].length,r=Ag(f).call(f,0,n);m.write(e),m.write(r),f=Ag(f).call(f,n)})),e.samples[n].data=m.buffer}))}if(t.audioSenc&&2===t.id){var a,o=t.kidValue,s=t.audioSenc;mu(a=t.samples).call(a,(function(e,n){var r=s[n],i=Mte.decryptWordArray(e.data,o,r.InitializationVector);t.samples[n].data=i}))}}}}],[{key:"probe",value:function(e){return $7.probe(e)}}]),e}(),Kte="3.0.0-alpha.36-3",Pte={416:-499899,401:-499898,403:-499897,404:-499896,timeout:-499895,"4xx":-499894,"5xx":-499893,networkError:-499892,contentError:-499891,mse:-499971,mseOpen:-499972,mseAppend:-499973,boxsError:-499980,moovError:-499981,notH264:-499982,mdatError:-499983,mdhdError:-499984,metaError:-499985,muxError:-499986,h265Error:-499987,noneURL:-499988,other:-499989,other1:-499990,waitTimeout:-499791,onWaitInBufferRange:-499792},Hte={network:1003,format:1005,runtime:1002,other:9999,demux:1006,remux:1007};var _te=HZ((function e(t,n,r){KZ(this,e);var i=0,a=0;r&&r.range&&r.range.length>1&&(i=r.range[0],a=r.range[1]);var o=function(e){var t=0;switch(e){case 0:t=0;break;case-1:t=Pte.networkError;break;case-2:t=Pte.timeout;break;case-3:t=Pte.contentError;break;default:t=e<500?Pte[e]||e["4xx"]:Pte[e]||e["5xx"]}return t}(n);return{errorCode:o,errorType:t,errorTypeCode:Hte[t],errorMessage:(null==r?void 0:r.httpText)||(null==r?void 0:r.message),url:null==r?void 0:r.url,httpCode:n,version:Kte,rangeStart:i,rangeEnd:a,ext:r,mediaError:{code:o,message:(null==r?void 0:r.httpText)||(null==r?void 0:r.message)}}})),Fte=HZ((function e(t,n,r){return KZ(this,e),{errorCode:n,errorType:t,errorTypeCode:Hte[t],version:Kte,errorMessage:r.msg,ext:r,mediaError:{code:n,message:r.msg}}})),Ete=fL,Nte=IS,Ute=Math.floor,Jte=Ete("".charAt),Dte=Ete("".replace),jte=Ete("".slice),Ate=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,zte=/\$([$&'`]|\d{1,2})/g,Bte=jw,Ote=tL,Qte=fL,qte=w2,$te=OZ,ene=xX,tne=CL,nne=XL,rne=Ux,ine=Ox,ane=qM,one=TL,sne=V2,lne=hS,une=function(e,t,n,r,i,a){var o=n+e.length,s=r.length,l=zte;return void 0!==i&&(i=Nte(i),l=Ate),Dte(a,l,(function(a,l){var u;switch(Jte(l,0)){case"$":return"$";case"&":return e;case"`":return jte(t,0,n);case"'":return jte(t,o);case"<":u=i[jte(l,1,-1)];break;default:var c=+l;if(0===c)return a;if(c>s){var d=Ute(c/10);return 0===d?a:d<=s?void 0===r[d-1]?Jte(l,1):r[d-1]+Jte(l,1):a}u=r[c-1]}return void 0===u?"":u}))},cne=H2,dne=jS("replace"),hne=Math.max,fne=Math.min,mne=Qte([].concat),pne=Qte([].push),yne=Qte("".indexOf),bne=Qte("".slice),vne="$0"==="a".replace(/./,"$0"),gne=!!/./[dne]&&""===/./[dne]("a","$0"),Zne=!$te((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")}));qte("replace",(function(e,t,n){var r=gne?"$":"$0";return[function(e,n){var r=one(this),i=nne(e)?void 0:lne(e,dne);return i?Ote(i,e,r,n):Ote(t,ane(r),e,n)},function(e,i){var a=ene(this),o=ane(e);if("string"==typeof i&&-1===yne(i,r)&&-1===yne(i,"$<")){var s=n(t,a,o,i);if(s.done)return s.value}var l=tne(i);l||(i=ane(i));var u=a.global;if(u){var c=a.unicode;a.lastIndex=0}for(var d=[];;){var h=cne(a,o);if(null===h)break;if(pne(d,h),!u)break;""===ane(h[0])&&(a.lastIndex=sne(o,ine(a.lastIndex),c))}for(var f,m="",p=0,y=0;y<d.length;y++){for(var b=ane((h=d[y])[0]),v=hne(fne(rne(h.index),o.length),0),g=[],Z=1;Z<h.length;Z++)pne(g,void 0===(f=h[Z])?f:String(f));var L=h.groups;if(l){var S=mne([b],g,v,o);void 0!==L&&pne(S,L);var X=ane(Bte(i,void 0,S))}else X=une(b,o,v,g,L,i);v>=p&&(m+=bne(o,p,v)+X,p=v+b.length)}return m+bne(o,p)}]}),!Zne||!vne||gne),Ew({target:"Array",stat:!0},{isArray:pT});var Lne=tL,Sne=xX,Xne=XL,xne=Ox,wne=qM,Tne=TL,kne=hS,Ine=V2,Gne=H2;w2("match",(function(e,t,n){return[function(t){var n=Tne(this),r=Xne(t)?void 0:kne(t,e);return r?Lne(r,t,n):new RegExp(t)[e](wne(n))},function(e){var r=Sne(this),i=wne(e),a=n(t,r,i);if(a.done)return a.value;if(!r.global)return Gne(r,i);var o=r.unicode;r.lastIndex=0;for(var s,l=[],u=0;null!==(s=Gne(r,i));){var c=wne(s[0]);l[u]=c,""===c&&(r.lastIndex=Ine(i,xne(r.lastIndex),o)),u++}return 0===u?null:l}]}));var Wne={};function Vne(e,t){var n=ca(e);if(kv){var r=kv(e);t&&(r=li(r).call(r,(function(t){return Hv(e,t).enumerable}))),n.push.apply(n,r)}return n}function Rne(e){for(var t=1;t<arguments.length;t++){var n,r,i=null!=arguments[t]?arguments[t]:{};t%2?mu(n=Vne(Object(i),!0)).call(n,(function(t){_ne(e,t,i[t])})):Uv?Ov(e,Uv(i)):mu(r=Vne(Object(i))).call(r,(function(t){ag(e,t,Hv(i,t))}))}return e}function Cne(){Cne=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,r=ag||function(e,t,n){e[t]=n.value},i="function"==typeof og?og:{},a=i.iterator||"@@iterator",o=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(e,t,n){return ag(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(k){l=function(e,t,n){return e[t]=n}}function u(e,t,n,i){var a=t&&t.prototype instanceof h?t:h,o=cg(a.prototype),s=new x(i||[]);return r(o,"_invoke",{value:Z(e,n,s)}),o}function c(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(k){return{type:"throw",arg:k}}}e.wrap=u;var d={};function h(){}function f(){}function m(){}var p={};l(p,a,(function(){return this}));var y=yg&&yg(yg(w([])));y&&y!==t&&n.call(y,a)&&(p=y);var b=m.prototype=h.prototype=cg(p);function v(e){var t;mu(t=["next","throw","return"]).call(t,(function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function g(e,t){function i(r,a,o,s){var l=c(e[r],e,a);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==Tv(d)&&n.call(d,"__await")?t.resolve(d.__await).then((function(e){i("next",e,o,s)}),(function(e){i("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return i("throw",e,o,s)}))}s(l.arg)}var a;r(this,"_invoke",{value:function(e,n){function r(){return new t((function(t,r){i(e,n,t,r)}))}return a=a?a.then(r,r):r()}})}function Z(e,t,n){var r="suspendedStart";return function(i,a){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw a;return{value:void 0,done:!0}}for(n.method=i,n.arg=a;;){var o=n.delegate;if(o){var s=L(o,n);if(s){if(s===d)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=c(e,t,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===d)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}function L(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,L(e,t),"throw"===t.method))return d;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}var r=c(n,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,d;var i=r.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function X(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function x(e){this.tryEntries=[{tryLoc:"root"}],mu(e).call(e,S,this),this.reset(!0)}function w(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function t(){for(;++r<e.length;)if(n.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:T}}function T(){return{value:void 0,done:!0}}return f.prototype=m,r(b,"constructor",{value:m,configurable:!0}),r(m,"constructor",{value:f,configurable:!0}),f.displayName=l(m,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===f||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return gg?gg(e,m):(e.__proto__=m,l(e,s,"GeneratorFunction")),e.prototype=cg(b),e},e.awrap=function(e){return{__await:e}},v(g.prototype),l(g.prototype,o,(function(){return this})),e.AsyncIterator=g,e.async=function(t,n,r,i,a){void 0===a&&(a=sp);var o=new g(u(t,n,r,i),a);return e.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},v(b),l(b,s,"Generator"),l(b,a,(function(){return this})),l(b,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return Ig(n).call(n),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},e.values=w,x.prototype={constructor:x,reset:function(e){var t;if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,mu(t=this.tryEntries).call(t,X),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+Ag(r).call(r,1))&&(this[r]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(n,r){return o.type="throw",o.arg=e,t.next=n,r&&(t.method="next",t.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(s&&l){if(this.prev<a.catchLoc)return r(a.catchLoc,!0);if(this.prev<a.finallyLoc)return r(a.finallyLoc)}else if(s){if(this.prev<a.catchLoc)return r(a.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return r(a.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var a=i;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var o=a?a.completion:{};return o.type=e,o.arg=t,a?(this.method="next",this.next=a.finallyLoc,d):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),d},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),X(n),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;X(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:w(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),d}},e}function Mne(e,t,n,r,i,a,o){try{var s=e[a](o),l=s.value}catch(Ude){return void n(Ude)}s.done?t(l):sp.resolve(l).then(r,i)}function Yne(e){return function(){var t=this,n=arguments;return new sp((function(r,i){var a=e.apply(t,n);function o(e){Mne(a,r,i,o,s,"next",e)}function s(e){Mne(a,r,i,o,s,"throw",e)}o(void 0)}))}}function Kne(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Pne(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),ag(e,r.key,r)}}function Hne(e,t,n){return t&&Pne(e.prototype,t),n&&Pne(e,n),ag(e,"prototype",{writable:!1}),e}function _ne(e,t,n){return t in e?ag(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Fne(e){var t;return(Fne=gg?Xo(t=yg).call(t):function(e){return e.__proto__||yg(e)})(e)}function Ene(e,t){var n;return(Ene=gg?Xo(n=gg).call(n):function(e,t){return e.__proto__=t,e})(e,t)}function Nne(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=ca(e);for(r=0;r<a.length;r++)n=a[r],ro(t).call(t,n)>=0||(i[n]=e[n]);return i}(e,t);if(kv){var a=kv(e);for(r=0;r<a.length;r++)n=a[r],ro(t).call(t,n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Une(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Jne(e){var t=function(){if("undefined"==typeof Reflect||!dZ)return!1;if(dZ.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(dZ(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Fne(e);if(t){var i=Fne(this).constructor;n=dZ(r,arguments,i)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===Tv(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return Une(e)}(this,n)}}function Dne(e,t){return function(e){if(hZ(e))return e}(e)||function(e,t){var n=null==e?null:void 0!==og&&fZ(e)||e["@@iterator"];if(null==n)return;var r,i,a=[],o=!0,s=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);o=!0);}catch(l){s=!0,i=l}finally{try{o||null==n.return||n.return()}finally{if(s)throw i}}return a}(e,t)||Ane(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function jne(e){return function(e){if(hZ(e))return zne(e)}(e)||function(e){if(void 0!==og&&null!=fZ(e)||null!=e["@@iterator"])return GZ(e)}(e)||Ane(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ane(e,t){var n;if(e){if("string"==typeof e)return zne(e,t);var r=Ag(n=Object.prototype.toString.call(e)).call(n,8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?GZ(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?zne(e,t):void 0}}function zne(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Bne(e,t){var n=ca(e);if(kv){var r=kv(e);t&&(r=li(r).call(r,(function(t){return Hv(e,t).enumerable}))),n.push.apply(n,r)}return n}function One(e){for(var t=1;t<arguments.length;t++){var n,r,i=null!=arguments[t]?arguments[t]:{};t%2?mu(n=Bne(Object(i),!0)).call(n,(function(t){ire(e,t,i[t])})):Uv?Ov(e,Uv(i)):mu(r=Bne(Object(i))).call(r,(function(t){ag(e,t,Hv(i,t))}))}return e}function Qne(){Qne=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,r=ag||function(e,t,n){e[t]=n.value},i="function"==typeof og?og:{},a=i.iterator||"@@iterator",o=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(e,t,n){return ag(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(k){l=function(e,t,n){return e[t]=n}}function u(e,t,n,i){var a=t&&t.prototype instanceof h?t:h,o=cg(a.prototype),s=new x(i||[]);return r(o,"_invoke",{value:Z(e,n,s)}),o}function c(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(k){return{type:"throw",arg:k}}}e.wrap=u;var d={};function h(){}function f(){}function m(){}var p={};l(p,a,(function(){return this}));var y=yg&&yg(yg(w([])));y&&y!==t&&n.call(y,a)&&(p=y);var b=m.prototype=h.prototype=cg(p);function v(e){var t;mu(t=["next","throw","return"]).call(t,(function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function g(e,t){function i(r,a,o,s){var l=c(e[r],e,a);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==Tv(d)&&n.call(d,"__await")?t.resolve(d.__await).then((function(e){i("next",e,o,s)}),(function(e){i("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return i("throw",e,o,s)}))}s(l.arg)}var a;r(this,"_invoke",{value:function(e,n){function r(){return new t((function(t,r){i(e,n,t,r)}))}return a=a?a.then(r,r):r()}})}function Z(e,t,n){var r="suspendedStart";return function(i,a){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw a;return{value:void 0,done:!0}}for(n.method=i,n.arg=a;;){var o=n.delegate;if(o){var s=L(o,n);if(s){if(s===d)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=c(e,t,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===d)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}function L(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,L(e,t),"throw"===t.method))return d;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}var r=c(n,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,d;var i=r.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function X(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function x(e){this.tryEntries=[{tryLoc:"root"}],mu(e).call(e,S,this),this.reset(!0)}function w(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function t(){for(;++r<e.length;)if(n.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:T}}function T(){return{value:void 0,done:!0}}return f.prototype=m,r(b,"constructor",{value:m,configurable:!0}),r(m,"constructor",{value:f,configurable:!0}),f.displayName=l(m,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===f||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return gg?gg(e,m):(e.__proto__=m,l(e,s,"GeneratorFunction")),e.prototype=cg(b),e},e.awrap=function(e){return{__await:e}},v(g.prototype),l(g.prototype,o,(function(){return this})),e.AsyncIterator=g,e.async=function(t,n,r,i,a){void 0===a&&(a=sp);var o=new g(u(t,n,r,i),a);return e.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},v(b),l(b,s,"Generator"),l(b,a,(function(){return this})),l(b,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return Ig(n).call(n),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},e.values=w,x.prototype={constructor:x,reset:function(e){var t;if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,mu(t=this.tryEntries).call(t,X),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+Ag(r).call(r,1))&&(this[r]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(n,r){return o.type="throw",o.arg=e,t.next=n,r&&(t.method="next",t.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(s&&l){if(this.prev<a.catchLoc)return r(a.catchLoc,!0);if(this.prev<a.finallyLoc)return r(a.finallyLoc)}else if(s){if(this.prev<a.catchLoc)return r(a.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return r(a.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var a=i;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var o=a?a.completion:{};return o.type=e,o.arg=t,a?(this.method="next",this.next=a.finallyLoc,d):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),d},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),X(n),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;X(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:w(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),d}},e}function qne(e){return(qne="function"==typeof og&&"symbol"==typeof zg?function(e){return typeof e}:function(e){return e&&"function"==typeof og&&e.constructor===og&&e!==og.prototype?"symbol":typeof e})(e)}function $ne(e,t,n,r,i,a,o){try{var s=e[a](o),l=s.value}catch(Ude){return void n(Ude)}s.done?t(l):sp.resolve(l).then(r,i)}function ere(e){return function(){var t=this,n=arguments;return new sp((function(r,i){var a=e.apply(t,n);function o(e){$ne(a,r,i,o,s,"next",e)}function s(e){$ne(a,r,i,o,s,"throw",e)}o(void 0)}))}}function tre(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function nre(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),ag(e,r.key,r)}}function rre(e,t,n){return t&&nre(e.prototype,t),n&&nre(e,n),ag(e,"prototype",{writable:!1}),e}function ire(e,t,n){return t in e?ag(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function are(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=cg(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),ag(e,"prototype",{writable:!1}),t&&sre(e,t)}function ore(e){var t;return(ore=gg?Xo(t=yg).call(t):function(e){return e.__proto__||yg(e)})(e)}function sre(e,t){var n;return(sre=gg?Xo(n=gg).call(n):function(e,t){return e.__proto__=t,e})(e,t)}function lre(){if("undefined"==typeof Reflect||!dZ)return!1;if(dZ.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(dZ(Boolean,[],(function(){}))),!0}catch(e){return!1}}function ure(e,t,n){var r;lre()?ure=Xo(r=dZ).call(r):ure=function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Xo(Function).apply(e,r));return n&&sre(i,n.prototype),i};return ure.apply(null,arguments)}function cre(e){var t="function"==typeof l4?new l4:void 0;return cre=function(e){if(null===e||(n=e,-1===ro(r=Function.toString.call(n)).call(r,"[native code]")))return e;var n,r;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,i)}function i(){return ure(e,arguments,ore(this).constructor)}return i.prototype=cg(e.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),sre(i,e)},cre(e)}function dre(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=ca(e);for(r=0;r<a.length;r++)n=a[r],ro(t).call(t,n)>=0||(i[n]=e[n]);return i}(e,t);if(kv){var a=kv(e);for(r=0;r<a.length;r++)n=a[r],ro(t).call(t,n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function hre(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function fre(e){var t=lre();return function(){var n,r=ore(e);if(t){var i=ore(this).constructor;n=dZ(r,arguments,i)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===Tv(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return hre(e)}(this,n)}}function mre(){var e;"undefined"!=typeof Reflect&&jP?mre=Xo(e=jP).call(e):mre=function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=ore(e)););return e}(e,t);if(r){var i=Hv(r,t);return i.get?i.get.call(arguments.length<3?e:n):i.value}};return mre.apply(this,arguments)}function pre(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function yre(e,t){var n=void 0!==og&&fZ(e)||e["@@iterator"];if(!n){if(hZ(e)||(n=function(e,t){var n;if(e){if("string"==typeof e)return pre(e,t);var r=Ag(n=Object.prototype.toString.call(e)).call(n,8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?GZ(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?pre(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function bre(){try{return ty(performance.now(),10)}catch(e){return(new Date).getTime()}}Wne.findBox=function(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(e.type!==t){if(e&&e.subBox){var i,a,o=li(i=e.subBox).call(i,(function(e){return e.type===t}));if(o.length)mu(o).call(o,(function(e){return r.push(e)}));else mu(a=e.subBox).call(a,(function(e){return Wne.findBox(e,t,r)}))}}else r.push(e);return(r=Ci(n=[]).call(n,r)).length>1?r:r[0]},Wne.padStart=function(e,t,n){for(var r=String(n),i=t>>0,a=Math.ceil(i/r.length),o=[],s=String(e);a--;)o.push(r);return o.join("").substring(0,i-s.length)+s},Wne.toHex=function(){for(var e=[],t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return mu(n).call(n,(function(t){e.push(CH(Wne).call(Wne,Number(t).toString(16),2,0))})),e},Wne.sum=function(){for(var e=0,t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return mu(n).call(n,(function(t){e+=t})),e},Wne.StringToArrayBuffer=function(e){for(var t=new ArrayBuffer(e.length),n=new Uint8Array(t),r=0;r<e.length;r++)n[r]=e.charCodeAt(r);return t},Wne.fromHex=function(e){for(var t=new Uint8Array(e.length/2),n=0;n<e.length;n+=2)t[n/2]=ty(e.substr(n,2),16);return t},Wne.fromCharCode=function(e){for(var t="",n=0;n<e.length;n+=16e3){var r=e.subarray(n,n+16e3);t+=String.fromCharCode.apply(null,r)}return t},Wne.ArrayBufferToString=function(e){for(var t="",n=new Uint8Array(e),r=0;r<n.length;r++)t+=String.fromCharCode(n[r]);return t},Wne.Base64ToHex=function(e){for(var t=window.atob(e.replace(/-/g,"+").replace(/_/g,"/")),n="",r=0;r<t.length;r++)n+=("0"+t.charCodeAt(r).toString(16)).substr(-2);return n},Wne.toBase64=function(e,t){var n=Wne.fromCharCode(e);t=void 0===t||t;var r=window.btoa(n).replace(/\+/g,"-").replace(/\//g,"_");return t?r:r.replace(/=*$/,"")},Wne.toUTF8=function(e){for(var t=encodeURIComponent(e),n=unescape(t),r=new Uint8Array(n.length),i=0;i<n.length;++i)r[i]=n.charCodeAt(i);return r.buffer},Wne.bufferToString=function(e){var t;return Ag(t="0"+Number(e).toString(16)).call(t,-2).toUpperCase()},Wne.strToBuf=function(e){for(var t=[],n=0;n<e.length;n+=2)t.push(ty(e[n]+e[n+1],16));return new Uint8Array(t)},Wne.formatIV=function(e){var t="";if(mu(e).call(e,(function(e){t+=Wne.bufferToString(e)})),t.length<=32)for(var n=32-t.length,r=0;r<n;r++)t+="0";return t},Wne.str2hex=function(e){if(""===e)return"";for(var t=[],n=0;n<e.length;n++)t.push(e.charCodeAt(n));return t},Wne.parse=function(e){if(!hZ(e)){for(var t=[],n="",r=0;r<e.length;r++)r%2&&(n=e[r-1]+e[r],t.push(ty(n,16)),n="");return t}return Ro(e).call(e,(function(e){return ty(e,16)}))},Wne.generateUniqueKey=function(e){var t,n,r=e.vid;e.start,e.end;var i=e.mediaType,a=e.definition;return e.preloadTime,i=i||"video",a=a||"0",r?Ci(t=Ci(n="".concat(r,"#")).call(n,i,"#")).call(t,a,"#mp4"):null},Wne.validateFragment=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(e instanceof ArrayBuffer){try{if(2===t.length){var n=t[1]-t[0]+1;if(!(e.byteLength===n))return}}catch(r){return console.error(r),!1}return!0}return!1},Wne.typeOf=function(e){return Object.prototype.toString.call(e).match(/([^\s.*]+)(?=]$)/g)[0]},Wne.getBufferSplits=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5e5;if(t-e-n<n/2||!t)return[[e,t]];for(var r=[];e<t;){var i=e+n;(i>t||t-i<n/2)&&(i=t),r.push([e,i]),e=i+1}return r},Wne.nowTime=function(){try{return ty(performance.now(),10)}catch(e){return(new Date).getTime()}},Wne.extUrl=function(e,t){try{var n,r,i=ro(e).call(e,"?");if(i<0)Ro(n=ca(t)).call(n,(function(n,r){var i,a;0===r?e+=Ci(i="?".concat(n,"=")).call(i,t[n]):e+=Ci(a="&".concat(n,"=")).call(a,t[n])}));else Ro(r=ca(t)).call(r,(function(n,r){var a,o;i===e.length-1?e+=Ci(a="".concat(n,"=")).call(a,t[n]):e+=Ci(o="&".concat(n,"=")).call(o,t[n])}));return e}catch(a){return e}},Wne.getFileSize=function(e,t){try{return e&&t?ty(t*e/8,10):0}catch(n){return 0}},Wne.hashVal=function(e){var t,n=0;if(0===e.length)return n;for(t=0;t<e.length;t++)n=(n<<5)-n+e.charCodeAt(t),n|=0;return n},Wne.getFileSize=function(e,t){try{return e&&t?ty(t*e/8,10):0}catch(n){return 0}},Wne.concatData=function(e,t){var n=[],r=0;e&&n.push(e),t&&n.push(t),Ei(n).call(n,(function(e){return e&&(r+=e.byteLength),!0}));var i=new Uint8Array(r),a=0;return Ei(n).call(n,(function(e){return e&&(i.set(e,a),a+=e.byteLength),!0})),i},Wne.getFragRange=function(e,t,n){var r=e<t.length?t[e]:null,i=e<n.length?n[e]:null,a=0,o=0;return e===t.length-1&&(a=-1),e===n.length-1&&(o=-1),[Math.min((null==r?void 0:r.range[0])||1/0,(null==i?void 0:i.range[0])||1/0),Math.max((null==r?void 0:r.range[1])+a||0,(null==i?void 0:i.range[1])+o||0)]};var vre=function(){function e(t){tre(this,e),this.name=t||"",this._prefix="[".concat(this.name,"]")}return rre(e,[{key:"debug",value:function(){var t,n;if(!e.disabled){for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];(n=console).debug.apply(n,Ci(t=[this._prefix,bre()]).call(t,i))}}},{key:"log",value:function(){var t,n;if(!e.disabled){for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];(n=console).log.apply(n,Ci(t=[this._prefix,bre()]).call(t,i))}}},{key:"warn",value:function(){var t,n;if(!e.disabled){for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];(n=console).warn.apply(n,Ci(t=[this._prefix,bre()]).call(t,i))}}},{key:"error",value:function(){var t,n;if(!e.disabled){for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];(n=console).error.apply(n,Ci(t=[this._prefix,bre()]).call(t,i))}}},{key:"table",value:function(){var t;e.disabled||(console.group(this._prefix),(t=console).table.apply(t,arguments),console.groupEnd())}}],[{key:"enable",value:function(){e.disabled=!1}},{key:"disable",value:function(){e.disabled=!0}}]),e}();ire(vre,"disabled",!0);var gre="fetch",Zre="xhr",Lre="arraybuffer",Sre="text",Xre="json",xre=function(e){are(n,e);var t=fre(n);function n(e,r,i,a){var o;return tre(this,n),ire(hre(o=t.call(this,a)),"retryCount",0),ire(hre(o),"isTimeout",!1),ire(hre(o),"loaderType",gre),ire(hre(o),"startTime",0),ire(hre(o),"endTime",0),o.url=e,o.request=r,o.response=i,o}return rre(n)}(cre(Error));Ew({target:"Number",stat:!0},{isNaN:function(e){return e!=e}});var wre=IS,Tre=FG,kre=RG;Ew({target:"Object",stat:!0,forced:OZ((function(){Tre(1)})),sham:!kre},{getPrototypeOf:function(e){return Tre(wre(e))}});var Ire=Object.prototype.toString;function Gre(e){if("[object Object]"!==Ire.call(e))return!1;var t=yg(e);return null===t||t===Object.prototype}function Wre(e){if(e&&null!==e[0]&&void 0!==e[0]&&(0!==e[0]||null!==e[1]&&void 0!==e[1])){var t="bytes="+e[0]+"-";return e[1]&&(t+=e[1]),t}}function Vre(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Rre(e,t){var n,r;if(e){if(!t)return e;var i,a=li(n=Ro(r=ca(t)).call(r,(function(e){if(null!=(i=t[e]))return hZ(i)?e+="[]":i=[i],Ro(i).call(i,(function(t){var n,r;return r=t,"[object Date]"===Ire.call(r)?t=t.toISOString():function(e){return null!==e&&"object"===qne(e)}(t)&&(t=Aa(t)),Ci(n="".concat(Vre(e),"=")).call(n,Vre(t))})).join("&")}))).call(n,Boolean).join("&");if(a){var o=ro(e).call(e,"#");-1!==o&&(e=Ag(e).call(e,0,o)),e+=(-1===ro(e).call(e,"?")?"?":"&")+a}return e}}function Cre(e,t,n,r,i,a,o,s,l,u,c){return i=null!=i?DH(i):null,r=ty(r||"0",10),IP(r)&&(r=0),{data:e,done:t,option:{range:l,vid:u,index:s,contentLength:r,age:i,startTime:a,firstByteTime:o,endTime:N_(),priOptions:c},response:n}}function Mre(e,t){return Math.round(8*e*1e3/t/1024)}var Yre="real_time_speed",Kre=2097152,Pre=function(e){are(r,e);var t,n=fre(r);function r(){var e;return tre(this,r),ire(hre(e=n.call(this)),"_abortController",null),ire(hre(e),"_timeoutTimer",null),ire(hre(e),"_reader",null),ire(hre(e),"_response",null),ire(hre(e),"_aborted",!1),ire(hre(e),"_index",-1),ire(hre(e),"_range",null),ire(hre(e),"_receivedLength",0),ire(hre(e),"_running",!1),ire(hre(e),"_logger",null),ire(hre(e),"_vid",""),ire(hre(e),"_onProcessMinLen",0),ire(hre(e),"_onCancel",null),ire(hre(e),"_priOptions",null),e}return rre(r,[{key:"load",value:function(e){var t,n=this,r=e.url,i=e.vid,a=e.timeout,o=e.responseType,s=e.onProgress,l=e.index,u=e.onTimeout,c=e.onCancel,d=e.range,h=e.transformResponse,f=e.request,m=e.params,p=e.logger,y=e.method,b=e.headers,v=e.body,g=e.mode,Z=e.credentials,L=e.cache,S=e.redirect,X=e.referrer,x=e.referrerPolicy,w=e.onProcessMinLen,T=e.priOptions;this._logger=p,this._aborted=!1,this._onProcessMinLen=w,this._onCancel=c,this._abortController="undefined"!=typeof AbortController&&new AbortController,this._running=!0,this._index=l,this._range=d||[0,0],this._vid=i||r,this._priOptions=T||{};var k={method:y,headers:b,body:v,mode:g,credentials:Z,cache:L,redirect:S,referrer:X,referrerPolicy:x,signal:null===(t=this._abortController)||void 0===t?void 0:t.signal},I=!1;clearTimeout(this._timeoutTimer),r=Rre(r,m);var G=Wre(d);G&&((b=f?f.headers:k.headers=k.headers||new Headers)instanceof Headers?b.append("Range",G):b.Range=G),a&&(this._timeoutTimer=On((function(){if(I=!0,n.cancel(),u){var e=new xre(r,k,null,"timeout");e.isTimeout=!0,u(e,n._index)}}),a));var W=N_();return this._logger.debug("[fetch load start], index,",l,",range,",d),new sp((function(e,t){fetch(f||r,f?void 0:k).then(function(){var i=ere(Qne().mark((function i(a){var u,c,f,m;return Qne().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(clearTimeout(n._timeoutTimer),n._response=a,!n._aborted&&n._running){i.next=4;break}return i.abrupt("return");case 4:if(h&&(a=h(a,r)||a),a.ok){i.next=7;break}throw new xre(r,k,a,"bad network response");case 7:if(u=N_(),o!==Sre){i.next=15;break}return i.next=11,a.text();case 11:c=i.sent,n._running=!1,i.next=37;break;case 15:if(o!==Xre){i.next=22;break}return i.next=18,a.json();case 18:c=i.sent,n._running=!1,i.next=37;break;case 22:if(!s){i.next=29;break}return n.resolve=e,n.reject=t,n._loadChunk(a,s,W,u),i.abrupt("return");case 29:return i.next=31,a.arrayBuffer();case 31:c=i.sent,c=new Uint8Array(c),n._running=!1,f=N_()-W,m=Mre(c.byteLength,f),n.emit(Yre,{speed:m});case 37:n._logger.debug("[fetch load end], index,",l,",range,",d),e(Cre(c,!0,a,a.headers.get("Content-Length"),a.headers.get("age"),W,u,l,d,n._vid,n._priOptions));case 39:case"end":return i.stop()}}),i)})));return function(e){return i.apply(this,arguments)}}()).catch((function(e){clearTimeout(n._timeoutTimer),n._running=!1,n._aborted&&!I||((e=e instanceof xre?e:new xre(r,k,null,Aa(e))).startTime=W,e.endTime=N_(),e.isTimeout=I,t(e))}))}))}},{key:"cancel",value:(t=ere(Qne().mark((function e(){return Qne().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this._aborted){e.next=2;break}return e.abrupt("return");case 2:if(this._aborted=!0,this._running=!1,!this._response){e.next=14;break}if(e.prev=5,!this._reader){e.next=9;break}return e.next=9,this._reader.cancel();case 9:e.next=13;break;case 11:e.prev=11,e.t0=e.catch(5);case 13:this._response=this._reader=null;case 14:if(this._abortController){try{this._abortController.abort()}catch(Ude){}this._abortController=null}this._onCancel&&this._onCancel(this._index);case 16:case"end":return e.stop()}}),e,this,[[5,11]])}))),function(){return t.apply(this,arguments)})},{key:"_loadChunk",value:function(e,t,n,r){var i=this;if(!e.body||!e.body.getReader)return this._running=!1,void this.reject(xre(e.url,"",e,"onProgress of bad response.body.getReader"));this._onProcessMinLen>0&&(this._cache=new Uint8Array(Kre),this._writeIdx=0);var a,o,s,l=this._reader=e.body.getReader(),u=function(){var c=ere(Qne().mark((function c(){var d,h,f,m,p,y;return Qne().wrap((function(c){for(;;)switch(c.prev=c.next){case 0:return o=N_(),c.prev=1,c.next=4,l.read();case 4:a=c.sent,s=N_(),c.next=13;break;case 8:return c.prev=8,c.t0=c.catch(1),s=N_(),i._aborted||(i._running=!1,i.reject(c.t0)),c.abrupt("return");case 13:if(d=i._range[0]+i._receivedLength,!i._aborted){c.next=18;break}return i._running=!1,t(void 0,!1,{range:[d,d],vid:i._vid,index:i._index,startTime:o,endTime:s,priOptions:i._priOptions},e),c.abrupt("return");case 18:var b;if(h=a.value?a.value.byteLength:0,i._receivedLength+=h,i._logger.debug("【fetchLoader,onProgress call】,task,",i._range,", start,",d,", end,",i._range[0]+i._receivedLength,", done,",a.done),i._onProcessMinLen>0){if(i._writeIdx+h>=i._onProcessMinLen||a.done)(f=new Uint8Array(i._writeIdx+h)).set(Ag(b=i._cache).call(b,0,i._writeIdx),0),h>0&&f.set(a.value,i._writeIdx),i._writeIdx=0,i._logger.debug("【fetchLoader,onProgress enough】,done,",a.done,",len,",f.byteLength,", writeIdx,",i._writeIdx);else if(h>0&&i._writeIdx+h<Kre)i._cache.set(a.value,i._writeIdx),i._writeIdx+=h,i._logger.debug("【fetchLoader,onProgress cache】,len,",h,", writeIdx,",i._writeIdx);else if(h>0){var v;m=new Uint8Array(i._writeIdx+h+2048),i._logger.debug("【fetchLoader,onProgress extra start】,size,",i._writeIdx+h+2048,", datalen,",h,", writeIdx,",i._writeIdx),m.set(Ag(v=i._cache).call(v,0,i._writeIdx),0),h>0&&m.set(a.value,i._writeIdx),i._writeIdx+=h,delete i._cache,i._cache=m,i._logger.debug("【fetchLoader,onProgress extra end】,len,",h,", writeIdx,",i._writeIdx)}}else f=a.value;(f&&f.byteLength>0||a.done)&&t(f,a.done,{range:[i._range[0]+i._receivedLength-(f?f.byteLength:0),i._range[0]+i._receivedLength],vid:i._vid,index:i._index,startTime:o,endTime:s,priOptions:i._priOptions},e),p=N_()-n,y=Mre(i._receivedLength,p),i.emit(Yre,{speed:y}),a.done?(i._running=!1,i._logger.debug("[fetchLoader onProgress end],task,",i._range,",done,",a.done),i.resolve(Cre(a,!0,e,e.headers.get("Content-Length"),e.headers.get("age"),o,r,i._index,i._range,i._vid,i._priOptions))):u();case 27:case"end":return c.stop()}}),c,null,[[1,8]])})));return function(){return c.apply(this,arguments)}}();u()}},{key:"receiveLen",get:function(){return this._receivedLength}},{key:"running",get:function(){return this._running},set:function(e){this._running=e}}],[{key:"isSupported",value:function(){return!("undefined"==typeof fetch)}}]),r}(sH);var Hre=function(e){are(n,e);var t=fre(n);function n(){var e;return tre(this,n),ire(hre(e=t.call(this)),"_xhr",null),ire(hre(e),"_aborted",!1),ire(hre(e),"_timeoutTimer",null),ire(hre(e),"_range",null),ire(hre(e),"_receivedLength",0),ire(hre(e),"_url",null),ire(hre(e),"_onProgress",null),ire(hre(e),"_index",-1),ire(hre(e),"_headers",null),ire(hre(e),"_currentChunkSizeKB",384),ire(hre(e),"_timeout",null),ire(hre(e),"_xhr",null),ire(hre(e),"_withCredentials",null),ire(hre(e),"_startTime",-1),ire(hre(e),"_loadCompleteResolve",null),ire(hre(e),"_loadCompleteReject",null),ire(hre(e),"_runing",!1),ire(hre(e),"_logger",!1),ire(hre(e),"_vid",""),ire(hre(e),"_responseType",void 0),ire(hre(e),"_credentials",void 0),ire(hre(e),"_method",void 0),ire(hre(e),"_transformResponse",void 0),ire(hre(e),"_firstRtt",void 0),ire(hre(e),"_subRangeStartTime",void 0),ire(hre(e),"_onCancel",null),ire(hre(e),"_priOptions",null),e}return rre(n,[{key:"load",value:function(e){var t=this;clearTimeout(this._timeoutTimer),this._logger=e.logger,this._range=e.range||[0,0],this._onProgress=e.onProgress,this._index=e.index,this._headers=e.headers,this._withCredentials="include"===e.credentials||"same-origin"===e.credentials,this._timeout=e.timeout||null,this._runing=!0,this._vid=e.vid||e.url,this._responseType=e.responseType,this._firstRtt=-1,this._onTimeout=e.onTimeout,this._onCancel=e.onCancel,this._request=e.request,this._credentials=e.credentials,this._priOptions=e.priOptions||{},this._logger.debug("【xhrLoader task】, range",this._range),this._url=Rre(e.url,e.params);var n=N_();return new sp((function(e,n){t._loadCompleteResolve=e,t._loadCompleteReject=n,t._startLoad()})).catch((function(e){if(clearTimeout(t._timeoutTimer),t._runing=!1,!t._aborted)throw(e=e instanceof xre?e:new xre(t._url,t._request)).startTime=n,e.endTime=N_(),e}))}},{key:"_startLoad",value:function(){var e=null;if(this._range&&this._range.length>1)if(this._onProgress){this._subRangeStartTime=N_(),this._firstRtt=-1;var t=1024*this._currentChunkSizeKB,n=this._range[0]+this._receivedLength,r=this._range[1];t<this._range[1]-n&&(r=n+t),e=[n,r],this._logger.debug("[xhr_loader->],tast :",this._range,", SubRange, ",e)}else e=this._range,this._logger.debug("[xhr_loader->],tast :",this._range,", allRange, ",e);this._internalOpen(e)}},{key:"_internalOpen",value:function(e){var t=this;try{var n,r;this._startTime=N_();var i=this._xhr=new XMLHttpRequest;i.open(this._method||"GET",this._url,!0),i.responseType=this._responseType,this._timeout&&(i.timeout=this._timeout),i.withCredentials=this._credentials,i.onload=Xo(n=this._onLoad).call(n,this),i.onreadystatechange=Xo(r=this._onReadyStatechange).call(r,this),i.onerror=function(e){t._running=!1;var n=new xre(t._url,t._request,{status:0},"onerror");t._loadCompleteReject(n)},i.ontimeout=function(e){t.cancel();var n=new xre(t._url,t._request,{status:408},"timeout");t._onTimeout&&(n.isTimeout=!0,t._onTimeout(n,t._index)),t._loadCompleteReject(n)};var a,o=Wre(e),s=null;if(o&&((s=this._headers||{}).Range=o),s)mu(a=ca(s)).call(a,(function(e){i.setRequestHeader(e,s[e])}));this._logger.debug("[xhr.send->] tast,",this._range,",load sub range, ",e),i.send()}catch(l){this._loadCompleteReject(l)}}},{key:"_onReadyStatechange",value:function(e){2===e.target.readyState&&this._firstRtt<0&&(this._firstRtt=N_())}},{key:"_onLoad",value:function(e){var t=e.target.status;if(t<200||t>299)return this._loadCompleteReject(new xre(this._url,null,One(One({},e.target.response),{},{status:t}),"bad response,status:"+t));var n,r=null,i=!1;if(this._responseType===Lre){var a=new Uint8Array(e.target.response);if(n=this._range[0]+this._receivedLength,a&&a.byteLength>0){this._receivedLength+=a.byteLength;var o=N_()-this._subRangeStartTime,s=Mre(this._receivedLength,o);this.emit(Yre,{speed:s})}r=a,i=!(this._range.length>1&&this._range[1]&&this._receivedLength<this._range[1]-this._range[0]),this._logger.debug("[xhr load done->], tast :",this._range,", start",n,"end ",this._range[0]+this._receivedLength,",dataLen,",a?a.byteLength:0,",receivedLength",this._receivedLength,",index,",this._index,", done,",i)}else i=!0,r=e.target.response;var l={ok:t>=200&&t<300,status:t,statusText:this._xhr.statusText,url:this._xhr.responseURL,headers:this._getHeaders(this._xhr),body:this._xhr.response};this._transformResponse&&(l=this._transformResponse(l,this._url)||l),this._onProgress&&this._onProgress(r,i,{index:this._index,vid:this._vid,range:[n,this._range[0]+this._receivedLength],startTime:this._startTime,endTime:N_(),priOptions:this._priOptions},l),i?(this._runing=!1,this._loadCompleteResolve&&this._loadCompleteResolve(Cre(this._onProgress?null:r,i,l,l.headers["content-length"],l.headers.age,this._startTime,-1,this._index,this._range,this._vid,this._priOptions))):this._startLoad()}},{key:"cancel",value:function(){if(!this._aborted)return this._aborted=!0,this._runing=!1,mre(ore(n.prototype),"removeAllListeners",this).call(this),this._onCancel&&this._onCancel(this._index),this._xhr?this._xhr.abort():void 0}},{key:"receiveLen",get:function(){return this._receivedLength}},{key:"running",get:function(){return this._running},set:function(e){this._running=e}},{key:"_getHeaders",value:function(e){var t,n,r={},i=yre(e_(t=e.getAllResponseHeaders()).call(t).split("\r\n"));try{for(i.s();!(n=i.n()).done;){var a=n.value.split(": ");r[a[0].toLowerCase()]=Ag(a).call(a,1).join(": ")}}catch(o){i.e(o)}finally{i.f()}return r}}],[{key:"isSupported",value:function(){return"undefined"!=typeof XMLHttpRequest}}]),n}(sH),_re=["retry","retryDelay","onRetryError","transformError"],Fre=function(){function e(t,n){var r,i,a;tre(this,e),this.promise=((a=new sp((function(e,t){r=e,i=t}))).used=!1,a.resolve=function(){return a.used=!0,r.apply(void 0,arguments)},a.reject=function(){return a.used=!0,i.apply(void 0,arguments)},a),this.alive=!!n.onProgress,!n.logger&&(n.logger=new vre("Loader")),this._loaderType=t,this._loader=t===gre?new Pre:new Hre,this._config=n,this._retryCount=0,this._retryTimer=null,this._canceled=!1,this._logger=n.logger}var t;return rre(e,[{key:"exec",value:function(){var e=this,t=this._config,n=t.retry,r=t.retryDelay,i=t.onRetryError,a=t.transformError,o=dre(t,_re),s=function(){var t=ere(Qne().mark((function t(){var l,u;return Qne().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,e._loader.load(o);case 3:l=t.sent,e.promise.resolve(l),t.next=28;break;case 7:if(t.prev=7,t.t0=t.catch(0),e._loader.running=!1,e._logger.debug("[task request catch err]",t.t0),!e._canceled){t.next=13;break}return t.abrupt("return");case 13:if(!(t.t0.response&&t.t0.response.status>=400&&t.t0.response.status<=599)){t.next=16;break}return e.promise.reject(t.t0),t.abrupt("return");case 16:if(t.t0.loaderType=e._loaderType,t.t0.retryCount=e._retryCount,u=t.t0,a&&(u=a(u)||u),i&&e._retryCount>0&&i(u,e._retryCount,n),e._retryCount++,!(e._retryCount<=n)){t.next=27;break}return clearTimeout(e._retryTimer),e._logger.debug("[task request setTimeout],retry",e._retryCount,",retry range,",o.range),e._retryTimer=On(s,r),t.abrupt("return");case 27:e.promise.reject(u);case 28:case"end":return t.stop()}}),t,null,[[0,7]])})));return function(){return t.apply(this,arguments)}}();return s(),this.promise}},{key:"cancel",value:(t=ere(Qne().mark((function e(){return Qne().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return clearTimeout(this._retryTimer),this._canceled=!0,this._loader.running=!1,e.abrupt("return",this._loader.cancel());case 4:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"running",get:function(){return this._loader&&this._loader.running}},{key:"loader",get:function(){return this._loader}}]),e}();function Ere(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];if((t=li(t).call(t,Boolean)).length<2)return t[0];var r=new Uint8Array(i7(t).call(t,(function(e,t){return e+t.byteLength}),0)),i=0;return mu(t).call(t,(function(e){r.set(e,i),i+=e.byteLength})),r}function Nre(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new sp((function(t){return On(t,e)}))}var Ure=function(e){are(r,e);var t,n=fre(r);function r(e){var t;return tre(this,r),ire(hre(t=n.call(this,e)),"type",gre),ire(hre(t),"_queue",[]),ire(hre(t),"_alive",[]),ire(hre(t),"_currentTask",null),ire(hre(t),"_config",void 0),t._config=function(e){return One({loaderType:gre,retry:0,retryDelay:0,timeout:0,request:null,onTimeout:void 0,onProgress:void 0,onRetryError:void 0,transformRequest:void 0,transformResponse:void 0,transformError:void 0,responseType:Sre,range:void 0,url:"",params:void 0,method:"GET",headers:{},body:void 0,mode:void 0,credentials:void 0,cache:void 0,redirect:void 0,referrer:void 0,referrerPolicy:void 0,integrity:void 0,onProcessMinLen:0},e)}(e),t._config.loaderType!==Zre&&Pre.isSupported()||(t.type=Zre),t.log=e.logger,t}return rre(r,[{key:"isFetch",value:function(){return this.type===gre}},{key:"load",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};"string"!=typeof e&&e?n=e:n.url=e||n.url||this._config.url,(n=Wu({},this._config,n)).params&&(n.params=Wu({},n.params)),n.headers&&Gre(n.headers)&&(n.headers=Wu({},n.headers)),n.body&&Gre(n.body)&&(n.body=Wu({},n.body)),n.transformRequest&&(n=n.transformRequest(n)||n),n.logger=this.log;var r=new Fre(this.type,n);return r.loader.on(Yre,(function(e){t.emit(Yre,e)})),this._queue.push(r),1!==this._queue.length||this._currentTask&&this._currentTask.running||this._processTask(),r.promise}},{key:"cancel",value:(t=ere(Qne().mark((function e(){var t;return Qne().wrap((function(e){for(var n,r,i;;)switch(e.prev=e.next){case 0:return t=Ci(n=Ro(r=this._queue).call(r,(function(e){return e.cancel()}))).call(n,Ro(i=this._alive).call(i,(function(e){return e.cancel()}))),this._currentTask&&t.push(this._currentTask.cancel()),this._queue=[],this._alive=[],e.next=6,sp.all(t);case 6:return e.next=8,Nre();case 8:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"_processTask",value:function(){var e=this;this._currentTask=this._queue.shift(),this._currentTask&&(this._currentTask.alive&&this._alive.push(this._currentTask),this._currentTask.exec().catch((function(e){})).finally((function(){e._processTask()})))}}],[{key:"isFetchSupport",value:function(){return Pre.isSupported()}}]),r}(sH);var Jre=Hne((function e(t,n){Kne(this,e),this.type="file",this.message=t,this.data=n})),Dre=function(){function e(){Kne(this,e),_ne(this,"_data",cg(null))}return Hne(e,[{key:"set",value:function(e,t){this._data[e]=t}},{key:"get",value:function(e){return this._data[e]}},{key:"clear",value:function(){this._data=cg(null)}}]),e}();function jre(e,t){var n=e.trak;if(n&&n.length){var r=kP(n).call(n,(function(e){var t,n;return"vide"===(null===(t=e.mdia)||void 0===t||null===(n=t.hdlr)||void 0===n?void 0:n.handlerType)})),i=kP(n).call(n,(function(e){var t,n;return"soun"===(null===(t=e.mdia)||void 0===t||null===(n=t.hdlr)||void 0===n?void 0:n.handlerType)}));if(r||i){var a,o=[],s=[];if(r){var l,u,c,d=null===(l=r.mdia)||void 0===l||null===(u=l.minf)||void 0===u?void 0:u.stbl;if(!d)return;var h=null===(c=r.mdia.mdhd)||void 0===c?void 0:c.timescale,f=d.stts,m=d.stsc,p=d.stsz,y=d.stco,b=d.stss,v=d.ctts;if(!(h&&f&&m&&p&&y&&b))return;o=Are(t,h,f,m,p,y,b,v),a=Ro(o).call(o,(function(e){return e.duration}))}if(i){var g,Z,L,S=null===(g=i.mdia)||void 0===g||null===(Z=g.minf)||void 0===Z?void 0:Z.stbl;if(!S)return;var X=null===(L=i.mdia.mdhd)||void 0===L?void 0:L.timescale,x=S.stts,w=S.stsc,T=S.stsz,k=S.stco;if(!(X&&x&&w&&T&&k))return;s=Are(t,X,x,w,T,k,null,null,a)}return{videoSegments:o,audioSegments:s}}}}function Are(e,t,n,r,i,a,o,s,l){var u,c,d,h,f,m=[],p=[],y=[],b=G7(r),v=G7(a),g=i.entrySizes,Z=null==o?void 0:G7(o),L=null==s?void 0:G7(s);L&&(c=[],mu(L).call(L,(function(e){for(var t=e.count,n=e.offset,r=0;r<t;r++)c.push(n)}))),Z&&(d={},mu(Z).call(Z,(function(e){d[e-1]=!0})));var S=0,X=0,x=0,w=0,T=0,k=b[0].samplesPerChunk,I=b[1]?b[1].firstChunk-1:1/0,G=0,W=-1;mu(u=G7(n)).call(u,(function(e){var t=e.count,n=e.delta;f=n;for(var r=0;r<t;r++)h={dts:G,startTime:S,duration:f,size:g[X]||i.sampleSize,offset:v[x]+T,index:X},Z&&(h.keyframe=d[X],h.keyframe?(W++,p.push([h]),y.push(h.duration)):(p[p.length-1].push(h),y[p.length-1]+=h.duration),h.gopId=W),c&&X<c.length&&(h.pts=G+c[X]),0===X&&(h.pts=0),m.push(h),S+=f,G+=n,++X<k?T+=h.size:(x++,T=0,x>=I&&(w++,I=b[w+1]?b[w+1].firstChunk-1:1/0),k+=b[w].samplesPerChunk)}));var V=m.length;if(V&&(!o||m[0].keyframe)){var R,C=[],M=[],Y=0,K=function(e){var n;R=M[M.length-1],C.push({index:C.length,startTime:(null===(n=C[C.length-1])||void 0===n?void 0:n.endTime)||M[0].startTime/t,endTime:(R.startTime+R.duration)/t,duration:e,range:[M[0].offset,R.offset+R.size],frames:M}),Y=0,M=[]};if(o)for(var P=e*t,H=0,_=p.length;H<_;H++){var F;Y+=y[H],(F=M).push.apply(F,jne(p[H])),H+1<_?(0===H||Y>P)&&K(Y/t):K(Y/t)}else for(var E=(l=l||[])[0]||e,N=0;N<V;N++)M.push(m[N]),Y+=m[N].duration,(N+1>=V||Y/t>=E)&&(K(Y/t),E=l[C.length]||e);return C}}function zre(e){var t="",n="",r=0,i=0,a=0,o=0,s=0,l=0,u=0;e.mvhd&&(s=e.mvhd.duration/e.mvhd.timescale);var c=e.trak;if(c){var d,h,f,m,p,y,b,v,g,Z,L,S,X,x,w,T,k,I=kP(c).call(c,(function(e){var t,n;return"vide"===(null===(t=e.mdia)||void 0===t||null===(n=t.hdlr)||void 0===n?void 0:n.handlerType)})),G=kP(c).call(c,(function(e){var t,n;return"soun"===(null===(t=e.mdia)||void 0===t||null===(n=t.hdlr)||void 0===n?void 0:n.handlerType)})),W=null;if(I)if(W=null===(h=I.mdia)||void 0===h||null===(f=h.minf)||void 0===f||null===(m=f.stbl)||void 0===m?void 0:G7(m.stsd)[0])if(r=W.width,i=W.height,l=null===(p=I.mdia)||void 0===p||null===(y=p.mdhd)||void 0===y?void 0:y.timescale,t=null===(b=W.avcC||W.hvcC)||void 0===b?void 0:b.codec,"encv"===W.type)d=null===(v=W.sinf)||void 0===v||null===(g=v.schi)||void 0===g?void 0:g.tenc.default_KID;if(G)if(W=null===(Z=G.mdia)||void 0===Z||null===(L=Z.minf)||void 0===L||null===(S=L.stbl)||void 0===S?void 0:G7(S.stsd)[0])if(a=W.channelCount,o=W.sampleRate,n=null===(X=W.esds)||void 0===X?void 0:X.codec,u=null===(x=G.mdia)||void 0===x||null===(w=x.mdhd)||void 0===w?void 0:w.timescale,"enca"===W.type)d=d||(null===(T=W.sinf)||void 0===T||null===(k=T.schi)||void 0===k?void 0:k.tenc.default_KID);return{kid:d?d.join(""):null,videoCodec:t,audioCodec:n,width:r,height:i,videoTimescale:l,audioChannelCount:a,audioSampleRate:o,duration:s,audioTimescale:u,moov:e}}}function Bre(e){return"number"==typeof e&&!IP(e)}var Ore=["vid","cache"],Qre=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=cg(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),ag(e,"prototype",{writable:!1}),t&&Ene(e,t)}(f,e);var t,n,r,i,a,o,s,l,u,c,d,h=Jne(f);function f(e){var t;Kne(this,f),_ne(Une(t=h.call(this)),"vid",""),_ne(Une(t),"url",""),_ne(Une(t),"meta",{}),_ne(Une(t),"downloadInfo",[]),_ne(Une(t),"videoSegments",[]),_ne(Une(t),"audioSegments",[]),_ne(Une(t),"cache",null),_ne(Une(t),"_currentSegmentIndex",-1),_ne(Une(t),"_currentLoadingSegmentIndex",-1),_ne(Une(t),"buffer",void 0),_ne(Une(t),"_error",void 0),_ne(Une(t),"_transformError",(function(e){return e})),t._config=Rne({vid:"",moovEnd:8e4,segmentDuration:2,maxDownloadInfoSize:30,responseType:"arraybuffer",cache:null},e);var n=t._config,r=n.vid,i=n.cache,a=Nne(n,Ore);return t.cache=i||new Dre,t.vid=r||a.url,t.url=a.url,a.transformError=t._transformError,t.logger=new vre("MP4Loader_"+t.vid),e.openLog&&vre.enable(),a.logger=t.logger,t._loader=new Ure(a),t._loader.on(Yre,(function(e){t.emit(Yre,e)})),t}return Hne(f,[{key:"isMetaLoaded",get:function(){return this.videoSegments.length||this.audioSegments.length}},{key:"setCurrentSegment",value:function(e){Bre(e)&&(this._currentSegmentIndex=e)}},{key:"isLastSegment",value:function(e){var t,n;return!!Bre(e)&&e===((null===(t=this.videoSegments[this.videoSegments.length-1])||void 0===t?void 0:t.index)||(null===(n=this.audioSegments[this.audioSegments.length-1])||void 0===n?void 0:n.index)||0)}},{key:"isSegmentLoading",value:function(e){return e===this._currentLoadingSegmentIndex}},{key:"changeUrl",value:(d=Yne(Cne().mark((function e(t){var n,r,i,a=arguments;return Cne().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=a.length>1&&void 0!==a[1]?a[1]:t,r=a.length>2?a[2]:void 0,i=a.length>3?a[3]:void 0,e.next=5,this.reset(i);case 5:t&&(this.url=t),n&&(this.vid=n),r&&(this._config.moovEnd=r);case 8:case"end":return e.stop()}}),e,this)}))),function(e){return d.apply(this,arguments)})},{key:"getOrLoadMeta",value:(c=Yne(Cne().mark((function e(t){return Cne().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.isMetaLoaded){e.next=3;break}return e.next=3,this.loadMeta(t);case 3:return e.abrupt("return",this.meta);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"loadMetaProcess",value:(u=Yne(Cne().mark((function e(t,n,r,i){var a,o,s,l,u=this;return Cne().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=Dne(n,2),o=a[0],s=a[1],this._error=!1,this.logger.debug("[loadMetaProcess start], range,",[o,s]),l=function(){var e=Yne(Cne().mark((function e(n,a,l){var c,d,h,f,m,p,y,b;return Cne().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(u.meta&&null!=l&&l.range&&l.range.length>0&&l.range[1]>=s&&(a=!0,u.logger.debug("[loadMetaProcess],data done,setstate true,[",o,s,"]")),a&&null!=l&&l.range&&l.range.length>0&&l.range[1]<s&&(a=!1,u.logger.debug("[loadMetaProcess],data not done,setstate false,[",o,s,"]")),u.logger.debug("[loadMetaProcess],task,[",o,s,"], range,",l.range,",dataLen,",n?n.byteLength:void 0,", state,",a,",err,",u._error),!u._error&&n&&n.byteLength>0&&r(n,a,l),!u.meta.moov&&!u._error){e.next=6;break}return e.abrupt("return");case 6:if(!(n&&n.byteLength>0)){e.next=44;break}if(u.buffer=Ere(u.buffer,n),c=$7.findBox(u.buffer,["moov"])[0]){e.next=23;break}if(d=$7.findBox(u.buffer,["mdat"])[0],!a){e.next=23;break}if(d){e.next=18;break}return u._error=!0,r(null,a,l,{err:"cannot find moov or mdat box"}),e.abrupt("return");case 18:return h=d.start+d.size,e.next=21,u.loadData([h,""],t,i);case 21:(f=e.sent)&&(c=$7.findBox(f.data,["moov"])[0]);case 23:if(!(c&&a&&c.size>c.data.length)){e.next=27;break}return u.logger.debug("[loadMetaProcess],moov not all, range,",l.range[1],",dataLen,",u.buffer.byteLength,", state,",a),e.next=27,u.loadMetaProcess(t,[l.range[1],c.start+c.size-1],r);case 27:if(!(c&&c.size<=c.data.length)||u.meta.moov){e.next=44;break}if(m=$7.moov(c)){e.next=33;break}return u._error=!0,r(null,a,l,{err:"cannot parse moov box"}),e.abrupt("return");case 33:if(p=jre(m,u._config.segmentDuration)){e.next=38;break}return u._error=!0,r(null,a,l,{err:"cannot parse segments"}),e.abrupt("return");case 38:u.meta=zre(m),y=p.videoSegments,b=p.audioSegments,u.videoSegments=y,u.audioSegments=b,u.logger.debug("[loadMetaProcess] moov ok"),r(void 0,a,{meta:{meta:u.meta,videoSegments:y,audioSegments:b}});case 44:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}(),e.next=6,this.loadData([o,s||this._config.moovEnd],t,Rne({onProgress:l},i));case 6:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return u.apply(this,arguments)})},{key:"loadMeta",value:(l=Yne(Cne().mark((function e(t,n,r){var i,a,o,s,l,u,c,d,h;return Cne().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=[],this.logger.debug("[loadMeta start]"),e.next=4,this.loadData([0,n||this._config.moovEnd],t,r);case 4:if(a=e.sent){e.next=7;break}return e.abrupt("return");case 7:if(i.push(a),o=$7.findBox(a.data,["moov"])[0]){e.next=23;break}if(s=$7.findBox(a.data,["mdat"])[0]){e.next=13;break}throw new Jre("cannot find moov or mdat box",a.data);case 13:return l=s.start+s.size,e.next=16,this.loadData([l],t,r);case 16:if(a=e.sent){e.next=19;break}return e.abrupt("return");case 19:if(i.push(a),o=$7.findBox(a.data,["moov"],l)[0]){e.next=23;break}throw new Jre("cannot find moov box",a.data);case 23:if(!(o.size>o.data.length)){e.next=31;break}return e.next=26,this.loadData([a.data.length,o.start+o.size-1],t,r);case 26:if(a=e.sent){e.next=29;break}return e.abrupt("return");case 29:i.push(a),o.data=Ere(o.data,a.data);case 31:if(u=$7.moov(o)){e.next=34;break}throw new Jre("cannot parse moov box",o.data);case 34:if(c=jre(u,this._config.segmentDuration)){e.next=37;break}throw new Jre("cannot parse segments",o.data);case 37:return this.meta=zre(u),d=c.videoSegments,h=c.audioSegments,this.videoSegments=d,this.audioSegments=h,this.logger.debug("[load moov end!!!!!]"),e.abrupt("return",{meta:this.meta,videoSegments:d,audioSegments:h,responses:i});case 43:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return l.apply(this,arguments)})},{key:"getSegmentByTime",value:function(e){var t,n,r,i;this.videoSegments.length?(t=kP(r=this.videoSegments).call(r,(function(t){return t.startTime<=e&&t.endTime>e})))&&(n=this.audioSegments[t.index]):n=kP(i=this.audioSegments).call(i,(function(t){return t.startTime<=e&&t.endTime>e}));return{video:t,audio:n}}},{key:"loadSegmentByTime",value:(s=Yne(Cne().mark((function e(t,n){var r,i,a,o,s,l=arguments;return Cne().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=!(l.length>2&&void 0!==l[2])||l[2],i=l.length>3&&void 0!==l[3]?l[3]:{},this.isMetaLoaded){e.next=5;break}return e.next=5,this.loadMeta(n);case 5:return a=this.getSegmentByTime(t),o=a.video,s=a.audio,e.abrupt("return",this._loadSegment(o,s,n,r,i));case 7:case"end":return e.stop()}}),e,this)}))),function(e,t){return s.apply(this,arguments)})},{key:"loadNextSegment",value:(o=Yne(Cne().mark((function e(t){var n,r,i,a,o=arguments;return Cne().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=!(o.length>1&&void 0!==o[1])||o[1],r=o.length>2&&void 0!==o[2]?o[2]:{},this.isMetaLoaded){e.next=5;break}return e.next=5,this.loadMeta();case 5:return i=this.videoSegments[this._currentSegmentIndex+1],a=this.audioSegments[this._currentSegmentIndex+1],e.abrupt("return",this._loadSegment(i,a,t,n,r));case 8:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"preload",value:(a=Yne(Cne().mark((function e(t){var n,r,i,a,o,s,l,u=this;return Cne().wrap((function(e){for(var c,d;;)switch(e.prev=e.next){case 0:if(this.isMetaLoaded){e.next=3;break}return e.next=3,this.loadMeta(!0);case 3:if(t&&!(t<0)){e.next=5;break}return e.abrupt("return");case 5:if(n=this.getSegmentByTime(t),r=n.video,i=n.audio,a=Math.max((null==r?void 0:r.index)||0,(null==i?void 0:i.index)||0)){e.next=9;break}return e.abrupt("return");case 9:return o=Ag(c=this.videoSegments).call(c,0,a),s=Ag(d=this.audioSegments).call(d,0,a),l=function(){var e=Yne(Cne().mark((function e(t){return Cne().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(t>a)){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,u._loadSegment(o[t],s[t],!0,!1);case 4:return e.next=6,l(t+1);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),e.next=14,l(0);case 14:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"cancel",value:function(){return this._loader.cancel()}},{key:"reset",value:(i=Yne(Cne().mark((function e(){var t=arguments;return Cne().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.length>0&&void 0!==t[0]&&t[0]){e.next=5;break}return this.logger.debug("[MP4loader reset func call loader.cancel]"),e.next=5,this._loader.cancel();case 5:this.vid=this.url="",this.meta={},this.downloadInfo=[],this.videoSegments=[],this.audioSegments=[],this._currentSegmentIndex=-1,this._currentLoadingSegmentIndex=-1;case 12:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"destroy",value:(r=Yne(Cne().mark((function e(){return Cne().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.reset();case 2:this.cache.clear();case 3:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"_loadSegment",value:(n=Yne(Cne().mark((function e(t,n,r,i,a){var o,s;return Cne().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t||n){e.next=2;break}return e.abrupt("return");case 2:return o=(null==t?void 0:t.index)||(null==n?void 0:n.index)||0,this._currentLoadingSegmentIndex=o,e.prev=4,e.next=7,this.loadData([Math.min((null==t?void 0:t.range[0])||1/0,(null==n?void 0:n.range[0])||1/0),Math.max((null==t?void 0:t.range[1])||0,(null==n?void 0:n.range[1])||0)],r,a);case 7:s=e.sent;case 8:return e.prev=8,this._currentLoadingSegmentIndex=-1,e.finish(8);case 11:if(s){e.next=13;break}return e.abrupt("return");case 13:return i&&(this._currentSegmentIndex=o),s.video=t,s.audio=n,e.abrupt("return",s);case 17:case"end":return e.stop()}}),e,this,[[4,,8,11]])}))),function(e,t,r,i,a){return n.apply(this,arguments)})},{key:"loadData",value:(t=Yne(Cne().mark((function e(t,n,r){var i,a,o;return Cne().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=this._getCacheKey(t),e.next=3,this.cache.get(i);case 3:if(a=e.sent){e.next=10;break}return e.next=7,this._loader.load(this.url,Rne({range:t,vid:this.vid},r));case 7:o=e.sent,e.next=11;break;case 10:o={data:a,state:!0,options:{fromCache:!0,range:t,vid:this.vid}};case 11:if(o){e.next=13;break}return e.abrupt("return");case 13:var n;return a||(o.data&&this.downloadInfo.push({startTime:o.startTime,endTime:o.endTime,size:o.data.byteLength,range:t}),this.downloadInfo&&this.downloadInfo.length>this._config.maxDownloadInfoSize&&(this.downloadInfo=Ag(n=this.downloadInfo).call(n,-this._config.maxDownloadInfoSize))),e.abrupt("return",o);case 16:case"end":return e.stop()}}),e,this)}))),function(e,n,r){return t.apply(this,arguments)})},{key:"_getCacheKey",value:function(e){return(this.vid||this.url)+":"+e}}]),f}(sH),qre=function(){try{return"undefined"!=typeof localStorage&&"setItem"in window.localStorage&&!!window.localStorage.setItem}catch(e){return!1}}()&&!function(){var e="_localstorage_support_test";try{return window.localStorage.setItem(e,!0),window.localStorage.removeItem(e),!1}catch(t){return!0}}(),$re=eie();function eie(){if(qre)try{return!!window.localStorage.getItem("playerlog")}catch(e){return!1}return!1}function tie(e){for(var t,n,r=arguments.length,i=new Array(r>1?r-1:0),a=1;a<r;a++)i[a-1]=arguments[a];$re&&console.log&&(n=console).log.apply(n,Ci(t=["[logger]",Wne.nowTime(),e]).call(t,i))}var nie={"x-cache":"x_cache","x-response-sinfo":"server_ip","x-response-cinfo":"x-response-cinfo"};function rie(e){var t,n={};return mu(t=ca(nie)).call(t,(function(t){var r=nie[t];e&&e.get&&e.get(t)&&(n[r]=e.get(t))})),n}var iie=[{range:[0,90],size:614400},{range:[90,120],size:1228800},{range:[120,Number.MAX_VALUE],size:2048e3}];function aie(e,t,n){var r=n>51200?Math.min(n,t):t;if(!e)return r;for(var i=0;i<iie.length;i++)if(e>=iie[i].range[0]&&e<iie[i].range[1]){r=Math.min(Math.max(r,iie[i].size),n>0?n:t);break}return r}var oie="IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQodCxlKXt2YXIgcj1PYmplY3Qua2V5cyh0KTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpO2UmJihuPW4uZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGUpLmVudW1lcmFibGV9KSkpLHIucHVzaC5hcHBseShyLG4pfXJldHVybiByfWZ1bmN0aW9uIGUoZSl7Zm9yKHZhciByPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl7dmFyIG49bnVsbCE9YXJndW1lbnRzW3JdP2FyZ3VtZW50c1tyXTp7fTtyJTI/dChPYmplY3QobiksITApLmZvckVhY2goKGZ1bmN0aW9uKHQpe28oZSx0LG5bdF0pfSkpOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMobikpOnQoT2JqZWN0KG4pKS5mb3JFYWNoKChmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iobix0KSl9KSl9cmV0dXJuIGV9ZnVuY3Rpb24gcih0KXtyZXR1cm4ocj0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbih0KXtyZXR1cm4gdHlwZW9mIHR9OmZ1bmN0aW9uKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0LmNvbnN0cnVjdG9yPT09U3ltYm9sJiZ0IT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgdH0pKHQpfWZ1bmN0aW9uIG4odCxlKXtpZighKHQgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX1mdW5jdGlvbiBpKHQsZSl7Zm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspe3ZhciBuPWVbcl07bi5lbnVtZXJhYmxlPW4uZW51bWVyYWJsZXx8ITEsbi5jb25maWd1cmFibGU9ITAsInZhbHVlImluIG4mJihuLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxuLmtleSxuKX19ZnVuY3Rpb24gYSh0LGUscil7cmV0dXJuIGUmJmkodC5wcm90b3R5cGUsZSksciYmaSh0LHIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJwcm90b3R5cGUiLHt3cml0YWJsZTohMX0pLHR9ZnVuY3Rpb24gbyh0LGUscil7cmV0dXJuIGUgaW4gdD9PYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6dFtlXT1yLHR9ZnVuY3Rpb24gcyh0LGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlJiZudWxsIT09ZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiIpO3QucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTp0LHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwicHJvdG90eXBlIix7d3JpdGFibGU6ITF9KSxlJiZjKHQsZSl9ZnVuY3Rpb24gdSh0KXtyZXR1cm4odT1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LmdldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbih0KXtyZXR1cm4gdC5fX3Byb3RvX198fE9iamVjdC5nZXRQcm90b3R5cGVPZih0KX0pKHQpfWZ1bmN0aW9uIGModCxlKXtyZXR1cm4oYz1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbih0LGUpe3JldHVybiB0Ll9fcHJvdG9fXz1lLHR9KSh0LGUpfWZ1bmN0aW9uIGYoKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIFJlZmxlY3R8fCFSZWZsZWN0LmNvbnN0cnVjdClyZXR1cm4hMTtpZihSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKXJldHVybiExO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBQcm94eSlyZXR1cm4hMDt0cnl7cmV0dXJuIEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChCb29sZWFuLFtdLChmdW5jdGlvbigpe30pKSksITB9Y2F0Y2godCl7cmV0dXJuITF9fWZ1bmN0aW9uIGwodCxlLHIpe3JldHVybihsPWYoKT9SZWZsZWN0LmNvbnN0cnVjdC5iaW5kKCk6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPVtudWxsXTtuLnB1c2guYXBwbHkobixlKTt2YXIgaT1uZXcoRnVuY3Rpb24uYmluZC5hcHBseSh0LG4pKTtyZXR1cm4gciYmYyhpLHIucHJvdG90eXBlKSxpfSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfWZ1bmN0aW9uIGQodCxlKXtpZihlJiYoIm9iamVjdCI9PXR5cGVvZiBlfHwiZnVuY3Rpb24iPT10eXBlb2YgZSkpcmV0dXJuIGU7aWYodm9pZCAwIT09ZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJEZXJpdmVkIGNvbnN0cnVjdG9ycyBtYXkgb25seSByZXR1cm4gb2JqZWN0IG9yIHVuZGVmaW5lZCIpO3JldHVybiBmdW5jdGlvbih0KXtpZih2b2lkIDA9PT10KXRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkIik7cmV0dXJuIHR9KHQpfWZ1bmN0aW9uIGgodCl7dmFyIGU9ZigpO3JldHVybiBmdW5jdGlvbigpe3ZhciByLG49dSh0KTtpZihlKXt2YXIgaT11KHRoaXMpLmNvbnN0cnVjdG9yO3I9UmVmbGVjdC5jb25zdHJ1Y3Qobixhcmd1bWVudHMsaSl9ZWxzZSByPW4uYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBkKHRoaXMscil9fWZ1bmN0aW9uIHAodCxlKXtmb3IoOyFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxlKSYmbnVsbCE9PSh0PXUodCkpOyk7cmV0dXJuIHR9ZnVuY3Rpb24gdigpe3JldHVybiB2PSJ1bmRlZmluZWQiIT10eXBlb2YgUmVmbGVjdCYmUmVmbGVjdC5nZXQ/UmVmbGVjdC5nZXQuYmluZCgpOmZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1wKHQsZSk7aWYobil7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihuLGUpO3JldHVybiBpLmdldD9pLmdldC5jYWxsKGFyZ3VtZW50cy5sZW5ndGg8Mz90OnIpOmkudmFsdWV9fSx2LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiB5KHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9ZnVuY3Rpb24gZyh0LGUpe2Zvcih2YXIgcj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgbj1lW3JdO24uZW51bWVyYWJsZT1uLmVudW1lcmFibGV8fCExLG4uY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiBuJiYobi53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsbi5rZXksbil9fWZ1bmN0aW9uIG0odCxlLHIpe3JldHVybiBlJiZnKHQucHJvdG90eXBlLGUpLHImJmcodCxyKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwicHJvdG90eXBlIix7d3JpdGFibGU6ITF9KSx0fWZ1bmN0aW9uIGIodCxlLHIpe3JldHVybiBlIGluIHQ/T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7dmFsdWU6cixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOnRbZV09cix0fWZ1bmN0aW9uIHcodCxlKXtyZXR1cm4gZnVuY3Rpb24odCl7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gdH0odCl8fGZ1bmN0aW9uKHQsZSl7dmFyIHI9bnVsbD09dD9udWxsOiJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl18fHRbIkBAaXRlcmF0b3IiXTtpZihudWxsPT1yKXJldHVybjt2YXIgbixpLGE9W10sbz0hMCxzPSExO3RyeXtmb3Iocj1yLmNhbGwodCk7IShvPShuPXIubmV4dCgpKS5kb25lKSYmKGEucHVzaChuLnZhbHVlKSwhZXx8YS5sZW5ndGghPT1lKTtvPSEwKTt9Y2F0Y2godSl7cz0hMCxpPXV9ZmluYWxseXt0cnl7b3x8bnVsbD09ci5yZXR1cm58fHIucmV0dXJuKCl9ZmluYWxseXtpZihzKXRocm93IGl9fXJldHVybiBhfSh0LGUpfHx4KHQsZSl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0oKX1mdW5jdGlvbiBrKHQpe3JldHVybiBmdW5jdGlvbih0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiBBKHQpfSh0KXx8ZnVuY3Rpb24odCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJm51bGwhPXRbU3ltYm9sLml0ZXJhdG9yXXx8bnVsbCE9dFsiQEBpdGVyYXRvciJdKXJldHVybiBBcnJheS5mcm9tKHQpfSh0KXx8eCh0KXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gc3ByZWFkIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0oKX1mdW5jdGlvbiB4KHQsZSl7aWYodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiBBKHQsZSk7dmFyIHI9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLnNsaWNlKDgsLTEpO3JldHVybiJPYmplY3QiPT09ciYmdC5jb25zdHJ1Y3RvciYmKHI9dC5jb25zdHJ1Y3Rvci5uYW1lKSwiTWFwIj09PXJ8fCJTZXQiPT09cj9BcnJheS5mcm9tKHQpOiJBcmd1bWVudHMiPT09cnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qocik/QSh0LGUpOnZvaWQgMH19ZnVuY3Rpb24gQSh0LGUpeyhudWxsPT1lfHxlPnQubGVuZ3RoKSYmKGU9dC5sZW5ndGgpO2Zvcih2YXIgcj0wLG49bmV3IEFycmF5KGUpO3I8ZTtyKyspbltyXT10W3JdO3JldHVybiBufXZhciBTPSJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsVGhpcz9nbG9iYWxUaGlzOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzoidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6e30sXz1mdW5jdGlvbih0KXtyZXR1cm4gdCYmdC5NYXRoPT1NYXRoJiZ0fSxUPV8oIm9iamVjdCI9PSgidW5kZWZpbmVkIj09dHlwZW9mIGdsb2JhbFRoaXM/InVuZGVmaW5lZCI6cihnbG9iYWxUaGlzKSkmJmdsb2JhbFRoaXMpfHxfKCJvYmplY3QiPT0oInVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3c/InVuZGVmaW5lZCI6cih3aW5kb3cpKSYmd2luZG93KXx8Xygib2JqZWN0Ij09KCJ1bmRlZmluZWQiPT10eXBlb2Ygc2VsZj8idW5kZWZpbmVkIjpyKHNlbGYpKSYmc2VsZil8fF8oIm9iamVjdCI9PXIoUykmJlMpfHxmdW5jdGlvbigpe3JldHVybiB0aGlzfSgpfHxGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpLEU9e30sST1mdW5jdGlvbih0KXt0cnl7cmV0dXJuISF0KCl9Y2F0Y2goZSl7cmV0dXJuITB9fSxPPSFJKChmdW5jdGlvbigpe3JldHVybiA3IT1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sMSx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDd9fSlbMV19KSksTT17fSxDPXt9LnByb3BlcnR5SXNFbnVtZXJhYmxlLFI9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixCPVImJiFDLmNhbGwoezE6Mn0sMSk7TS5mPUI/ZnVuY3Rpb24odCl7dmFyIGU9Uih0aGlzLHQpO3JldHVybiEhZSYmZS5lbnVtZXJhYmxlfTpDO3ZhciBQPWZ1bmN0aW9uKHQsZSl7cmV0dXJue2VudW1lcmFibGU6ISgxJnQpLGNvbmZpZ3VyYWJsZTohKDImdCksd3JpdGFibGU6ISg0JnQpLHZhbHVlOmV9fSxVPXt9LnRvU3RyaW5nLEQ9ZnVuY3Rpb24odCl7cmV0dXJuIFUuY2FsbCh0KS5zbGljZSg4LC0xKX0sej1ELGo9IiIuc3BsaXQsTD1JKChmdW5jdGlvbigpe3JldHVybiFPYmplY3QoInoiKS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgwKX0pKT9mdW5jdGlvbih0KXtyZXR1cm4iU3RyaW5nIj09eih0KT9qLmNhbGwodCwiIik6T2JqZWN0KHQpfTpPYmplY3QsRj1mdW5jdGlvbih0KXtpZihudWxsPT10KXRocm93IFR5cGVFcnJvcigiQ2FuJ3QgY2FsbCBtZXRob2Qgb24gIit0KTtyZXR1cm4gdH0sTj1MLFY9RixIPWZ1bmN0aW9uKHQpe3JldHVybiBOKFYodCkpfSxZPWZ1bmN0aW9uKHQpe3JldHVybiJvYmplY3QiPT09cih0KT9udWxsIT09dDoiZnVuY3Rpb24iPT10eXBlb2YgdH0sSz1ZLFc9ZnVuY3Rpb24odCxlKXtpZighSyh0KSlyZXR1cm4gdDt2YXIgcixuO2lmKGUmJiJmdW5jdGlvbiI9PXR5cGVvZihyPXQudG9TdHJpbmcpJiYhSyhuPXIuY2FsbCh0KSkpcmV0dXJuIG47aWYoImZ1bmN0aW9uIj09dHlwZW9mKHI9dC52YWx1ZU9mKSYmIUsobj1yLmNhbGwodCkpKXJldHVybiBuO2lmKCFlJiYiZnVuY3Rpb24iPT10eXBlb2Yocj10LnRvU3RyaW5nKSYmIUsobj1yLmNhbGwodCkpKXJldHVybiBuO3Rocm93IFR5cGVFcnJvcigiQ2FuJ3QgY29udmVydCBvYmplY3QgdG8gcHJpbWl0aXZlIHZhbHVlIil9LEc9RixxPWZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QoRyh0KSl9LFg9cSwkPXt9Lmhhc093blByb3BlcnR5LFE9ZnVuY3Rpb24odCxlKXtyZXR1cm4gJC5jYWxsKFgodCksZSl9LFo9WSxKPVQuZG9jdW1lbnQsdHQ9WihKKSYmWihKLmNyZWF0ZUVsZW1lbnQpLGV0PWZ1bmN0aW9uKHQpe3JldHVybiB0dD9KLmNyZWF0ZUVsZW1lbnQodCk6e319LHJ0PWV0LG50PSFPJiYhSSgoZnVuY3Rpb24oKXtyZXR1cm4gNyE9T2JqZWN0LmRlZmluZVByb3BlcnR5KHJ0KCJkaXYiKSwiYSIse2dldDpmdW5jdGlvbigpe3JldHVybiA3fX0pLmF9KSksaXQ9TyxhdD1NLG90PVAsc3Q9SCx1dD1XLGN0PVEsZnQ9bnQsbHQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtFLmY9aXQ/bHQ6ZnVuY3Rpb24odCxlKXtpZih0PXN0KHQpLGU9dXQoZSwhMCksZnQpdHJ5e3JldHVybiBsdCh0LGUpfWNhdGNoKHIpe31pZihjdCh0LGUpKXJldHVybiBvdCghYXQuZi5jYWxsKHQsZSksdFtlXSl9O3ZhciBkdD17fSxodD1ZLHB0PWZ1bmN0aW9uKHQpe2lmKCFodCh0KSl0aHJvdyBUeXBlRXJyb3IoU3RyaW5nKHQpKyIgaXMgbm90IGFuIG9iamVjdCIpO3JldHVybiB0fSx2dD1PLHl0PW50LGd0PXB0LG10PVcsYnQ9T2JqZWN0LmRlZmluZVByb3BlcnR5O2R0LmY9dnQ/YnQ6ZnVuY3Rpb24odCxlLHIpe2lmKGd0KHQpLGU9bXQoZSwhMCksZ3QocikseXQpdHJ5e3JldHVybiBidCh0LGUscil9Y2F0Y2gobil7fWlmKCJnZXQiaW4gcnx8InNldCJpbiByKXRocm93IFR5cGVFcnJvcigiQWNjZXNzb3JzIG5vdCBzdXBwb3J0ZWQiKTtyZXR1cm4idmFsdWUiaW4gciYmKHRbZV09ci52YWx1ZSksdH07dmFyIHd0PWR0LGt0PVAseHQ9Tz9mdW5jdGlvbih0LGUscil7cmV0dXJuIHd0LmYodCxlLGt0KDEscikpfTpmdW5jdGlvbih0LGUscil7cmV0dXJuIHRbZV09cix0fSxBdD17ZXhwb3J0czp7fX0sU3Q9VCxfdD14dCxUdD1mdW5jdGlvbih0LGUpe3RyeXtfdChTdCx0LGUpfWNhdGNoKHIpe1N0W3RdPWV9cmV0dXJuIGV9LEV0PVR0LEl0PSJfX2NvcmUtanNfc2hhcmVkX18iLE90PVRbSXRdfHxFdChJdCx7fSksTXQ9T3QsQ3Q9RnVuY3Rpb24udG9TdHJpbmc7ImZ1bmN0aW9uIiE9dHlwZW9mIE10Lmluc3BlY3RTb3VyY2UmJihNdC5pbnNwZWN0U291cmNlPWZ1bmN0aW9uKHQpe3JldHVybiBDdC5jYWxsKHQpfSk7dmFyIFJ0PU10Lmluc3BlY3RTb3VyY2UsQnQ9UnQsUHQ9VC5XZWFrTWFwLFV0PSJmdW5jdGlvbiI9PXR5cGVvZiBQdCYmL25hdGl2ZSBjb2RlLy50ZXN0KEJ0KFB0KSksRHQ9e2V4cG9ydHM6e319LHp0PU90OyhEdC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHp0W3RdfHwoenRbdF09dm9pZCAwIT09ZT9lOnt9KX0pKCJ2ZXJzaW9ucyIsW10pLnB1c2goe3ZlcnNpb246IjMuMTIuMSIsbW9kZToiZ2xvYmFsIixjb3B5cmlnaHQ6IsKpIDIwMjEgRGVuaXMgUHVzaGthcmV2ICh6bG9pcm9jay5ydSkifSk7dmFyIGp0LEx0LEZ0LE50PTAsVnQ9TWF0aC5yYW5kb20oKSxIdD1mdW5jdGlvbih0KXtyZXR1cm4iU3ltYm9sKCIrU3RyaW5nKHZvaWQgMD09PXQ/IiI6dCkrIilfIisoKytOdCtWdCkudG9TdHJpbmcoMzYpfSxZdD1EdC5leHBvcnRzLEt0PUh0LFd0PVl0KCJrZXlzIiksR3Q9ZnVuY3Rpb24odCl7cmV0dXJuIFd0W3RdfHwoV3RbdF09S3QodCkpfSxxdD17fSxYdD1VdCwkdD1ZLFF0PXh0LFp0PVEsSnQ9T3QsdGU9R3QsZWU9cXQscmU9Ik9iamVjdCBhbHJlYWR5IGluaXRpYWxpemVkIixuZT1ULldlYWtNYXA7aWYoWHR8fEp0LnN0YXRlKXt2YXIgaWU9SnQuc3RhdGV8fChKdC5zdGF0ZT1uZXcgbmUpLGFlPWllLmdldCxvZT1pZS5oYXMsc2U9aWUuc2V0O2p0PWZ1bmN0aW9uKHQsZSl7aWYob2UuY2FsbChpZSx0KSl0aHJvdyBuZXcgVHlwZUVycm9yKHJlKTtyZXR1cm4gZS5mYWNhZGU9dCxzZS5jYWxsKGllLHQsZSksZX0sTHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFlLmNhbGwoaWUsdCl8fHt9fSxGdD1mdW5jdGlvbih0KXtyZXR1cm4gb2UuY2FsbChpZSx0KX19ZWxzZXt2YXIgdWU9dGUoInN0YXRlIik7ZWVbdWVdPSEwLGp0PWZ1bmN0aW9uKHQsZSl7aWYoWnQodCx1ZSkpdGhyb3cgbmV3IFR5cGVFcnJvcihyZSk7cmV0dXJuIGUuZmFjYWRlPXQsUXQodCx1ZSxlKSxlfSxMdD1mdW5jdGlvbih0KXtyZXR1cm4gWnQodCx1ZSk/dFt1ZV06e319LEZ0PWZ1bmN0aW9uKHQpe3JldHVybiBadCh0LHVlKX19dmFyIGNlPXtzZXQ6anQsZ2V0Okx0LGhhczpGdCxlbmZvcmNlOmZ1bmN0aW9uKHQpe3JldHVybiBGdCh0KT9MdCh0KTpqdCh0LHt9KX0sZ2V0dGVyRm9yOmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgcjtpZighJHQoZSl8fChyPUx0KGUpKS50eXBlIT09dCl0aHJvdyBUeXBlRXJyb3IoIkluY29tcGF0aWJsZSByZWNlaXZlciwgIit0KyIgcmVxdWlyZWQiKTtyZXR1cm4gcn19fSxmZT1ULGxlPXh0LGRlPVEsaGU9VHQscGU9UnQsdmU9Y2UuZ2V0LHllPWNlLmVuZm9yY2UsZ2U9U3RyaW5nKFN0cmluZykuc3BsaXQoIlN0cmluZyIpOyhBdC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBpLGE9ISFuJiYhIW4udW5zYWZlLG89ISFuJiYhIW4uZW51bWVyYWJsZSxzPSEhbiYmISFuLm5vVGFyZ2V0R2V0OyJmdW5jdGlvbiI9PXR5cGVvZiByJiYoInN0cmluZyIhPXR5cGVvZiBlfHxkZShyLCJuYW1lIil8fGxlKHIsIm5hbWUiLGUpLChpPXllKHIpKS5zb3VyY2V8fChpLnNvdXJjZT1nZS5qb2luKCJzdHJpbmciPT10eXBlb2YgZT9lOiIiKSkpLHQhPT1mZT8oYT8hcyYmdFtlXSYmKG89ITApOmRlbGV0ZSB0W2VdLG8/dFtlXT1yOmxlKHQsZSxyKSk6bz90W2VdPXI6aGUoZSxyKX0pKEZ1bmN0aW9uLnByb3RvdHlwZSwidG9TdHJpbmciLChmdW5jdGlvbigpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzJiZ2ZSh0aGlzKS5zb3VyY2V8fHBlKHRoaXMpfSkpO3ZhciBtZT1ULGJlPVQsd2U9ZnVuY3Rpb24odCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDp2b2lkIDB9LGtlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8Mj93ZShtZVt0XSl8fHdlKGJlW3RdKTptZVt0XSYmbWVbdF1bZV18fGJlW3RdJiZiZVt0XVtlXX0seGU9e30sQWU9TWF0aC5jZWlsLFNlPU1hdGguZmxvb3IsX2U9ZnVuY3Rpb24odCl7cmV0dXJuIGlzTmFOKHQ9K3QpPzA6KHQ+MD9TZTpBZSkodCl9LFRlPV9lLEVlPU1hdGgubWluLEllPWZ1bmN0aW9uKHQpe3JldHVybiB0PjA/RWUoVGUodCksOTAwNzE5OTI1NDc0MDk5MSk6MH0sT2U9X2UsTWU9TWF0aC5tYXgsQ2U9TWF0aC5taW4sUmU9ZnVuY3Rpb24odCxlKXt2YXIgcj1PZSh0KTtyZXR1cm4gcjwwP01lKHIrZSwwKTpDZShyLGUpfSxCZT1ILFBlPUllLFVlPVJlLERlPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlLHIsbil7dmFyIGksYT1CZShlKSxvPVBlKGEubGVuZ3RoKSxzPVVlKG4sbyk7aWYodCYmciE9cil7Zm9yKDtvPnM7KWlmKChpPWFbcysrXSkhPWkpcmV0dXJuITB9ZWxzZSBmb3IoO28+cztzKyspaWYoKHR8fHMgaW4gYSkmJmFbc109PT1yKXJldHVybiB0fHxzfHwwO3JldHVybiF0JiYtMX19LHplPXtpbmNsdWRlczpEZSghMCksaW5kZXhPZjpEZSghMSl9LGplPVEsTGU9SCxGZT16ZS5pbmRleE9mLE5lPXF0LFZlPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbj1MZSh0KSxpPTAsYT1bXTtmb3IociBpbiBuKSFqZShOZSxyKSYmamUobixyKSYmYS5wdXNoKHIpO2Zvcig7ZS5sZW5ndGg+aTspamUobixyPWVbaSsrXSkmJih+RmUoYSxyKXx8YS5wdXNoKHIpKTtyZXR1cm4gYX0sSGU9WyJjb25zdHJ1Y3RvciIsImhhc093blByb3BlcnR5IiwiaXNQcm90b3R5cGVPZiIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwidG9Mb2NhbGVTdHJpbmciLCJ0b1N0cmluZyIsInZhbHVlT2YiXSxZZT1WZSxLZT1IZS5jb25jYXQoImxlbmd0aCIsInByb3RvdHlwZSIpO3hlLmY9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXN8fGZ1bmN0aW9uKHQpe3JldHVybiBZZSh0LEtlKX07dmFyIFdlPXt9O1dlLmY9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9sczt2YXIgR2UscWUsWGU9eGUsJGU9V2UsUWU9cHQsWmU9a2UoIlJlZmxlY3QiLCJvd25LZXlzIil8fGZ1bmN0aW9uKHQpe3ZhciBlPVhlLmYoUWUodCkpLHI9JGUuZjtyZXR1cm4gcj9lLmNvbmNhdChyKHQpKTplfSxKZT1RLHRyPVplLGVyPUUscnI9ZHQsbnI9SSxpcj0vI3xcLnByb3RvdHlwZVwuLyxhcj1mdW5jdGlvbih0LGUpe3ZhciByPXNyW29yKHQpXTtyZXR1cm4gcj09Y3J8fHIhPXVyJiYoImZ1bmN0aW9uIj09dHlwZW9mIGU/bnIoZSk6ISFlKX0sb3I9YXIubm9ybWFsaXplPWZ1bmN0aW9uKHQpe3JldHVybiBTdHJpbmcodCkucmVwbGFjZShpciwiLiIpLnRvTG93ZXJDYXNlKCl9LHNyPWFyLmRhdGE9e30sdXI9YXIuTkFUSVZFPSJOIixjcj1hci5QT0xZRklMTD0iUCIsZnI9YXIsbHI9VCxkcj1FLmYsaHI9eHQscHI9QXQuZXhwb3J0cyx2cj1UdCx5cj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj10cihlKSxuPXJyLmYsaT1lci5mLGE9MDthPHIubGVuZ3RoO2ErKyl7dmFyIG89clthXTtKZSh0LG8pfHxuKHQsbyxpKGUsbykpfX0sZ3I9ZnIsbXI9ZnVuY3Rpb24odCxlKXt2YXIgbixpLGEsbyxzLHU9dC50YXJnZXQsYz10Lmdsb2JhbCxmPXQuc3RhdDtpZihuPWM/bHI6Zj9sclt1XXx8dnIodSx7fSk6KGxyW3VdfHx7fSkucHJvdG90eXBlKWZvcihpIGluIGUpe2lmKG89ZVtpXSxhPXQubm9UYXJnZXRHZXQ/KHM9ZHIobixpKSkmJnMudmFsdWU6bltpXSwhZ3IoYz9pOnUrKGY/Ii4iOiIjIikraSx0LmZvcmNlZCkmJnZvaWQgMCE9PWEpe2lmKHIobyk9PT1yKGEpKWNvbnRpbnVlO3lyKG8sYSl9KHQuc2hhbXx8YSYmYS5zaGFtKSYmaHIobywic2hhbSIsITApLHByKG4saSxvLHQpfX0sYnI9RCx3cj1BcnJheS5pc0FycmF5fHxmdW5jdGlvbih0KXtyZXR1cm4iQXJyYXkiPT1icih0KX0sa3I9Vyx4cj1kdCxBcj1QLFNyPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1rcihlKTtuIGluIHQ/eHIuZih0LG4sQXIoMCxyKSk6dFtuXT1yfSxfcj1rZSgibmF2aWdhdG9yIiwidXNlckFnZW50Iil8fCIiLFRyPV9yLEVyPVQucHJvY2VzcyxJcj1FciYmRXIudmVyc2lvbnMsT3I9SXImJklyLnY4O09yP3FlPShHZT1Pci5zcGxpdCgiLiIpKVswXTw0PzE6R2VbMF0rR2VbMV06VHImJighKEdlPVRyLm1hdGNoKC9FZGdlXC8oXGQrKS8pKXx8R2VbMV0+PTc0KSYmKEdlPVRyLm1hdGNoKC9DaHJvbWVcLyhcZCspLykpJiYocWU9R2VbMV0pO3ZhciBNcj1xZSYmK3FlLENyPU1yLFJyPUksQnI9ISFPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzJiYhUnIoKGZ1bmN0aW9uKCl7cmV0dXJuIVN0cmluZyhTeW1ib2woKSl8fCFTeW1ib2wuc2hhbSYmQ3ImJkNyPDQxfSkpLFByPUJyJiYhU3ltYm9sLnNoYW0mJiJzeW1ib2wiPT1yKFN5bWJvbC5pdGVyYXRvciksVXI9VCxEcj1EdC5leHBvcnRzLHpyPVEsanI9SHQsTHI9QnIsRnI9UHIsTnI9RHIoIndrcyIpLFZyPVVyLlN5bWJvbCxIcj1Gcj9WcjpWciYmVnIud2l0aG91dFNldHRlcnx8anIsWXI9ZnVuY3Rpb24odCl7cmV0dXJuIHpyKE5yLHQpJiYoTHJ8fCJzdHJpbmciPT10eXBlb2YgTnJbdF0pfHwoTHImJnpyKFZyLHQpP05yW3RdPVZyW3RdOk5yW3RdPUhyKCJTeW1ib2wuIit0KSksTnJbdF19LEtyPVksV3I9d3IsR3I9WXIoInNwZWNpZXMiKSxxcj1mdW5jdGlvbih0LGUpe3ZhciByO3JldHVybiBXcih0KSYmKCJmdW5jdGlvbiIhPXR5cGVvZihyPXQuY29uc3RydWN0b3IpfHxyIT09QXJyYXkmJiFXcihyLnByb3RvdHlwZSk/S3IocikmJm51bGw9PT0ocj1yW0dyXSkmJihyPXZvaWQgMCk6cj12b2lkIDApLG5ldyh2b2lkIDA9PT1yP0FycmF5OnIpKDA9PT1lPzA6ZSl9LFhyPUksJHI9TXIsUXI9WXIoInNwZWNpZXMiKSxacj1mdW5jdGlvbih0KXtyZXR1cm4gJHI+PTUxfHwhWHIoKGZ1bmN0aW9uKCl7dmFyIGU9W107cmV0dXJuKGUuY29uc3RydWN0b3I9e30pW1FyXT1mdW5jdGlvbigpe3JldHVybntmb286MX19LDEhPT1lW3RdKEJvb2xlYW4pLmZvb30pKX0sSnI9bXIsdG49SSxlbj13cixybj1ZLG5uPXEsYW49SWUsb249U3Isc249cXIsdW49WnIsY249TXIsZm49WXIoImlzQ29uY2F0U3ByZWFkYWJsZSIpLGxuPTkwMDcxOTkyNTQ3NDA5OTEsZG49Ik1heGltdW0gYWxsb3dlZCBpbmRleCBleGNlZWRlZCIsaG49Y24+PTUxfHwhdG4oKGZ1bmN0aW9uKCl7dmFyIHQ9W107cmV0dXJuIHRbZm5dPSExLHQuY29uY2F0KClbMF0hPT10fSkpLHBuPXVuKCJjb25jYXQiKSx2bj1mdW5jdGlvbih0KXtpZighcm4odCkpcmV0dXJuITE7dmFyIGU9dFtmbl07cmV0dXJuIHZvaWQgMCE9PWU/ISFlOmVuKHQpfTtKcih7dGFyZ2V0OiJBcnJheSIscHJvdG86ITAsZm9yY2VkOiFobnx8IXBufSx7Y29uY2F0OmZ1bmN0aW9uKHQpe3ZhciBlLHIsbixpLGEsbz1ubih0aGlzKSxzPXNuKG8sMCksdT0wO2ZvcihlPS0xLG49YXJndW1lbnRzLmxlbmd0aDtlPG47ZSsrKWlmKHZuKGE9LTE9PT1lP286YXJndW1lbnRzW2VdKSl7aWYodSsoaT1hbihhLmxlbmd0aCkpPmxuKXRocm93IFR5cGVFcnJvcihkbik7Zm9yKHI9MDtyPGk7cisrLHUrKylyIGluIGEmJm9uKHMsdSxhW3JdKX1lbHNle2lmKHU+PWxuKXRocm93IFR5cGVFcnJvcihkbik7b24ocyx1KyssYSl9cmV0dXJuIHMubGVuZ3RoPXUsc319KTt2YXIgeW49e307eW5bWXIoInRvU3RyaW5nVGFnIildPSJ6Ijt2YXIgZ249IltvYmplY3Qgel0iPT09U3RyaW5nKHluKSxtbj1nbixibj1ELHduPVlyKCJ0b1N0cmluZ1RhZyIpLGtuPSJBcmd1bWVudHMiPT1ibihmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHN9KCkpLHhuPW1uP2JuOmZ1bmN0aW9uKHQpe3ZhciBlLHIsbjtyZXR1cm4gdm9pZCAwPT09dD8iVW5kZWZpbmVkIjpudWxsPT09dD8iTnVsbCI6InN0cmluZyI9PXR5cGVvZihyPWZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiB0W2VdfWNhdGNoKHIpe319KGU9T2JqZWN0KHQpLHduKSk/cjprbj9ibihlKToiT2JqZWN0Ij09KG49Ym4oZSkpJiYiZnVuY3Rpb24iPT10eXBlb2YgZS5jYWxsZWU/IkFyZ3VtZW50cyI6bn0sQW49eG4sU249Z24/e30udG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4iW29iamVjdCAiK0FuKHRoaXMpKyJdIn0sX249Z24sVG49QXQuZXhwb3J0cyxFbj1Tbjtfbnx8VG4oT2JqZWN0LnByb3RvdHlwZSwidG9TdHJpbmciLEVuLHt1bnNhZmU6ITB9KTt2YXIgSW49e0NTU1J1bGVMaXN0OjAsQ1NTU3R5bGVEZWNsYXJhdGlvbjowLENTU1ZhbHVlTGlzdDowLENsaWVudFJlY3RMaXN0OjAsRE9NUmVjdExpc3Q6MCxET01TdHJpbmdMaXN0OjAsRE9NVG9rZW5MaXN0OjEsRGF0YVRyYW5zZmVySXRlbUxpc3Q6MCxGaWxlTGlzdDowLEhUTUxBbGxDb2xsZWN0aW9uOjAsSFRNTENvbGxlY3Rpb246MCxIVE1MRm9ybUVsZW1lbnQ6MCxIVE1MU2VsZWN0RWxlbWVudDowLE1lZGlhTGlzdDowLE1pbWVUeXBlQXJyYXk6MCxOYW1lZE5vZGVNYXA6MCxOb2RlTGlzdDoxLFBhaW50UmVxdWVzdExpc3Q6MCxQbHVnaW46MCxQbHVnaW5BcnJheTowLFNWR0xlbmd0aExpc3Q6MCxTVkdOdW1iZXJMaXN0OjAsU1ZHUGF0aFNlZ0xpc3Q6MCxTVkdQb2ludExpc3Q6MCxTVkdTdHJpbmdMaXN0OjAsU1ZHVHJhbnNmb3JtTGlzdDowLFNvdXJjZUJ1ZmZlckxpc3Q6MCxTdHlsZVNoZWV0TGlzdDowLFRleHRUcmFja0N1ZUxpc3Q6MCxUZXh0VHJhY2tMaXN0OjAsVG91Y2hMaXN0OjB9LE9uPWZ1bmN0aW9uKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IFR5cGVFcnJvcihTdHJpbmcodCkrIiBpcyBub3QgYSBmdW5jdGlvbiIpO3JldHVybiB0fSxNbj1PbixDbj1mdW5jdGlvbih0LGUscil7aWYoTW4odCksdm9pZCAwPT09ZSlyZXR1cm4gdDtzd2l0Y2gocil7Y2FzZSAwOnJldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmNhbGwoZSl9O2Nhc2UgMTpyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIHQuY2FsbChlLHIpfTtjYXNlIDI6cmV0dXJuIGZ1bmN0aW9uKHIsbil7cmV0dXJuIHQuY2FsbChlLHIsbil9O2Nhc2UgMzpyZXR1cm4gZnVuY3Rpb24ocixuLGkpe3JldHVybiB0LmNhbGwoZSxyLG4saSl9fXJldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KGUsYXJndW1lbnRzKX19LFJuPUNuLEJuPUwsUG49cSxVbj1JZSxEbj1xcix6bj1bXS5wdXNoLGpuPWZ1bmN0aW9uKHQpe3ZhciBlPTE9PXQscj0yPT10LG49Mz09dCxpPTQ9PXQsYT02PT10LG89Nz09dCxzPTU9PXR8fGE7cmV0dXJuIGZ1bmN0aW9uKHUsYyxmLGwpe2Zvcih2YXIgZCxoLHA9UG4odSksdj1CbihwKSx5PVJuKGMsZiwzKSxnPVVuKHYubGVuZ3RoKSxtPTAsYj1sfHxEbix3PWU/Yih1LGcpOnJ8fG8/Yih1LDApOnZvaWQgMDtnPm07bSsrKWlmKChzfHxtIGluIHYpJiYoaD15KGQ9dlttXSxtLHApLHQpKWlmKGUpd1ttXT1oO2Vsc2UgaWYoaClzd2l0Y2godCl7Y2FzZSAzOnJldHVybiEwO2Nhc2UgNTpyZXR1cm4gZDtjYXNlIDY6cmV0dXJuIG07Y2FzZSAyOnpuLmNhbGwodyxkKX1lbHNlIHN3aXRjaCh0KXtjYXNlIDQ6cmV0dXJuITE7Y2FzZSA3OnpuLmNhbGwodyxkKX1yZXR1cm4gYT8tMTpufHxpP2k6d319LExuPXtmb3JFYWNoOmpuKDApLG1hcDpqbigxKSxmaWx0ZXI6am4oMiksc29tZTpqbigzKSxldmVyeTpqbig0KSxmaW5kOmpuKDUpLGZpbmRJbmRleDpqbig2KSxmaWx0ZXJPdXQ6am4oNyl9LEZuPUksTm49ZnVuY3Rpb24odCxlKXt2YXIgcj1bXVt0XTtyZXR1cm4hIXImJkZuKChmdW5jdGlvbigpe3IuY2FsbChudWxsLGV8fGZ1bmN0aW9uKCl7dGhyb3cgMX0sMSl9KSl9LFZuPUxuLmZvckVhY2gsSG49Tm4oImZvckVhY2giKT9bXS5mb3JFYWNoOmZ1bmN0aW9uKHQpe3JldHVybiBWbih0aGlzLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfSxZbj1ULEtuPUluLFduPUhuLEduPXh0O2Zvcih2YXIgcW4gaW4gS24pe3ZhciBYbj1Zbltxbl0sJG49WG4mJlhuLnByb3RvdHlwZTtpZigkbiYmJG4uZm9yRWFjaCE9PVduKXRyeXtHbigkbiwiZm9yRWFjaCIsV24pfWNhdGNoKFN2KXskbi5mb3JFYWNoPVdufX12YXIgUW49TG4ubWFwO21yKHt0YXJnZXQ6IkFycmF5Iixwcm90bzohMCxmb3JjZWQ6IVpyKCJtYXAiKX0se21hcDpmdW5jdGlvbih0KXtyZXR1cm4gUW4odGhpcyx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX19KTt2YXIgWm4sSm49VmUsdGk9SGUsZWk9T2JqZWN0LmtleXN8fGZ1bmN0aW9uKHQpe3JldHVybiBKbih0LHRpKX0scmk9ZHQsbmk9cHQsaWk9ZWksYWk9Tz9PYmplY3QuZGVmaW5lUHJvcGVydGllczpmdW5jdGlvbih0LGUpe25pKHQpO2Zvcih2YXIgcixuPWlpKGUpLGk9bi5sZW5ndGgsYT0wO2k+YTspcmkuZih0LHI9blthKytdLGVbcl0pO3JldHVybiB0fSxvaT1rZSgiZG9jdW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiKSxzaT1wdCx1aT1haSxjaT1IZSxmaT1xdCxsaT1vaSxkaT1ldCxoaT1HdCgiSUVfUFJPVE8iKSxwaT1mdW5jdGlvbigpe30sdmk9ZnVuY3Rpb24odCl7cmV0dXJuIjxzY3JpcHQ+Iit0KyI8LyIrInNjcmlwdD4ifSx5aT1mdW5jdGlvbigpe3RyeXtabj1kb2N1bWVudC5kb21haW4mJm5ldyBBY3RpdmVYT2JqZWN0KCJodG1sZmlsZSIpfWNhdGNoKFN2KXt9dmFyIHQsZTt5aT1abj9mdW5jdGlvbih0KXt0LndyaXRlKHZpKCIiKSksdC5jbG9zZSgpO3ZhciBlPXQucGFyZW50V2luZG93Lk9iamVjdDtyZXR1cm4gdD1udWxsLGV9KFpuKTooKGU9ZGkoImlmcmFtZSIpKS5zdHlsZS5kaXNwbGF5PSJub25lIixsaS5hcHBlbmRDaGlsZChlKSxlLnNyYz1TdHJpbmcoImphdmFzY3JpcHQ6IiksKHQ9ZS5jb250ZW50V2luZG93LmRvY3VtZW50KS5vcGVuKCksdC53cml0ZSh2aSgiZG9jdW1lbnQuRj1PYmplY3QiKSksdC5jbG9zZSgpLHQuRik7Zm9yKHZhciByPWNpLmxlbmd0aDtyLS07KWRlbGV0ZSB5aS5wcm90b3R5cGVbY2lbcl1dO3JldHVybiB5aSgpfTtmaVtoaV09ITA7dmFyIGdpPU9iamVjdC5jcmVhdGV8fGZ1bmN0aW9uKHQsZSl7dmFyIHI7cmV0dXJuIG51bGwhPT10PyhwaS5wcm90b3R5cGU9c2kodCkscj1uZXcgcGkscGkucHJvdG90eXBlPW51bGwscltoaV09dCk6cj15aSgpLHZvaWQgMD09PWU/cjp1aShyLGUpfSxtaT1naSxiaT1kdCx3aT1ZcigidW5zY29wYWJsZXMiKSxraT1BcnJheS5wcm90b3R5cGU7bnVsbD09a2lbd2ldJiZiaS5mKGtpLHdpLHtjb25maWd1cmFibGU6ITAsdmFsdWU6bWkobnVsbCl9KTt2YXIgeGk9ZnVuY3Rpb24odCl7a2lbd2ldW3RdPSEwfSxBaT16ZS5pbmNsdWRlcyxTaT14aTttcih7dGFyZ2V0OiJBcnJheSIscHJvdG86ITB9LHtpbmNsdWRlczpmdW5jdGlvbih0KXtyZXR1cm4gQWkodGhpcyx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX19KSxTaSgiaW5jbHVkZXMiKTt2YXIgX2k9WSxUaT1ELEVpPVlyKCJtYXRjaCIpLElpPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiBfaSh0KSYmKHZvaWQgMCE9PShlPXRbRWldKT8hIWU6IlJlZ0V4cCI9PVRpKHQpKX0sT2k9WXIoIm1hdGNoIiksTWk9ZnVuY3Rpb24odCl7aWYoSWkodCkpdGhyb3cgVHlwZUVycm9yKCJUaGUgbWV0aG9kIGRvZXNuJ3QgYWNjZXB0IHJlZ3VsYXIgZXhwcmVzc2lvbnMiKTtyZXR1cm4gdH0sQ2k9Rjttcih7dGFyZ2V0OiJTdHJpbmciLHByb3RvOiEwLGZvcmNlZDohZnVuY3Rpb24odCl7dmFyIGU9Ly4vO3RyeXsiLy4vIlt0XShlKX1jYXRjaChyKXt0cnl7cmV0dXJuIGVbT2ldPSExLCIvLi8iW3RdKGUpfWNhdGNoKG4pe319cmV0dXJuITF9KCJpbmNsdWRlcyIpfSx7aW5jbHVkZXM6ZnVuY3Rpb24odCl7cmV0dXJuISF+U3RyaW5nKENpKHRoaXMpKS5pbmRleE9mKE1pKHQpLGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX19KTt2YXIgUmk9TG4uZmlsdGVyO21yKHt0YXJnZXQ6IkFycmF5Iixwcm90bzohMCxmb3JjZWQ6IVpyKCJmaWx0ZXIiKX0se2ZpbHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gUmkodGhpcyx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX19KTt2YXIgQmk9InZpZGVvIixQaT0iYXVkaW8iLFVpPSJtZXRhZGF0YSIsRGk9ImF2YyIsemk9ImhldmMiLGppPSJhYWMiLExpPSJnNzExMGEiLEZpPSJnNzExMG0iLE5pPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3kodGhpcyx0KSxiKHRoaXMsImlkIiwxKSxiKHRoaXMsInR5cGUiLEJpKSxiKHRoaXMsImNvZGVjVHlwZSIsRGkpLGIodGhpcywicGlkIiwtMSksYih0aGlzLCJodmNDIix2b2lkIDApLGIodGhpcywiY29kZWMiLCIiKSxiKHRoaXMsInRpbWVzY2FsZSIsMCksYih0aGlzLCJmb3JtYXRUaW1lc2NhbGUiLDApLGIodGhpcywic2VxdWVuY2VOdW1iZXIiLDApLGIodGhpcywiYmFzZU1lZGlhRGVjb2RlVGltZSIsMCksYih0aGlzLCJiYXNlRHRzIiwwKSxiKHRoaXMsImR1cmF0aW9uIiwwKSxiKHRoaXMsIndhcm5pbmdzIixbXSksYih0aGlzLCJzYW1wbGVzIixbXSksYih0aGlzLCJwcHMiLFtdKSxiKHRoaXMsInNwcyIsW10pLGIodGhpcywidnBzIixbXSksYih0aGlzLCJmcHNOdW0iLDApLGIodGhpcywiZnBzRGVuIiwwKSxiKHRoaXMsInNhclJhdGlvIixbXSksYih0aGlzLCJ3aWR0aCIsMCksYih0aGlzLCJoZWlnaHQiLDApLGIodGhpcywibmFsVW5pdFNpemUiLDQpLGIodGhpcywicHJlc2VudCIsITEpLGIodGhpcywiaXNWaWRlb0VuY3J5cHRpb24iLCExKSxiKHRoaXMsImlzQXVkaW9FbmNyeXB0aW9uIiwhMSksYih0aGlzLCJraWQiLG51bGwpLGIodGhpcywicHNzaCIsbnVsbCksYih0aGlzLCJleHQiLHZvaWQgMCl9cmV0dXJuIG0odCxbe2tleToicmVzZXQiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5zZXF1ZW5jZU51bWJlcj10aGlzLndpZHRoPXRoaXMuaGVpZ2h0PXRoaXMuZnBzRGVuPXRoaXMuZnBzTnVtPXRoaXMuZHVyYXRpb249dGhpcy5iYXNlTWVkaWFEZWNvZGVUaW1lPXRoaXMudGltZXNjYWxlPTAsdGhpcy5jb2RlYz0iIix0aGlzLnByZXNlbnQ9ITEsdGhpcy5waWQ9LTEsdGhpcy5wcHM9W10sdGhpcy5zcHM9W10sdGhpcy52cHM9W10sdGhpcy5zYXJSYXRpbz1bXSx0aGlzLnNhbXBsZXM9W10sdGhpcy53YXJuaW5ncz1bXSx0aGlzLmh2Y0M9bnVsbH19LHtrZXk6ImV4aXN0Iix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiEhKHRoaXMucHBzLmxlbmd0aCYmdGhpcy5zcHMubGVuZ3RoJiZ0aGlzLmNvZGVjKX19LHtrZXk6Imhhc1NhbXBsZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4hIXRoaXMuc2FtcGxlcy5sZW5ndGh9fV0pLHR9KCksVmk9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7eSh0aGlzLHQpLGIodGhpcywiaWQiLDIpLGIodGhpcywidHlwZSIsUGkpLGIodGhpcywiY29kZWNUeXBlIixqaSksYih0aGlzLCJwaWQiLC0xKSxiKHRoaXMsImNvZGVjIiwiIiksYih0aGlzLCJzZXF1ZW5jZU51bWJlciIsMCksYih0aGlzLCJzYW1wbGVEdXJhdGlvbiIsMCksYih0aGlzLCJ0aW1lc2NhbGUiLDApLGIodGhpcywiZm9ybWF0VGltZXNjYWxlIiwwKSxiKHRoaXMsImJhc2VNZWRpYURlY29kZVRpbWUiLDApLGIodGhpcywiZHVyYXRpb24iLDApLGIodGhpcywid2FybmluZ3MiLFtdKSxiKHRoaXMsInNhbXBsZXMiLFtdKSxiKHRoaXMsImJhc2VEdHMiLDApLGIodGhpcywic2FtcGxlU2l6ZSIsMTYpLGIodGhpcywic2FtcGxlUmF0ZSIsMCksYih0aGlzLCJjaGFubmVsQ291bnQiLDApLGIodGhpcywib2JqZWN0VHlwZSIsMCksYih0aGlzLCJzYW1wbGVSYXRlSW5kZXgiLDApLGIodGhpcywiY29uZmlnIixbXSksYih0aGlzLCJwcmVzZW50IiwhMSksYih0aGlzLCJpc1ZpZGVvRW5jcnlwdGlvbiIsITEpLGIodGhpcywiaXNBdWRpb0VuY3J5cHRpb24iLCExKSxiKHRoaXMsImtpZCIsbnVsbCksYih0aGlzLCJleHQiLHZvaWQgMCl9cmV0dXJuIG0odCxbe2tleToicmVzZXQiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5zZXF1ZW5jZU51bWJlcj0wLHRoaXMudGltZXNjYWxlPTAsdGhpcy5zYW1wbGVEdXJhdGlvbj0wLHRoaXMuc2FtcGxlUmF0ZT0wLHRoaXMuY2hhbm5lbENvdW50PTAsdGhpcy5iYXNlTWVkaWFEZWNvZGVUaW1lPTAsdGhpcy5wcmVzZW50PSExLHRoaXMucGlkPS0xLHRoaXMuY29kZWM9IiIsdGhpcy5zYW1wbGVzPVtdLHRoaXMuY29uZmlnPVtdLHRoaXMud2FybmluZ3M9W119fSx7a2V5OiJleGlzdCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4hISh0aGlzLnNhbXBsZVJhdGUmJnRoaXMuY2hhbm5lbENvdW50JiZ0aGlzLmNvZGVjJiZ0aGlzLmNvZGVjVHlwZT09PWppKX19LHtrZXk6Imhhc1NhbXBsZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4hIXRoaXMuc2FtcGxlcy5sZW5ndGh9fV0pLHR9KCksSGk9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUscixuKXt5KHRoaXMsdCksYih0aGlzLCJmbGFnIix7fSksYih0aGlzLCJrZXlmcmFtZSIsITEpLGIodGhpcywiZ29wSWQiLDApLGIodGhpcywiZHVyYXRpb24iLDApLGIodGhpcywic2l6ZSIsMCksYih0aGlzLCJ1bml0cyIsW10pLGIodGhpcywiY2hyb21hRm9ybWF0Iiw0MjApLHRoaXMub3JpZ2luUHRzPXRoaXMucHRzPWUsdGhpcy5vcmlnaW5EdHM9dGhpcy5kdHM9cixuJiYodGhpcy51bml0cz1uKX1yZXR1cm4gbSh0LFt7a2V5OiJjdHMiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB0cy10aGlzLmR0c319LHtrZXk6InNldFRvS2V5ZnJhbWUiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5rZXlmcmFtZT0hMCx0aGlzLmZsYWcuZGVwZW5kc09uPTIsdGhpcy5mbGFnLmlzTm9uU3luY1NhbXBsZT0wfX1dKSx0fSgpLFlpPW0oKGZ1bmN0aW9uIHQoZSxyLG4saSl7eSh0aGlzLHQpLGIodGhpcywiZHVyYXRpb24iLDEwMjQpLGIodGhpcywiZmxhZyIse2RlcGVuZHNPbjoyLGlzTm9uU3luY1NhbXBsZTowfSksYih0aGlzLCJrZXlmcmFtZSIsITApLHRoaXMub3JpZ2luUHRzPXRoaXMucHRzPXRoaXMuZHRzPWUsdGhpcy5kYXRhPXIsdGhpcy5zaXplPXIuYnl0ZUxlbmd0aCx0aGlzLnNhbXBsZU9mZnNldD1pLG4mJih0aGlzLmR1cmF0aW9uPW4pfSkpLEtpPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3kodGhpcyx0KSxiKHRoaXMsImlkIiwzKSxiKHRoaXMsInR5cGUiLFVpKSxiKHRoaXMsInRpbWVzY2FsZSIsMCksYih0aGlzLCJmbHZTY3JpcHRTYW1wbGVzIixbXSksYih0aGlzLCJzZWlTYW1wbGVzIixbXSl9cmV0dXJuIG0odCxbe2tleToiZXhpc3QiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuISghdGhpcy5mbHZTY3JpcHRTYW1wbGVzLmxlbmd0aCYmIXRoaXMuc2VpU2FtcGxlcy5sZW5ndGh8fCF0aGlzLnRpbWVzY2FsZSl9fSx7a2V5OiJyZXNldCIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLnRpbWVzY2FsZT0wLHRoaXMuZmx2U2NyaXB0U2FtcGxlcz1bXSx0aGlzLnNlaVNhbXBsZXM9W119fSx7a2V5OiJoYXNTYW1wbGUiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuISghdGhpcy5mbHZTY3JpcHRTYW1wbGVzLmxlbmd0aCYmIXRoaXMuc2VpU2FtcGxlcy5sZW5ndGgpfX1dKSx0fSgpLFdpPVksR2k9cHQscWk9ZnVuY3Rpb24odCl7aWYoIVdpKHQpJiZudWxsIT09dCl0aHJvdyBUeXBlRXJyb3IoIkNhbid0IHNldCAiK1N0cmluZyh0KSsiIGFzIGEgcHJvdG90eXBlIik7cmV0dXJuIHR9LFhpPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8KCJfX3Byb3RvX18iaW57fT9mdW5jdGlvbigpe3ZhciB0LGU9ITEscj17fTt0cnl7KHQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QucHJvdG90eXBlLCJfX3Byb3RvX18iKS5zZXQpLmNhbGwocixbXSksZT1yIGluc3RhbmNlb2YgQXJyYXl9Y2F0Y2goU3Ype31yZXR1cm4gZnVuY3Rpb24ocixuKXtyZXR1cm4gR2kocikscWkobiksZT90LmNhbGwocixuKTpyLl9fcHJvdG9fXz1uLHJ9fSgpOnZvaWQgMCksJGk9WSxRaT1YaSxaaT1mdW5jdGlvbih0LGUscil7dmFyIG4saTtyZXR1cm4gUWkmJiJmdW5jdGlvbiI9PXR5cGVvZihuPWUuY29uc3RydWN0b3IpJiZuIT09ciYmJGkoaT1uLnByb3RvdHlwZSkmJmkhPT1yLnByb3RvdHlwZSYmUWkodCxpKSx0fSxKaT1GLHRhPSJbXHRcblx2XGZcciDCoOGagOKAgOKAgeKAguKAg+KAhOKAheKAhuKAh+KAiOKAieKAiuKAr+KBn+OAgFx1MjAyOFx1MjAyOVx1ZmVmZl0iLGVhPVJlZ0V4cCgiXiIrdGErdGErIioiKSxyYT1SZWdFeHAodGErdGErIiokIiksbmE9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciByPVN0cmluZyhKaShlKSk7cmV0dXJuIDEmdCYmKHI9ci5yZXBsYWNlKGVhLCIiKSksMiZ0JiYocj1yLnJlcGxhY2UocmEsIiIpKSxyfX0saWE9e3N0YXJ0Om5hKDEpLGVuZDpuYSgyKSx0cmltOm5hKDMpfSxhYT1PLG9hPVQsc2E9ZnIsdWE9QXQuZXhwb3J0cyxjYT1RLGZhPUQsbGE9WmksZGE9VyxoYT1JLHBhPWdpLHZhPXhlLmYseWE9RS5mLGdhPWR0LmYsbWE9aWEudHJpbSxiYT0iTnVtYmVyIix3YT1vYS5OdW1iZXIsa2E9d2EucHJvdG90eXBlLHhhPWZhKHBhKGthKSk9PWJhLEFhPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbixpLGEsbyxzLHUsYz1kYSh0LCExKTtpZigic3RyaW5nIj09dHlwZW9mIGMmJmMubGVuZ3RoPjIpaWYoNDM9PT0oZT0oYz1tYShjKSkuY2hhckNvZGVBdCgwKSl8fDQ1PT09ZSl7aWYoODg9PT0ocj1jLmNoYXJDb2RlQXQoMikpfHwxMjA9PT1yKXJldHVybiBOYU59ZWxzZSBpZig0OD09PWUpe3N3aXRjaChjLmNoYXJDb2RlQXQoMSkpe2Nhc2UgNjY6Y2FzZSA5ODpuPTIsaT00OTticmVhaztjYXNlIDc5OmNhc2UgMTExOm49OCxpPTU1O2JyZWFrO2RlZmF1bHQ6cmV0dXJuK2N9Zm9yKG89KGE9Yy5zbGljZSgyKSkubGVuZ3RoLHM9MDtzPG87cysrKWlmKCh1PWEuY2hhckNvZGVBdChzKSk8NDh8fHU+aSlyZXR1cm4gTmFOO3JldHVybiBwYXJzZUludChhLG4pfXJldHVybitjfTtpZihzYShiYSwhd2EoIiAwbzEiKXx8IXdhKCIwYjEiKXx8d2EoIisweDEiKSkpe2Zvcih2YXIgU2EsX2E9ZnVuY3Rpb24odCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aDwxPzA6dCxyPXRoaXM7cmV0dXJuIHIgaW5zdGFuY2VvZiBfYSYmKHhhP2hhKChmdW5jdGlvbigpe2thLnZhbHVlT2YuY2FsbChyKX0pKTpmYShyKSE9YmEpP2xhKG5ldyB3YShBYShlKSkscixfYSk6QWEoZSl9LFRhPWFhP3ZhKHdhKToiTUFYX1ZBTFVFLE1JTl9WQUxVRSxOYU4sTkVHQVRJVkVfSU5GSU5JVFksUE9TSVRJVkVfSU5GSU5JVFksRVBTSUxPTixpc0Zpbml0ZSxpc0ludGVnZXIsaXNOYU4saXNTYWZlSW50ZWdlcixNQVhfU0FGRV9JTlRFR0VSLE1JTl9TQUZFX0lOVEVHRVIscGFyc2VGbG9hdCxwYXJzZUludCxpc0ludGVnZXIsZnJvbVN0cmluZyxyYW5nZSIuc3BsaXQoIiwiKSxFYT0wO1RhLmxlbmd0aD5FYTtFYSsrKWNhKHdhLFNhPVRhW0VhXSkmJiFjYShfYSxTYSkmJmdhKF9hLFNhLHlhKHdhLFNhKSk7X2EucHJvdG90eXBlPWthLGthLmNvbnN0cnVjdG9yPV9hLHVhKG9hLGJhLF9hKX12YXIgSWEsT2EsTWEsQ2E9e30sUmE9IUkoKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gdC5wcm90b3R5cGUuY29uc3RydWN0b3I9bnVsbCxPYmplY3QuZ2V0UHJvdG90eXBlT2YobmV3IHQpIT09dC5wcm90b3R5cGV9KSksQmE9USxQYT1xLFVhPVJhLERhPUd0KCJJRV9QUk9UTyIpLHphPU9iamVjdC5wcm90b3R5cGUsamE9VWE/T2JqZWN0LmdldFByb3RvdHlwZU9mOmZ1bmN0aW9uKHQpe3JldHVybiB0PVBhKHQpLEJhKHQsRGEpP3RbRGFdOiJmdW5jdGlvbiI9PXR5cGVvZiB0LmNvbnN0cnVjdG9yJiZ0IGluc3RhbmNlb2YgdC5jb25zdHJ1Y3Rvcj90LmNvbnN0cnVjdG9yLnByb3RvdHlwZTp0IGluc3RhbmNlb2YgT2JqZWN0P3phOm51bGx9LExhPUksRmE9amEsTmE9eHQsVmE9USxIYT1ZcigiaXRlcmF0b3IiKSxZYT0hMTtbXS5rZXlzJiYoIm5leHQiaW4oTWE9W10ua2V5cygpKT8oT2E9RmEoRmEoTWEpKSkhPT1PYmplY3QucHJvdG90eXBlJiYoSWE9T2EpOllhPSEwKSwobnVsbD09SWF8fExhKChmdW5jdGlvbigpe3ZhciB0PXt9O3JldHVybiBJYVtIYV0uY2FsbCh0KSE9PXR9KSkpJiYoSWE9e30pLFZhKElhLEhhKXx8TmEoSWEsSGEsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSk7dmFyIEthPXtJdGVyYXRvclByb3RvdHlwZTpJYSxCVUdHWV9TQUZBUklfSVRFUkFUT1JTOllhfSxXYT1kdC5mLEdhPVEscWE9WXIoInRvU3RyaW5nVGFnIiksWGE9ZnVuY3Rpb24odCxlLHIpe3QmJiFHYSh0PXI/dDp0LnByb3RvdHlwZSxxYSkmJldhKHQscWEse2NvbmZpZ3VyYWJsZTohMCx2YWx1ZTplfSl9LCRhPUthLkl0ZXJhdG9yUHJvdG90eXBlLFFhPWdpLFphPVAsSmE9WGEsdG89Q2EsZW89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30scm89bXIsbm89ZnVuY3Rpb24odCxlLHIpe3ZhciBuPWUrIiBJdGVyYXRvciI7cmV0dXJuIHQucHJvdG90eXBlPVFhKCRhLHtuZXh0OlphKDEscil9KSxKYSh0LG4sITEpLHRvW25dPWVvLHR9LGlvPWphLGFvPVhpLG9vPVhhLHNvPXh0LHVvPUF0LmV4cG9ydHMsY289Q2EsZm89S2EuSXRlcmF0b3JQcm90b3R5cGUsbG89S2EuQlVHR1lfU0FGQVJJX0lURVJBVE9SUyxobz1ZcigiaXRlcmF0b3IiKSxwbz0ia2V5cyIsdm89InZhbHVlcyIseW89ImVudHJpZXMiLGdvPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LG1vPWZ1bmN0aW9uKHQsZSxyLG4saSxhLG8pe25vKHIsZSxuKTt2YXIgcyx1LGMsZj1mdW5jdGlvbih0KXtpZih0PT09aSYmdilyZXR1cm4gdjtpZighbG8mJnQgaW4gaClyZXR1cm4gaFt0XTtzd2l0Y2godCl7Y2FzZSBwbzpjYXNlIHZvOmNhc2UgeW86cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyByKHRoaXMsdCl9fXJldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgcih0aGlzKX19LGw9ZSsiIEl0ZXJhdG9yIixkPSExLGg9dC5wcm90b3R5cGUscD1oW2hvXXx8aFsiQEBpdGVyYXRvciJdfHxpJiZoW2ldLHY9IWxvJiZwfHxmKGkpLHk9IkFycmF5Ij09ZSYmaC5lbnRyaWVzfHxwO2lmKHkmJihzPWlvKHkuY2FsbChuZXcgdCkpLGZvIT09T2JqZWN0LnByb3RvdHlwZSYmcy5uZXh0JiYoaW8ocykhPT1mbyYmKGFvP2FvKHMsZm8pOiJmdW5jdGlvbiIhPXR5cGVvZiBzW2hvXSYmc28ocyxobyxnbykpLG9vKHMsbCwhMCkpKSxpPT12byYmcCYmcC5uYW1lIT09dm8mJihkPSEwLHY9ZnVuY3Rpb24oKXtyZXR1cm4gcC5jYWxsKHRoaXMpfSksaFtob10hPT12JiZzbyhoLGhvLHYpLGNvW2VdPXYsaSlpZih1PXt2YWx1ZXM6Zih2byksa2V5czphP3Y6ZihwbyksZW50cmllczpmKHlvKX0sbylmb3IoYyBpbiB1KShsb3x8ZHx8IShjIGluIGgpKSYmdW8oaCxjLHVbY10pO2Vsc2Ugcm8oe3RhcmdldDplLHByb3RvOiEwLGZvcmNlZDpsb3x8ZH0sdSk7cmV0dXJuIHV9LGJvPUgsd289eGksa289Q2EseG89Y2UsQW89bW8sU289IkFycmF5IEl0ZXJhdG9yIixfbz14by5zZXQsVG89eG8uZ2V0dGVyRm9yKFNvKSxFbz1BbyhBcnJheSwiQXJyYXkiLChmdW5jdGlvbih0LGUpe19vKHRoaXMse3R5cGU6U28sdGFyZ2V0OmJvKHQpLGluZGV4OjAsa2luZDplfSl9KSwoZnVuY3Rpb24oKXt2YXIgdD1Ubyh0aGlzKSxlPXQudGFyZ2V0LHI9dC5raW5kLG49dC5pbmRleCsrO3JldHVybiFlfHxuPj1lLmxlbmd0aD8odC50YXJnZXQ9dm9pZCAwLHt2YWx1ZTp2b2lkIDAsZG9uZTohMH0pOiJrZXlzIj09cj97dmFsdWU6bixkb25lOiExfToidmFsdWVzIj09cj97dmFsdWU6ZVtuXSxkb25lOiExfTp7dmFsdWU6W24sZVtuXV0sZG9uZTohMX19KSwidmFsdWVzIik7a28uQXJndW1lbnRzPWtvLkFycmF5LHdvKCJrZXlzIiksd28oInZhbHVlcyIpLHdvKCJlbnRyaWVzIik7dmFyIElvPXtleHBvcnRzOnt9fSxPbz1ZcigiaXRlcmF0b3IiKSxNbz0hMTt0cnl7dmFyIENvPTAsUm89e25leHQ6ZnVuY3Rpb24oKXtyZXR1cm57ZG9uZTohIUNvKyt9fSxyZXR1cm46ZnVuY3Rpb24oKXtNbz0hMH19O1JvW09vXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxBcnJheS5mcm9tKFJvLChmdW5jdGlvbigpe3Rocm93IDJ9KSl9Y2F0Y2goU3Ype312YXIgQm8sUG89ZnVuY3Rpb24odCxlKXtpZighZSYmIU1vKXJldHVybiExO3ZhciByPSExO3RyeXt2YXIgbj17fTtuW09vXT1mdW5jdGlvbigpe3JldHVybntuZXh0OmZ1bmN0aW9uKCl7cmV0dXJue2RvbmU6cj0hMH19fX0sdChuKX1jYXRjaChTdil7fXJldHVybiByfSxVbz0idW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiYidW5kZWZpbmVkIiE9dHlwZW9mIERhdGFWaWV3LERvPVVvLHpvPU8sam89VCxMbz1ZLEZvPVEsTm89eG4sVm89eHQsSG89QXQuZXhwb3J0cyxZbz1kdC5mLEtvPWphLFdvPVhpLEdvPVlyLHFvPUh0LFhvPWpvLkludDhBcnJheSwkbz1YbyYmWG8ucHJvdG90eXBlLFFvPWpvLlVpbnQ4Q2xhbXBlZEFycmF5LFpvPVFvJiZRby5wcm90b3R5cGUsSm89WG8mJktvKFhvKSx0cz0kbyYmS28oJG8pLGVzPU9iamVjdC5wcm90b3R5cGUscnM9ZXMuaXNQcm90b3R5cGVPZixucz1HbygidG9TdHJpbmdUYWciKSxpcz1xbygiVFlQRURfQVJSQVlfVEFHIiksYXM9RG8mJiEhV28mJiJPcGVyYSIhPT1Obyhqby5vcGVyYSksb3M9ITEsc3M9e0ludDhBcnJheToxLFVpbnQ4QXJyYXk6MSxVaW50OENsYW1wZWRBcnJheToxLEludDE2QXJyYXk6MixVaW50MTZBcnJheToyLEludDMyQXJyYXk6NCxVaW50MzJBcnJheTo0LEZsb2F0MzJBcnJheTo0LEZsb2F0NjRBcnJheTo4fSx1cz17QmlnSW50NjRBcnJheTo4LEJpZ1VpbnQ2NEFycmF5Ojh9LGNzPWZ1bmN0aW9uKHQpe2lmKCFMbyh0KSlyZXR1cm4hMTt2YXIgZT1Obyh0KTtyZXR1cm4gRm8oc3MsZSl8fEZvKHVzLGUpfTtmb3IoQm8gaW4gc3Mpam9bQm9dfHwoYXM9ITEpO2lmKCghYXN8fCJmdW5jdGlvbiIhPXR5cGVvZiBKb3x8Sm89PT1GdW5jdGlvbi5wcm90b3R5cGUpJiYoSm89ZnVuY3Rpb24oKXt0aHJvdyBUeXBlRXJyb3IoIkluY29ycmVjdCBpbnZvY2F0aW9uIil9LGFzKSlmb3IoQm8gaW4gc3Mpam9bQm9dJiZXbyhqb1tCb10sSm8pO2lmKCghYXN8fCF0c3x8dHM9PT1lcykmJih0cz1Kby5wcm90b3R5cGUsYXMpKWZvcihCbyBpbiBzcylqb1tCb10mJldvKGpvW0JvXS5wcm90b3R5cGUsdHMpO2lmKGFzJiZLbyhabykhPT10cyYmV28oWm8sdHMpLHpvJiYhRm8odHMsbnMpKWZvcihCbyBpbiBvcz0hMCxZbyh0cyxucyx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIExvKHRoaXMpP3RoaXNbaXNdOnZvaWQgMH19KSxzcylqb1tCb10mJlZvKGpvW0JvXSxpcyxCbyk7dmFyIGZzPXtOQVRJVkVfQVJSQVlfQlVGRkVSX1ZJRVdTOmFzLFRZUEVEX0FSUkFZX1RBRzpvcyYmaXMsYVR5cGVkQXJyYXk6ZnVuY3Rpb24odCl7aWYoY3ModCkpcmV0dXJuIHQ7dGhyb3cgVHlwZUVycm9yKCJUYXJnZXQgaXMgbm90IGEgdHlwZWQgYXJyYXkiKX0sYVR5cGVkQXJyYXlDb25zdHJ1Y3RvcjpmdW5jdGlvbih0KXtpZihXbyl7aWYocnMuY2FsbChKbyx0KSlyZXR1cm4gdH1lbHNlIGZvcih2YXIgZSBpbiBzcylpZihGbyhzcyxCbykpe3ZhciByPWpvW2VdO2lmKHImJih0PT09cnx8cnMuY2FsbChyLHQpKSlyZXR1cm4gdH10aHJvdyBUeXBlRXJyb3IoIlRhcmdldCBpcyBub3QgYSB0eXBlZCBhcnJheSBjb25zdHJ1Y3RvciIpfSxleHBvcnRUeXBlZEFycmF5TWV0aG9kOmZ1bmN0aW9uKHQsZSxyKXtpZih6byl7aWYocilmb3IodmFyIG4gaW4gc3Mpe3ZhciBpPWpvW25dO2lmKGkmJkZvKGkucHJvdG90eXBlLHQpKXRyeXtkZWxldGUgaS5wcm90b3R5cGVbdF19Y2F0Y2goU3Ype319dHNbdF0mJiFyfHxIbyh0cyx0LHI/ZTphcyYmJG9bdF18fGUpfX0sZXhwb3J0VHlwZWRBcnJheVN0YXRpY01ldGhvZDpmdW5jdGlvbih0LGUscil7dmFyIG4saTtpZih6byl7aWYoV28pe2lmKHIpZm9yKG4gaW4gc3MpaWYoKGk9am9bbl0pJiZGbyhpLHQpKXRyeXtkZWxldGUgaVt0XX1jYXRjaChTdil7fWlmKEpvW3RdJiYhcilyZXR1cm47dHJ5e3JldHVybiBIbyhKbyx0LHI/ZTphcyYmSm9bdF18fGUpfWNhdGNoKFN2KXt9fWZvcihuIGluIHNzKSEoaT1qb1tuXSl8fGlbdF0mJiFyfHxIbyhpLHQsZSl9fSxpc1ZpZXc6ZnVuY3Rpb24odCl7aWYoIUxvKHQpKXJldHVybiExO3ZhciBlPU5vKHQpO3JldHVybiJEYXRhVmlldyI9PT1lfHxGbyhzcyxlKXx8Rm8odXMsZSl9LGlzVHlwZWRBcnJheTpjcyxUeXBlZEFycmF5OkpvLFR5cGVkQXJyYXlQcm90b3R5cGU6dHN9LGxzPVQsZHM9SSxocz1Qbyxwcz1mcy5OQVRJVkVfQVJSQVlfQlVGRkVSX1ZJRVdTLHZzPWxzLkFycmF5QnVmZmVyLHlzPWxzLkludDhBcnJheSxncz0hcHN8fCFkcygoZnVuY3Rpb24oKXt5cygxKX0pKXx8IWRzKChmdW5jdGlvbigpe25ldyB5cygtMSl9KSl8fCFocygoZnVuY3Rpb24odCl7bmV3IHlzLG5ldyB5cyhudWxsKSxuZXcgeXMoMS41KSxuZXcgeXModCl9KSwhMCl8fGRzKChmdW5jdGlvbigpe3JldHVybiAxIT09bmV3IHlzKG5ldyB2cygyKSwxLHZvaWQgMCkubGVuZ3RofSkpLG1zPUF0LmV4cG9ydHMsYnM9ZnVuY3Rpb24odCxlLHIpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IFR5cGVFcnJvcigiSW5jb3JyZWN0ICIrKHI/cisiICI6IiIpKyJpbnZvY2F0aW9uIik7cmV0dXJuIHR9LHdzPV9lLGtzPUllLHhzPWZ1bmN0aW9uKHQpe2lmKHZvaWQgMD09PXQpcmV0dXJuIDA7dmFyIGU9d3ModCkscj1rcyhlKTtpZihlIT09cil0aHJvdyBSYW5nZUVycm9yKCJXcm9uZyBsZW5ndGggb3IgaW5kZXgiKTtyZXR1cm4gcn0sQXM9TWF0aC5hYnMsU3M9TWF0aC5wb3csX3M9TWF0aC5mbG9vcixUcz1NYXRoLmxvZyxFcz1NYXRoLkxOMixJcz1xLE9zPVJlLE1zPUllLENzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1Jcyh0aGlzKSxyPU1zKGUubGVuZ3RoKSxuPWFyZ3VtZW50cy5sZW5ndGgsaT1PcyhuPjE/YXJndW1lbnRzWzFdOnZvaWQgMCxyKSxhPW4+Mj9hcmd1bWVudHNbMl06dm9pZCAwLG89dm9pZCAwPT09YT9yOk9zKGEscik7bz5pOyllW2krK109dDtyZXR1cm4gZX0sUnM9VCxCcz1PLFBzPVVvLFVzPXh0LERzPWZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG4gaW4gZSltcyh0LG4sZVtuXSxyKTtyZXR1cm4gdH0senM9SSxqcz1icyxMcz1fZSxGcz1JZSxOcz14cyxWcz17cGFjazpmdW5jdGlvbih0LGUscil7dmFyIG4saSxhLG89bmV3IEFycmF5KHIpLHM9OCpyLWUtMSx1PSgxPDxzKS0xLGM9dT4+MSxmPTIzPT09ZT9TcygyLC0yNCktU3MoMiwtNzcpOjAsbD10PDB8fDA9PT10JiYxL3Q8MD8xOjAsZD0wO2ZvcigodD1Bcyh0KSkhPXR8fHQ9PT0xLzA/KGk9dCE9dD8xOjAsbj11KToobj1fcyhUcyh0KS9FcyksdCooYT1TcygyLC1uKSk8MSYmKG4tLSxhKj0yKSwodCs9bitjPj0xP2YvYTpmKlNzKDIsMS1jKSkqYT49MiYmKG4rKyxhLz0yKSxuK2M+PXU/KGk9MCxuPXUpOm4rYz49MT8oaT0odCphLTEpKlNzKDIsZSksbis9Yyk6KGk9dCpTcygyLGMtMSkqU3MoMixlKSxuPTApKTtlPj04O29bZCsrXT0yNTUmaSxpLz0yNTYsZS09OCk7Zm9yKG49bjw8ZXxpLHMrPWU7cz4wO29bZCsrXT0yNTUmbixuLz0yNTYscy09OCk7cmV0dXJuIG9bLS1kXXw9MTI4Kmwsb30sdW5wYWNrOmZ1bmN0aW9uKHQsZSl7dmFyIHIsbj10Lmxlbmd0aCxpPTgqbi1lLTEsYT0oMTw8aSktMSxvPWE+PjEscz1pLTcsdT1uLTEsYz10W3UtLV0sZj0xMjcmYztmb3IoYz4+PTc7cz4wO2Y9MjU2KmYrdFt1XSx1LS0scy09OCk7Zm9yKHI9ZiYoMTw8LXMpLTEsZj4+PS1zLHMrPWU7cz4wO3I9MjU2KnIrdFt1XSx1LS0scy09OCk7aWYoMD09PWYpZj0xLW87ZWxzZXtpZihmPT09YSlyZXR1cm4gcj9OYU46Yz8tMS8wOjEvMDtyKz1TcygyLGUpLGYtPW99cmV0dXJuKGM/LTE6MSkqcipTcygyLGYtZSl9fSxIcz1qYSxZcz1YaSxLcz14ZS5mLFdzPWR0LmYsR3M9Q3MscXM9WGEsWHM9Y2UuZ2V0LCRzPWNlLnNldCxRcz0iQXJyYXlCdWZmZXIiLFpzPSJEYXRhVmlldyIsSnM9Ildyb25nIGluZGV4Iix0dT1Scy5BcnJheUJ1ZmZlcixldT10dSxydT1Scy5EYXRhVmlldyxudT1ydSYmcnUucHJvdG90eXBlLGl1PU9iamVjdC5wcm90b3R5cGUsYXU9UnMuUmFuZ2VFcnJvcixvdT1Wcy5wYWNrLHN1PVZzLnVucGFjayx1dT1mdW5jdGlvbih0KXtyZXR1cm5bMjU1JnRdfSxjdT1mdW5jdGlvbih0KXtyZXR1cm5bMjU1JnQsdD4+OCYyNTVdfSxmdT1mdW5jdGlvbih0KXtyZXR1cm5bMjU1JnQsdD4+OCYyNTUsdD4+MTYmMjU1LHQ+PjI0JjI1NV19LGx1PWZ1bmN0aW9uKHQpe3JldHVybiB0WzNdPDwyNHx0WzJdPDwxNnx0WzFdPDw4fHRbMF19LGR1PWZ1bmN0aW9uKHQpe3JldHVybiBvdSh0LDIzLDQpfSxodT1mdW5jdGlvbih0KXtyZXR1cm4gb3UodCw1Miw4KX0scHU9ZnVuY3Rpb24odCxlKXtXcyh0LnByb3RvdHlwZSxlLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gWHModGhpcylbZV19fSl9LHZ1PWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBpPU5zKHIpLGE9WHModCk7aWYoaStlPmEuYnl0ZUxlbmd0aCl0aHJvdyBhdShKcyk7dmFyIG89WHMoYS5idWZmZXIpLmJ5dGVzLHM9aSthLmJ5dGVPZmZzZXQsdT1vLnNsaWNlKHMscytlKTtyZXR1cm4gbj91OnUucmV2ZXJzZSgpfSx5dT1mdW5jdGlvbih0LGUscixuLGksYSl7dmFyIG89TnMocikscz1Ycyh0KTtpZihvK2U+cy5ieXRlTGVuZ3RoKXRocm93IGF1KEpzKTtmb3IodmFyIHU9WHMocy5idWZmZXIpLmJ5dGVzLGM9bytzLmJ5dGVPZmZzZXQsZj1uKCtpKSxsPTA7bDxlO2wrKyl1W2MrbF09ZlthP2w6ZS1sLTFdfTtpZihQcyl7aWYoIXpzKChmdW5jdGlvbigpe3R1KDEpfSkpfHwhenMoKGZ1bmN0aW9uKCl7bmV3IHR1KC0xKX0pKXx8enMoKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB0dSxuZXcgdHUoMS41KSxuZXcgdHUoTmFOKSx0dS5uYW1lIT1Rc30pKSl7Zm9yKHZhciBndSxtdT0oZXU9ZnVuY3Rpb24odCl7cmV0dXJuIGpzKHRoaXMsZXUpLG5ldyB0dShOcyh0KSl9KS5wcm90b3R5cGU9dHUucHJvdG90eXBlLGJ1PUtzKHR1KSx3dT0wO2J1Lmxlbmd0aD53dTspKGd1PWJ1W3d1KytdKWluIGV1fHxVcyhldSxndSx0dVtndV0pO211LmNvbnN0cnVjdG9yPWV1fVlzJiZIcyhudSkhPT1pdSYmWXMobnUsaXUpO3ZhciBrdT1uZXcgcnUobmV3IGV1KDIpKSx4dT1udS5zZXRJbnQ4O2t1LnNldEludDgoMCwyMTQ3NDgzNjQ4KSxrdS5zZXRJbnQ4KDEsMjE0NzQ4MzY0OSksIWt1LmdldEludDgoMCkmJmt1LmdldEludDgoMSl8fERzKG51LHtzZXRJbnQ4OmZ1bmN0aW9uKHQsZSl7eHUuY2FsbCh0aGlzLHQsZTw8MjQ+PjI0KX0sc2V0VWludDg6ZnVuY3Rpb24odCxlKXt4dS5jYWxsKHRoaXMsdCxlPDwyND4+MjQpfX0se3Vuc2FmZTohMH0pfWVsc2UgZXU9ZnVuY3Rpb24odCl7anModGhpcyxldSxRcyk7dmFyIGU9TnModCk7JHModGhpcyx7Ynl0ZXM6R3MuY2FsbChuZXcgQXJyYXkoZSksMCksYnl0ZUxlbmd0aDplfSksQnN8fCh0aGlzLmJ5dGVMZW5ndGg9ZSl9LHJ1PWZ1bmN0aW9uKHQsZSxyKXtqcyh0aGlzLHJ1LFpzKSxqcyh0LGV1LFpzKTt2YXIgbj1Ycyh0KS5ieXRlTGVuZ3RoLGk9THMoZSk7aWYoaTwwfHxpPm4pdGhyb3cgYXUoIldyb25nIG9mZnNldCIpO2lmKGkrKHI9dm9pZCAwPT09cj9uLWk6RnMocikpPm4pdGhyb3cgYXUoIldyb25nIGxlbmd0aCIpOyRzKHRoaXMse2J1ZmZlcjp0LGJ5dGVMZW5ndGg6cixieXRlT2Zmc2V0Oml9KSxCc3x8KHRoaXMuYnVmZmVyPXQsdGhpcy5ieXRlTGVuZ3RoPXIsdGhpcy5ieXRlT2Zmc2V0PWkpfSxCcyYmKHB1KGV1LCJieXRlTGVuZ3RoIikscHUocnUsImJ1ZmZlciIpLHB1KHJ1LCJieXRlTGVuZ3RoIikscHUocnUsImJ5dGVPZmZzZXQiKSksRHMocnUucHJvdG90eXBlLHtnZXRJbnQ4OmZ1bmN0aW9uKHQpe3JldHVybiB2dSh0aGlzLDEsdClbMF08PDI0Pj4yNH0sZ2V0VWludDg6ZnVuY3Rpb24odCl7cmV0dXJuIHZ1KHRoaXMsMSx0KVswXX0sZ2V0SW50MTY6ZnVuY3Rpb24odCl7dmFyIGU9dnUodGhpcywyLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApO3JldHVybihlWzFdPDw4fGVbMF0pPDwxNj4+MTZ9LGdldFVpbnQxNjpmdW5jdGlvbih0KXt2YXIgZT12dSh0aGlzLDIsdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCk7cmV0dXJuIGVbMV08PDh8ZVswXX0sZ2V0SW50MzI6ZnVuY3Rpb24odCl7cmV0dXJuIGx1KHZ1KHRoaXMsNCx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKSl9LGdldFVpbnQzMjpmdW5jdGlvbih0KXtyZXR1cm4gbHUodnUodGhpcyw0LHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApKT4+PjB9LGdldEZsb2F0MzI6ZnVuY3Rpb24odCl7cmV0dXJuIHN1KHZ1KHRoaXMsNCx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKSwyMyl9LGdldEZsb2F0NjQ6ZnVuY3Rpb24odCl7cmV0dXJuIHN1KHZ1KHRoaXMsOCx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKSw1Mil9LHNldEludDg6ZnVuY3Rpb24odCxlKXt5dSh0aGlzLDEsdCx1dSxlKX0sc2V0VWludDg6ZnVuY3Rpb24odCxlKXt5dSh0aGlzLDEsdCx1dSxlKX0sc2V0SW50MTY6ZnVuY3Rpb24odCxlKXt5dSh0aGlzLDIsdCxjdSxlLGFyZ3VtZW50cy5sZW5ndGg+Mj9hcmd1bWVudHNbMl06dm9pZCAwKX0sc2V0VWludDE2OmZ1bmN0aW9uKHQsZSl7eXUodGhpcywyLHQsY3UsZSxhcmd1bWVudHMubGVuZ3RoPjI/YXJndW1lbnRzWzJdOnZvaWQgMCl9LHNldEludDMyOmZ1bmN0aW9uKHQsZSl7eXUodGhpcyw0LHQsZnUsZSxhcmd1bWVudHMubGVuZ3RoPjI/YXJndW1lbnRzWzJdOnZvaWQgMCl9LHNldFVpbnQzMjpmdW5jdGlvbih0LGUpe3l1KHRoaXMsNCx0LGZ1LGUsYXJndW1lbnRzLmxlbmd0aD4yP2FyZ3VtZW50c1syXTp2b2lkIDApfSxzZXRGbG9hdDMyOmZ1bmN0aW9uKHQsZSl7eXUodGhpcyw0LHQsZHUsZSxhcmd1bWVudHMubGVuZ3RoPjI/YXJndW1lbnRzWzJdOnZvaWQgMCl9LHNldEZsb2F0NjQ6ZnVuY3Rpb24odCxlKXt5dSh0aGlzLDgsdCxodSxlLGFyZ3VtZW50cy5sZW5ndGg+Mj9hcmd1bWVudHNbMl06dm9pZCAwKX19KTtxcyhldSxRcykscXMocnUsWnMpO3ZhciBBdT17QXJyYXlCdWZmZXI6ZXUsRGF0YVZpZXc6cnV9LFN1PV9lLF91PWZ1bmN0aW9uKHQpe3ZhciBlPVN1KHQpO2lmKGU8MCl0aHJvdyBSYW5nZUVycm9yKCJUaGUgYXJndW1lbnQgY2FuJ3QgYmUgbGVzcyB0aGFuIDAiKTtyZXR1cm4gZX0sVHU9ZnVuY3Rpb24odCxlKXt2YXIgcj1fdSh0KTtpZihyJWUpdGhyb3cgUmFuZ2VFcnJvcigiV3Jvbmcgb2Zmc2V0Iik7cmV0dXJuIHJ9LEV1PXhuLEl1PUNhLE91PVlyKCJpdGVyYXRvciIpLE11PWZ1bmN0aW9uKHQpe2lmKG51bGwhPXQpcmV0dXJuIHRbT3VdfHx0WyJAQGl0ZXJhdG9yIl18fEl1W0V1KHQpXX0sQ3U9Q2EsUnU9WXIoIml0ZXJhdG9yIiksQnU9QXJyYXkucHJvdG90eXBlLFB1PWZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDAhPT10JiYoQ3UuQXJyYXk9PT10fHxCdVtSdV09PT10KX0sVXU9cSxEdT1JZSx6dT1NdSxqdT1QdSxMdT1DbixGdT1mcy5hVHlwZWRBcnJheUNvbnN0cnVjdG9yLE51PWtlLFZ1PWR0LEh1PU8sWXU9WXIoInNwZWNpZXMiKSxLdT1mdW5jdGlvbih0KXt2YXIgZT1OdSh0KSxyPVZ1LmY7SHUmJmUmJiFlW1l1XSYmcihlLFl1LHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9fSl9LFd1PW1yLEd1PVQscXU9TyxYdT1ncywkdT1mcyxRdT1BdSxadT1icyxKdT1QLHRjPXh0LGVjPUllLHJjPXhzLG5jPVR1LGljPVcsYWM9USxvYz14bixzYz1ZLHVjPWdpLGNjPVhpLGZjPXhlLmYsbGM9ZnVuY3Rpb24odCl7dmFyIGUscixuLGksYSxvLHM9VXUodCksdT1hcmd1bWVudHMubGVuZ3RoLGM9dT4xP2FyZ3VtZW50c1sxXTp2b2lkIDAsZj12b2lkIDAhPT1jLGw9enUocyk7aWYobnVsbCE9bCYmIWp1KGwpKWZvcihvPShhPWwuY2FsbChzKSkubmV4dCxzPVtdOyEoaT1vLmNhbGwoYSkpLmRvbmU7KXMucHVzaChpLnZhbHVlKTtmb3IoZiYmdT4yJiYoYz1MdShjLGFyZ3VtZW50c1syXSwyKSkscj1EdShzLmxlbmd0aCksbj1uZXcoRnUodGhpcykpKHIpLGU9MDtyPmU7ZSsrKW5bZV09Zj9jKHNbZV0sZSk6c1tlXTtyZXR1cm4gbn0sZGM9TG4uZm9yRWFjaCxoYz1LdSxwYz1kdCx2Yz1FLHljPVppLGdjPWNlLmdldCxtYz1jZS5zZXQsYmM9cGMuZix3Yz12Yy5mLGtjPU1hdGgucm91bmQseGM9R3UuUmFuZ2VFcnJvcixBYz1RdS5BcnJheUJ1ZmZlcixTYz1RdS5EYXRhVmlldyxfYz0kdS5OQVRJVkVfQVJSQVlfQlVGRkVSX1ZJRVdTLFRjPSR1LlRZUEVEX0FSUkFZX1RBRyxFYz0kdS5UeXBlZEFycmF5LEljPSR1LlR5cGVkQXJyYXlQcm90b3R5cGUsT2M9JHUuYVR5cGVkQXJyYXlDb25zdHJ1Y3RvcixNYz0kdS5pc1R5cGVkQXJyYXksQ2M9IkJZVEVTX1BFUl9FTEVNRU5UIixSYz0iV3JvbmcgbGVuZ3RoIixCYz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wLG49ZS5sZW5ndGgsaT1uZXcoT2ModCkpKG4pO24+cjspaVtyXT1lW3IrK107cmV0dXJuIGl9LFBjPWZ1bmN0aW9uKHQsZSl7YmModCxlLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZ2ModGhpcylbZV19fSl9LFVjPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiB0IGluc3RhbmNlb2YgQWN8fCJBcnJheUJ1ZmZlciI9PShlPW9jKHQpKXx8IlNoYXJlZEFycmF5QnVmZmVyIj09ZX0sRGM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gTWModCkmJiJzeW1ib2wiIT1yKGUpJiZlIGluIHQmJlN0cmluZygrZSk9PVN0cmluZyhlKX0semM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gRGModCxlPWljKGUsITApKT9KdSgyLHRbZV0pOndjKHQsZSl9LGpjPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4hKERjKHQsZT1pYyhlLCEwKSkmJnNjKHIpJiZhYyhyLCJ2YWx1ZSIpKXx8YWMociwiZ2V0Iil8fGFjKHIsInNldCIpfHxyLmNvbmZpZ3VyYWJsZXx8YWMociwid3JpdGFibGUiKSYmIXIud3JpdGFibGV8fGFjKHIsImVudW1lcmFibGUiKSYmIXIuZW51bWVyYWJsZT9iYyh0LGUscik6KHRbZV09ci52YWx1ZSx0KX07cXU/KF9jfHwodmMuZj16YyxwYy5mPWpjLFBjKEljLCJidWZmZXIiKSxQYyhJYywiYnl0ZU9mZnNldCIpLFBjKEljLCJieXRlTGVuZ3RoIiksUGMoSWMsImxlbmd0aCIpKSxXdSh7dGFyZ2V0OiJPYmplY3QiLHN0YXQ6ITAsZm9yY2VkOiFfY30se2dldE93blByb3BlcnR5RGVzY3JpcHRvcjp6YyxkZWZpbmVQcm9wZXJ0eTpqY30pLElvLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQubWF0Y2goL1xkKyQvKVswXS84LGk9dCsocj8iQ2xhbXBlZCI6IiIpKyJBcnJheSIsYT0iZ2V0Iit0LG89InNldCIrdCxzPUd1W2ldLHU9cyxjPXUmJnUucHJvdG90eXBlLGY9e30sbD1mdW5jdGlvbih0LGUpe2JjKHQsZSx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7dmFyIHI9Z2ModCk7cmV0dXJuIHIudmlld1thXShlKm4rci5ieXRlT2Zmc2V0LCEwKX0odGhpcyxlKX0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbih0LGUsaSl7dmFyIGE9Z2ModCk7ciYmKGk9KGk9a2MoaSkpPDA/MDppPjI1NT8yNTU6MjU1JmkpLGEudmlld1tvXShlKm4rYS5ieXRlT2Zmc2V0LGksITApfSh0aGlzLGUsdCl9LGVudW1lcmFibGU6ITB9KX07X2M/WHUmJih1PWUoKGZ1bmN0aW9uKHQsZSxyLGEpe3JldHVybiBadSh0LHUsaSkseWMoc2MoZSk/VWMoZSk/dm9pZCAwIT09YT9uZXcgcyhlLG5jKHIsbiksYSk6dm9pZCAwIT09cj9uZXcgcyhlLG5jKHIsbikpOm5ldyBzKGUpOk1jKGUpP0JjKHUsZSk6bGMuY2FsbCh1LGUpOm5ldyBzKHJjKGUpKSx0LHUpfSkpLGNjJiZjYyh1LEVjKSxkYyhmYyhzKSwoZnVuY3Rpb24odCl7dCBpbiB1fHx0Yyh1LHQsc1t0XSl9KSksdS5wcm90b3R5cGU9Yyk6KHU9ZSgoZnVuY3Rpb24odCxlLHIsYSl7WnUodCx1LGkpO3ZhciBvLHMsYyxmPTAsZD0wO2lmKHNjKGUpKXtpZighVWMoZSkpcmV0dXJuIE1jKGUpP0JjKHUsZSk6bGMuY2FsbCh1LGUpO289ZSxkPW5jKHIsbik7dmFyIGg9ZS5ieXRlTGVuZ3RoO2lmKHZvaWQgMD09PWEpe2lmKGglbil0aHJvdyB4YyhSYyk7aWYoKHM9aC1kKTwwKXRocm93IHhjKFJjKX1lbHNlIGlmKChzPWVjKGEpKm4pK2Q+aCl0aHJvdyB4YyhSYyk7Yz1zL259ZWxzZSBjPXJjKGUpLG89bmV3IEFjKHM9YypuKTtmb3IobWModCx7YnVmZmVyOm8sYnl0ZU9mZnNldDpkLGJ5dGVMZW5ndGg6cyxsZW5ndGg6Yyx2aWV3Om5ldyBTYyhvKX0pO2Y8YzspbCh0LGYrKyl9KSksY2MmJmNjKHUsRWMpLGM9dS5wcm90b3R5cGU9dWMoSWMpKSxjLmNvbnN0cnVjdG9yIT09dSYmdGMoYywiY29uc3RydWN0b3IiLHUpLFRjJiZ0YyhjLFRjLGkpLGZbaV09dSxXdSh7Z2xvYmFsOiEwLGZvcmNlZDp1IT1zLHNoYW06IV9jfSxmKSxDYyBpbiB1fHx0Yyh1LENjLG4pLENjIGluIGN8fHRjKGMsQ2MsbiksaGMoaSl9KTpJby5leHBvcnRzPWZ1bmN0aW9uKCl7fSwoMCxJby5leHBvcnRzKSgiVWludDgiLChmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxyLG4pe3JldHVybiB0KHRoaXMsZSxyLG4pfX0pKTt2YXIgTGM9SWUsRmM9X2UsTmM9ZnMuYVR5cGVkQXJyYXk7KDAsZnMuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoImF0IiwoZnVuY3Rpb24odCl7dmFyIGU9TmModGhpcykscj1MYyhlLmxlbmd0aCksbj1GYyh0KSxpPW4+PTA/bjpyK247cmV0dXJuIGk8MHx8aT49cj92b2lkIDA6ZVtpXX0pKTt2YXIgVmM9cSxIYz1SZSxZYz1JZSxLYz1NYXRoLm1pbixXYz1bXS5jb3B5V2l0aGlufHxmdW5jdGlvbih0LGUpe3ZhciByPVZjKHRoaXMpLG49WWMoci5sZW5ndGgpLGk9SGModCxuKSxhPUhjKGUsbiksbz1hcmd1bWVudHMubGVuZ3RoPjI/YXJndW1lbnRzWzJdOnZvaWQgMCxzPUtjKCh2b2lkIDA9PT1vP246SGMobyxuKSktYSxuLWkpLHU9MTtmb3IoYTxpJiZpPGErcyYmKHU9LTEsYSs9cy0xLGkrPXMtMSk7cy0tID4wOylhIGluIHI/cltpXT1yW2FdOmRlbGV0ZSByW2ldLGkrPXUsYSs9dTtyZXR1cm4gcn0sR2M9V2MscWM9ZnMuYVR5cGVkQXJyYXk7KDAsZnMuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoImNvcHlXaXRoaW4iLChmdW5jdGlvbih0LGUpe3JldHVybiBHYy5jYWxsKHFjKHRoaXMpLHQsZSxhcmd1bWVudHMubGVuZ3RoPjI/YXJndW1lbnRzWzJdOnZvaWQgMCl9KSk7dmFyIFhjPUxuLmV2ZXJ5LCRjPWZzLmFUeXBlZEFycmF5OygwLGZzLmV4cG9ydFR5cGVkQXJyYXlNZXRob2QpKCJldmVyeSIsKGZ1bmN0aW9uKHQpe3JldHVybiBYYygkYyh0aGlzKSx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX0pKTt2YXIgUWM9Q3MsWmM9ZnMuYVR5cGVkQXJyYXk7KDAsZnMuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoImZpbGwiLChmdW5jdGlvbih0KXtyZXR1cm4gUWMuYXBwbHkoWmModGhpcyksYXJndW1lbnRzKX0pKTt2YXIgSmM9cHQsdGY9T24sZWY9WXIoInNwZWNpZXMiKSxyZj1mdW5jdGlvbih0LGUpe3ZhciByLG49SmModCkuY29uc3RydWN0b3I7cmV0dXJuIHZvaWQgMD09PW58fG51bGw9PShyPUpjKG4pW2VmXSk/ZTp0ZihyKX0sbmY9ZnMuYVR5cGVkQXJyYXlDb25zdHJ1Y3RvcixhZj1yZixvZj1Mbi5maWx0ZXIsc2Y9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9YWYodCx0LmNvbnN0cnVjdG9yKSxuPTAsaT1lLmxlbmd0aCxhPW5ldyhuZihyKSkoaSk7aT5uOylhW25dPWVbbisrXTtyZXR1cm4gYX0sdWY9ZnMuYVR5cGVkQXJyYXk7KDAsZnMuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoImZpbHRlciIsKGZ1bmN0aW9uKHQpe3ZhciBlPW9mKHVmKHRoaXMpLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApO3JldHVybiBzZih0aGlzLGUpfSkpO3ZhciBjZj1Mbi5maW5kLGZmPWZzLmFUeXBlZEFycmF5OygwLGZzLmV4cG9ydFR5cGVkQXJyYXlNZXRob2QpKCJmaW5kIiwoZnVuY3Rpb24odCl7cmV0dXJuIGNmKGZmKHRoaXMpLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfSkpO3ZhciBsZj1Mbi5maW5kSW5kZXgsZGY9ZnMuYVR5cGVkQXJyYXk7KDAsZnMuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoImZpbmRJbmRleCIsKGZ1bmN0aW9uKHQpe3JldHVybiBsZihkZih0aGlzKSx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX0pKTt2YXIgaGY9Q24scGY9TCx2Zj1xLHlmPUllLGdmPWZ1bmN0aW9uKHQpe3ZhciBlPTY9PXQ7cmV0dXJuIGZ1bmN0aW9uKHIsbixpKXtmb3IodmFyIGEsbz12ZihyKSxzPXBmKG8pLHU9aGYobixpLDMpLGM9eWYocy5sZW5ndGgpO2MtLSA+MDspaWYodShhPXNbY10sYyxvKSlzd2l0Y2godCl7Y2FzZSA1OnJldHVybiBhO2Nhc2UgNjpyZXR1cm4gY31yZXR1cm4gZT8tMTp2b2lkIDB9fSxtZj17ZmluZExhc3Q6Z2YoNSksZmluZExhc3RJbmRleDpnZig2KX0sYmY9bWYuZmluZExhc3Qsd2Y9ZnMuYVR5cGVkQXJyYXk7KDAsZnMuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoImZpbmRMYXN0IiwoZnVuY3Rpb24odCl7cmV0dXJuIGJmKHdmKHRoaXMpLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfSkpO3ZhciBrZj1tZi5maW5kTGFzdEluZGV4LHhmPWZzLmFUeXBlZEFycmF5OygwLGZzLmV4cG9ydFR5cGVkQXJyYXlNZXRob2QpKCJmaW5kTGFzdEluZGV4IiwoZnVuY3Rpb24odCl7cmV0dXJuIGtmKHhmKHRoaXMpLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfSkpO3ZhciBBZj1Mbi5mb3JFYWNoLFNmPWZzLmFUeXBlZEFycmF5OygwLGZzLmV4cG9ydFR5cGVkQXJyYXlNZXRob2QpKCJmb3JFYWNoIiwoZnVuY3Rpb24odCl7QWYoU2YodGhpcyksdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9KSk7dmFyIF9mPXplLmluY2x1ZGVzLFRmPWZzLmFUeXBlZEFycmF5OygwLGZzLmV4cG9ydFR5cGVkQXJyYXlNZXRob2QpKCJpbmNsdWRlcyIsKGZ1bmN0aW9uKHQpe3JldHVybiBfZihUZih0aGlzKSx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX0pKTt2YXIgRWY9emUuaW5kZXhPZixJZj1mcy5hVHlwZWRBcnJheTsoMCxmcy5leHBvcnRUeXBlZEFycmF5TWV0aG9kKSgiaW5kZXhPZiIsKGZ1bmN0aW9uKHQpe3JldHVybiBFZihJZih0aGlzKSx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX0pKTt2YXIgT2Y9VCxNZj1mcyxDZj1FbyxSZj1ZcigiaXRlcmF0b3IiKSxCZj1PZi5VaW50OEFycmF5LFBmPUNmLnZhbHVlcyxVZj1DZi5rZXlzLERmPUNmLmVudHJpZXMsemY9TWYuYVR5cGVkQXJyYXksamY9TWYuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCxMZj1CZiYmQmYucHJvdG90eXBlW1JmXSxGZj0hIUxmJiYoInZhbHVlcyI9PUxmLm5hbWV8fG51bGw9PUxmLm5hbWUpLE5mPWZ1bmN0aW9uKCl7cmV0dXJuIFBmLmNhbGwoemYodGhpcykpfTtqZigiZW50cmllcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIERmLmNhbGwoemYodGhpcykpfSkpLGpmKCJrZXlzIiwoZnVuY3Rpb24oKXtyZXR1cm4gVWYuY2FsbCh6Zih0aGlzKSl9KSksamYoInZhbHVlcyIsTmYsIUZmKSxqZihSZixOZiwhRmYpO3ZhciBWZj1mcy5hVHlwZWRBcnJheSxIZj1bXS5qb2luOygwLGZzLmV4cG9ydFR5cGVkQXJyYXlNZXRob2QpKCJqb2luIiwoZnVuY3Rpb24odCl7cmV0dXJuIEhmLmFwcGx5KFZmKHRoaXMpLGFyZ3VtZW50cyl9KSk7dmFyIFlmPUgsS2Y9X2UsV2Y9SWUsR2Y9Tm4scWY9TWF0aC5taW4sWGY9W10ubGFzdEluZGV4T2YsJGY9ISFYZiYmMS9bMV0ubGFzdEluZGV4T2YoMSwtMCk8MCxRZj1HZigibGFzdEluZGV4T2YiKSxaZj0kZnx8IVFmP2Z1bmN0aW9uKHQpe2lmKCRmKXJldHVybiBYZi5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fDA7dmFyIGU9WWYodGhpcykscj1XZihlLmxlbmd0aCksbj1yLTE7Zm9yKGFyZ3VtZW50cy5sZW5ndGg+MSYmKG49cWYobixLZihhcmd1bWVudHNbMV0pKSksbjwwJiYobj1yK24pO24+PTA7bi0tKWlmKG4gaW4gZSYmZVtuXT09PXQpcmV0dXJuIG58fDA7cmV0dXJuLTF9OlhmLEpmPVpmLHRsPWZzLmFUeXBlZEFycmF5OygwLGZzLmV4cG9ydFR5cGVkQXJyYXlNZXRob2QpKCJsYXN0SW5kZXhPZiIsKGZ1bmN0aW9uKHQpe3JldHVybiBKZi5hcHBseSh0bCh0aGlzKSxhcmd1bWVudHMpfSkpO3ZhciBlbD1Mbi5tYXAscmw9cmYsbmw9ZnMuYVR5cGVkQXJyYXksaWw9ZnMuYVR5cGVkQXJyYXlDb25zdHJ1Y3RvcjsoMCxmcy5leHBvcnRUeXBlZEFycmF5TWV0aG9kKSgibWFwIiwoZnVuY3Rpb24odCl7cmV0dXJuIGVsKG5sKHRoaXMpLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDAsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyhpbChybCh0LHQuY29uc3RydWN0b3IpKSkoZSl9KSl9KSk7dmFyIGFsPU9uLG9sPXEsc2w9TCx1bD1JZSxjbD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxyLG4saSl7YWwocik7dmFyIGE9b2woZSksbz1zbChhKSxzPXVsKGEubGVuZ3RoKSx1PXQ/cy0xOjAsYz10Py0xOjE7aWYobjwyKWZvcig7Oyl7aWYodSBpbiBvKXtpPW9bdV0sdSs9YzticmVha31pZih1Kz1jLHQ/dTwwOnM8PXUpdGhyb3cgVHlwZUVycm9yKCJSZWR1Y2Ugb2YgZW1wdHkgYXJyYXkgd2l0aCBubyBpbml0aWFsIHZhbHVlIil9Zm9yKDt0P3U+PTA6cz51O3UrPWMpdSBpbiBvJiYoaT1yKGksb1t1XSx1LGEpKTtyZXR1cm4gaX19LGZsPXtsZWZ0OmNsKCExKSxyaWdodDpjbCghMCl9LGxsPWZsLmxlZnQsZGw9ZnMuYVR5cGVkQXJyYXk7KDAsZnMuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoInJlZHVjZSIsKGZ1bmN0aW9uKHQpe3JldHVybiBsbChkbCh0aGlzKSx0LGFyZ3VtZW50cy5sZW5ndGgsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfSkpO3ZhciBobD1mbC5yaWdodCxwbD1mcy5hVHlwZWRBcnJheTsoMCxmcy5leHBvcnRUeXBlZEFycmF5TWV0aG9kKSgicmVkdWNlUmlnaHQiLChmdW5jdGlvbih0KXtyZXR1cm4gaGwocGwodGhpcyksdCxhcmd1bWVudHMubGVuZ3RoLGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX0pKTt2YXIgdmw9ZnMuYVR5cGVkQXJyYXkseWw9ZnMuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCxnbD1NYXRoLmZsb29yO3lsKCJyZXZlcnNlIiwoZnVuY3Rpb24oKXtmb3IodmFyIHQsZT10aGlzLHI9dmwoZSkubGVuZ3RoLG49Z2woci8yKSxpPTA7aTxuOyl0PWVbaV0sZVtpKytdPWVbLS1yXSxlW3JdPXQ7cmV0dXJuIGV9KSk7dmFyIG1sPUllLGJsPVR1LHdsPXEsa2w9ZnMuYVR5cGVkQXJyYXk7KDAsZnMuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoInNldCIsKGZ1bmN0aW9uKHQpe2tsKHRoaXMpO3ZhciBlPWJsKGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwLDEpLHI9dGhpcy5sZW5ndGgsbj13bCh0KSxpPW1sKG4ubGVuZ3RoKSxhPTA7aWYoaStlPnIpdGhyb3cgUmFuZ2VFcnJvcigiV3JvbmcgbGVuZ3RoIik7Zm9yKDthPGk7KXRoaXNbZSthXT1uW2ErK119KSxJKChmdW5jdGlvbigpe25ldyBJbnQ4QXJyYXkoMSkuc2V0KHt9KX0pKSk7dmFyIHhsPXJmLEFsPWZzLmFUeXBlZEFycmF5LFNsPWZzLmFUeXBlZEFycmF5Q29uc3RydWN0b3IsX2w9W10uc2xpY2U7KDAsZnMuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoInNsaWNlIiwoZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9X2wuY2FsbChBbCh0aGlzKSx0LGUpLG49eGwodGhpcyx0aGlzLmNvbnN0cnVjdG9yKSxpPTAsYT1yLmxlbmd0aCxvPW5ldyhTbChuKSkoYSk7YT5pOylvW2ldPXJbaSsrXTtyZXR1cm4gb30pLEkoKGZ1bmN0aW9uKCl7bmV3IEludDhBcnJheSgxKS5zbGljZSgpfSkpKTt2YXIgVGw9TG4uc29tZSxFbD1mcy5hVHlwZWRBcnJheTsoMCxmcy5leHBvcnRUeXBlZEFycmF5TWV0aG9kKSgic29tZSIsKGZ1bmN0aW9uKHQpe3JldHVybiBUbChFbCh0aGlzKSx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX0pKTt2YXIgSWw9ZnMuYVR5cGVkQXJyYXksT2w9W10uc29ydDsoMCxmcy5leHBvcnRUeXBlZEFycmF5TWV0aG9kKSgic29ydCIsKGZ1bmN0aW9uKHQpe3JldHVybiBPbC5jYWxsKElsKHRoaXMpLHQpfSkpO3ZhciBNbD1JZSxDbD1SZSxSbD1yZixCbD1mcy5hVHlwZWRBcnJheTsoMCxmcy5leHBvcnRUeXBlZEFycmF5TWV0aG9kKSgic3ViYXJyYXkiLChmdW5jdGlvbih0LGUpe3ZhciByPUJsKHRoaXMpLG49ci5sZW5ndGgsaT1DbCh0LG4pO3JldHVybiBuZXcoUmwocixyLmNvbnN0cnVjdG9yKSkoci5idWZmZXIsci5ieXRlT2Zmc2V0K2kqci5CWVRFU19QRVJfRUxFTUVOVCxNbCgodm9pZCAwPT09ZT9uOkNsKGUsbikpLWkpKX0pKTt2YXIgUGw9ZnMsVWw9SSxEbD1ULkludDhBcnJheSx6bD1QbC5hVHlwZWRBcnJheSxqbD1QbC5leHBvcnRUeXBlZEFycmF5TWV0aG9kLExsPVtdLnRvTG9jYWxlU3RyaW5nLEZsPVtdLnNsaWNlLE5sPSEhRGwmJlVsKChmdW5jdGlvbigpe0xsLmNhbGwobmV3IERsKDEpKX0pKTtqbCgidG9Mb2NhbGVTdHJpbmciLChmdW5jdGlvbigpe3JldHVybiBMbC5hcHBseShObD9GbC5jYWxsKHpsKHRoaXMpKTp6bCh0aGlzKSxhcmd1bWVudHMpfSksVWwoKGZ1bmN0aW9uKCl7cmV0dXJuWzEsMl0udG9Mb2NhbGVTdHJpbmcoKSE9bmV3IERsKFsxLDJdKS50b0xvY2FsZVN0cmluZygpfSkpfHwhVWwoKGZ1bmN0aW9uKCl7RGwucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmNhbGwoWzEsMl0pfSkpKTt2YXIgVmw9ZnMuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCxIbD1JLFlsPVQuVWludDhBcnJheSxLbD1ZbCYmWWwucHJvdG90eXBlfHx7fSxXbD1bXS50b1N0cmluZyxHbD1bXS5qb2luO0hsKChmdW5jdGlvbigpe1dsLmNhbGwoe30pfSkpJiYoV2w9ZnVuY3Rpb24oKXtyZXR1cm4gR2wuY2FsbCh0aGlzKX0pO3ZhciBxbD1LbC50b1N0cmluZyE9V2w7VmwoInRvU3RyaW5nIixXbCxxbCk7dmFyIFhsPXB0LCRsPWZ1bmN0aW9uKCl7dmFyIHQ9WGwodGhpcyksZT0iIjtyZXR1cm4gdC5nbG9iYWwmJihlKz0iZyIpLHQuaWdub3JlQ2FzZSYmKGUrPSJpIiksdC5tdWx0aWxpbmUmJihlKz0ibSIpLHQuZG90QWxsJiYoZSs9InMiKSx0LnVuaWNvZGUmJihlKz0idSIpLHQuc3RpY2t5JiYoZSs9InkiKSxlfSxRbD1BdC5leHBvcnRzLFpsPXB0LEpsPUksdGQ9JGwsZWQ9InRvU3RyaW5nIixyZD1SZWdFeHAucHJvdG90eXBlLG5kPXJkLnRvU3RyaW5nLGlkPUpsKChmdW5jdGlvbigpe3JldHVybiIvYS9iIiE9bmQuY2FsbCh7c291cmNlOiJhIixmbGFnczoiYiJ9KX0pKSxhZD1uZC5uYW1lIT1lZDsoaWR8fGFkKSYmUWwoUmVnRXhwLnByb3RvdHlwZSxlZCwoZnVuY3Rpb24oKXt2YXIgdD1abCh0aGlzKSxlPVN0cmluZyh0LnNvdXJjZSkscj10LmZsYWdzO3JldHVybiIvIitlKyIvIitTdHJpbmcodm9pZCAwPT09ciYmdCBpbnN0YW5jZW9mIFJlZ0V4cCYmISgiZmxhZ3MiaW4gcmQpP3RkLmNhbGwodCk6cil9KSx7dW5zYWZlOiEwfSk7dmFyIG9kPW1yLHNkPVksdWQ9d3IsY2Q9UmUsZmQ9SWUsbGQ9SCxkZD1TcixoZD1ZcixwZD1acigic2xpY2UiKSx2ZD1oZCgic3BlY2llcyIpLHlkPVtdLnNsaWNlLGdkPU1hdGgubWF4O29kKHt0YXJnZXQ6IkFycmF5Iixwcm90bzohMCxmb3JjZWQ6IXBkfSx7c2xpY2U6ZnVuY3Rpb24odCxlKXt2YXIgcixuLGksYT1sZCh0aGlzKSxvPWZkKGEubGVuZ3RoKSxzPWNkKHQsbyksdT1jZCh2b2lkIDA9PT1lP286ZSxvKTtpZih1ZChhKSYmKCJmdW5jdGlvbiIhPXR5cGVvZihyPWEuY29uc3RydWN0b3IpfHxyIT09QXJyYXkmJiF1ZChyLnByb3RvdHlwZSk/c2QocikmJm51bGw9PT0ocj1yW3ZkXSkmJihyPXZvaWQgMCk6cj12b2lkIDAscj09PUFycmF5fHx2b2lkIDA9PT1yKSlyZXR1cm4geWQuY2FsbChhLHMsdSk7Zm9yKG49bmV3KHZvaWQgMD09PXI/QXJyYXk6cikoZ2QodS1zLDApKSxpPTA7czx1O3MrKyxpKyspcyBpbiBhJiZkZChuLGksYVtzXSk7cmV0dXJuIG4ubGVuZ3RoPWksbn19KTt2YXIgbWQ9TyxiZD1kdC5mLHdkPUZ1bmN0aW9uLnByb3RvdHlwZSxrZD13ZC50b1N0cmluZyx4ZD0vXlxzKmZ1bmN0aW9uIChbXiAoXSopLyxBZD0ibmFtZSI7bWQmJiEoQWQgaW4gd2QpJiZiZCh3ZCxBZCx7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3RyeXtyZXR1cm4ga2QuY2FsbCh0aGlzKS5tYXRjaCh4ZClbMV19Y2F0Y2goU3Ype3JldHVybiIifX19KTt2YXIgU2Q9bXIsX2Q9SCxUZD1bXS5qb2luLEVkPUwhPU9iamVjdCxJZD1Obigiam9pbiIsIiwiKTtTZCh7dGFyZ2V0OiJBcnJheSIscHJvdG86ITAsZm9yY2VkOkVkfHwhSWR9LHtqb2luOmZ1bmN0aW9uKHQpe3JldHVybiBUZC5jYWxsKF9kKHRoaXMpLHZvaWQgMD09PXQ/IiwiOnQpfX0pO3ZhciBPZD17fSxNZD1JO2Z1bmN0aW9uIENkKHQsZSl7cmV0dXJuIFJlZ0V4cCh0LGUpfU9kLlVOU1VQUE9SVEVEX1k9TWQoKGZ1bmN0aW9uKCl7dmFyIHQ9Q2QoImEiLCJ5Iik7cmV0dXJuIHQubGFzdEluZGV4PTIsbnVsbCE9dC5leGVjKCJhYmNkIil9KSksT2QuQlJPS0VOX0NBUkVUPU1kKChmdW5jdGlvbigpe3ZhciB0PUNkKCJeciIsImd5Iik7cmV0dXJuIHQubGFzdEluZGV4PTIsbnVsbCE9dC5leGVjKCJzdHIiKX0pKTt2YXIgUmQsQmQsUGQ9JGwsVWQ9T2QsRGQ9RHQuZXhwb3J0cyx6ZD1SZWdFeHAucHJvdG90eXBlLmV4ZWMsamQ9RGQoIm5hdGl2ZS1zdHJpbmctcmVwbGFjZSIsU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlKSxMZD16ZCxGZD0oUmQ9L2EvLEJkPS9iKi9nLHpkLmNhbGwoUmQsImEiKSx6ZC5jYWxsKEJkLCJhIiksMCE9PVJkLmxhc3RJbmRleHx8MCE9PUJkLmxhc3RJbmRleCksTmQ9VWQuVU5TVVBQT1JURURfWXx8VWQuQlJPS0VOX0NBUkVULFZkPXZvaWQgMCE9PS8oKT8/Ly5leGVjKCIiKVsxXTsoRmR8fFZkfHxOZCkmJihMZD1mdW5jdGlvbih0KXt2YXIgZSxyLG4saSxhPXRoaXMsbz1OZCYmYS5zdGlja3kscz1QZC5jYWxsKGEpLHU9YS5zb3VyY2UsYz0wLGY9dDtyZXR1cm4gbyYmKC0xPT09KHM9cy5yZXBsYWNlKCJ5IiwiIikpLmluZGV4T2YoImciKSYmKHMrPSJnIiksZj1TdHJpbmcodCkuc2xpY2UoYS5sYXN0SW5kZXgpLGEubGFzdEluZGV4PjAmJighYS5tdWx0aWxpbmV8fGEubXVsdGlsaW5lJiYiXG4iIT09dFthLmxhc3RJbmRleC0xXSkmJih1PSIoPzogIit1KyIpIixmPSIgIitmLGMrKykscj1uZXcgUmVnRXhwKCJeKD86Iit1KyIpIixzKSksVmQmJihyPW5ldyBSZWdFeHAoIl4iK3UrIiQoPyFcXHMpIixzKSksRmQmJihlPWEubGFzdEluZGV4KSxuPXpkLmNhbGwobz9yOmEsZiksbz9uPyhuLmlucHV0PW4uaW5wdXQuc2xpY2UoYyksblswXT1uWzBdLnNsaWNlKGMpLG4uaW5kZXg9YS5sYXN0SW5kZXgsYS5sYXN0SW5kZXgrPW5bMF0ubGVuZ3RoKTphLmxhc3RJbmRleD0wOkZkJiZuJiYoYS5sYXN0SW5kZXg9YS5nbG9iYWw/bi5pbmRleCtuWzBdLmxlbmd0aDplKSxWZCYmbiYmbi5sZW5ndGg+MSYmamQuY2FsbChuWzBdLHIsKGZ1bmN0aW9uKCl7Zm9yKGk9MTtpPGFyZ3VtZW50cy5sZW5ndGgtMjtpKyspdm9pZCAwPT09YXJndW1lbnRzW2ldJiYobltpXT12b2lkIDApfSkpLG59KTttcih7dGFyZ2V0OiJSZWdFeHAiLHByb3RvOiEwLGZvcmNlZDovLi8uZXhlYyE9PUxkfSx7ZXhlYzpMZH0pO3ZhciBIZCxZZCxLZD1tcixXZD1ZLEdkPShIZD0hMSwoWWQ9L1thY10vKS5leGVjPWZ1bmN0aW9uKCl7cmV0dXJuIEhkPSEwLC8uLy5leGVjLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sITA9PT1ZZC50ZXN0KCJhYmMiKSYmSGQpLHFkPS8uLy50ZXN0O0tkKHt0YXJnZXQ6IlJlZ0V4cCIscHJvdG86ITAsZm9yY2VkOiFHZH0se3Rlc3Q6ZnVuY3Rpb24odCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHRoaXMuZXhlYylyZXR1cm4gcWQuY2FsbCh0aGlzLHQpO3ZhciBlPXRoaXMuZXhlYyh0KTtpZihudWxsIT09ZSYmIVdkKGUpKXRocm93IG5ldyBFcnJvcigiUmVnRXhwIGV4ZWMgbWV0aG9kIHJldHVybmVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGFuIE9iamVjdCBvciBudWxsIik7cmV0dXJuISFlfX0pO3ZhciBYZD0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdywkZD1YZCYmbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvY2FsZUxvd2VyQ2FzZSgpO1hkJiYvXigoPyFjaHJvbWV8YW5kcm9pZCkuKSpzYWZhcmkvLnRlc3QoJGQpO3ZhciBRZD1YZCYmJGQuaW5jbHVkZXMoImZpcmVmb3giKSxaZD1YZCYmJGQuaW5jbHVkZXMoImFuZHJvaWQiKSxKZD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt5KHRoaXMsdCl9cmV0dXJuIG0odCxudWxsLFt7a2V5OiJnZXRSYXRlSW5kZXhCeVJhdGUiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB0LkZSRVEuaW5kZXhPZihlKX19LHtrZXk6InBhcnNlQURUUyIsdmFsdWU6ZnVuY3Rpb24oZSxyKXtmb3IodmFyIG49ZS5sZW5ndGgsaT0wO2krMjxuJiYoMjU1IT09ZVtpXXx8MjQwIT0oMjQ2JmVbaSsxXSkpOylpKys7aWYoIShpPj1uKSl7dmFyIGE9aSxvPVtdLHM9KDYwJmVbaSsyXSk+Pj4yLHU9dC5GUkVRW3NdO2lmKCF1KXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzYW1wbGluZyBpbmRleDogIi5jb25jYXQocykpO2Zvcih2YXIgYyxmLGw9MSsoKDE5MiZlW2krMl0pPj4+NiksZD0oMSZlW2krMl0pPDwyfCgxOTImZVtpKzNdKT4+PjYsaD10Ll9nZXRDb25maWcocyxkLGwpLHA9aC5jb25maWcsdj1oLmNvZGVjLHk9MCxnPXQuZ2V0RnJhbWVEdXJhdGlvbih1KTtpKzc8bjspaWYoMjU1PT09ZVtpXSYmMjQwPT0oMjQ2JmVbaSsxXSkpe2lmKG4taTwoZj0oMyZlW2krM10pPDwxMXxlW2krNF08PDN8KDIyNCZlW2krNV0pPj41KSlicmVhaztjPTIqKDEmfmVbaSsxXSksby5wdXNoKHtwdHM6cit5KmcsZGF0YTplLnN1YmFycmF5KGkrNytjLGkrZil9KSx5KyssaSs9Zn1lbHNlIGkrKztyZXR1cm57c2tpcDphLHJlbWFpbmluZzppPj1uP3ZvaWQgMDplLnN1YmFycmF5KGkpLGZyYW1lczpvLHNhbXBsaW5nRnJlcXVlbmN5SW5kZXg6cyxzYW1wbGVSYXRlOnUsb2JqZWN0VHlwZTpsLGNoYW5uZWxDb3VudDpkLGNvZGVjOnYsY29uZmlnOnAsb3JpZ2luQ29kZWM6Im1wNGEuNDAuIi5jb25jYXQobCl9fX19LHtrZXk6InBhcnNlQXVkaW9TcGVjaWZpY0NvbmZpZyIsdmFsdWU6ZnVuY3Rpb24oZSl7aWYoZS5sZW5ndGgpe3ZhciByPWVbMF0+Pj4zLG49KDcmZVswXSk8PDF8ZVsxXT4+PjcsaT0oMTIwJmVbMV0pPj4+MyxhPXQuRlJFUVtuXTtpZighYSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2FtcGxpbmcgaW5kZXg6ICIuY29uY2F0KG4pKTt2YXIgbz10Ll9nZXRDb25maWcobixpLHIpO3JldHVybntzYW1wbGluZ0ZyZXF1ZW5jeUluZGV4Om4sc2FtcGxlUmF0ZTphLG9iamVjdFR5cGU6cixjaGFubmVsQ291bnQ6aSxjb25maWc6by5jb25maWcsY29kZWM6by5jb2RlYyxvcmlnaW5Db2RlYzoibXA0YS40MC4iLmNvbmNhdChyKX19fX0se2tleToiZ2V0RnJhbWVEdXJhdGlvbiIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOjllNDtyZXR1cm4gMTAyNCplL3R9fSx7a2V5OiJfZ2V0Q29uZmlnIix2YWx1ZTpmdW5jdGlvbih0LGUscil7dmFyIG4saSxhPVtdO3JldHVybiBRZD90Pj02PyhuPTUsaT10LTMpOihuPTIsaT10KTpaZD8obj0yLGk9dCk6KG49Mj09PXJ8fDU9PT1yP3I6NSxpPXQsdD49Nj9pPXQtMzoxPT09ZSYmKG49MixpPXQpKSxhWzBdPW48PDMsYVswXXw9KDE0JnQpPj4xLGFbMV09KDEmdCk8PDcsYVsxXXw9ZTw8Myw1PT09biYmKGFbMV18PSgxNCZpKT4+MSxhWzJdPSgxJmkpPDw3LGFbMl18PTgsYVszXT0wKSx7Y29uZmlnOmEsY29kZWM6Im1wNGEuNDAuIi5jb25jYXQobil9fX0se2tleToiZ2V0U2lsZW50RnJhbWUiLHZhbHVlOmZ1bmN0aW9uKHQsZSl7aWYoIm1wNGEuNDAuMiI9PT10KXtpZigxPT09ZSlyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoWzAsMjAwLDAsMTI4LDM1LDEyOF0pO2lmKDI9PT1lKXJldHVybiBuZXcgVWludDhBcnJheShbMzMsMCw3MywxNDQsMiwyNSwwLDM1LDEyOF0pO2lmKDM9PT1lKXJldHVybiBuZXcgVWludDhBcnJheShbMCwyMDAsMCwxMjgsMzIsMTMyLDEsMzgsNjQsOCwxMDAsMCwxNDJdKTtpZig0PT09ZSlyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoWzAsMjAwLDAsMTI4LDMyLDEzMiwxLDM4LDY0LDgsMTAwLDAsMTI4LDQ0LDEyOCw4LDIsNTZdKTtpZig1PT09ZSlyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoWzAsMjAwLDAsMTI4LDMyLDEzMiwxLDM4LDY0LDgsMTAwLDAsMTMwLDQ4LDQsMTUzLDAsMzMsMTQ0LDIsNTZdKTtpZig2PT09ZSlyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoWzAsMjAwLDAsMTI4LDMyLDEzMiwxLDM4LDY0LDgsMTAwLDAsMTMwLDQ4LDQsMTUzLDAsMzMsMTQ0LDIsMCwxNzgsMCwzMiw4LDIyNF0pfWVsc2V7aWYoMT09PWUpcmV0dXJuIG5ldyBVaW50OEFycmF5KFsxLDY0LDM0LDEyOCwxNjMsNzgsMjMwLDEyOCwxODYsOCwwLDAsMCwyOCw2LDI0MSwxOTMsMTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTRdKTtpZigyPT09ZSlyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoWzEsNjQsMzQsMTI4LDE2Myw5NCwyMzAsMTI4LDE4Niw4LDAsMCwwLDAsMTQ5LDAsNiwyNDEsMTYxLDEwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDk0XSk7aWYoMz09PWUpcmV0dXJuIG5ldyBVaW50OEFycmF5KFsxLDY0LDM0LDEyOCwxNjMsOTQsMjMwLDEyOCwxODYsOCwwLDAsMCwwLDE0OSwwLDYsMjQxLDE2MSwxMCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5NF0pfX19XSksdH0oKTtmdW5jdGlvbiB0aCgpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLGU9bmV3IEFycmF5KHQpLHI9MDtyPHQ7cisrKWVbcl09YXJndW1lbnRzW3JdO2U9ZS5maWx0ZXIoQm9vbGVhbik7dmFyIG49bmV3IFVpbnQ4QXJyYXkoZS5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQrZS5ieXRlTGVuZ3RofSksMCkpLGk9MDtyZXR1cm4gZS5mb3JFYWNoKChmdW5jdGlvbih0KXtuLnNldCh0LGkpLGkrPXQuYnl0ZUxlbmd0aH0pKSxufWIoSmQsIkZSRVEiLFs5NmUzLDg4MjAwLDY0ZTMsNDhlMyw0NDEwMCwzMmUzLDI0ZTMsMjIwNTAsMTZlMywxMmUzLDExMDI1LDhlMyw3MzUwXSk7dmFyIGVoPU1hdGgucG93KDIsMzIpO2Z1bmN0aW9uIHJoKHQpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTowO3JldHVybih0W2VdPDw4KSsodFtlKzFdfHwwKX1mdW5jdGlvbiBuaCh0KXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MDtyZXR1cm4odFtlXTw8MjQ+Pj4wKSsodFtlKzFdPDwxNikrKHRbZSsyXTw8OCkrKHRbZSszXXx8MCl9ZnVuY3Rpb24gaWgodCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOjA7cmV0dXJuIG5oKHQsZSkqZWgrbmgodCxlKzQpfWZ1bmN0aW9uIGFoKHQpe3ZhciBlPSIiO2lmKHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7ZSs9ZnVuY3Rpb24odCl7cmV0dXJuKCIwIitOdW1iZXIodCkudG9TdHJpbmcoMTYpKS5zbGljZSgtMikudG9VcHBlckNhc2UoKX0odCl9KSksZS5sZW5ndGg8PTMyKWZvcih2YXIgcj0zMi1lLmxlbmd0aCxuPTA7bjxyO24rKyllKz0iMCI7cmV0dXJuIGV9ZnVuY3Rpb24gb2godCl7aWYoIUFycmF5LmlzQXJyYXkodCkpe2Zvcih2YXIgZT1bXSxyPSIiLG49MDtuPHQubGVuZ3RoO24rKyluJTImJihyPXRbbi0xXSt0W25dLGUucHVzaChwYXJzZUludChyLDE2KSkscj0iIik7cmV0dXJuIGV9cmV0dXJuIHQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gcGFyc2VJbnQodCwxNil9KSl9dmFyIHNoPU8sdWg9ZHQsY2g9JGwsZmg9T2QuVU5TVVBQT1JURURfWTtzaCYmKCJnIiE9Ly4vZy5mbGFnc3x8ZmgpJiZ1aC5mKFJlZ0V4cC5wcm90b3R5cGUsImZsYWdzIix7Y29uZmlndXJhYmxlOiEwLGdldDpjaH0pO3ZhciBsaD1ULGRoPUluLGhoPUVvLHBoPXh0LHZoPVlyLHloPXZoKCJpdGVyYXRvciIpLGdoPXZoKCJ0b1N0cmluZ1RhZyIpLG1oPWhoLnZhbHVlcztmb3IodmFyIGJoIGluIGRoKXt2YXIgd2g9bGhbYmhdLGtoPXdoJiZ3aC5wcm90b3R5cGU7aWYoa2gpe2lmKGtoW3loXSE9PW1oKXRyeXtwaChraCx5aCxtaCl9Y2F0Y2goU3Ype2toW3loXT1taH1pZihraFtnaF18fHBoKGtoLGdoLGJoKSxkaFtiaF0pZm9yKHZhciB4aCBpbiBoaClpZihraFt4aF0hPT1oaFt4aF0pdHJ5e3BoKGtoLHhoLGhoW3hoXSl9Y2F0Y2goU3Ype2toW3hoXT1oaFt4aF19fX12YXIgQWg9X2UsU2g9RixfaD1JZSxUaD1mdW5jdGlvbih0KXt2YXIgZT1TdHJpbmcoU2godGhpcykpLHI9IiIsbj1BaCh0KTtpZihuPDB8fG49PTEvMCl0aHJvdyBSYW5nZUVycm9yKCJXcm9uZyBudW1iZXIgb2YgcmVwZXRpdGlvbnMiKTtmb3IoO24+MDsobj4+Pj0xKSYmKGUrPWUpKTEmbiYmKHIrPWUpO3JldHVybiByfSxFaD1GLEloPU1hdGguY2VpbCxPaD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxyLG4pe3ZhciBpLGEsbz1TdHJpbmcoRWgoZSkpLHM9by5sZW5ndGgsdT12b2lkIDA9PT1uPyIgIjpTdHJpbmcobiksYz1faChyKTtyZXR1cm4gYzw9c3x8IiI9PXU/bzooaT1jLXMsKGE9VGguY2FsbCh1LEloKGkvdS5sZW5ndGgpKSkubGVuZ3RoPmkmJihhPWEuc2xpY2UoMCxpKSksdD9vK2E6YStvKX19LE1oPXtzdGFydDpPaCghMSksZW5kOk9oKCEwKX0sQ2g9L1ZlcnNpb25cLzEwKD86XC5cZCspezEsMn0oPzogW1x3Li9dKyk/KD86IE1vYmlsZVwvXHcrKT8gU2FmYXJpXC8vLnRlc3QoX3IpLFJoPU1oLnN0YXJ0O21yKHt0YXJnZXQ6IlN0cmluZyIscHJvdG86ITAsZm9yY2VkOkNofSx7cGFkU3RhcnQ6ZnVuY3Rpb24odCl7cmV0dXJuIFJoKHRoaXMsdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9fSk7dmFyIEJoPW1yLFBoPUxuLmZpbmQsVWg9eGksRGg9ImZpbmQiLHpoPSEwO0RoIGluW10mJkFycmF5KDEpLmZpbmQoKGZ1bmN0aW9uKCl7emg9ITF9KSksQmgoe3RhcmdldDoiQXJyYXkiLHByb3RvOiEwLGZvcmNlZDp6aH0se2ZpbmQ6ZnVuY3Rpb24odCl7cmV0dXJuIFBoKHRoaXMsdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9fSksVWgoRGgpO3ZhciBqaD1wdCxMaD1wdCxGaD1mdW5jdGlvbih0KXt2YXIgZT10LnJldHVybjtpZih2b2lkIDAhPT1lKXJldHVybiBqaChlLmNhbGwodCkpLnZhbHVlfSxOaD1DbixWaD1xLEhoPWZ1bmN0aW9uKHQsZSxyLG4pe3RyeXtyZXR1cm4gbj9lKExoKHIpWzBdLHJbMV0pOmUocil9Y2F0Y2goU3Ype3Rocm93IEZoKHQpLFN2fX0sWWg9UHUsS2g9SWUsV2g9U3IsR2g9TXUscWg9ZnVuY3Rpb24odCl7dmFyIGUscixuLGksYSxvLHM9VmgodCksdT0iZnVuY3Rpb24iPT10eXBlb2YgdGhpcz90aGlzOkFycmF5LGM9YXJndW1lbnRzLmxlbmd0aCxmPWM+MT9hcmd1bWVudHNbMV06dm9pZCAwLGw9dm9pZCAwIT09ZixkPUdoKHMpLGg9MDtpZihsJiYoZj1OaChmLGM+Mj9hcmd1bWVudHNbMl06dm9pZCAwLDIpKSxudWxsPT1kfHx1PT1BcnJheSYmWWgoZCkpZm9yKHI9bmV3IHUoZT1LaChzLmxlbmd0aCkpO2U+aDtoKyspbz1sP2Yoc1toXSxoKTpzW2hdLFdoKHIsaCxvKTtlbHNlIGZvcihhPShpPWQuY2FsbChzKSkubmV4dCxyPW5ldyB1OyEobj1hLmNhbGwoaSkpLmRvbmU7aCsrKW89bD9IaChpLGYsW24udmFsdWUsaF0sITApOm4udmFsdWUsV2gocixoLG8pO3JldHVybiByLmxlbmd0aD1oLHJ9O21yKHt0YXJnZXQ6IkFycmF5IixzdGF0OiEwLGZvcmNlZDohUG8oKGZ1bmN0aW9uKHQpe0FycmF5LmZyb20odCl9KSl9LHtmcm9tOnFofSk7dmFyIFhoPV9lLCRoPUYsUWg9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUscil7dmFyIG4saSxhPVN0cmluZygkaChlKSksbz1YaChyKSxzPWEubGVuZ3RoO3JldHVybiBvPDB8fG8+PXM/dD8iIjp2b2lkIDA6KG49YS5jaGFyQ29kZUF0KG8pKTw1NTI5Nnx8bj41NjMxOXx8bysxPT09c3x8KGk9YS5jaGFyQ29kZUF0KG8rMSkpPDU2MzIwfHxpPjU3MzQzP3Q/YS5jaGFyQXQobyk6bjp0P2Euc2xpY2UobyxvKzIpOmktNTYzMjArKG4tNTUyOTY8PDEwKSs2NTUzNn19LFpoPXtjb2RlQXQ6UWgoITEpLGNoYXJBdDpRaCghMCl9LmNoYXJBdCxKaD1jZSx0cD1tbyxlcD0iU3RyaW5nIEl0ZXJhdG9yIixycD1KaC5zZXQsbnA9SmguZ2V0dGVyRm9yKGVwKTt0cChTdHJpbmcsIlN0cmluZyIsKGZ1bmN0aW9uKHQpe3JwKHRoaXMse3R5cGU6ZXAsc3RyaW5nOlN0cmluZyh0KSxpbmRleDowfSl9KSwoZnVuY3Rpb24oKXt2YXIgdCxlPW5wKHRoaXMpLHI9ZS5zdHJpbmcsbj1lLmluZGV4O3JldHVybiBuPj1yLmxlbmd0aD97dmFsdWU6dm9pZCAwLGRvbmU6ITB9Oih0PVpoKHIsbiksZS5pbmRleCs9dC5sZW5ndGgse3ZhbHVlOnQsZG9uZTohMX0pfSkpO3ZhciBpcD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt5KHRoaXMsdCl9cmV0dXJuIG0odCxudWxsLFt7a2V5OiJmaW5kQm94Iix2YWx1ZTpmdW5jdGlvbihlLHIpe3ZhciBuPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTowLGk9W107aWYoIWUpcmV0dXJuIGk7Zm9yKHZhciBhPTAsbz0iIixzPTA7ZS5sZW5ndGg+Nzspe2lmKGE9bmgoZSksbz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsZS5zdWJhcnJheSg0LDgpKSxzPTgsMT09PWE/KGE9aWgoZSw4KSxzKz04KTphfHwoYT1lLmxlbmd0aCksIXJbMF18fG89PT1yWzBdKXt2YXIgdT1lLnN1YmFycmF5KDAsYSk7aWYoIShyLmxlbmd0aDwyKSlyZXR1cm4gdC5maW5kQm94KHUuc3ViYXJyYXkocyksci5zbGljZSgxKSxuK3MpO2kucHVzaCh7c3RhcnQ6bixzaXplOmEsaGVhZGVyU2l6ZTpzLHR5cGU6byxkYXRhOnV9KX1uKz1hLGU9ZS5zdWJhcnJheShhKX1yZXR1cm4gaX19LHtrZXk6InRmaGQiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB1cCh0LCEwLChmdW5jdGlvbih0LGUpe3QudHJhY2tJZD1uaChlKTt2YXIgcj00LG49MSZ0LmZsYWdzLGk9MiZ0LmZsYWdzLGE9OCZ0LmZsYWdzLG89MTYmdC5mbGFncyxzPTMyJnQuZmxhZ3M7biYmKHIrPTQsdC5iYXNlRGF0YU9mZnNldD1uaChlLHIpLHIrPTQpLGkmJih0LnNhbXBsZURlc2NyaXB0aW9uSW5kZXg9bmgoZSxyKSxyKz00KSxhJiYodC5kZWZhdWx0U2FtcGxlRHVyYXRpb249bmgoZSxyKSxyKz00KSxvJiYodC5kZWZhdWx0U2FtcGxlU2l6ZT1uaChlLHIpLHIrPTQpLHMmJih0LmRlZmF1bHRTYW1wbGVGbGFncz1uaChlLHIpKX0pKX19LHtrZXk6InNpZHgiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB1cCh0LCEwLChmdW5jdGlvbih0LGUpe3ZhciByPTA7dC5yZWZlcmVuY2VfSUQ9bmgoZSxyKSxyKz00LHQudGltZXNjYWxlPW5oKGUscikscis9NCwwPT09dC52ZXJzaW9uPyh0LmVhcmxpZXN0X3ByZXNlbnRhdGlvbl90aW1lPW5oKGUscikscis9NCx0LmZpcnN0X29mZnNldD1uaChlLHIpLHIrPTQpOih0LmVhcmxpZXN0X3ByZXNlbnRhdGlvbl90aW1lPWloKGUscikscis9OCx0LmZpcnN0X29mZnNldD1paChlLHIpLHIrPTgpLHIrPTIsdC5yZWZlcmVuY2VzPVtdO3ZhciBuPXJoKGUscik7cis9Mjtmb3IodmFyIGk9MDtpPG47aSsrKXt2YXIgYT17fTt0LnJlZmVyZW5jZXMucHVzaChhKTt2YXIgbz1uaChlLHIpO3IrPTQsYS5yZWZlcmVuY2VfdHlwZT1vPj4zMSYxLGEucmVmZXJlbmNlZF9zaXplPTIxNDc0ODM2NDcmbyxhLnN1YnNlZ21lbnRfZHVyYXRpb249bmgoZSxyKSxvPW5oKGUscis9NCkscis9NCxhLnN0YXJ0c193aXRoX1NBUD1vPj4zMSYxLGEuU0FQX3R5cGU9bz4+MjgmNyxhLlNBUF9kZWx0YV90aW1lPTI2ODQzNTQ1NSZvfX0pKX19LHtrZXk6Im1vb3YiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB1cChlLCExLChmdW5jdGlvbihlLHIsbil7ZS5tdmhkPXQubXZoZCh0LmZpbmRCb3gocixbIm12aGQiXSxuKVswXSksZS50cmFrPXQuZmluZEJveChyLFsidHJhayJdLG4pLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIHQudHJhayhlKX0pKSxlLnBzc2g9dC5wc3NoKHQuZmluZEJveChyLFsicHNzaCJdLG4pWzBdKX0pKX19LHtrZXk6Im12aGQiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB1cCh0LCEwLChmdW5jdGlvbih0LGUpe3ZhciByPTA7MT09PXQudmVyc2lvbj8odC50aW1lc2NhbGU9bmgoZSwxNiksdC5kdXJhdGlvbj1paChlLDIwKSxyKz0yOCk6KHQudGltZXNjYWxlPW5oKGUsOCksdC5kdXJhdGlvbj1uaChlLDEyKSxyKz0xNiksdC5uZXh0VHJhY2tJZD1uaChlLHIrNzYpfSkpfX0se2tleToidHJhayIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHVwKGUsITEsKGZ1bmN0aW9uKGUscixuKXtlLnRraGQ9dC50a2hkKHQuZmluZEJveChyLFsidGtoZCJdLG4pWzBdKSxlLm1kaWE9dC5tZGlhKHQuZmluZEJveChyLFsibWRpYSJdLG4pWzBdKX0pKX19LHtrZXk6InRraGQiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB1cCh0LCEwLChmdW5jdGlvbih0LGUpe3ZhciByPTA7MT09PXQudmVyc2lvbj8odC50cmFja0lkPW5oKGUsMTYpLHQuZHVyYXRpb249aWgoZSwyNCkscis9MzIpOih0LnRyYWNrSWQ9bmgoZSw4KSx0LmR1cmF0aW9uPW5oKGUsMTYpLHIrPTIwKSx0LndpZHRoPW5oKGUscis1MiksdC5oZWlnaHQ9bmgoZSxyKzU2KX0pKX19LHtrZXk6Im1kaWEiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB1cChlLCExLChmdW5jdGlvbihlLHIsbil7ZS5tZGhkPXQubWRoZCh0LmZpbmRCb3gocixbIm1kaGQiXSxuKVswXSksZS5oZGxyPXQuaGRscih0LmZpbmRCb3gocixbImhkbHIiXSxuKVswXSksZS5taW5mPXQubWluZih0LmZpbmRCb3gocixbIm1pbmYiXSxuKVswXSl9KSl9fSx7a2V5OiJtZGhkIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMCwoZnVuY3Rpb24odCxlKXt2YXIgcj0wOzE9PT10LnZlcnNpb24/KHQudGltZXNjYWxlPW5oKGUsMTYpLHQuZHVyYXRpb249aWgoZSwyMCkscis9MjgpOih0LnRpbWVzY2FsZT1uaChlLDgpLHQuZHVyYXRpb249bmgoZSwxMikscis9MTYpO3ZhciBuPXJoKGUscik7dC5sYW5ndWFnZT1TdHJpbmcuZnJvbUNoYXJDb2RlKDk2KyhuPj4xMCYzMSksOTYrKG4+PjUmMzEpLDk2KygzMSZuKSl9KSl9fSx7a2V5OiJoZGxyIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMCwoZnVuY3Rpb24odCxlKXswPT09dC52ZXJzaW9uJiYodC5oYW5kbGVyVHlwZT1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsZS5zdWJhcnJheSg0LDgpKSl9KSl9fSx7a2V5OiJtaW5mIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdXAoZSwhMSwoZnVuY3Rpb24oZSxyLG4pe2Uudm1oZD10LnZtaGQodC5maW5kQm94KHIsWyJ2bWhkIl0sbilbMF0pLGUuc21oZD10LnNtaGQodC5maW5kQm94KHIsWyJzbWhkIl0sbilbMF0pLGUuc3RibD10LnN0YmwodC5maW5kQm94KHIsWyJzdGJsIl0sbilbMF0pfSkpfX0se2tleToidm1oZCIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIHVwKHQsITAsKGZ1bmN0aW9uKHQsZSl7dC5ncmFwaGljc21vZGU9cmgoZSksdC5vcGNvbG9yPVtyaChlLDIpLHJoKGUsNCkscmgoZSw2KV19KSl9fSx7a2V5OiJzbWhkIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMCwoZnVuY3Rpb24odCxlKXt0LmJhbGFuY2U9cmgoZSl9KSl9fSx7a2V5OiJzdGJsIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdXAoZSwhMSwoZnVuY3Rpb24oZSxyLG4pe2Uuc3RzZD10LnN0c2QodC5maW5kQm94KHIsWyJzdHNkIl0sbilbMF0pLGUuc3R0cz10LnN0dHModC5maW5kQm94KHIsWyJzdHRzIl0sbilbMF0pLGUuY3R0cz10LmN0dHModC5maW5kQm94KHIsWyJjdHRzIl0sbilbMF0pLGUuc3RzYz10LnN0c2ModC5maW5kQm94KHIsWyJzdHNjIl0sbilbMF0pLGUuc3Rzej10LnN0c3oodC5maW5kQm94KHIsWyJzdHN6Il0sbilbMF0pLGUuc3Rjbz10LnN0Y28odC5maW5kQm94KHIsWyJzdGNvIl0sbilbMF0pLGUuc3Rjb3x8KGUuY282ND10LmNvNjQodC5maW5kQm94KHIsWyJjbzY0Il0sbilbMF0pLGUuc3Rjbz1lLmNvNjQpLGUuc3Rzcz10LnN0c3ModC5maW5kQm94KHIsWyJzdHNzIl0sbilbMF0pLGUuc2VuYz10LnNlbmModC5maW5kQm94KHIsWyJzZW5jIl0sbilbMF0pfSkpfX0se2tleToic2VuYyIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIHVwKHQsITAsKGZ1bmN0aW9uKHQsZSl7dmFyIHI9MCxuPW5oKGUscik7cis9NCx0LnNhbXBsZXM9W107Zm9yKHZhciBpPTA7aTxuO2krKyl7dmFyIGE9e307aWYoYS5Jbml0aWFsaXphdGlvblZlY3Rvcj1bZVtyXSxlW3IrMV0sZVtyKzJdLGVbciszXSxlW3IrNF0sZVtyKzVdLGVbcis2XSxlW3IrN11dLHIrPTgsMiZ0LmZsYWdzKXthLnN1YnNhbXBsZXM9W107dmFyIG89cmgoZSxyKTtyKz0yO2Zvcih2YXIgcz0wO3M8bztzKyspe3ZhciB1PXt9O3UuQnl0ZXNPZkNsZWFyRGF0YT1yaChlLHIpLHIrPTIsdS5CeXRlc09mUHJvdGVjdGVkRGF0YT1uaChlLHIpLHIrPTQsYS5zdWJzYW1wbGVzLnB1c2godSl9fXQuc2FtcGxlcy5wdXNoKGEpfX0pKX19LHtrZXk6InBzc2giLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB1cCh0LCEwLChmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1bXSxuPVtdLGk9MCxhPTA7YTwxNjthKyspbi5wdXNoKGZwKGVbaSthXSkpO2lmKGkrPTE2LHQudmVyc2lvbj4wKXt2YXIgbz1uaChlLGkpO2krPTQ7Zm9yKHZhciBzPTA7czwoIiIrbykubGVuZ3RoO3MrKylmb3IodmFyIHU9MDt1PDE2O3UrKyl7dmFyIGM9ZVtpXTtpKz0xLHIucHVzaChmcChjKSl9fXZhciBmPW5oKGUsaSk7dC5kYXRhX3NpemU9ZixpKz00LHQua2lkPXIsdC5zeXN0ZW1faWQ9bix0LmJ1ZmZlcj1lfSkpfX0se2tleToic3RzZCIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHVwKGUsITAsKGZ1bmN0aW9uKGUscixuKXtlLmVudHJ5Q291bnQ9bmgociksZS5lbnRyaWVzPXQuZmluZEJveChyLnN1YmFycmF5KDQpLFtdLG4rNCkubWFwKChmdW5jdGlvbihlKXtzd2l0Y2goZS50eXBlKXtjYXNlImF2YzEiOmNhc2UiYXZjMiI6Y2FzZSJhdmMzIjpjYXNlImF2YzQiOnJldHVybiB0LmF2YzEoZSk7Y2FzZSJodmMxIjpjYXNlImhldjEiOnJldHVybiB0Lmh2YzEoZSk7Y2FzZSJtcDRhIjpyZXR1cm4gdC5tcDRhKGUpO2Nhc2UiYWxhdyI6Y2FzZSJ1bGF3IjpyZXR1cm4gdC5hbGF3KGUpO2Nhc2UiZW5jYSI6cmV0dXJuIHVwKGUsITEsKGZ1bmN0aW9uKGUscixuKXtlLmNoYW5uZWxDb3VudD1yaChyLDE2KSxlLnNhbXBsZXNpemU9cmgociwxOCksZS5zYW1wbGVSYXRlPW5oKHIsMjQpLzY1NTM2LHI9ci5zdWJhcnJheSgyOCksZS5zaW5mPXQuc2luZih0LmZpbmRCb3gocixbInNpbmYiXSxuKVswXSksZS5lc2RzPXQuZXNkcyh0LmZpbmRCb3gocixbImVzZHMiXSxuKVswXSl9KSk7Y2FzZSJlbmN2IjpyZXR1cm4gdXAoZSwhMSwoZnVuY3Rpb24oZSxyLG4pe2Uud2lkdGg9cmgociwyNCksZS5oZWlnaHQ9cmgociwyNiksZS5ob3JpenJlc29sdXRpb249bmgociwyOCksZS52ZXJ0cmVzb2x1dGlvbj1uaChyLDMyKSxyPXIuc3ViYXJyYXkoNzgpLGUuc2luZj10LnNpbmYodC5maW5kQm94KHIsWyJzaW5mIl0sbilbMF0pLGUuYXZjQz10LmF2Y0ModC5maW5kQm94KHIsWyJhdmNDIl0sbilbMF0pLGUuaHZjQz10Lmh2Y0ModC5maW5kQm94KHIsWyJodmNDIl0sbilbMF0pLGUucGFzcD10LnBhc3AodC5maW5kQm94KHIsWyJwYXNwIl0sbilbMF0pfSkpfX0pKS5maWx0ZXIoQm9vbGVhbil9KSl9fSx7a2V5OiJ0ZW5jIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMSwoZnVuY3Rpb24odCxlKXt2YXIgcj02O3QuZGVmYXVsdF9Jc0VuY3J5cHRlZD1lW3JdLHIrPTEsdC5kZWZhdWx0X0lWX3NpemU9ZVtyXSxyKz0xLHQuZGVmYXVsdF9LSUQ9W107Zm9yKHZhciBuPTA7bjwxNjtuKyspdC5kZWZhdWx0X0tJRC5wdXNoKGZwKGVbcl0pKSxyKz0xfSkpfX0se2tleToic2NoaSIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHVwKGUsITEsKGZ1bmN0aW9uKGUscixuKXtlLnRlbmM9dC50ZW5jKHQuZmluZEJveChyLFsidGVuYyJdLG4pWzBdKX0pKX19LHtrZXk6InNpbmYiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB1cChlLCExLChmdW5jdGlvbihlLHIsbil7ZS5zY2hpPXQuc2NoaSh0LmZpbmRCb3gocixbInNjaGkiXSxuKVswXSksZS5mcm1hPXQuZnJtYSh0LmZpbmRCb3gocixbImZybWEiXSxuKVswXSl9KSl9fSx7a2V5OiJmcm1hIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMSwoZnVuY3Rpb24odCxlKXt0LmRhdGFfZm9ybWF0PSIiO2Zvcih2YXIgcj0wO3I8NDtyKyspdC5kYXRhX2Zvcm1hdCs9U3RyaW5nLmZyb21DaGFyQ29kZShlW3JdKX0pKX19LHtrZXk6ImF2YzEiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB1cChlLCExLChmdW5jdGlvbihlLHIsbil7dmFyIGk9b3AoZSxyKSxhPXIuc3ViYXJyYXkoaSk7bis9aSxlLmF2Y0M9dC5hdmNDKHQuZmluZEJveChhLFsiYXZjQyJdLG4pWzBdKSxlLnBhc3A9dC5wYXNwKHQuZmluZEJveChhLFsicGFzcCJdLG4pWzBdKX0pKX19LHtrZXk6ImF2Y0MiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB1cCh0LCExLChmdW5jdGlvbih0LGUpe3QuY29uZmlndXJhdGlvblZlcnNpb249ZVswXSx0LkFWQ1Byb2ZpbGVJbmRpY2F0aW9uPWVbMV0sdC5wcm9maWxlQ29tcGF0aWJpbGl0eT1lWzJdLHQuQVZDTGV2ZWxJbmRpY2F0aW9uPWVbM10sdC5jb2RlYz1mdW5jdGlvbih0KXtmb3IodmFyIGUscj0iYXZjMS4iLG49MDtuPDM7bisrKShlPXRbbl0udG9TdHJpbmcoMTYpKS5sZW5ndGg8MiYmKGU9IjAiLmNvbmNhdChlKSkscis9ZTtyZXR1cm4gcn0oW2VbMV0sZVsyXSxlWzNdXSksdC5sZW5ndGhTaXplTWludXNPbmU9MyZlWzRdLHQuc3BzTGVuZ3RoPTMxJmVbNV0sdC5zcHM9W107Zm9yKHZhciByPTYsbj0wO248dC5zcHNMZW5ndGg7bisrKXt2YXIgaT1yaChlLHIpO3IrPTIsdC5zcHMucHVzaChlLnN1YmFycmF5KHIscitpKSkscis9aX10LnBwc0xlbmd0aD1lW3JdLHIrPTEsdC5wcHM9W107Zm9yKHZhciBhPTA7YTx0LnBwc0xlbmd0aDthKyspe3ZhciBvPXJoKGUscik7cis9Mix0LnBwcy5wdXNoKGUuc3ViYXJyYXkocixyKz1vKSkscis9b319KSl9fSx7a2V5OiJodmMxIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdXAoZSwhMSwoZnVuY3Rpb24oZSxyLG4pe3ZhciBpPW9wKGUsciksYT1yLnN1YmFycmF5KGkpO24rPWksZS5odmNDPXQuaHZjQyh0LmZpbmRCb3goYSxbImh2Y0MiXSxuKVswXSksZS5wYXNwPXQucGFzcCh0LmZpbmRCb3goYSxbInBhc3AiXSxuKVswXSl9KSl9fSx7a2V5OiJodmNDIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMSwoZnVuY3Rpb24oZSxyKXtlLmRhdGE9dC5kYXRhLGUuY29kZWM9ImhldjEuMS42Lkw5My5CMCIsZS5jb25maWd1cmF0aW9uVmVyc2lvbj1yWzBdO3ZhciBuPXJbMV07ZS5nZW5lcmFsUHJvZmlsZVNwYWNlPW4+PjYsZS5nZW5lcmFsVGllckZsYWc9KDMyJm4pPj41LGUuZ2VuZXJhbFByb2ZpbGVJZGM9MzEmbixlLmdlbmVyYWxQcm9maWxlQ29tcGF0aWJpbGl0eT1uaChyLDIpLGUuZ2VuZXJhbENvbnN0cmFpbnRJbmRpY2F0b3JGbGFncz1yLnN1YmFycmF5KDYsMTIpLGUuZ2VuZXJhbExldmVsSWRjPXJbMTJdLGUuYXZnRnJhbWVSYXRlPXJoKHIsMTkpLGUubnVtT2ZBcnJheXM9clsyMl0sZS52cHM9W10sZS5zcHM9W10sZS5wcHM9W107Zm9yKHZhciBpPTIzLGE9MCxvPTAscz0wLHU9MDt1PGUubnVtT2ZBcnJheXM7dSsrKXthPTYzJnJbaV0sbz1yaChyLGkrMSksaSs9Mztmb3IodmFyIGMsZj1bXSxsPTA7bDxvO2wrKylzPXJoKHIsaSksaSs9MixmLnB1c2goci5zdWJhcnJheShpLGkrcykpLGkrPXM7aWYoMzI9PT1hKShjPWUudnBzKS5wdXNoLmFwcGx5KGMsZik7ZWxzZSBpZigzMz09PWEpe3ZhciBkOyhkPWUuc3BzKS5wdXNoLmFwcGx5KGQsZil9ZWxzZSBpZigzND09PWEpe3ZhciBoOyhoPWUucHBzKS5wdXNoLmFwcGx5KGgsZil9fX0pKX19LHtrZXk6InBhc3AiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB1cCh0LCExLChmdW5jdGlvbih0LGUpe3QuaFNwYWNpbmc9bmgoZSksdC52U3BhY2luZz1uaChlLDQpfSkpfX0se2tleToibXA0YSIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHVwKGUsITEsKGZ1bmN0aW9uKGUscixuKXt2YXIgaT1zcChlLHIpO2UuZXNkcz10LmVzZHModC5maW5kQm94KHIuc3ViYXJyYXkoaSksWyJlc2RzIl0sbitpKVswXSl9KSl9fSx7a2V5OiJlc2RzIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMCwoZnVuY3Rpb24odCxlKXt0LmNvZGVjPSJtcDRhLiI7Zm9yKHZhciByPTAsbj0wLGk9MCxhPTA7ZS5sZW5ndGg7KXtmb3IoYT1lW3I9MF0sbj1lW3IrMV0scis9MjsxMjgmbjspaT0oMTI3Jm4pPDw3LG49ZVtyXSxyKz0xO2lmKGkrPTEyNyZuLDM9PT1hKWU9ZS5zdWJhcnJheShyKzMpO2Vsc2V7aWYoNCE9PWEpe2lmKDU9PT1hKXt2YXIgbz10LmNvbmZpZz1lLnN1YmFycmF5KHIscitpKSxzPSgyNDgmb1swXSk+PjM7cmV0dXJuIDMxPT09cyYmby5sZW5ndGg+PTImJihzPTMyKygoNyZvWzBdKTw8MykrKCgyMjQmb1sxXSk+PjUpKSx0Lm9iamVjdFR5cGU9cyx0LmNvZGVjKz1zLnRvU3RyaW5nKDE2KSx2b2lkKCIuIj09PXQuY29kZWNbdC5jb2RlYy5sZW5ndGgtMV0mJih0LmNvZGVjPXQuY29kZWMuc3Vic3RyaW5nKDAsdC5jb2RlYy5sZW5ndGgtMSkpKX1yZXR1cm4gdm9pZCgiLiI9PT10LmNvZGVjW3QuY29kZWMubGVuZ3RoLTFdJiYodC5jb2RlYz10LmNvZGVjLnN1YnN0cmluZygwLHQuY29kZWMubGVuZ3RoLTEpKSl9dC5jb2RlYys9KGVbcl0udG9TdHJpbmcoMTYpKyIuIikucGFkU3RhcnQoMywiMCIpLGU9ZS5zdWJhcnJheShyKzEzKX19fSkpfX0se2tleToiYWxhdyIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIHVwKHQsITEsKGZ1bmN0aW9uKHQsZSl7c3AodCxlKX0pKX19LHtrZXk6InN0dHMiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB1cCh0LCEwLChmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1uaChlKSxuPVtdLGk9NCxhPTA7YTxyO2ErKyluLnB1c2goe2NvdW50Om5oKGUsaSksZGVsdGE6bmgoZSxpKzQpfSksaSs9ODt0LmVudHJ5Q291bnQ9cix0LmVudHJpZXM9bn0pKX19LHtrZXk6ImN0dHMiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB1cCh0LCEwLChmdW5jdGlvbih0LGUpe3ZhciByPW5oKGUpLG49W10saT00O2lmKDE9PT10LnZlcnNpb24pZm9yKHZhciBhPTA7YTxyO2ErKyluLnB1c2goe2NvdW50Om5oKGUsaSksb2Zmc2V0Om5oKGUsaSs0KX0pLGkrPTg7ZWxzZSBmb3IodmFyIG89MDtvPHI7bysrKW4ucHVzaCh7Y291bnQ6bmgoZSxpKSxvZmZzZXQ6LSgxK35uaChlLGkrNCkpfSksaSs9ODt0LmVudHJ5Q291bnQ9cix0LmVudHJpZXM9bn0pKX19LHtrZXk6InN0c2MiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB1cCh0LCEwLChmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1uaChlKSxuPVtdLGk9NCxhPTA7YTxyO2ErKyluLnB1c2goe2ZpcnN0Q2h1bms6bmgoZSxpKSxzYW1wbGVzUGVyQ2h1bms6bmgoZSxpKzQpLHNhbXBsZURlc2NyaXB0aW9uSW5kZXg6bmgoZSxpKzgpfSksaSs9MTI7dC5lbnRyeUNvdW50PXIsdC5lbnRyaWVzPW59KSl9fSx7a2V5OiJzdHN6Iix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMCwoZnVuY3Rpb24odCxlKXt2YXIgcj1uaChlKSxuPW5oKGUsNCksaT1bXTtpZighcilmb3IodmFyIGE9OCxvPTA7bzxuO28rKylpLnB1c2gobmgoZSxhKSksYSs9NDt0LnNhbXBsZVNpemU9cix0LnNhbXBsZUNvdW50PW4sdC5lbnRyeVNpemVzPWl9KSl9fSx7a2V5OiJzdGNvIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMCwoZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9bmgoZSksbj1bXSxpPTQsYT0wO2E8cjthKyspbi5wdXNoKG5oKGUsaSkpLGkrPTQ7dC5lbnRyeUNvdW50PXIsdC5lbnRyaWVzPW59KSl9fSx7a2V5OiJjbzY0Iix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMCwoZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9bmgoZSksbj1bXSxpPTQsYT0wO2E8cjthKyspbi5wdXNoKGloKGUsaSkpLGkrPTg7dC5lbnRyeUNvdW50PXIsdC5lbnRyaWVzPW59KSl9fSx7a2V5OiJzdHNzIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMCwoZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9bmgoZSksbj1bXSxpPTQsYT0wO2E8cjthKyspbi5wdXNoKG5oKGUsaSkpLGkrPTQ7dC5lbnRyeUNvdW50PXIsdC5lbnRyaWVzPW59KSl9fSx7a2V5OiJtb29mIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdXAoZSwhMSwoZnVuY3Rpb24oZSxyLG4pe2UubWZoZD10Lm1maGQodC5maW5kQm94KHIsWyJtZmhkIl0sbilbMF0pLGUudHJhZj10LmZpbmRCb3gocixbInRyYWYiXSxuKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiB0LnRyYWYoZSl9KSl9KSl9fSx7a2V5OiJtZmhkIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMCwoZnVuY3Rpb24odCxlKXt0LnNlcXVlbmNlTnVtYmVyPW5oKGUpfSkpfX0se2tleToidHJhZiIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHVwKGUsITEsKGZ1bmN0aW9uKGUscixuKXtlLnRmaGQ9dC50ZmhkKHQuZmluZEJveChyLFsidGZoZCJdLG4pWzBdKSxlLnRmZHQ9dC50ZmR0KHQuZmluZEJveChyLFsidGZkdCJdLG4pWzBdKSxlLnRydW49dC50cnVuKHQuZmluZEJveChyLFsidHJ1biJdLG4pWzBdKX0pKX19LHtrZXk6InRydW4iLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB1cCh0LCEwLChmdW5jdGlvbih0LGUpe3ZhciByPXQudmVyc2lvbixuPXQuZmxhZ3MsaT1lLmxlbmd0aCxhPXQuc2FtcGxlQ291bnQ9bmgoZSksbz00O2lmKGk+byYmMSZuJiYodC5kYXRhT2Zmc2V0PS0oMSt+bmgoZSxvKSksbys9NCksaT5vJiY0Jm4mJih0LmZpcnN0U2FtcGxlRmxhZ3M9bmgoZSxvKSxvKz00KSx0LnNhbXBsZXM9W10saT5vKWZvcih2YXIgcyx1PTA7dTxhO3UrKylzPXt9LDI1NiZuJiYocy5kdXJhdGlvbj1uaChlLG8pLG8rPTQpLDUxMiZuJiYocy5zaXplPW5oKGUsbyksbys9NCksMTAyNCZuJiYocy5mbGFncz1uaChlLG8pLG8rPTQpLDIwNDgmbiYmKHMuY3RzPXI/LSgxK35uaChlLG8rNCkpOm5oKGUsbyksbys9NCksdC5zYW1wbGVzLnB1c2gocyl9KSl9fSx7a2V5OiJ0ZmR0Iix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMCwoZnVuY3Rpb24odCxlKXsxPT09dC52ZXJzaW9uP3QuYmFzZU1lZGlhRGVjb2RlVGltZT1paChlKTp0LmJhc2VNZWRpYURlY29kZVRpbWU9bmgoZSl9KSl9fSx7a2V5OiJwcm9iZSIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuISF0LmZpbmRCb3goZSxbImZ0eXAiXSl9fSx7a2V5OiJwYXJzZVNhbXBsZUZsYWdzIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm57aXNMZWFkaW5nOigxMiZ0WzBdKT4+PjIsZGVwZW5kc09uOjMmdFswXSxpc0RlcGVuZGVkT246KDE5MiZ0WzFdKT4+PjYsaGFzUmVkdW5kYW5jeTooNDgmdFsxXSk+Pj40LHBhZGRpbmdWYWx1ZTooMTQmdFsxXSk+Pj4xLGlzTm9uU3luY1NhbXBsZToxJnRbMV0sZGVncmFkYXRpb25Qcmlvcml0eTp0WzJdPDw4fHRbM119fX0se2tleToibW9vdlRvVHJhY2siLHZhbHVlOmZ1bmN0aW9uKHQsZSxyKXt2YXIgbixpLGE9dC50cmFrO2lmKGEmJmEubGVuZ3RoKXt2YXIgbz1hLmZpbmQoKGZ1bmN0aW9uKHQpe3ZhciBlLHI7cmV0dXJuInZpZGUiPT09KG51bGw9PT0oZT10Lm1kaWEpfHx2b2lkIDA9PT1lfHxudWxsPT09KHI9ZS5oZGxyKXx8dm9pZCAwPT09cj92b2lkIDA6ci5oYW5kbGVyVHlwZSl9KSkscz1hLmZpbmQoKGZ1bmN0aW9uKHQpe3ZhciBlLHI7cmV0dXJuInNvdW4iPT09KG51bGw9PT0oZT10Lm1kaWEpfHx2b2lkIDA9PT1lfHxudWxsPT09KHI9ZS5oZGxyKXx8dm9pZCAwPT09cj92b2lkIDA6ci5oYW5kbGVyVHlwZSl9KSk7aWYobyYmZSl7dmFyIHUsYyxmLGwsZCxoLHAsdj1lLHk9bnVsbD09PSh1PW8udGtoZCl8fHZvaWQgMD09PXU/dm9pZCAwOnUudHJhY2tJZDtudWxsIT15JiYodi5pZD1vLnRraGQudHJhY2tJZCksdi50a2hkRHVyYXRpb249by50a2hkLmR1cmF0aW9uLHYubXZoZER1cnRpb249dC5tdmhkLmR1cmF0aW9uLHYubXZoZFRpbWVjYWxlPXQubXZoZC50aW1lc2NhbGUsdi50aW1lc2NhbGU9di5mb3JtYXRUaW1lc2NhbGU9by5tZGlhLm1kaGQudGltZXNjYWxlLHYuZHVyYXRpb249by5tZGlhLm1kaGQuZHVyYXRpb258fHYubXZoZER1cnRpb24vdi5tdmhkVGltZWNhbGUqdi50aW1lc2NhbGU7dmFyIGcsbSxiLHcsayx4LEEsUyxfPW8ubWRpYS5taW5mLnN0Ymwuc3RzZC5lbnRyaWVzWzBdO2lmKHYud2lkdGg9Xy53aWR0aCx2LmhlaWdodD1fLmhlaWdodCxfLnBhc3AmJih2LnNhclJhdGlvPVtfLnBhc3AuaFNwYWNpbmcsXy5wYXNwLnZTcGFjaW5nXSksXy5odmNDKXYuY29kZWNUeXBlPXppLHYuY29kZWM9Xy5odmNDLmNvZGVjLHYudnBzPV8uaHZjQy52cHMsdi5zcHM9Xy5odmNDLnNwcyx2LnBwcz1fLmh2Y0MucHBzLHYuaHZjQz1fLmh2Y0MuZGF0YTtlbHNle2lmKCFfLmF2Y0MpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHZpZGVvIHN0c2QgZW50cnkiKTt2LmNvZGVjPV8uYXZjQy5jb2RlYyx2LnNwcz1fLmF2Y0Muc3BzLHYucHBzPV8uYXZjQy5wcHN9aWYodi5wcmVzZW50PSEwLHYuZXh0PXt9LHYuZXh0LnN0c3M9bnVsbD09PShjPW8ubWRpYSl8fHZvaWQgMD09PWN8fG51bGw9PT0oZj1jLm1pbmYpfHx2b2lkIDA9PT1mfHxudWxsPT09KGw9Zi5zdGJsKXx8dm9pZCAwPT09bD92b2lkIDA6bC5zdHNzLHYuZXh0LmN0dHM9bnVsbD09PShkPW8ubWRpYSl8fHZvaWQgMD09PWR8fG51bGw9PT0oaD1kLm1pbmYpfHx2b2lkIDA9PT1ofHxudWxsPT09KHA9aC5zdGJsKXx8dm9pZCAwPT09cD92b2lkIDA6cC5jdHRzLF8mJiJlbmN2Ij09PV8udHlwZSl2LmlzVmlkZW9FbmNyeXB0aW9uPSEwLF8uZGVmYXVsdF9LSUQ9bnVsbD09PShnPV8uc2luZil8fHZvaWQgMD09PWd8fG51bGw9PT0obT1nLnNjaGkpfHx2b2lkIDA9PT1tP3ZvaWQgMDptLnRlbmMuZGVmYXVsdF9LSUQsXy5kZWZhdWx0X0lzRW5jcnlwdGVkPW51bGw9PT0oYj1fLnNpbmYpfHx2b2lkIDA9PT1ifHxudWxsPT09KHc9Yi5zY2hpKXx8dm9pZCAwPT09dz92b2lkIDA6dy50ZW5jLmRlZmF1bHRfSXNFbmNyeXB0ZWQsXy5kZWZhdWx0X0lWX3NpemU9bnVsbD09PShrPV8uc2luZil8fHZvaWQgMD09PWt8fG51bGw9PT0oeD1rLnNjaGkpfHx2b2lkIDA9PT14P3ZvaWQgMDp4LnRlbmMuZGVmYXVsdF9JVl9zaXplLHYudmlkZW9TZW5jPW8ubWRpYS5taW5mLnN0Ymwuc2VuYyYmby5tZGlhLm1pbmYuc3RibC5zZW5jLnNhbXBsZXMsXy5kYXRhX2Zvcm1hdD1udWxsPT09KEE9Xy5zaW5mKXx8dm9pZCAwPT09QXx8bnVsbD09PShTPUEuZnJtYSl8fHZvaWQgMD09PVM/dm9pZCAwOlMuZGF0YV9mb3JtYXQsdi51c2VFTUU9dC51c2VFTUUsdi5raWRWYWx1ZT10LmtpZFZhbHVlLHYucHNzaD10LnBzc2gsdi5lbmN2PV99aWYocyYmcil7dmFyIFQsRSxJLE8sTSxDLFIsQixQLFU9cixEPW51bGw9PT0oVD1zLnRraGQpfHx2b2lkIDA9PT1UP3ZvaWQgMDpULnRyYWNrSWQ7bnVsbCE9RCYmKFUuaWQ9cy50a2hkLnRyYWNrSWQpLFUudGtoZER1cmF0aW9uPXMudGtoZC5kdXJhdGlvbixVLm12aGREdXJ0aW9uPXQubXZoZC5kdXJhdGlvbixVLm12aGRUaW1lY2FsZT10Lm12aGQudGltZXNjYWxlLFUudGltZXNjYWxlPVUuZm9ybWF0VGltZXNjYWxlPXMubWRpYS5tZGhkLnRpbWVzY2FsZSxVLmR1cmF0aW9uPXMubWRpYS5tZGhkLmR1cmF0aW9ufHxVLm12aGREdXJ0aW9uL1UubXZoZFRpbWVjYWxlKlUudGltZXNjYWxlO3ZhciB6LGosTCxGLE4sVixILFksSz1zLm1kaWEubWluZi5zdGJsLnN0c2QuZW50cmllc1swXTtzd2l0Y2goVS5zYW1wbGVTaXplPUsuc2FtcGxlU2l6ZSxVLnNhbXBsZVJhdGU9Sy5zYW1wbGVSYXRlLFUuY2hhbm5lbENvdW50PUsuY2hhbm5lbENvdW50LFUucHJlc2VudD0hMCxLLnR5cGUpe2Nhc2UiYWxhdyI6VS5jb2RlY1R5cGU9VS5jb2RlYz1MaSxVLnNhbXBsZVJhdGU9OGUzO2JyZWFrO2Nhc2UidWxhdyI6VS5jb2RlY1R5cGU9VS5jb2RlYz1GaSxVLnNhbXBsZVJhdGU9OGUzO2JyZWFrO2RlZmF1bHQ6VS5zYW1wbGVEdXJhdGlvbj1KZC5nZXRGcmFtZUR1cmF0aW9uKFUuc2FtcGxlUmF0ZSxVLnRpbWVzY2FsZSksVS5zYW1wbGVSYXRlSW5kZXg9SmQuZ2V0UmF0ZUluZGV4QnlSYXRlKFUuc2FtcGxlUmF0ZSksVS5vYmplY3RUeXBlPShudWxsPT09KG49Sy5lc2RzKXx8dm9pZCAwPT09bj92b2lkIDA6bi5vYmplY3RUeXBlKXx8MixLLmVzZHMmJihVLmNvbmZpZz1BcnJheS5mcm9tKEsuZXNkcy5jb25maWcpKSxVLmNvZGVjPShudWxsPT09KGk9Sy5lc2RzKXx8dm9pZCAwPT09aT92b2lkIDA6aS5jb2RlYyl8fCJtcDRhLjQwLjIifWlmKFUuc2FtcGxlRHVyYXRpb249SmQuZ2V0RnJhbWVEdXJhdGlvbihVLnNhbXBsZVJhdGUsVS50aW1lc2NhbGUpLFUub2JqZWN0VHlwZT0obnVsbD09PShFPUsuZXNkcyl8fHZvaWQgMD09PUU/dm9pZCAwOkUub2JqZWN0VHlwZSl8fDIsSy5lc2RzJiYoSy5lc2RzLmNvbmZpZz9VLmNvbmZpZz1BcnJheS5mcm9tKEsuZXNkcy5jb25maWcpOmNvbnNvbGUud2FybigiZXNkcyBjb25maWcgaXMgbnVsbCIpKSxVLmNvZGVjPShudWxsPT09KEk9Sy5lc2RzKXx8dm9pZCAwPT09ST92b2lkIDA6SS5jb2RlYyl8fCJtcDRhLjQwLjIiLFUuc2FtcGxlUmF0ZUluZGV4PUpkLmdldFJhdGVJbmRleEJ5UmF0ZShVLnNhbXBsZVJhdGUpLFUuZXh0PXt9LFUuZXh0LnN0c3M9bnVsbD09PShPPXMubWRpYSl8fHZvaWQgMD09PU98fG51bGw9PT0oTT1PLm1pbmYpfHx2b2lkIDA9PT1NfHxudWxsPT09KEM9TS5zdGJsKXx8dm9pZCAwPT09Qz92b2lkIDA6Qy5zdHNzLFUuZXh0LmN0dHM9bnVsbD09PShSPXMubWRpYSl8fHZvaWQgMD09PVJ8fG51bGw9PT0oQj1SLm1pbmYpfHx2b2lkIDA9PT1CfHxudWxsPT09KFA9Qi5zdGJsKXx8dm9pZCAwPT09UD92b2lkIDA6UC5jdHRzLFUucHJlc2VudD0hMCxLJiYiZW5jYSI9PT1LLnR5cGUpVS5pc0F1ZGlvRW5jcnlwdGlvbj0hMCxLLmRhdGFfZm9ybWF0PW51bGw9PT0oej1LLnNpbmYpfHx2b2lkIDA9PT16fHxudWxsPT09KGo9ei5mcm1hKXx8dm9pZCAwPT09aj92b2lkIDA6ai5kYXRhX2Zvcm1hdCxLLmRlZmF1bHRfS0lEPW51bGw9PT0oTD1LLnNpbmYpfHx2b2lkIDA9PT1MfHxudWxsPT09KEY9TC5zY2hpKXx8dm9pZCAwPT09Rj92b2lkIDA6Ri50ZW5jLmRlZmF1bHRfS0lELEsuZGVmYXVsdF9Jc0VuY3J5cHRlZD1udWxsPT09KE49Sy5zaW5mKXx8dm9pZCAwPT09Tnx8bnVsbD09PShWPU4uc2NoaSl8fHZvaWQgMD09PVY/dm9pZCAwOlYudGVuYy5kZWZhdWx0X0lzRW5jcnlwdGVkLEsuZGVmYXVsdF9JVl9zaXplPW51bGw9PT0oSD1LLnNpbmYpfHx2b2lkIDA9PT1IfHxudWxsPT09KFk9SC5zY2hpKXx8dm9pZCAwPT09WT92b2lkIDA6WS50ZW5jLmRlZmF1bHRfSVZfc2l6ZSxVLmF1ZGlvU2VuYz1zLm1kaWEubWluZi5zdGJsLnNlbmMmJnMubWRpYS5taW5mLnN0Ymwuc2VuYy5zYW1wbGVzLFUudXNlRU1FPXQudXNlRU1FLFUua2lkVmFsdWU9dC5raWRWYWx1ZSxVLmVuY2E9S31pZihyJiYoci5pc1ZpZGVvRW5jcnlwdGlvbj0hIWUmJmUuaXNWaWRlb0VuY3J5cHRpb24pLGUmJihlLmlzQXVkaW9FbmNyeXB0aW9uPSEhciYmci5pc0F1ZGlvRW5jcnlwdGlvbiksbnVsbCE9ZSYmZS5lbmN2fHxudWxsIT1yJiZyLmVuY2Epe3ZhciBXLEcscT1udWxsPT1lfHxudWxsPT09KFc9ZS5lbmN2KXx8dm9pZCAwPT09Vz92b2lkIDA6Vy5kZWZhdWx0X0tJRCxYPW51bGw9PXJ8fG51bGw9PT0oRz1yLmVuY2EpfHx2b2lkIDA9PT1HP3ZvaWQgMDpHLmRlZmF1bHRfS0lELCQ9cXx8WD8ocXx8WCkuam9pbigiIik6bnVsbDtlJiYoZS5raWQ9JCksciYmKHIua2lkPSQpfXJldHVybiBlJiYoZS5mbGFncz0zODQxKSxyJiYoci5mbGFncz0xNzkzKSx7dmlkZW9UcmFjazplLGF1ZGlvVHJhY2s6cn19fX0se2tleToiZXZhbHVhdGVEZWZhdWx0RHVyYXRpb24iLHZhbHVlOmZ1bmN0aW9uKHQsZSxyKXt2YXIgbixpPW51bGw9PWV8fG51bGw9PT0obj1lLnNhbXBsZXMpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLmxlbmd0aDtyZXR1cm4gaT8xMDI0KmkvZS50aW1lc2NhbGUqdC50aW1lc2NhbGUvcjoxMDI0fX0se2tleToibW9vZlRvU2FtcGxlcyIsdmFsdWU6ZnVuY3Rpb24oZSxyLG4pe3ZhciBpPXt9O3JldHVybiBlLm1maGQmJihyJiYoci5zZXF1ZW5jZU51bWJlcj1lLm1maGQuc2VxdWVuY2VOdW1iZXIpLG4mJihuLnNlcXVlbmNlTnVtYmVyPWUubWZoZC5zZXF1ZW5jZU51bWJlcikpLGUudHJhZi5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgYT1lLnRmaGQsbz1lLnRmZHQscz1lLnRydW47aWYoYSYmcyl7byYmKHImJnIuaWQ9PT1hLnRyYWNrSWQmJihyLmJhc2VNZWRpYURlY29kZVRpbWU9by5iYXNlTWVkaWFEZWNvZGVUaW1lKSxuJiZuLmlkPT09YS50cmFja0lkJiYobi5iYXNlTWVkaWFEZWNvZGVUaW1lPW8uYmFzZU1lZGlhRGVjb2RlVGltZSkpO3ZhciB1PWEuZGVmYXVsdFNhbXBsZVNpemV8fDAsYz1hLmRlZmF1bHRTYW1wbGVEdXJhdGlvbnx8dC5ldmFsdWF0ZURlZmF1bHREdXJhdGlvbihyLG4scy5zYW1wbGVzLmxlbmd0aHx8cy5zYW1wbGVDb3VudCksZj1zLmRhdGFPZmZzZXR8fDAsbD0wLGQ9LTE7aWYoIXMuc2FtcGxlcy5sZW5ndGgmJnMuc2FtcGxlQ291bnQpe2lbYS50cmFja0lkXT1bXTtmb3IodmFyIGg9MDtoPHMuc2FtcGxlQ291bnQ7aCsrKWlbYS50cmFja0lkXS5wdXNoKHtvZmZzZXQ6ZixkdHM6bCxkdXJhdGlvbjpjLHNpemU6dX0pLGwrPWMsZis9dX1lbHNlIGlbYS50cmFja0lkXT1zLnNhbXBsZXMubWFwKChmdW5jdGlvbih0LGUpe3JldHVybih0PXtvZmZzZXQ6ZixkdHM6bCxwdHM6bCsodC5jdHN8fDApLGR1cmF0aW9uOnQuZHVyYXRpb258fGMsc2l6ZTp0LnNpemV8fHUsZ29wSWQ6ZCxrZXlmcmFtZTowPT09ZXx8bnVsbCE9PXQuZmxhZ3MmJnZvaWQgMCE9PXQuZmxhZ3MmJig2NTUzNiZ0LmZsYWdzKT4+PjAhPTY1NTM2fSkua2V5ZnJhbWUmJihkKyssdC5nb3BJZD1kKSxsKz10LmR1cmF0aW9uLGYrPXQuc2l6ZSx0fSkpfX0pKSxpfX0se2tleToibW9vdlRvU2FtcGxlcyIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9dC50cmFrO2lmKGUmJmUubGVuZ3RoKXt2YXIgcj1lLmZpbmQoKGZ1bmN0aW9uKHQpe3ZhciBlLHI7cmV0dXJuInZpZGUiPT09KG51bGw9PT0oZT10Lm1kaWEpfHx2b2lkIDA9PT1lfHxudWxsPT09KHI9ZS5oZGxyKXx8dm9pZCAwPT09cj92b2lkIDA6ci5oYW5kbGVyVHlwZSl9KSksbj1lLmZpbmQoKGZ1bmN0aW9uKHQpe3ZhciBlLHI7cmV0dXJuInNvdW4iPT09KG51bGw9PT0oZT10Lm1kaWEpfHx2b2lkIDA9PT1lfHxudWxsPT09KHI9ZS5oZGxyKXx8dm9pZCAwPT09cj92b2lkIDA6ci5oYW5kbGVyVHlwZSl9KSk7aWYocnx8bil7dmFyIGksYTtpZihyKXt2YXIgbyxzLHU9bnVsbD09PShvPXIubWRpYSl8fHZvaWQgMD09PW98fG51bGw9PT0ocz1vLm1pbmYpfHx2b2lkIDA9PT1zP3ZvaWQgMDpzLnN0Ymw7aWYoIXUpcmV0dXJuO3ZhciBjPXUuc3R0cyxmPXUuc3RzYyxsPXUuc3RzeixkPXUuc3RjbyxoPXUuc3RzcyxwPXUuY3R0cztpZighKGMmJmYmJmwmJmQmJmgpKXJldHVybjtpPWFwKGMsZixsLGQscCxoKX1pZihuKXt2YXIgdix5LGcsbT1udWxsPT09KHY9bi5tZGlhKXx8dm9pZCAwPT09dnx8bnVsbD09PSh5PXYubWluZil8fHZvaWQgMD09PXk/dm9pZCAwOnkuc3RibDtpZighbSlyZXR1cm47dmFyIGI9bnVsbD09PShnPW4ubWRpYS5tZGhkKXx8dm9pZCAwPT09Zz92b2lkIDA6Zy50aW1lc2NhbGUsdz1tLnN0dHMsaz1tLnN0c2MseD1tLnN0c3osQT1tLnN0Y287aWYoIShiJiZ3JiZrJiZ4JiZBKSlyZXR1cm47YT1hcCh3LGsseCxBKX1yZXR1cm57dmlkZW9TYW1wbGVzOmksYXVkaW9TYW1wbGVzOmF9fX19fV0pLHR9KCk7ZnVuY3Rpb24gYXAodCxlLHIsbixpLGEpe3ZhciBvLHMsdSxjPVtdLGY9bnVsbD09aT92b2lkIDA6aS5lbnRyaWVzLGw9ZS5lbnRyaWVzLGQ9bi5lbnRyaWVzLGg9ci5lbnRyeVNpemVzLHA9bnVsbD09YT92b2lkIDA6YS5lbnRyaWVzO3AmJihvPXt9LHAuZm9yRWFjaCgoZnVuY3Rpb24odCl7b1t0LTFdPSEwfSkpKSxmJiYocz1bXSxmLmZvckVhY2goKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10LmNvdW50LHI9dC5vZmZzZXQsbj0wO248ZTtuKyspcy5wdXNoKHIpfSkpKTt2YXIgdj0tMSx5PTAsZz0wLG09MCxiPTAsdz0wLGs9bFswXS5zYW1wbGVzUGVyQ2h1bmsseD1sWzFdP2xbMV0uZmlyc3RDaHVuay0xOjEvMDtyZXR1cm4gdC5lbnRyaWVzLmZvckVhY2goKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10LmNvdW50LG49dC5kZWx0YSxpPTA7aTxlO2krKyl1PXtkdHM6eSxkdXJhdGlvbjpuLHNpemU6aFtnXXx8ci5zYW1wbGVTaXplLG9mZnNldDpkW21dK3csaW5kZXg6Z30scCYmKHUua2V5ZnJhbWU9b1tnXSx1LmtleWZyYW1lJiZ2KyssdS5nb3BJZD12KSxzJiZnPHMubGVuZ3RoJiYodS5wdHM9dS5kdHMrc1tnXSksYy5wdXNoKHUpLHkrPW4sKytnPGs/dys9dS5zaXplOihtKyssdz0wLG0+PXgmJihiKysseD1sW2IrMV0/bFtiKzFdLmZpcnN0Q2h1bmstMToxLzApLGsrPWxbYl0uc2FtcGxlc1BlckNodW5rKX0pKSxjfWZ1bmN0aW9uIG9wKHQsZSl7cmV0dXJuIHQuZGF0YVJlZmVyZW5jZUluZGV4PXJoKGUsNiksdC53aWR0aD1yaChlLDI0KSx0LmhlaWdodD1yaChlLDI2KSx0Lmhvcml6cmVzb2x1dGlvbj1uaChlLDI4KSx0LnZlcnRyZXNvbHV0aW9uPW5oKGUsMzIpLHQuZnJhbWVDb3VudD1yaChlLDQwKSx0LmRlcHRoPXJoKGUsNzQpLDc4fWZ1bmN0aW9uIHNwKHQsZSl7cmV0dXJuIHQuZGF0YVJlZmVyZW5jZUluZGV4PXJoKGUsNiksdC5jaGFubmVsQ291bnQ9cmgoZSwxNiksdC5zYW1wbGVTaXplPXJoKGUsMTgpLHQuc2FtcGxlUmF0ZT1uaChlLDI0KS82NTUzNiwyOH1mdW5jdGlvbiB1cCh0LGUscil7aWYodCl7aWYodC5zaXplIT09dC5kYXRhLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImJveCAiLmNvbmNhdCh0LnR5cGUsIiBzaXplICE9PSBkYXRhLmxlbmd0aCIpKTt2YXIgbj17c3RhcnQ6dC5zdGFydCxzaXplOnQuc2l6ZSxoZWFkZXJTaXplOnQuaGVhZGVyU2l6ZSx0eXBlOnQudHlwZX07cmV0dXJuIGUmJihuLnZlcnNpb249dC5kYXRhW3QuaGVhZGVyU2l6ZV0sbi5mbGFncz1mdW5jdGlvbih0KXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MDtyZXR1cm4odFtlXTw8MTYpKyh0W2UrMV08PDgpKyh0W2UrMl18fDApfSh0LmRhdGEsdC5oZWFkZXJTaXplKzEpLG4uaGVhZGVyU2l6ZSs9NCkscihuLHQuZGF0YS5zdWJhcnJheShuLmhlYWRlclNpemUpLG4uc3RhcnQrbi5oZWFkZXJTaXplKSxufX12YXIgY3A9ZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgbj1TdHJpbmcociksaT1lPj4wLGE9TWF0aC5jZWlsKGkvbi5sZW5ndGgpLG89W10scz1TdHJpbmcodCk7YS0tOylvLnB1c2gobik7cmV0dXJuIG8uam9pbigiIikuc3Vic3RyaW5nKDAsaS1zLmxlbmd0aCkrc30sZnA9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT1hcmd1bWVudHMubGVuZ3RoLHI9bmV3IEFycmF5KGUpLG49MDtuPGU7bisrKXJbbl09YXJndW1lbnRzW25dO3JldHVybiByLmZvckVhY2goKGZ1bmN0aW9uKGUpe3QucHVzaChjcChOdW1iZXIoZSkudG9TdHJpbmcoMTYpLDIsMCkpfSkpLHRbMF19LGxwPUt1LGRwPSJBcnJheUJ1ZmZlciIsaHA9QXUuQXJyYXlCdWZmZXI7bXIoe2dsb2JhbDohMCxmb3JjZWQ6VC5BcnJheUJ1ZmZlciE9PWhwfSx7QXJyYXlCdWZmZXI6aHB9KSxscChkcCk7dmFyIHBwLHZwPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh2cCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdnAuZGVmYXVsdD1mdW5jdGlvbih0KXtmb3IodmFyIGU9MCxyPWFyZ3VtZW50cy5sZW5ndGgsbj1BcnJheShyPjE/ci0xOjApLGk9MTtpPHI7aSsrKW5baS0xXT1hcmd1bWVudHNbaV07dmFyIGE9ITAsbz0hMSxzPXZvaWQgMDt0cnl7Zm9yKHZhciB1LGM9bltTeW1ib2wuaXRlcmF0b3JdKCk7IShhPSh1PWMubmV4dCgpKS5kb25lKTthPSEwKXt2YXIgZj11LnZhbHVlO2UrPWYubGVuZ3RofX1jYXRjaChiKXtvPSEwLHM9Yn1maW5hbGx5e3RyeXshYSYmYy5yZXR1cm4mJmMucmV0dXJuKCl9ZmluYWxseXtpZihvKXRocm93IHN9fXZhciBsPW5ldyB0KGUpLGQ9MCxoPSEwLHA9ITEsdj12b2lkIDA7dHJ5e2Zvcih2YXIgeSxnPW5bU3ltYm9sLml0ZXJhdG9yXSgpOyEoaD0oeT1nLm5leHQoKSkuZG9uZSk7aD0hMCl7dmFyIG09eS52YWx1ZTtsLnNldChtLGQpLGQrPW0ubGVuZ3RofX1jYXRjaChiKXtwPSEwLHY9Yn1maW5hbGx5e3RyeXshaCYmZy5yZXR1cm4mJmcucmV0dXJuKCl9ZmluYWxseXtpZihwKXRocm93IHZ9fXJldHVybiBsfTt2YXIgeXA9KChwcD12cCkmJnBwLl9fZXNNb2R1bGU/cHA6e2RlZmF1bHQ6cHB9KS5kZWZhdWx0LGdwPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3kodGhpcyx0KSx0aGlzLmJ1ZmZlcj1uZXcgVWludDhBcnJheSgwKX1yZXR1cm4gbSh0LFt7a2V5OiJ3cml0ZSIsdmFsdWU6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcyxlPWFyZ3VtZW50cy5sZW5ndGgscj1uZXcgQXJyYXkoZSksbj0wO248ZTtuKyspcltuXT1hcmd1bWVudHNbbl07ci5mb3JFYWNoKChmdW5jdGlvbihlKXtlP3QuYnVmZmVyPXlwKFVpbnQ4QXJyYXksdC5idWZmZXIsZSk6d2luZG93LmNvbnNvbGUud2FybihlKX0pKX19XSxbe2tleToid3JpdGVVaW50MTYiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgVWludDhBcnJheShbdD4+OCYyNTUsMjU1JnRdKX19LHtrZXk6IndyaXRlVWludDMyIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoW3Q+PjI0LHQ+PjE2JjI1NSx0Pj44JjI1NSwyNTUmdF0pfX1dKSx0fSgpLG1wPU1hdGgucG93KDIsMzIpLTEsYnA9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7eSh0aGlzLHQpfXJldHVybiBtKHQsbnVsbCxbe2tleToiYm94Iix2YWx1ZTpmdW5jdGlvbih0KXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCxyPW5ldyBBcnJheShlPjE/ZS0xOjApLG49MTtuPGU7bisrKXJbbi0xXT1hcmd1bWVudHNbbl07dmFyIGk9OCsocj1yLmZpbHRlcihCb29sZWFuKSkucmVkdWNlKChmdW5jdGlvbih0LGUpe3JldHVybiB0K2UuYnl0ZUxlbmd0aH0pLDApLGE9bmV3IFVpbnQ4QXJyYXkoaSk7YVswXT1pPj4yNCYyNTUsYVsxXT1pPj4xNiYyNTUsYVsyXT1pPj44JjI1NSxhWzNdPTI1NSZpLGEuc2V0KHQsNCk7dmFyIG89ODtyZXR1cm4gci5mb3JFYWNoKChmdW5jdGlvbih0KXthLnNldCh0LG8pLG8rPXQuYnl0ZUxlbmd0aH0pKSxhfX0se2tleToiZnR5cCIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZmluZCgoZnVuY3Rpb24odCl7cmV0dXJuIHQudHlwZT09PUJpJiZ0LmNvZGVjVHlwZT09PXppfSkpP3QuRlRZUEhFVjE6dC5GVFlQQVZDMX19LHtrZXk6ImluaXRTZWdtZW50Iix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGgodC5mdHlwKGUpLHQubW9vdihlKSl9fSx7a2V5OiJwc3NoIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgcj1uZXcgVWludDhBcnJheShbMSwwLDAsMF0uY29uY2F0KFsxNiwxMTksMjM5LDIzNiwxOTIsMTc4LDc3LDIsMTcyLDIyNyw2MCwzMCw4MiwyMjYsMjUxLDc1XSxbMCwwLDAsMV0sb2goZS5raWQpLFswLDAsMCwwXSkpO3JldHVybiB0LmJveCh0LnR5cGVzLnBzc2gscil9fSx7a2V5OiJtb292Iix2YWx1ZTpmdW5jdGlvbihlKXtpZihlWzBdLnVzZUVNRSYmKGVbMF0uZW5jdnx8ZVswXS5lbmNhKSl7ZVswXS5wc3NofHwoZVswXS5wc3NoPXtraWQ6ZVswXS5raWR9KTt2YXIgcj10aGlzLnBzc2goZVswXS5wc3NoKTtyZXR1cm4gdC5ib3guYXBwbHkodCxbdC50eXBlcy5tb292LHQubXZoZChlWzBdLm12aGREdXJ0aW9ufHxlWzBdLmR1cmF0aW9uLGVbMF0ubXZoZFRpbWVjYWxlfHxlWzBdLnRpbWVzY2FsZSksdC5tdmV4KGUpXS5jb25jYXQoayhlLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIHQudHJhayhlKX0pKSksW3JdKSl9cmV0dXJuIHQuYm94LmFwcGx5KHQsW3QudHlwZXMubW9vdix0Lm12aGQoZVswXS5tdmhkRHVydGlvbnx8ZVswXS5kdXJhdGlvbixlWzBdLm12aGRUaW1lY2FsZXx8ZVswXS50aW1lc2NhbGUpXS5jb25jYXQoayhlLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIHQudHJhayhlKX0pKSksW3QubXZleChlKV0pKX19LHtrZXk6Im12aGQiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciByPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTo5ZTQsbj10LmJveCh0LnR5cGVzLm12aGQsbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLHI+PjI0JjI1NSxyPj4xNiYyNTUscj4+OCYyNTUsMjU1JnIsZT4+MjQmMjU1LGU+PjE2JjI1NSxlPj44JjI1NSwyNTUmZSwwLDEsMCwwLDEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw2NCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyNTUsMjU1LDI1NSwyNTVdKSk7cmV0dXJuIG59fSx7a2V5OiJ0cmFrIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdC5ib3godC50eXBlcy50cmFrLHQudGtoZChlLmlkLGUudGtoZER1cmF0aW9ufHwwLGUud2lkdGgsZS5oZWlnaHQpLHQubWRpYShlKSl9fSx7a2V5OiJ0a2hkIix2YWx1ZTpmdW5jdGlvbihlLHIpe3ZhciBuPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTowLGk9YXJndW1lbnRzLmxlbmd0aD4zJiZ2b2lkIDAhPT1hcmd1bWVudHNbM10/YXJndW1lbnRzWzNdOjAsYT10LmJveCh0LnR5cGVzLnRraGQsbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDcsMCwwLDAsMCwwLDAsMCwwLGU+PjI0JjI1NSxlPj4xNiYyNTUsZT4+OCYyNTUsMjU1JmUsMCwwLDAsMCxyPj4yNCYyNTUscj4+MTYmMjU1LHI+PjgmMjU1LDI1NSZyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMCwxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDY0LDAsMCwwLG4+PjgmMjU1LDI1NSZuLDAsMCxpPj44JjI1NSwyNTUmaSwwLDBdKSk7cmV0dXJuIGF9fSx7a2V5OiJtZGlhIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdC5ib3godC50eXBlcy5tZGlhLHQubWRoZChlLmR1cmF0aW9uLGUudGltZXNjYWxlKSx0LmhkbHIoZS50eXBlKSx0Lm1pbmYoZSkpfX0se2tleToibWRoZCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHI9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOjllNCxuPXQuYm94KHQudHlwZXMubWRoZCxuZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAscj4+MjQmMjU1LHI+PjE2JjI1NSxyPj44JjI1NSwyNTUmcixlPj4yNCYyNTUsZT4+MTYmMjU1LGU+PjgmMjU1LDI1NSZlLDg1LDE5NiwwLDBdKSk7cmV0dXJuIG59fSx7a2V5OiJoZGxyIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdC5ib3godC50eXBlcy5oZGxyLHQuSERMUl9UWVBFU1tlXSl9fSx7a2V5OiJtaW5mIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdC5ib3godC50eXBlcy5taW5mLGUudHlwZT09PUJpP3QuVk1IRDp0LlNNSEQsdC5ESU5GLHQuc3RibChlKSl9fSx7a2V5OiJzdGJsIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgcj1bXTtyZXR1cm4gZSYmZS5leHQmJmUuZXh0LnN0c3MmJnIucHVzaCh0LnN0c3MoZS5leHQuc3Rzcy5lbnRyaWVzKSksdC5ib3godC50eXBlcy5zdGJsLHQuc3RzZChlKSx0LlNUVFMsclswXSx0LlNUU0MsdC5TVFNaLHQuU1RDTyl9fSx7a2V5OiJzdHNkIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgcjtyZXR1cm4gcj0iYXVkaW8iPT09ZS50eXBlP2UudXNlRU1FJiZlLmVuY2E/dC5lbmNhKGUpOnQubXA0YShlKTplLnVzZUVNRSYmZS5lbmN2P3QuZW5jdihlKTp0LmF2YzFoZXYxKGUpLHQuYm94KHQudHlwZXMuc3RzZCxuZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwxXSkscil9fSx7a2V5OiJlbmNhIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgcj1lLmVuY2EuY2hhbm5lbENvdW50LG49ZS5lbmNhLnNhbXBsZVJhdGUsaT1uZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDAsMCwwLDAsMCwwLHIsMCwxNiwwLDAsMCwwLG4+PjgmMjU1LDI1NSZuLDAsMF0pLGE9dC5lc2RzKGUuY29uZmlnKSxvPXQuc2luZihlLmVuY2EpO3JldHVybiB0LmJveCh0LnR5cGVzLmVuY2EsaSxhLG8pfX0se2tleToiZW5jdiIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHIsbixpPWUuc3BzLmxlbmd0aD4wP2Uuc3BzWzBdOltdLGE9ZS5wcHMubGVuZ3RoPjA/ZS5wcHNbMF06W10sbz1lLndpZHRoLHM9ZS5oZWlnaHQsdT1lLnNhclJhdGlvWzBdLGM9ZS5zYXJSYXRpb1sxXSxmPW5ldyBVaW50OEFycmF5KFswLDAsMCwwLDAsMCwwLDEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCxvPj44JjI1NSwyNTUmbyxzPj44JjI1NSwyNTUmcywwLDcyLDAsMCwwLDcyLDAsMCwwLDAsMCwwLDAsMSwxOCwxMDAsOTcsMTA1LDEwOCwxMjEsMTA5LDExMSwxMTYsMTA1LDExMSwxMTAsNDcsMTA0LDEwOCwxMTUsNDYsMTA2LDExNSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMjQsMTcsMTddKSxsPW5ldyBVaW50OEFycmF5KChyPShuPVsxLGlbMV0saVsyXSxpWzNdLDI1NSwyMjUsaS5sZW5ndGg+Pj44JjI1NSwyNTUmaS5sZW5ndGhdKS5jb25jYXQuYXBwbHkobixrKGkpKS5jb25jYXQoWzEsYS5sZW5ndGg+Pj44JjI1NSwyNTUmYS5sZW5ndGhdKSkuY29uY2F0LmFwcGx5KHIsayhhKSkpLGQ9bmV3IFVpbnQ4QXJyYXkoWzAsMCw4OCw1NywwLDE1LDIwMCwxOTIsMCw0LDg2LDcyXSksaD10LnNpbmYoZS5lbmN2KSxwPW5ldyBVaW50OEFycmF5KFt1Pj4yNCx1Pj4xNiYyNTUsdT4+OCYyNTUsMjU1JnUsYz4+MjQsYz4+MTYmMjU1LGM+PjgmMjU1LDI1NSZjXSk7cmV0dXJuIHQuYm94KHQudHlwZXMuZW5jdixmLHQuYm94KHQudHlwZXMuYXZjQyxsKSx0LmJveCh0LnR5cGVzLmJ0cnQsZCksaCx0LmJveCh0LnR5cGVzLnBhc3AscCkpfX0se2tleToic2NoaSIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHI9bmV3IFVpbnQ4QXJyYXkoW10pLG49dC50ZW5jKGUpO3JldHVybiB0LmJveCh0LnR5cGVzLnNjaGkscixuKX19LHtrZXk6InRlbmMiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciByPW5ldyBVaW50OEFycmF5KFswLDAsMCwwLDAsMCwyNTUmZS5kZWZhdWx0X0lzRW5jcnlwdGVkLDI1NSZlLmRlZmF1bHRfSVZfc2l6ZV0uY29uY2F0KG9oKGUuZGVmYXVsdF9LSUQpKSk7cmV0dXJuIHQuYm94KHQudHlwZXMudGVuYyxyKX19LHtrZXk6InNpbmYiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciByPW5ldyBVaW50OEFycmF5KFtdKSxuPW5ldyBVaW50OEFycmF5KFtlLmRhdGFfZm9ybWF0LmNoYXJDb2RlQXQoMCksZS5kYXRhX2Zvcm1hdC5jaGFyQ29kZUF0KDEpLGUuZGF0YV9mb3JtYXQuY2hhckNvZGVBdCgyKSxlLmRhdGFfZm9ybWF0LmNoYXJDb2RlQXQoMyldKSxpPW5ldyBVaW50OEFycmF5KFswLDAsMCwwLDk5LDEwMSwxMTAsOTksMCwxLDAsMF0pLGE9dC5zY2hpKGUpO3JldHVybiB0LmJveCh0LnR5cGVzLnNpbmYscix0LmJveCh0LnR5cGVzLmZybWEsbiksdC5ib3godC50eXBlcy5zY2htLGkpLGEpfX0se2tleToiYXZjMWhldjEiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciByPWUuY29kZWNUeXBlPT09emksbj1yP3QudHlwZXMuaHZjMTp0LnR5cGVzLmF2YzEsaT1yP3QuaHZjQyhlKTp0LmF2Y0MoZSksYT1bbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMCwwLDAsMSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLGUud2lkdGg+PjgmMjU1LDI1NSZlLndpZHRoLGUuaGVpZ2h0Pj44JjI1NSwyNTUmZS5oZWlnaHQsMCw3MiwwLDAsMCw3MiwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMjQsMTcsMTddKSxpXTtyZXR1cm4gcj9hLnB1c2godC5ib3godC50eXBlcy5maWVsLG5ldyBVaW50OEFycmF5KFsxLDBdKSkpOmUuc2FyUmF0aW8mJmUuc2FyUmF0aW8ubGVuZ3RoPjEmJmEucHVzaCh0LnBhc3AoZS5zYXJSYXRpbykpLHQuYm94LmFwcGx5KHQsW25dLmNvbmNhdChhKSl9fSx7a2V5OiJhdmNDIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgcixuLGksYT1bXSxvPVtdO3JldHVybiBlLnNwcy5mb3JFYWNoKChmdW5jdGlvbih0KXtpPXQuYnl0ZUxlbmd0aCxhLnB1c2goaT4+PjgmMjU1KSxhLnB1c2goMjU1JmkpLGEucHVzaC5hcHBseShhLGsodCkpfSkpLGUucHBzLmZvckVhY2goKGZ1bmN0aW9uKHQpe2k9dC5ieXRlTGVuZ3RoLG8ucHVzaChpPj4+OCYyNTUpLG8ucHVzaCgyNTUmaSksby5wdXNoLmFwcGx5KG8sayh0KSl9KSksdC5ib3godC50eXBlcy5hdmNDLG5ldyBVaW50OEFycmF5KChyPShuPVsxLGFbM10sYVs0XSxhWzVdLDI1NSwyMjR8ZS5zcHMubGVuZ3RoXSkuY29uY2F0LmFwcGx5KG4sYSkuY29uY2F0KFtlLnBwcy5sZW5ndGhdKSkuY29uY2F0LmFwcGx5KHIsbykpKX19LHtrZXk6Imh2Y0MiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciByPWUuaHZjQztpZihyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ8fHIgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybiByO3ZhciBuLGk9ZS52cHMsYT1lLnNwcyxvPWUucHBzO2lmKHIpe3ZhciBzPXIuZ2VuZXJhbFByb2ZpbGVDb21wYXRpYmlsaXR5RmxhZ3MsdT1yLmdlbmVyYWxDb25zdHJhaW50SW5kaWNhdG9yRmxhZ3MsYz0oaS5sZW5ndGgmJjEpKyhhLmxlbmd0aCYmMSkrKG8ubGVuZ3RoJiYxKTtuPVsxLHIuZ2VuZXJhbFByb2ZpbGVTcGFjZTw8NnxyLmdlbmVyYWxUaWVyRmxhZzw8NXxyLmdlbmVyYWxQcm9maWxlSWRjLHM+Pj4yNCxzPj4+MTYscz4+Pjgscyx1WzBdLHVbMV0sdVsyXSx1WzNdLHVbNF0sdVs1XSxyLmdlbmVyYWxMZXZlbElkYywyNDAsMCwyNTIsMjUyfHIuY2hyb21hRm9ybWF0SWRjLDI0OHxyLmJpdERlcHRoTHVtYU1pbnVzOCwyNDh8ci5iaXREZXB0aENocm9tYU1pbnVzOCwwLDAsci5udW1UZW1wb3JhbExheWVyczw8M3xyLnRlbXBvcmFsSWROZXN0ZWQ8PDJ8MyxjXTt2YXIgZj1mdW5jdGlvbih0KXt2YXIgZTtuLnB1c2godC5sZW5ndGg+PjgsdC5sZW5ndGgpLChlPW4pLnB1c2guYXBwbHkoZSxrKHQpKX07aS5sZW5ndGgmJihuLnB1c2goMTYwLDAsaS5sZW5ndGgpLGkuZm9yRWFjaChmKSksYS5sZW5ndGgmJihuLnB1c2goMTYxLDAsYS5sZW5ndGgpLGEuZm9yRWFjaChmKSksby5sZW5ndGgmJihuLnB1c2goMTYyLDAsby5sZW5ndGgpLG8uZm9yRWFjaChmKSl9ZWxzZSBuPVsxLDEsOTYsMCwwLDAsMTQ0LDAsMCwwLDAsMCw5MywyNDAsMCwyNTIsMjUzLDI0OCwyNDgsMCwwLDE1LDMsMTYwLDAsMSwwLDI0LDY0LDEsMTIsMSwyNTUsMjU1LDEsOTYsMCwwLDMsMCwxNDQsMCwwLDMsMCwwLDMsMCw5MywxNTMsMTUyLDksMTYxLDAsMSwwLDQ1LDY2LDEsMSwxLDk2LDAsMCwzLDAsMTQ0LDAsMCwzLDAsMCwzLDAsOTMsMTYwLDIsMTI4LDEyOCw0NSwyMiw4OSwxNTMsMTY0LDE0Nyw0MywxNTQsMTI4LDEyOCwxMjgsMTMwLDAsMCwzLDAsMiwwLDAsMywwLDUwLDE2LDE2MiwwLDEsMCw3LDY4LDEsMTkzLDExNCwxODAsOTgsNjRdO3JldHVybiB0LmJveCh0LnR5cGVzLmh2Y0MsbmV3IFVpbnQ4QXJyYXkobikpfX0se2tleToicGFzcCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHI9dyhlLDIpLG49clswXSxpPXJbMV07cmV0dXJuIHQuYm94KHQudHlwZXMucGFzcCxuZXcgVWludDhBcnJheShbbj4+MjQsbj4+MTYmMjU1LG4+PjgmMjU1LDI1NSZuLGk+PjI0LGk+PjE2JjI1NSxpPj44JjI1NSwyNTUmaV0pKX19LHtrZXk6Im1wNGEiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB0LmJveCh0LnR5cGVzLm1wNGEsbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMCwwLDAsMSwwLDAsMCwwLDAsMCwwLDAsMCxlLmNoYW5uZWxDb3VudCwwLDE2LDAsMCwwLDAsZS5zYW1wbGVSYXRlPj44JjI1NSwyNTUmZS5zYW1wbGVSYXRlLDAsMF0pLGUuY29uZmlnLmxlbmd0aD90LmVzZHMoZS5jb25maWcpOnZvaWQgMCl9fSx7a2V5OiJlc2RzIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgcj1lLmxlbmd0aDtyZXR1cm4gdC5ib3godC50eXBlcy5lc2RzLG5ldyBVaW50OEFycmF5KFswLDAsMCwwLDMsMjMrciwwLDAsMCw0LDE1K3IsNjQsMjEsMCw2LDAsMCwwLDIxOCwxOTIsMCwwLDIxOCwxOTIsNV0uY29uY2F0KFtyXSkuY29uY2F0KGUpLmNvbmNhdChbNiwxLDJdKSkpfX0se2tleToibXZleCIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuYm94LmFwcGx5KHQsW3QudHlwZXMubXZleF0uY29uY2F0KGsoZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiB0LnRyZXgoZS5pZCl9KSkpKSl9fSx7a2V5OiJ0cmV4Iix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdC5ib3godC50eXBlcy50cmV4LG5ldyBVaW50OEFycmF5KFswLDAsMCwwLGU+PjI0LGU+PjE2JjI1NSxlPj44JjI1NSwyNTUmZSwwLDAsMCwxLDAsMCwwLDAsMCwwLDAsMCwwLDEsMCwxXSkpfX0se2tleToidHJleDEiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB0LmJveCh0LnR5cGVzLnRyZXgsbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsZT4+MjQsZT4+MTYmMjU1LGU+PjgmMjU1LDI1NSZlLDAsMCwwLDEsMCwwLDIsMCwwLDAsMCwwLDAsMSwwLDBdKSl9fSx7a2V5OiJ0cmV4MiIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuYm94KHQudHlwZXMudHJleCxuZXcgVWludDhBcnJheShbMCwwLDAsMCxlPj4yNCxlPj4xNiYyNTUsZT4+OCYyNTUsMjU1JmUsMCwwLDAsMSwwLDAsNCwwLDAsMCwwLDAsMiwwLDAsMF0pKX19LHtrZXk6Im1vb2YiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB0LmJveC5hcHBseSh0LFt0LnR5cGVzLm1vb2YsdC5tZmhkKGVbMF0uc2FtcGxlcz9lWzBdLnNhbXBsZXNbMF0uZ29wSWQ6MCldLmNvbmNhdChrKGUubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gdC50cmFmKGUpfSkpKSkpfX0se2tleToibWZoZCIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuYm94KHQudHlwZXMubWZoZCxuZXcgVWludDhBcnJheShbMCwwLDAsMCxlPj4yNCxlPj4xNiYyNTUsZT4+OCYyNTUsMjU1JmVdKSl9fSx7a2V5OiJ0cmFmIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgcj10LnRmaGQoZS5pZCksbj10LnRmZHQoZSxlLmJhc2VNZWRpYURlY29kZVRpbWUpO2lmKGUudXNlRU1FJiYoZS5pc1ZpZGVvRW5jcnlwdGlvbnx8ZS5pc0F1ZGlvRW5jcnlwdGlvbikpe2lmKGUuaXNWaWRlb0VuY3J5cHRpb24pe2lmKDE9PT1lLmlkKXt2YXIgaT10LnNhaXooZSksYT10LnNhaW8oZSksbz10LnRydW4xKGUpLHM9dC5zZW5jKGUpO3JldHVybiB0LmJveCh0LnR5cGVzLnRyYWYscixuLGksYSxvLHMpfWlmKGUuaXNBdWRpb0VuY3J5cHRpb24pe3ZhciB1PXQuc2JncCgpLGM9dC5zYWl6KGUpLGY9dC5zYWlvKGUpLGw9dC5zZW5jKGUpLGQ9dC50cnVuMShlKTtyZXR1cm4gdC5ib3godC50eXBlcy50cmFmLHIsbix1LGMsZixsLGQpfXZhciBoPXQuc2JncCgpLHA9dC50cnVuMShlKTtyZXR1cm4gdC5ib3godC50eXBlcy50cmFmLHIsbixoLHApfWlmKDE9PT1lLmlkKXt2YXIgdj10LnRydW4xKGUpO3JldHVybiB0LmJveCh0LnR5cGVzLnRyYWYscixuLHYpfXZhciB5PXQuc2JncCgpLGc9dC5zYWl6KGUpLG09dC5zYWlvKGUpLGI9dC5zZW5jKGUpLHc9dC50cnVuMShlKTtyZXR1cm4gdC5ib3godC50eXBlcy50cmFmLHIsbix5LGcsbSxiLHcpfXZhciBrPXQuc2R0cChlKTtyZXR1cm4gdC5ib3godC50eXBlcy50cmFmLHIsbixrLHQudHJ1bihlLnNhbXBsZXMsay5ieXRlTGVuZ3RoKzc2KSl9fSx7a2V5OiJzZHRwIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgcj1uZXcgZ3A7cmV0dXJuIGUuc2FtcGxlcy5mb3JFYWNoKChmdW5jdGlvbih0KXtyLndyaXRlKG5ldyBVaW50OEFycmF5KDE9PT1lLmlkP1t0LmtleWZyYW1lPzMyOjE2XTpbMTZdKSl9KSksdC5ib3godC50eXBlcy5zZHRwLHRoaXMuZXh0ZW5zaW9uKDAsMCksci5idWZmZXIpfX0se2tleToidHJ1bjEiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciByPW5ldyBncCxuPWdwLndyaXRlVWludDMyKGUuc2FtcGxlcy5sZW5ndGgpLGk9bnVsbDtpZigxPT09ZS5pZCl7dmFyIGE9ZS52aWRlb1NlbmNMZW5ndGg7aT1ncC53cml0ZVVpbnQzMigxNiplLnNhbXBsZXMubGVuZ3RoK2ErMTQ5KSwhZS5pc1ZpZGVvRW5jcnlwdGlvbiYmZS5pc0F1ZGlvRW5jcnlwdGlvbiYmKGk9Z3Aud3JpdGVVaW50MzIoMTYqZS5zYW1wbGVzLmxlbmd0aCs5MikpfWVsc2V7dmFyIG89MTIqZS5zYW1wbGVzLmxlbmd0aCsxMjQ7ZS5pc0F1ZGlvRW5jcnlwdGlvbiYmKG89MTIqZS5zYW1wbGVzLmxlbmd0aCs4KmUuYXVkaW9TZW5jLmxlbmd0aCsxNzcpLGk9Z3Aud3JpdGVVaW50MzIobyl9cmV0dXJuIGUuc2FtcGxlcy5mb3JFYWNoKChmdW5jdGlvbih0KXtyLndyaXRlKGdwLndyaXRlVWludDMyKHQuZHVyYXRpb24pKSxyLndyaXRlKGdwLndyaXRlVWludDMyKHQuc2l6ZSkpLHIud3JpdGUoZ3Aud3JpdGVVaW50MzIodC5rZXlmcmFtZT8zMzU1NDQzMjo2NTUzNikpLDE9PT1lLmlkJiZyLndyaXRlKGdwLndyaXRlVWludDMyKHQuY3RzP3QuY3RzOjApKX0pKSx0LmJveCh0LnR5cGVzLnRydW4sdGhpcy5leHRlbnNpb24oMCxlLmZsYWdzKSxuLGksci5idWZmZXIpfX0se2tleToic2VuYyIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHI9bmV3IGdwLG49ZS5zYW1wbGVzLmxlbmd0aCxpPTE9PT1lLmlkPzE2OjgsYT0xPT09ZS5pZD8yOjAsbz1bXSxzPTA7cmV0dXJuIDE9PT1lLmlkPyhvPWUudmlkZW9TZW5jLHM9ZS52aWRlb1NlbmNMZW5ndGgpOm89ZS5hdWRpb1NlbmMscz1zfHxpKm4sci53cml0ZShncC53cml0ZVVpbnQzMigxNitzKSx0LnR5cGVzLnNlbmMsdGhpcy5leHRlbnNpb24oMCxhKSksci53cml0ZShncC53cml0ZVVpbnQzMihuKSksby5mb3JFYWNoKChmdW5jdGlvbih0KXtmb3IodmFyIGU9MDtlPHQuSW5pdGlhbGl6YXRpb25WZWN0b3IubGVuZ3RoO2UrKylyLndyaXRlKG5ldyBVaW50OEFycmF5KFt0LkluaXRpYWxpemF0aW9uVmVjdG9yW2VdXSkpO3Quc3Vic2FtcGxlcyYmdC5zdWJzYW1wbGVzLmxlbmd0aCYmKHIud3JpdGUoZ3Aud3JpdGVVaW50MTYodC5zdWJzYW1wbGVzLmxlbmd0aCkpLHQuc3Vic2FtcGxlcy5mb3JFYWNoKChmdW5jdGlvbih0KXtyLndyaXRlKGdwLndyaXRlVWludDE2KHQuQnl0ZXNPZkNsZWFyRGF0YSkpLHIud3JpdGUoZ3Aud3JpdGVVaW50MzIodC5CeXRlc09mUHJvdGVjdGVkRGF0YSkpfSkpKX0pKSxyLmJ1ZmZlcn19LHtrZXk6InNhaW8iLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciByPTEyKmUuc2FtcGxlcy5sZW5ndGgrMTQxOzI9PT1lLmlkJiZlLmlzQXVkaW9FbmNyeXB0aW9uJiYocj0xNDkpO3ZhciBuPW5ldyBVaW50OEFycmF5KFsxLDAsMCwwLDAsMCwwLDEsMCwwLDAsMCxyPj4yNCYyNTUscj4+MTYmMjU1LHI+PjgmMjU1LDI1NSZyXSk7cmV0dXJuIHQuYm94KHQudHlwZXMuc2FpbyxuKX19LHtrZXk6InNhaXoiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciByPWUuc2FtcGxlcy5sZW5ndGgsbj1uZXcgVWludDhBcnJheShbMCwwLDAsMCwxNixyPj4yNCYyNTUscj4+MTYmMjU1LHI+PjgmMjU1LDI1NSZyXSk7cmV0dXJuIHQuYm94KHQudHlwZXMuc2FpeixuKX19LHtrZXk6InNiZ3AiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU9bmV3IFVpbnQ4QXJyYXkoWzExNCwxMTEsMTA4LDEwOCwwLDAsMCwxLDAsMCwxLDI1LDAsMCwwLDFdKTtyZXR1cm4gdC5ib3godC50eXBlcy5zYmdwLHRoaXMuZXh0ZW5zaW9uKDAsMCksZSl9fSx7a2V5OiJleHRlbnNpb24iLHZhbHVlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBVaW50OEFycmF5KFt0LGU+PjE2JjI1NSxlPj44JjI1NSwyNTUmZV0pfX0se2tleToidGZoZCIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuYm94KHQudHlwZXMudGZoZCxuZXcgVWludDhBcnJheShbMCwwLDAsMCxlPj4yNCxlPj4xNiYyNTUsZT4+OCYyNTUsMjU1JmVdKSl9fSx7a2V5OiJ0ZmR0Iix2YWx1ZTpmdW5jdGlvbihlLHIpe3ZhciBuPU1hdGguZmxvb3Ioci8obXArMSkpLGk9TWF0aC5mbG9vcihyJShtcCsxKSk7cmV0dXJuIGUudXNlRU1FJiYoZS5pc1ZpZGVvRW5jcnlwdGlvbnx8ZS5pc0F1ZGlvRW5jcnlwdGlvbik/dC5ib3godC50eXBlcy50ZmR0LG5ldyBVaW50OEFycmF5KFswLDAsMCwwLGk+PjI0LGk+PjE2JjI1NSxpPj44JjI1NSwyNTUmaV0pKTp0LmJveCh0LnR5cGVzLnRmZHQsbmV3IFVpbnQ4QXJyYXkoWzEsMCwwLDAsbj4+MjQsbj4+MTYmMjU1LG4+PjgmMjU1LDI1NSZuLGk+PjI0LGk+PjE2JjI1NSxpPj44JjI1NSwyNTUmaV0pKX19LHtrZXk6InRydW4iLHZhbHVlOmZ1bmN0aW9uKGUscil7dmFyIG49ZS5sZW5ndGgsaT0xMisxNipuO3IrPTgraTt2YXIgYT1uZXcgVWludDhBcnJheShpKTthLnNldChbMCwwLDE1LDEsbj4+PjI0JjI1NSxuPj4+MTYmMjU1LG4+Pj44JjI1NSwyNTUmbixyPj4+MjQmMjU1LHI+Pj4xNiYyNTUscj4+PjgmMjU1LDI1NSZyXSwwKTtmb3IodmFyIG89MDtvPG47bysrKXt2YXIgcz1lW29dLHU9cy5kdXJhdGlvbixjPXMuc2l6ZSxmPXMuZmxhZyxsPXZvaWQgMD09PWY/e306ZixkPXMuY3RzLGg9dm9pZCAwPT09ZD8wOmQ7YS5zZXQoW3U+Pj4yNCYyNTUsdT4+PjE2JjI1NSx1Pj4+OCYyNTUsMjU1JnUsYz4+PjI0JjI1NSxjPj4+MTYmMjU1LGM+Pj44JjI1NSwyNTUmYyxsLmlzTGVhZGluZzw8MnwobnVsbD09PWwuZGVwZW5kc09ufHx2b2lkIDA9PT1sLmRlcGVuZHNPbj8xOmwuZGVwZW5kc09uKSxsLmlzRGVwZW5kZWRPbjw8NnxsLmhhc1JlZHVuZGFuY3k8PDR8bC5wYWRkaW5nVmFsdWU8PDF8KG51bGw9PT1sLmlzTm9uU3luY1NhbXBsZXx8dm9pZCAwPT09bC5pc05vblN5bmNTYW1wbGU/MTpsLmlzTm9uU3luY1NhbXBsZSksNjE0NDAmbC5kZWdyYWRhdGlvblByaW9yaXR5LDE1JmwuZGVncmFkYXRpb25Qcmlvcml0eSxoPj4+MjQmMjU1LGg+Pj4xNiYyNTUsaD4+PjgmMjU1LDI1NSZoXSwxMisxNipvKX1yZXR1cm4gdC5ib3godC50eXBlcy50cnVuLGEpfX0se2tleToibW9vdk1QNCIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuYm94LmFwcGx5KHQsW3QudHlwZXMubW9vdix0Lm12aGQoZVswXS5kdXJhdGlvbixlWzBdLnRpbWVzY2FsZSldLmNvbmNhdChrKGUubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gdC50cmFja01QNChlKX0pKSkpKX19LHtrZXk6InRyYWNrTVA0Iix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdC5ib3godC50eXBlcy50cmFrLHQudGtoZChlLmlkLGUuZHVyYXRpb24sZS53aWR0aCxlLmhlaWdodCksdC5tZGlhTVA0KGUpKX19LHtrZXk6Im1kaWFNUDQiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB0LmJveCh0LnR5cGVzLm1kaWEsdC5tZGhkKGUuZHVyYXRpb24sZS50aW1lc2NhbGUpLHQuaGRscihlLnR5cGUpLHQubWluZk1QNChlKSl9fSx7a2V5OiJtaW5mTVA0Iix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdC5ib3godC50eXBlcy5taW5mLGUudHlwZT09PUJpP3QuVk1IRDp0LlNNSEQsdC5ESU5GLHQuc3RibE1QNChlKSl9fSx7a2V5OiJzdGJsTVA0Iix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgcj1lLmV4dCxuPVt0LnN0c2QoZSksdC5zdHRzKHIuc3R0cyksdC5zdHNjKHIuc3RzYyksdC5zdHN6KHIuc3RzeiksdC5zdGNvKHIuc3RjbyldO3JldHVybiByLnN0c3MubGVuZ3RoJiZuLnB1c2godC5zdHNzKHIuc3RzcykpLHIuY3R0cy5sZW5ndGgmJm4ucHVzaCh0LmN0dHMoci5jdHRzKSksdC5ib3guYXBwbHkodCxbdC50eXBlcy5zdGJsXS5jb25jYXQobikpfX0se2tleToic3R0cyIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHI9ZS5sZW5ndGgsbj1uZXcgVWludDhBcnJheSg4KnIpLGk9MDtyZXR1cm4gZS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT10LnZhbHVlLHI9dC5jb3VudDtuLnNldChbcj4+MjQscj4+MTYmMjU1LHI+PjgmMjU1LDI1NSZyLGU+PjI0LGU+PjE2JjI1NSxlPj44JjI1NSwyNTUmZV0saSksaSs9OH0pKSx0LmJveCh0LnR5cGVzLnN0dHMsdGgobmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAscj4+MjQscj4+MTYmMjU1LHI+PjgmMjU1LDI1NSZyXSksbikpfX0se2tleToic3RzYyIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHI9ZS5sZW5ndGgsbj1uZXcgVWludDhBcnJheSgxMipyKSxpPTA7cmV0dXJuIGUuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIGU9dC5maXJzdENodW5rLHI9dC5zYW1wbGVzUGVyQ2h1bmssYT10LnNhbXBsZURlc2NJbmRleDtuLnNldChbZT4+MjQsZT4+MTYmMjU1LGU+PjgmMjU1LDI1NSZlLHI+PjI0LHI+PjE2JjI1NSxyPj44JjI1NSwyNTUmcixhPj4yNCxhPj4xNiYyNTUsYT4+OCYyNTUsMjU1JmFdLGkpLGkrPTEyfSkpLHQuYm94KHQudHlwZXMuc3RzYyx0aChuZXcgVWludDhBcnJheShbMCwwLDAsMCxyPj4yNCxyPj4xNiYyNTUscj4+OCYyNTUsMjU1JnJdKSxuKSl9fSx7a2V5OiJzdHN6Iix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgcj1lLmxlbmd0aCxuPW5ldyBVaW50OEFycmF5KDQqciksaT0wO3JldHVybiBlLmZvckVhY2goKGZ1bmN0aW9uKHQpe24uc2V0KFt0Pj4yNCx0Pj4xNiYyNTUsdD4+OCYyNTUsMjU1JnRdLGkpLGkrPTR9KSksdC5ib3godC50eXBlcy5zdHN6LHRoKG5ldyBVaW50OEFycmF5KFswLDAsMCwwLDAsMCwwLDAscj4+MjQscj4+MTYmMjU1LHI+PjgmMjU1LDI1NSZyXSksbikpfX0se2tleToic3RjbyIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHI9ZS5sZW5ndGgsbj1uZXcgVWludDhBcnJheSg0KnIpLGk9MDtyZXR1cm4gZS5mb3JFYWNoKChmdW5jdGlvbih0KXtuLnNldChbdD4+MjQsdD4+MTYmMjU1LHQ+PjgmMjU1LDI1NSZ0XSxpKSxpKz00fSkpLHQuYm94KHQudHlwZXMuc3Rjbyx0aChuZXcgVWludDhBcnJheShbMCwwLDAsMCxyPj4yNCxyPj4xNiYyNTUscj4+OCYyNTUsMjU1JnJdKSxuKSl9fSx7a2V5OiJzdHNzIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgcj1lLmxlbmd0aCxuPW5ldyBVaW50OEFycmF5KDQqciksaT0wO3JldHVybiBlLmZvckVhY2goKGZ1bmN0aW9uKHQpe24uc2V0KFt0Pj4yNCx0Pj4xNiYyNTUsdD4+OCYyNTUsMjU1JnRdLGkpLGkrPTR9KSksdC5ib3godC50eXBlcy5zdHNzLHRoKG5ldyBVaW50OEFycmF5KFswLDAsMCwwLHI+PjI0LHI+PjE2JjI1NSxyPj44JjI1NSwyNTUmcl0pLG4pKX19LHtrZXk6ImN0dHMiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciByPWUubGVuZ3RoLG49bmV3IFVpbnQ4QXJyYXkoOCpyKSxpPTA7cmV0dXJuIGUuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIGU9dC52YWx1ZSxyPXQuY291bnQ7bi5zZXQoW3I+PjI0LHI+PjE2JjI1NSxyPj44JjI1NSwyNTUmcixlPj4yNCxlPj4xNiYyNTUsZT4+OCYyNTUsMjU1JmVdLGkpLGkrPTh9KSksdC5ib3godC50eXBlcy5jdHRzLHRoKG5ldyBVaW50OEFycmF5KFswLDAsMCwwLHI+PjI0LHI+PjE2JjI1NSxyPj44JjI1NSwyNTUmcl0pLG4pKX19LHtrZXk6InN0eXAiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHQuYm94KHQudHlwZXMuc3R5cCxuZXcgVWludDhBcnJheShbMTA5LDExNSwxMDAsMTA0LDAsMCwwLDAsMTA5LDExNSwxMDAsMTA0LDEwOSwxMTUsMTA1LDEyMF0pKX19LHtrZXk6InNpZHgiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciByPWUudGltZXNjYWxlLG49ZS5zYW1wbGVzWzBdLmR1cmF0aW9uLGk9biplLnNhbXBsZXMubGVuZ3RoLGE9ZS5zYW1wbGVzWzBdLnNhbXBsZU9mZnNldCpuLG89ODtlLnNhbXBsZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7bys9dC5zaXplfSkpO3ZhciBzPTA7aWYoMT09PWUuaWQpe3ZhciB1LGM9MDtlLnZpZGVvU2VuYyYmKHU9ZS52aWRlb1NlbmMpLDE9PT1lLmlkJiZ1LmZvckVhY2goKGZ1bmN0aW9uKHQpe2MrPTgsdC5zdWJzYW1wbGVzJiZ0LnN1YnNhbXBsZXMubGVuZ3RoJiYoYys9MixjKz02KnQuc3Vic2FtcGxlcy5sZW5ndGgpfSkpLGUudmlkZW9TZW5jTGVuZ3RoPWMscz1vKzE0MSsxNiplLnNhbXBsZXMubGVuZ3RoK2MsZS51c2VFTUUmJmUuaXNBdWRpb0VuY3J5cHRpb24mJiFlLmlzVmlkZW9FbmNyeXB0aW9uJiYocz1vKzE2KmUuc2FtcGxlcy5sZW5ndGgrODQpfWVsc2Ugcz1vKzExNisxMiplLnNhbXBsZXMubGVuZ3RoLGUudXNlRU1FJiZlLmlzQXVkaW9FbmNyeXB0aW9uJiYocz1vKzE2OSsxMiplLnNhbXBsZXMubGVuZ3RoKzgqZS5hdWRpb1NlbmMubGVuZ3RoKTt2YXIgZj1uZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwyNTUmZS5pZCxyPj4yNCYyNTUscj4+MTYmMjU1LHI+PjgmMjU1LDI1NSZyLGE+PjI0JjI1NSxhPj4xNiYyNTUsYT4+OCYyNTUsMjU1JmEsMCwwLDAsMCwwLDAsMCwxLDAscz4+MTYmMjU1LHM+PjgmMjU1LDI1NSZzLGk+PjI0JjI1NSxpPj4xNiYyNTUsaT4+OCYyNTUsMjU1JmksMTQ0LDAsMCwwXSk7cmV0dXJuIHQuYm94KHQudHlwZXMuc2lkeCxmKX19LHtrZXk6Im1kYXQiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB0LmJveCh0LnR5cGVzLm1kYXQsZSl9fV0pLHR9KCk7YihicCwidHlwZXMiLFsiYXZjMSIsImF2Y0MiLCJodmMxIiwiaHZjQyIsImRpbmYiLCJkcmVmIiwiZXNkcyIsImZ0eXAiLCJoZGxyIiwibWRhdCIsIm1kaGQiLCJtZGlhIiwibWZoZCIsIm1pbmYiLCJtb29mIiwibW9vdiIsIm1wNGEiLCJtdmV4IiwibXZoZCIsInBhc3AiLCJzdGJsIiwic3RjbyIsInN0c2MiLCJzdHNkIiwic3RzeiIsInN0dHMiLCJ0ZmR0IiwidGZoZCIsInRyYWYiLCJ0cmFrIiwidHJleCIsInRraGQiLCJ2bWhkIiwic21oZCIsImN0dHMiLCJzdHNzIiwic3R5cCIsInBzc2giLCJzaWR4Iiwic2JncCIsInNhaXoiLCJzYWlvIiwic2VuYyIsInRydW4iLCJlbmN2IiwiZW5jYSIsInNpbmYiLCJidHJ0IiwiZnJtYSIsInRlbmMiLCJzY2htIiwic2NoaSIsIm1laGQiLCJmaWVsIiwic2R0cCJdLnJlZHVjZSgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdFtlXT1bZS5jaGFyQ29kZUF0KDApLGUuY2hhckNvZGVBdCgxKSxlLmNoYXJDb2RlQXQoMiksZS5jaGFyQ29kZUF0KDMpXSx0fSksT2JqZWN0LmNyZWF0ZShudWxsKSkpLGIoYnAsIkhETFJfVFlQRVMiLHt2aWRlbzpuZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwwLDExOCwxMDUsMTAwLDEwMSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw4NiwxMDUsMTAwLDEwMSwxMTEsNzIsOTcsMTEwLDEwMCwxMDgsMTAxLDExNCwwXSksYXVkaW86bmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMCwwLDAsMCwxMTUsMTExLDExNywxMTAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsODMsMTExLDExNywxMTAsMTAwLDcyLDk3LDExMCwxMDAsMTA4LDEwMSwxMTQsMF0pfSksYihicCwiRlRZUEFWQzEiLGJwLmJveChicC50eXBlcy5mdHlwLG5ldyBVaW50OEFycmF5KFsxMDUsMTE1LDExMSwxMDksMCwwLDAsMSwxMDUsMTE1LDExMSwxMDksOTcsMTE4LDk5LDQ5XSkpKSxiKGJwLCJGVFlQSEVWMSIsYnAuYm94KGJwLnR5cGVzLmZ0eXAsbmV3IFVpbnQ4QXJyYXkoWzEwNSwxMTUsMTExLDEwOSwwLDAsMCwxLDEwNSwxMTUsMTExLDEwOSwxMDQsMTAxLDExOCw0OV0pKSksYihicCwiRElORiIsYnAuYm94KGJwLnR5cGVzLmRpbmYsYnAuYm94KGJwLnR5cGVzLmRyZWYsbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMCwwLDAsMSwwLDAsMCwxMiwxMTcsMTE0LDEwOCwzMiwwLDAsMCwxXSkpKSksYihicCwiVk1IRCIsYnAuYm94KGJwLnR5cGVzLnZtaGQsbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDEsMCwwLDAsMCwwLDAsMCwwXSkpKSxiKGJwLCJTTUhEIixicC5ib3goYnAudHlwZXMuc21oZCxuZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwwXSkpKSxiKGJwLCJTdGJsVGFibGUiLG5ldyBVaW50OEFycmF5KFswLDAsMCwwLDAsMCwwLDBdKSksYihicCwiU1RUUyIsYnAuYm94KGJwLnR5cGVzLnN0dHMsYnAuU3RibFRhYmxlKSksYihicCwiU1RTQyIsYnAuYm94KGJwLnR5cGVzLnN0c2MsYnAuU3RibFRhYmxlKSksYihicCwiU1RTWiIsYnAuYm94KGJwLnR5cGVzLnN0c3osbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXSkpKSxiKGJwLCJTVENPIixicC5ib3goYnAudHlwZXMuc3RjbyxicC5TdGJsVGFibGUpKTt2YXIgd3A9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUscil7eSh0aGlzLHQpLHRoaXMubmFtZT1lfHwiIix0aGlzLl9wcmVmaXg9IlsiLmNvbmNhdCh0aGlzLm5hbWUsIl0iKSx0LmRpc2FibGVkPXJ9cmV0dXJuIG0odCxbe2tleToiZGVidWciLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU7aWYoIXQuZGlzYWJsZWQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoLG49bmV3IEFycmF5KHIpLGk9MDtpPHI7aSsrKW5baV09YXJndW1lbnRzW2ldOyhlPWNvbnNvbGUpLmRlYnVnLmFwcGx5KGUsW3RoaXMuX3ByZWZpeF0uY29uY2F0KG4pKX19fSx7a2V5OiJsb2ciLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU7aWYoIXQuZGlzYWJsZWQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoLG49bmV3IEFycmF5KHIpLGk9MDtpPHI7aSsrKW5baV09YXJndW1lbnRzW2ldOyhlPWNvbnNvbGUpLmxvZy5hcHBseShlLFt0aGlzLl9wcmVmaXhdLmNvbmNhdChuKSl9fX0se2tleToid2FybiIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZTtpZighdC5kaXNhYmxlZCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGgsbj1uZXcgQXJyYXkociksaT0wO2k8cjtpKyspbltpXT1hcmd1bWVudHNbaV07KGU9Y29uc29sZSkud2Fybi5hcHBseShlLFt0aGlzLl9wcmVmaXhdLmNvbmNhdChuKSl9fX0se2tleToiZXJyb3IiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU7aWYoIXQuZGlzYWJsZWQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoLG49bmV3IEFycmF5KHIpLGk9MDtpPHI7aSsrKW5baV09YXJndW1lbnRzW2ldOyhlPWNvbnNvbGUpLmVycm9yLmFwcGx5KGUsW3RoaXMuX3ByZWZpeF0uY29uY2F0KG4pKX19fSx7a2V5OiJ0YWJsZSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZTt0LmRpc2FibGVkfHwoY29uc29sZS5ncm91cCh0aGlzLl9wcmVmaXgpLChlPWNvbnNvbGUpLnRhYmxlLmFwcGx5KGUsYXJndW1lbnRzKSxjb25zb2xlLmdyb3VwRW5kKCkpfX1dLFt7a2V5OiJlbmFibGUiLHZhbHVlOmZ1bmN0aW9uKCl7dC5kaXNhYmxlZD0hMX19LHtrZXk6ImRpc2FibGUiLHZhbHVlOmZ1bmN0aW9uKCl7dC5kaXNhYmxlZD0hMH19XSksdH0oKTtiKHdwLCJkaXNhYmxlZCIsITApO2Zvcih2YXIga3A9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUscixuKXt5KHRoaXMsdCksdGhpcy52aWRlb1RyYWNrPWUsdGhpcy5hdWRpb1RyYWNrPXI7dmFyIGk9L0Nocm9tZVwvKFteLl0rKS8uZXhlYyhuYXZpZ2F0b3IudXNlckFnZW50KTt0aGlzLmZvcmNlRmlyc3RJRFI9aSYmTnVtYmVyKGlbMV0pPDUwLHRoaXMubG9nPW5ldyB3cCgiRk1QNFJlbXV4ZXIiLCFufHwhbi5vcGVuTG9nfHwhbi5vcGVuTG9nKX1yZXR1cm4gbSh0LFt7a2V5OiJyZW11eCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdCxlLHIsbixpLGE9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0mJmFyZ3VtZW50c1swXSxvPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fSxzPXRoaXMudmlkZW9UcmFjayx1PXRoaXMuYXVkaW9UcmFjayxjPXMuZXhpc3QoKSxmPXUuZXhpc3QoKSxsPVtdO3JldHVybiBhJiYobyYmby5pbml0TWVyZ2U/KGMmJmwucHVzaCh0aGlzLnZpZGVvVHJhY2spLGYmJmwucHVzaCh0aGlzLmF1ZGlvVHJhY2spLHI9YnAuaW5pdFNlZ21lbnQobCkpOihjJiYodD1icC5pbml0U2VnbWVudChbdGhpcy52aWRlb1RyYWNrXSkpLGYmJihlPWJwLmluaXRTZWdtZW50KFt0aGlzLmF1ZGlvVHJhY2tdKSkpKSxjJiZzLmhhc1NhbXBsZSgpJiYobj10aGlzLl9yZW11eFZpZGVvKCkpLGYmJnUuaGFzU2FtcGxlKCkmJihpPXRoaXMuX3JlbXV4QXVkaW8oKSkscy5zYW1wbGVzPVtdLHUuc2FtcGxlcz1bXSx7aW5pdFNlZ21lbnQ6cix2aWRlb0luaXRTZWdtZW50OnQsYXVkaW9Jbml0U2VnbWVudDplLHZpZGVvU2VnbWVudDpuLGF1ZGlvU2VnbWVudDppfX19LHtrZXk6Il9yZW11eFZpZGVvIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMudmlkZW9UcmFjazt0aGlzLmZvcmNlRmlyc3RJRFImJih0LnNhbXBsZXNbMF0uZmxhZz17ZGVwZW5kc09uOjIsaXNOb25TeW5jU2FtcGxlOjB9KTt2YXIgZT10LnNhbXBsZXMscj0wO2UuZm9yRWFjaCgoZnVuY3Rpb24odCl7cis9dC51bml0cy5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQrZS5ieXRlTGVuZ3RofSksMCkscis9NCp0LnVuaXRzLmxlbmd0aH0pKTtmb3IodmFyIG4saT1uZXcgVWludDhBcnJheShyKSxhPW5ldyBEYXRhVmlldyhpLmJ1ZmZlciksbz1mdW5jdGlvbih0LHIsbyxzKXtzPWVbdF07dmFyIHU9MDtzLnVuaXRzLmZvckVhY2goKGZ1bmN0aW9uKHQpe2Euc2V0VWludDMyKG8sdC5ieXRlTGVuZ3RoKSxvKz00LGkuc2V0KHQsbyksbys9dC5ieXRlTGVuZ3RoLHUrPTQrdC5ieXRlTGVuZ3RofSkpLHMuc2l6ZT11LGM9byxuPXN9LHM9MCx1PWUubGVuZ3RoLGM9MDtzPHU7cysrKW8ocywwLGMsbik7dmFyIGY9YnAubWRhdChpKTtyZXR1cm4gdC5pc1ZpZGVvRW5jcnlwdGlvbnx8dC5pc0F1ZGlvRW5jcnlwdGlvbj90aChicC5zdHlwKCksYnAuc2lkeCh0KSxicC5tb29mKFt0XSksZik6dGgoYnAubW9vZihbdF0pLGYpfX0se2tleToiX3JlbXV4QXVkaW8iLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5hdWRpb1RyYWNrLGU9bmV3IFVpbnQ4QXJyYXkodC5zYW1wbGVzLnJlZHVjZSgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdCtlLnNpemV9KSwwKSk7dC5zYW1wbGVzLnJlZHVjZSgoZnVuY3Rpb24odCxyKXtyZXR1cm4gZS5zZXQoci5kYXRhLHQpLHQrci5zaXplfSksMCk7dmFyIHI9YnAubWRhdChlKTtyZXR1cm4gdC5pc1ZpZGVvRW5jcnlwdGlvbnx8dC5pc0F1ZGlvRW5jcnlwdGlvbj90aChicC5zdHlwKCksYnAuc2lkeCh0KSxicC5tb29mKFt0XSkscik6dGgoYnAubW9vZihbdF0pLHIpfX0se2tleToicmVzZXQiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy52aWRlb1RyYWNrLnJlc2V0KCksdGhpcy5hdWRpb1RyYWNrLnJlc2V0KCl9fV0pLHR9KCkseHA9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7bih0aGlzLHQpfXJldHVybiBhKHQsW3trZXk6Im1peEluIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmFzc2lnbih0aGlzLHQpfX0se2tleToiY2xvbmUiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9bmV3IHRoaXMuY29uc3RydWN0b3I7cmV0dXJuIE9iamVjdC5hc3NpZ24odCx0aGlzKSx0fX1dLFt7a2V5OiJjcmVhdGUiLHZhbHVlOmZ1bmN0aW9uKCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsZT1uZXcgQXJyYXkodCkscj0wO3I8dDtyKyspZVtyXT1hcmd1bWVudHNbcl07cmV0dXJuIGwodGhpcyxlKX19XSksdH0oKSxBcD1mdW5jdGlvbih0KXtzKHIsdCk7dmFyIGU9aChyKTtmdW5jdGlvbiByKCl7dmFyIHQsaT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06W10sYT1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06NCppLmxlbmd0aDtuKHRoaXMsciksdD1lLmNhbGwodGhpcyk7dmFyIG89aTtpZihvIGluc3RhbmNlb2YgQXJyYXlCdWZmZXImJihvPW5ldyBVaW50OEFycmF5KG8pKSwobyBpbnN0YW5jZW9mIEludDhBcnJheXx8byBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5fHxvIGluc3RhbmNlb2YgSW50MTZBcnJheXx8byBpbnN0YW5jZW9mIFVpbnQxNkFycmF5fHxvIGluc3RhbmNlb2YgSW50MzJBcnJheXx8byBpbnN0YW5jZW9mIFVpbnQzMkFycmF5fHxvIGluc3RhbmNlb2YgRmxvYXQzMkFycmF5fHxvIGluc3RhbmNlb2YgRmxvYXQ2NEFycmF5KSYmKG89bmV3IFVpbnQ4QXJyYXkoby5idWZmZXIsby5ieXRlT2Zmc2V0LG8uYnl0ZUxlbmd0aCkpLG8gaW5zdGFuY2VvZiBVaW50OEFycmF5KXtmb3IodmFyIHM9by5ieXRlTGVuZ3RoLHU9W10sYz0wO2M8cztjKz0xKXVbYz4+PjJdfD1vW2NdPDwyNC1jJTQqODt0LndvcmRzPXUsdC5zaWdCeXRlcz1zfWVsc2UgdC53b3Jkcz1pLHQuc2lnQnl0ZXM9YTtyZXR1cm4gdH1yZXR1cm4gYShyLFt7a2V5OiJ0b1N0cmluZyIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06U3A7cmV0dXJuIHQuc3RyaW5naWZ5KHRoaXMpfX0se2tleToiY29uY2F0Iix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLndvcmRzLHI9dC53b3JkcyxuPXRoaXMuc2lnQnl0ZXMsaT10LnNpZ0J5dGVzO2lmKHRoaXMuY2xhbXAoKSxuJTQpZm9yKHZhciBhPTA7YTxpO2ErPTEpe3ZhciBvPXJbYT4+PjJdPj4+MjQtYSU0KjgmMjU1O2VbbithPj4+Ml18PW88PDI0LShuK2EpJTQqOH1lbHNlIGZvcih2YXIgcz0wO3M8aTtzKz00KWVbbitzPj4+Ml09cltzPj4+Ml07cmV0dXJuIHRoaXMuc2lnQnl0ZXMrPWksdGhpc319LHtrZXk6ImNsYW1wIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMud29yZHMsZT10aGlzLnNpZ0J5dGVzO3RbZT4+PjJdJj00Mjk0OTY3Mjk1PDwzMi1lJTQqOCx0Lmxlbmd0aD1NYXRoLmNlaWwoZS80KX19LHtrZXk6ImNsb25lIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PXYodShyLnByb3RvdHlwZSksImNsb25lIix0aGlzKS5jYWxsKHRoaXMpO3JldHVybiB0LndvcmRzPXRoaXMud29yZHMuc2xpY2UoMCksdH19XSxbe2tleToicmFuZG9tIix2YWx1ZTpmdW5jdGlvbih0KXtmb3IodmFyIGUsbj1bXSxpPWZ1bmN0aW9uKHQpe3ZhciBlPXQscj05ODc2NTQzMjEsbj00Mjk0OTY3Mjk1O3JldHVybiBmdW5jdGlvbigpe3ZhciB0PSgocj0zNjk2OSooNjU1MzUmcikrKHI+PjE2KSZuKTw8MTYpKyhlPTE4ZTMqKDY1NTM1JmUpKyhlPj4xNikmbikmbjtyZXR1cm4gdC89NDI5NDk2NzI5NiwodCs9LjUpKihNYXRoLnJhbmRvbSgpPi41PzE6LTEpfX0sYT0wO2E8dDthKz00KXt2YXIgbz1pKDQyOTQ5NjcyOTYqKGV8fE1hdGgucmFuZG9tKCkpKTtlPTk4NzY1NDA3MSpvKCksbi5wdXNoKDQyOTQ5NjcyOTYqbygpfDApfXJldHVybiBuZXcgcihuLHQpfX1dKSxyfSh4cCksU3A9e3N0cmluZ2lmeTpmdW5jdGlvbih0KXtmb3IodmFyIGU9dC53b3JkcyxyPXQuc2lnQnl0ZXMsbj1bXSxpPTA7aTxyO2krPTEpe3ZhciBhPWVbaT4+PjJdPj4+MjQtaSU0KjgmMjU1O24ucHVzaCgoYT4+PjQpLnRvU3RyaW5nKDE2KSksbi5wdXNoKCgxNSZhKS50b1N0cmluZygxNikpfXJldHVybiBuLmpvaW4oIiIpfSxwYXJzZTpmdW5jdGlvbih0KXtmb3IodmFyIGU9dC5sZW5ndGgscj1bXSxuPTA7bjxlO24rPTIpcltuPj4+M118PXBhcnNlSW50KHQuc3Vic3RyKG4sMiksMTYpPDwyNC1uJTgqNDtyZXR1cm4gbmV3IEFwKHIsZS8yKX19LF9wPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Lmxlbmd0aCxyPVtdLG49MDtuPGU7bis9MSlyW24+Pj4yXXw9KDI1NSZ0LmNoYXJDb2RlQXQobikpPDwyNC1uJTQqODtyZXR1cm4gbmV3IEFwKHIsZSl9LFRwPWZ1bmN0aW9uKHQpe3JldHVybiBfcCh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQodCkpKX0sRXA9ZnVuY3Rpb24odCl7cyhyLHQpO3ZhciBlPWgocik7ZnVuY3Rpb24gcigpe3ZhciB0O3JldHVybiBuKHRoaXMsciksKHQ9ZS5jYWxsKHRoaXMpKS5fbWluQnVmZmVyU2l6ZT0wLHR9cmV0dXJuIGEocixbe2tleToicmVzZXQiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5fZGF0YT1uZXcgQXAsdGhpcy5fbkRhdGFCeXRlcz0wfX0se2tleToiX2FwcGVuZCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9dDsic3RyaW5nIj09dHlwZW9mIGUmJihlPVRwKGUpKSx0aGlzLl9kYXRhLmNvbmNhdChlKSx0aGlzLl9uRGF0YUJ5dGVzKz1lLnNpZ0J5dGVzfX0se2tleToiX3Byb2Nlc3MiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlLHI9dGhpcy5fZGF0YSxuPXRoaXMuYmxvY2tTaXplLGk9ci53b3JkcyxhPXIuc2lnQnl0ZXMsbz1hLyg0Km4pLHM9KG89dD9NYXRoLmNlaWwobyk6TWF0aC5tYXgoKDB8byktdGhpcy5fbWluQnVmZmVyU2l6ZSwwKSkqbix1PU1hdGgubWluKDQqcyxhKTtpZihzKXtmb3IodmFyIGM9MDtjPHM7Yys9bil0aGlzLl9kb1Byb2Nlc3NCbG9jayhpLGMpO2U9aS5zcGxpY2UoMCxzKSxyLnNpZ0J5dGVzLT11fXJldHVybiBuZXcgQXAoZSx1KX19LHtrZXk6ImNsb25lIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PXYodShyLnByb3RvdHlwZSksImNsb25lIix0aGlzKS5jYWxsKHRoaXMpO3JldHVybiB0Ll9kYXRhPXRoaXMuX2RhdGEuY2xvbmUoKSx0fX1dKSxyfSh4cCksSXA9ZnVuY3Rpb24odCl7cyhyLHQpO3ZhciBlPWgocik7ZnVuY3Rpb24gcih0KXt2YXIgaTtyZXR1cm4gbih0aGlzLHIpLChpPWUuY2FsbCh0aGlzKSkuYmxvY2tTaXplPTE2LGkuY2ZnPU9iamVjdC5hc3NpZ24obmV3IHhwLHQpLGkucmVzZXQoKSxpfXJldHVybiBhKHIsW3trZXk6InJlc2V0Iix2YWx1ZTpmdW5jdGlvbigpe3YodShyLnByb3RvdHlwZSksInJlc2V0Iix0aGlzKS5jYWxsKHRoaXMpLHRoaXMuX2RvUmVzZXQoKX19LHtrZXk6InVwZGF0ZSIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2FwcGVuZCh0KSx0aGlzLl9wcm9jZXNzKCksdGhpc319LHtrZXk6ImZpbmFsaXplIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdCYmdGhpcy5fYXBwZW5kKHQpLHRoaXMuX2RvRmluYWxpemUoKX19XSxbe2tleToiX2NyZWF0ZUhlbHBlciIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUscil7cmV0dXJuIG5ldyB0KHIpLmZpbmFsaXplKGUpfX19LHtrZXk6Il9jcmVhdGVIbWFjSGVscGVyIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxyKXtyZXR1cm4gbmV3IE9wKHQscikuZmluYWxpemUoZSl9fX1dKSxyfShFcCksT3A9ZnVuY3Rpb24odCl7cyhyLHQpO3ZhciBlPWgocik7ZnVuY3Rpb24gcih0LGkpe3ZhciBhO24odGhpcyxyKSxhPWUuY2FsbCh0aGlzKTt2YXIgbz1uZXcgdDthLl9oYXNoZXI9bzt2YXIgcz1pOyJzdHJpbmciPT10eXBlb2YgcyYmKHM9VHAocykpO3ZhciB1PW8uYmxvY2tTaXplLGM9NCp1O3Muc2lnQnl0ZXM+YyYmKHM9by5maW5hbGl6ZShpKSkscy5jbGFtcCgpO3ZhciBmPXMuY2xvbmUoKTthLl9vS2V5PWY7dmFyIGw9cy5jbG9uZSgpO2EuX2lLZXk9bDtmb3IodmFyIGQ9Zi53b3JkcyxoPWwud29yZHMscD0wO3A8dTtwKz0xKWRbcF1ePTE1NDk1NTY4MjgsaFtwXV49OTA5NTIyNDg2O3JldHVybiBmLnNpZ0J5dGVzPWMsbC5zaWdCeXRlcz1jLGEucmVzZXQoKSxhfXJldHVybiBhKHIsW3trZXk6InJlc2V0Iix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2hhc2hlcjt0LnJlc2V0KCksdC51cGRhdGUodGhpcy5faUtleSl9fSx7a2V5OiJ1cGRhdGUiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9oYXNoZXIudXBkYXRlKHQpLHRoaXN9fSx7a2V5OiJmaW5hbGl6ZSIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5faGFzaGVyLHI9ZS5maW5hbGl6ZSh0KTtyZXR1cm4gZS5yZXNldCgpLGUuZmluYWxpemUodGhpcy5fb0tleS5jbG9uZSgpLmNvbmNhdChyKSl9fV0pLHJ9KHhwKSxNcD17c3RyaW5naWZ5OmZ1bmN0aW9uKHQpe3ZhciBlPXQud29yZHMscj10LnNpZ0J5dGVzLG49dGhpcy5fbWFwO3QuY2xhbXAoKTtmb3IodmFyIGk9W10sYT0wO2E8cjthKz0zKWZvcih2YXIgbz0oZVthPj4+Ml0+Pj4yNC1hJTQqOCYyNTUpPDwxNnwoZVthKzE+Pj4yXT4+PjI0LShhKzEpJTQqOCYyNTUpPDw4fGVbYSsyPj4+Ml0+Pj4yNC0oYSsyKSU0KjgmMjU1LHM9MDtzPDQmJmErLjc1KnM8cjtzKz0xKWkucHVzaChuLmNoYXJBdChvPj4+NiooMy1zKSY2MykpO3ZhciB1PW4uY2hhckF0KDY0KTtpZih1KWZvcig7aS5sZW5ndGglNDspaS5wdXNoKHUpO3JldHVybiBpLmpvaW4oIiIpfSxwYXJzZTpmdW5jdGlvbih0KXt2YXIgZT10Lmxlbmd0aCxyPXRoaXMuX21hcCxuPXRoaXMuX3JldmVyc2VNYXA7aWYoIW4pe3RoaXMuX3JldmVyc2VNYXA9W10sbj10aGlzLl9yZXZlcnNlTWFwO2Zvcih2YXIgaT0wO2k8ci5sZW5ndGg7aSs9MSluW3IuY2hhckNvZGVBdChpKV09aX12YXIgYT1yLmNoYXJBdCg2NCk7aWYoYSl7dmFyIG89dC5pbmRleE9mKGEpOy0xIT09byYmKGU9byl9cmV0dXJuIGZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG49W10saT0wLGE9MDthPGU7YSs9MSlpZihhJTQpe3ZhciBvPXJbdC5jaGFyQ29kZUF0KGEtMSldPDxhJTQqMnxyW3QuY2hhckNvZGVBdChhKV0+Pj42LWElNCoyO25baT4+PjJdfD1vPDwyNC1pJTQqOCxpKz0xfXJldHVybiBBcC5jcmVhdGUobixpKX0odCxlLG4pfSxfbWFwOiJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSJ9LENwPVtdLFJwPTA7UnA8NjQ7UnArPTEpQ3BbUnBdPTQyOTQ5NjcyOTYqTWF0aC5hYnMoTWF0aC5zaW4oUnArMSkpfDA7dmFyIEJwPWZ1bmN0aW9uKHQsZSxyLG4saSxhLG8pe3ZhciBzPXQrKGUmcnx+ZSZuKStpK287cmV0dXJuKHM8PGF8cz4+PjMyLWEpK2V9LFBwPWZ1bmN0aW9uKHQsZSxyLG4saSxhLG8pe3ZhciBzPXQrKGUmbnxyJn5uKStpK287cmV0dXJuKHM8PGF8cz4+PjMyLWEpK2V9LFVwPWZ1bmN0aW9uKHQsZSxyLG4saSxhLG8pe3ZhciBzPXQrKGVecl5uKStpK287cmV0dXJuKHM8PGF8cz4+PjMyLWEpK2V9LERwPWZ1bmN0aW9uKHQsZSxyLG4saSxhLG8pe3ZhciBzPXQrKHJeKGV8fm4pKStpK287cmV0dXJuKHM8PGF8cz4+PjMyLWEpK2V9LHpwPWZ1bmN0aW9uKHQpe3Mocix0KTt2YXIgZT1oKHIpO2Z1bmN0aW9uIHIoKXtyZXR1cm4gbih0aGlzLHIpLGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiBhKHIsW3trZXk6Il9kb1Jlc2V0Iix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuX2hhc2g9bmV3IEFwKFsxNzMyNTg0MTkzLDQwMjMyMzM0MTcsMjU2MjM4MzEwMiwyNzE3MzM4NzhdKX19LHtrZXk6Il9kb1Byb2Nlc3NCbG9jayIsdmFsdWU6ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dCxuPTA7bjwxNjtuKz0xKXt2YXIgaT1lK24sYT10W2ldO3JbaV09MTY3MTE5MzUmKGE8PDh8YT4+PjI0KXw0Mjc4MjU1MzYwJihhPDwyNHxhPj4+OCl9dmFyIG89dGhpcy5faGFzaC53b3JkcyxzPXJbZSswXSx1PXJbZSsxXSxjPXJbZSsyXSxmPXJbZSszXSxsPXJbZSs0XSxkPXJbZSs1XSxoPXJbZSs2XSxwPXJbZSs3XSx2PXJbZSs4XSx5PXJbZSs5XSxnPXJbZSsxMF0sbT1yW2UrMTFdLGI9cltlKzEyXSx3PXJbZSsxM10saz1yW2UrMTRdLHg9cltlKzE1XSxBPW9bMF0sUz1vWzFdLF89b1syXSxUPW9bM107QT1CcChBLFMsXyxULHMsNyxDcFswXSksVD1CcChULEEsUyxfLHUsMTIsQ3BbMV0pLF89QnAoXyxULEEsUyxjLDE3LENwWzJdKSxTPUJwKFMsXyxULEEsZiwyMixDcFszXSksQT1CcChBLFMsXyxULGwsNyxDcFs0XSksVD1CcChULEEsUyxfLGQsMTIsQ3BbNV0pLF89QnAoXyxULEEsUyxoLDE3LENwWzZdKSxTPUJwKFMsXyxULEEscCwyMixDcFs3XSksQT1CcChBLFMsXyxULHYsNyxDcFs4XSksVD1CcChULEEsUyxfLHksMTIsQ3BbOV0pLF89QnAoXyxULEEsUyxnLDE3LENwWzEwXSksUz1CcChTLF8sVCxBLG0sMjIsQ3BbMTFdKSxBPUJwKEEsUyxfLFQsYiw3LENwWzEyXSksVD1CcChULEEsUyxfLHcsMTIsQ3BbMTNdKSxfPUJwKF8sVCxBLFMsaywxNyxDcFsxNF0pLFM9QnAoUyxfLFQsQSx4LDIyLENwWzE1XSksQT1QcChBLFMsXyxULHUsNSxDcFsxNl0pLFQ9UHAoVCxBLFMsXyxoLDksQ3BbMTddKSxfPVBwKF8sVCxBLFMsbSwxNCxDcFsxOF0pLFM9UHAoUyxfLFQsQSxzLDIwLENwWzE5XSksQT1QcChBLFMsXyxULGQsNSxDcFsyMF0pLFQ9UHAoVCxBLFMsXyxnLDksQ3BbMjFdKSxfPVBwKF8sVCxBLFMseCwxNCxDcFsyMl0pLFM9UHAoUyxfLFQsQSxsLDIwLENwWzIzXSksQT1QcChBLFMsXyxULHksNSxDcFsyNF0pLFQ9UHAoVCxBLFMsXyxrLDksQ3BbMjVdKSxfPVBwKF8sVCxBLFMsZiwxNCxDcFsyNl0pLFM9UHAoUyxfLFQsQSx2LDIwLENwWzI3XSksQT1QcChBLFMsXyxULHcsNSxDcFsyOF0pLFQ9UHAoVCxBLFMsXyxjLDksQ3BbMjldKSxfPVBwKF8sVCxBLFMscCwxNCxDcFszMF0pLFM9UHAoUyxfLFQsQSxiLDIwLENwWzMxXSksQT1VcChBLFMsXyxULGQsNCxDcFszMl0pLFQ9VXAoVCxBLFMsXyx2LDExLENwWzMzXSksXz1VcChfLFQsQSxTLG0sMTYsQ3BbMzRdKSxTPVVwKFMsXyxULEEsaywyMyxDcFszNV0pLEE9VXAoQSxTLF8sVCx1LDQsQ3BbMzZdKSxUPVVwKFQsQSxTLF8sbCwxMSxDcFszN10pLF89VXAoXyxULEEsUyxwLDE2LENwWzM4XSksUz1VcChTLF8sVCxBLGcsMjMsQ3BbMzldKSxBPVVwKEEsUyxfLFQsdyw0LENwWzQwXSksVD1VcChULEEsUyxfLHMsMTEsQ3BbNDFdKSxfPVVwKF8sVCxBLFMsZiwxNixDcFs0Ml0pLFM9VXAoUyxfLFQsQSxoLDIzLENwWzQzXSksQT1VcChBLFMsXyxULHksNCxDcFs0NF0pLFQ9VXAoVCxBLFMsXyxiLDExLENwWzQ1XSksXz1VcChfLFQsQSxTLHgsMTYsQ3BbNDZdKSxTPVVwKFMsXyxULEEsYywyMyxDcFs0N10pLEE9RHAoQSxTLF8sVCxzLDYsQ3BbNDhdKSxUPURwKFQsQSxTLF8scCwxMCxDcFs0OV0pLF89RHAoXyxULEEsUyxrLDE1LENwWzUwXSksUz1EcChTLF8sVCxBLGQsMjEsQ3BbNTFdKSxBPURwKEEsUyxfLFQsYiw2LENwWzUyXSksVD1EcChULEEsUyxfLGYsMTAsQ3BbNTNdKSxfPURwKF8sVCxBLFMsZywxNSxDcFs1NF0pLFM9RHAoUyxfLFQsQSx1LDIxLENwWzU1XSksQT1EcChBLFMsXyxULHYsNixDcFs1Nl0pLFQ9RHAoVCxBLFMsXyx4LDEwLENwWzU3XSksXz1EcChfLFQsQSxTLGgsMTUsQ3BbNThdKSxTPURwKFMsXyxULEEsdywyMSxDcFs1OV0pLEE9RHAoQSxTLF8sVCxsLDYsQ3BbNjBdKSxUPURwKFQsQSxTLF8sbSwxMCxDcFs2MV0pLF89RHAoXyxULEEsUyxjLDE1LENwWzYyXSksUz1EcChTLF8sVCxBLHksMjEsQ3BbNjNdKSxvWzBdPW9bMF0rQXwwLG9bMV09b1sxXStTfDAsb1syXT1vWzJdK198MCxvWzNdPW9bM10rVHwwfX0se2tleToiX2RvRmluYWxpemUiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZGF0YSxlPXQud29yZHMscj04KnRoaXMuX25EYXRhQnl0ZXMsbj04KnQuc2lnQnl0ZXM7ZVtuPj4+NV18PTEyODw8MjQtbiUzMjt2YXIgaT1NYXRoLmZsb29yKHIvNDI5NDk2NzI5NiksYT1yO2VbMTUrKG4rNjQ+Pj45PDw0KV09MTY3MTE5MzUmKGk8PDh8aT4+PjI0KXw0Mjc4MjU1MzYwJihpPDwyNHxpPj4+OCksZVsxNCsobis2ND4+Pjk8PDQpXT0xNjcxMTkzNSYoYTw8OHxhPj4+MjQpfDQyNzgyNTUzNjAmKGE8PDI0fGE+Pj44KSx0LnNpZ0J5dGVzPTQqKGUubGVuZ3RoKzEpLHRoaXMuX3Byb2Nlc3MoKTtmb3IodmFyIG89dGhpcy5faGFzaCxzPW8ud29yZHMsdT0wO3U8NDt1Kz0xKXt2YXIgYz1zW3VdO3NbdV09MTY3MTE5MzUmKGM8PDh8Yz4+PjI0KXw0Mjc4MjU1MzYwJihjPDwyNHxjPj4+OCl9cmV0dXJuIG99fSx7a2V5OiJjbG9uZSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD12KHUoci5wcm90b3R5cGUpLCJjbG9uZSIsdGhpcykuY2FsbCh0aGlzKTtyZXR1cm4gdC5faGFzaD10aGlzLl9oYXNoLmNsb25lKCksdH19XSkscn0oSXApO0lwLl9jcmVhdGVIZWxwZXIoenApLElwLl9jcmVhdGVIbWFjSGVscGVyKHpwKTt2YXIganA9ZnVuY3Rpb24odCl7cyhyLHQpO3ZhciBlPWgocik7ZnVuY3Rpb24gcih0KXt2YXIgaTtyZXR1cm4gbih0aGlzLHIpLChpPWUuY2FsbCh0aGlzKSkuY2ZnPU9iamVjdC5hc3NpZ24obmV3IHhwLHtrZXlTaXplOjQsaGFzaGVyOnpwLGl0ZXJhdGlvbnM6MX0sdCksaX1yZXR1cm4gYShyLFt7a2V5OiJjb21wdXRlIix2YWx1ZTpmdW5jdGlvbih0LGUpe2Zvcih2YXIgcixuPXRoaXMuY2ZnLGk9bi5oYXNoZXIuY3JlYXRlKCksYT1BcC5jcmVhdGUoKSxvPWEud29yZHMscz1uLmtleVNpemUsdT1uLml0ZXJhdGlvbnM7by5sZW5ndGg8czspe3ImJmkudXBkYXRlKHIpLHI9aS51cGRhdGUodCkuZmluYWxpemUoZSksaS5yZXNldCgpO2Zvcih2YXIgYz0xO2M8dTtjKz0xKXI9aS5maW5hbGl6ZShyKSxpLnJlc2V0KCk7YS5jb25jYXQocil9cmV0dXJuIGEuc2lnQnl0ZXM9NCpzLGF9fV0pLHJ9KHhwKSxMcD1mdW5jdGlvbih0KXtzKHIsdCk7dmFyIGU9aChyKTtmdW5jdGlvbiByKHQsaSxhKXt2YXIgbztyZXR1cm4gbih0aGlzLHIpLChvPWUuY2FsbCh0aGlzKSkuY2ZnPU9iamVjdC5hc3NpZ24obmV3IHhwLGEpLG8uX3hmb3JtTW9kZT10LG8uX2tleT1pLG8ucmVzZXQoKSxvfXJldHVybiBhKHIsW3trZXk6InJlc2V0Iix2YWx1ZTpmdW5jdGlvbigpe3YodShyLnByb3RvdHlwZSksInJlc2V0Iix0aGlzKS5jYWxsKHRoaXMpLHRoaXMuX2RvUmVzZXQoKX19LHtrZXk6InByb2Nlc3MiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9hcHBlbmQodCksdGhpcy5fcHJvY2VzcygpfX0se2tleToiZmluYWxpemUiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0aGlzLl9hcHBlbmQodCksdGhpcy5fZG9GaW5hbGl6ZSgpfX1dLFt7a2V5OiJjcmVhdGVFbmNyeXB0b3IiLHZhbHVlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuY3JlYXRlKHRoaXMuX0VOQ19YRk9STV9NT0RFLHQsZSl9fSx7a2V5OiJjcmVhdGVEZWNyeXB0b3IiLHZhbHVlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuY3JlYXRlKHRoaXMuX0RFQ19YRk9STV9NT0RFLHQsZSl9fSx7a2V5OiJfY3JlYXRlSGVscGVyIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT1mdW5jdGlvbih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/WHA6R3B9O3JldHVybntlbmNyeXB0OmZ1bmN0aW9uKHIsbixpKXtyZXR1cm4gZShuKS5lbmNyeXB0KHQscixuLGkpfSxkZWNyeXB0OmZ1bmN0aW9uKHIsbixpKXtyZXR1cm4gZShuKS5kZWNyeXB0KHQscixuLGkpfX19fV0pLHJ9KEVwKTtMcC5fRU5DX1hGT1JNX01PREU9MSxMcC5fREVDX1hGT1JNX01PREU9MixMcC5rZXlTaXplPTQsTHAuaXZTaXplPTQ7dmFyIEZwPWZ1bmN0aW9uKHQpe3Mocix0KTt2YXIgZT1oKHIpO2Z1bmN0aW9uIHIodCxpKXt2YXIgYTtyZXR1cm4gbih0aGlzLHIpLChhPWUuY2FsbCh0aGlzKSkuX2NpcGhlcj10LGEuX2l2PWksYX1yZXR1cm4gYShyLG51bGwsW3trZXk6ImNyZWF0ZUVuY3J5cHRvciIsdmFsdWU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5FbmNyeXB0b3IuY3JlYXRlKHQsZSl9fSx7a2V5OiJjcmVhdGVEZWNyeXB0b3IiLHZhbHVlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuRGVjcnlwdG9yLmNyZWF0ZSh0LGUpfX1dKSxyfSh4cCk7ZnVuY3Rpb24gTnAodCxlLHIpe3ZhciBuLGk9dCxhPXRoaXMuX2l2O2E/KG49YSx0aGlzLl9pdj12b2lkIDApOm49dGhpcy5fcHJldkJsb2NrO2Zvcih2YXIgbz0wO288cjtvKz0xKWlbZStvXV49bltvXX12YXIgVnA9ZnVuY3Rpb24odCl7cyhyLHQpO3ZhciBlPWgocik7ZnVuY3Rpb24gcigpe3JldHVybiBuKHRoaXMsciksZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIGEocil9KEZwKTtWcC5FbmNyeXB0b3I9ZnVuY3Rpb24odCl7cyhyLHQpO3ZhciBlPWgocik7ZnVuY3Rpb24gcigpe3JldHVybiBuKHRoaXMsciksZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIGEocixbe2tleToicHJvY2Vzc0Jsb2NrIix2YWx1ZTpmdW5jdGlvbih0LGUpe3ZhciByPXRoaXMuX2NpcGhlcixuPXIuYmxvY2tTaXplO05wLmNhbGwodGhpcyx0LGUsbiksci5lbmNyeXB0QmxvY2sodCxlKSx0aGlzLl9wcmV2QmxvY2s9dC5zbGljZShlLGUrbil9fV0pLHJ9KFZwKSxWcC5EZWNyeXB0b3I9ZnVuY3Rpb24odCl7cyhyLHQpO3ZhciBlPWgocik7ZnVuY3Rpb24gcigpe3JldHVybiBuKHRoaXMsciksZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIGEocixbe2tleToicHJvY2Vzc0Jsb2NrIix2YWx1ZTpmdW5jdGlvbih0LGUpe3ZhciByPXRoaXMuX2NpcGhlcixuPXIuYmxvY2tTaXplLGk9dC5zbGljZShlLGUrbik7ci5kZWNyeXB0QmxvY2sodCxlKSxOcC5jYWxsKHRoaXMsdCxlLG4pLHRoaXMuX3ByZXZCbG9jaz1pfX1dKSxyfShWcCk7dmFyIEhwPXtwYWQ6ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9NCplLG49ci10LnNpZ0J5dGVzJXIsaT1uPDwyNHxuPDwxNnxuPDw4fG4sYT1bXSxvPTA7bzxuO28rPTQpYS5wdXNoKGkpO3ZhciBzPUFwLmNyZWF0ZShhLG4pO3QuY29uY2F0KHMpfSx1bnBhZDpmdW5jdGlvbih0KXt2YXIgZT10LHI9MjU1JmUud29yZHNbZS5zaWdCeXRlcy0xPj4+Ml07ZS5zaWdCeXRlcy09cn19LFlwPWZ1bmN0aW9uKHQpe3Mocix0KTt2YXIgZT1oKHIpO2Z1bmN0aW9uIHIodCxpLGEpe3ZhciBvO3JldHVybiBuKHRoaXMsciksKG89ZS5jYWxsKHRoaXMsdCxpLE9iamVjdC5hc3NpZ24oe21vZGU6VnAscGFkZGluZzpIcH0sYSkpKS5ibG9ja1NpemU9NCxvfXJldHVybiBhKHIsW3trZXk6InJlc2V0Iix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0O3YodShyLnByb3RvdHlwZSksInJlc2V0Iix0aGlzKS5jYWxsKHRoaXMpO3ZhciBlPXRoaXMuY2ZnLG49ZS5pdixpPWUubW9kZTt0aGlzLl94Zm9ybU1vZGU9PT10aGlzLmNvbnN0cnVjdG9yLl9FTkNfWEZPUk1fTU9ERT90PWkuY3JlYXRlRW5jcnlwdG9yOih0PWkuY3JlYXRlRGVjcnlwdG9yLHRoaXMuX21pbkJ1ZmZlclNpemU9MSksdGhpcy5fbW9kZT10LmNhbGwoaSx0aGlzLG4mJm4ud29yZHMpLHRoaXMuX21vZGUuX19jcmVhdG9yPXR9fSx7a2V5OiJfZG9Qcm9jZXNzQmxvY2siLHZhbHVlOmZ1bmN0aW9uKHQsZSl7dGhpcy5fbW9kZS5wcm9jZXNzQmxvY2sodCxlKX19LHtrZXk6Il9kb0ZpbmFsaXplIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0LGU9dGhpcy5jZmcucGFkZGluZztyZXR1cm4gdGhpcy5feGZvcm1Nb2RlPT09dGhpcy5jb25zdHJ1Y3Rvci5fRU5DX1hGT1JNX01PREU/KGUucGFkKHRoaXMuX2RhdGEsdGhpcy5ibG9ja1NpemUpLHQ9dGhpcy5fcHJvY2VzcyghMCkpOih0PXRoaXMuX3Byb2Nlc3MoITApLGUudW5wYWQodCkpLHR9fV0pLHJ9KExwKSxLcD1mdW5jdGlvbih0KXtzKHIsdCk7dmFyIGU9aChyKTtmdW5jdGlvbiByKHQpe3ZhciBpO3JldHVybiBuKHRoaXMsciksKGk9ZS5jYWxsKHRoaXMpKS5taXhJbih0KSxpfXJldHVybiBhKHIsW3trZXk6InRvU3RyaW5nIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4odHx8dGhpcy5mb3JtYXR0ZXIpLnN0cmluZ2lmeSh0aGlzKX19XSkscn0oeHApLFdwPXtzdHJpbmdpZnk6ZnVuY3Rpb24odCl7dmFyIGU9dC5jaXBoZXJ0ZXh0LHI9dC5zYWx0O3JldHVybihyP0FwLmNyZWF0ZShbMTM5ODg5MzY4NCwxNzAxMDc2ODMxXSkuY29uY2F0KHIpLmNvbmNhdChlKTplKS50b1N0cmluZyhNcCl9LHBhcnNlOmZ1bmN0aW9uKHQpe3ZhciBlLHI9TXAucGFyc2UodCksbj1yLndvcmRzO3JldHVybiAxMzk4ODkzNjg0PT09blswXSYmMTcwMTA3NjgzMT09PW5bMV0mJihlPUFwLmNyZWF0ZShuLnNsaWNlKDIsNCkpLG4uc3BsaWNlKDAsNCksci5zaWdCeXRlcy09MTYpLEtwLmNyZWF0ZSh7Y2lwaGVydGV4dDpyLHNhbHQ6ZX0pfX0sR3A9ZnVuY3Rpb24odCl7cyhyLHQpO3ZhciBlPWgocik7ZnVuY3Rpb24gcigpe3JldHVybiBuKHRoaXMsciksZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIGEocixudWxsLFt7a2V5OiJlbmNyeXB0Iix2YWx1ZTpmdW5jdGlvbih0LGUscixuKXt2YXIgaT1PYmplY3QuYXNzaWduKG5ldyB4cCx0aGlzLmNmZyxuKSxhPXQuY3JlYXRlRW5jcnlwdG9yKHIsaSksbz1hLmZpbmFsaXplKGUpLHM9YS5jZmc7cmV0dXJuIEtwLmNyZWF0ZSh7Y2lwaGVydGV4dDpvLGtleTpyLGl2OnMuaXYsYWxnb3JpdGhtOnQsbW9kZTpzLm1vZGUscGFkZGluZzpzLnBhZGRpbmcsYmxvY2tTaXplOmEuYmxvY2tTaXplLGZvcm1hdHRlcjppLmZvcm1hdH0pfX0se2tleToiZGVjcnlwdCIsdmFsdWU6ZnVuY3Rpb24odCxlLHIsbil7dmFyIGk9ZSxhPU9iamVjdC5hc3NpZ24obmV3IHhwLHRoaXMuY2ZnLG4pO3JldHVybiBpPXRoaXMuX3BhcnNlKGksYS5mb3JtYXQpLHQuY3JlYXRlRGVjcnlwdG9yKHIsYSkuZmluYWxpemUoaS5jaXBoZXJ0ZXh0KX19LHtrZXk6Il9wYXJzZSIsdmFsdWU6ZnVuY3Rpb24odCxlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/ZS5wYXJzZSh0LHRoaXMpOnR9fV0pLHJ9KHhwKTtHcC5jZmc9T2JqZWN0LmFzc2lnbihuZXcgeHAse2Zvcm1hdDpXcH0pO3ZhciBxcD17ZXhlY3V0ZTpmdW5jdGlvbih0LGUscixuKXt2YXIgaT1uO2l8fChpPUFwLnJhbmRvbSg4KSk7dmFyIGE9anAuY3JlYXRlKHtrZXlTaXplOmUrcn0pLmNvbXB1dGUodCxpKSxvPUFwLmNyZWF0ZShhLndvcmRzLnNsaWNlKGUpLDQqcik7cmV0dXJuIGEuc2lnQnl0ZXM9NCplLEtwLmNyZWF0ZSh7a2V5OmEsaXY6byxzYWx0Oml9KX19LFhwPWZ1bmN0aW9uKHQpe3Mocix0KTt2YXIgZT1oKHIpO2Z1bmN0aW9uIHIoKXtyZXR1cm4gbih0aGlzLHIpLGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiBhKHIsbnVsbCxbe2tleToiZW5jcnlwdCIsdmFsdWU6ZnVuY3Rpb24odCxlLHIsbil7dmFyIGk9T2JqZWN0LmFzc2lnbihuZXcgeHAsdGhpcy5jZmcsbiksYT1pLmtkZi5leGVjdXRlKHIsdC5rZXlTaXplLHQuaXZTaXplKTtpLml2PWEuaXY7dmFyIG89R3AuZW5jcnlwdC5jYWxsKHRoaXMsdCxlLGEua2V5LGkpO3JldHVybiBvLm1peEluKGEpLG99fSx7a2V5OiJkZWNyeXB0Iix2YWx1ZTpmdW5jdGlvbih0LGUscixuKXt2YXIgaT1lLGE9T2JqZWN0LmFzc2lnbihuZXcgeHAsdGhpcy5jZmcsbik7aT10aGlzLl9wYXJzZShpLGEuZm9ybWF0KTt2YXIgbz1hLmtkZi5leGVjdXRlKHIsdC5rZXlTaXplLHQuaXZTaXplLGkuc2FsdCk7cmV0dXJuIGEuaXY9by5pdixHcC5kZWNyeXB0LmNhbGwodGhpcyx0LGksby5rZXksYSl9fV0pLHJ9KEdwKTtYcC5jZmc9T2JqZWN0LmFzc2lnbihHcC5jZmcse2tkZjpxcH0pO2Zvcih2YXIgJHA9W10sUXA9W10sWnA9W10sSnA9W10sdHY9W10sZXY9W10scnY9W10sbnY9W10saXY9W10sYXY9W10sb3Y9W10sc3Y9MDtzdjwyNTY7c3YrPTEpb3Zbc3ZdPXN2PDEyOD9zdjw8MTpzdjw8MV4yODM7Zm9yKHZhciB1dj0wLGN2PTAsZnY9MDtmdjwyNTY7ZnYrPTEpe3ZhciBsdj1jdl5jdjw8MV5jdjw8Ml5jdjw8M15jdjw8NDtsdj1sdj4+PjheMjU1Jmx2Xjk5LCRwW3V2XT1sdixRcFtsdl09dXY7dmFyIGR2PW92W3V2XSxodj1vdltkdl0scHY9b3ZbaHZdLHZ2PTI1Nypvdltsdl1eMTY4NDMwMDgqbHY7WnBbdXZdPXZ2PDwyNHx2dj4+PjgsSnBbdXZdPXZ2PDwxNnx2dj4+PjE2LHR2W3V2XT12djw8OHx2dj4+PjI0LGV2W3V2XT12dix2dj0xNjg0MzAwOSpwdl42NTUzNypodl4yNTcqZHZeMTY4NDMwMDgqdXYscnZbbHZdPXZ2PDwyNHx2dj4+PjgsbnZbbHZdPXZ2PDwxNnx2dj4+PjE2LGl2W2x2XT12djw8OHx2dj4+PjI0LGF2W2x2XT12dix1dj8odXY9ZHZeb3Zbb3Zbb3ZbcHZeZHZdXV0sY3ZePW92W292W2N2XV0pOnV2PWN2PTF9dmFyIHl2PVswLDEsMiw0LDgsMTYsMzIsNjQsMTI4LDI3LDU0XSxndj1mdW5jdGlvbih0KXtzKHIsdCk7dmFyIGU9aChyKTtmdW5jdGlvbiByKCl7cmV0dXJuIG4odGhpcyxyKSxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gYShyLFt7a2V5OiJfZG9SZXNldCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdDtpZighdGhpcy5fblJvdW5kc3x8dGhpcy5fa2V5UHJpb3JSZXNldCE9PXRoaXMuX2tleSl7dGhpcy5fa2V5UHJpb3JSZXNldD10aGlzLl9rZXk7dmFyIGU9dGhpcy5fa2V5UHJpb3JSZXNldCxyPWUud29yZHMsbj1lLnNpZ0J5dGVzLzQ7dGhpcy5fblJvdW5kcz1uKzY7dmFyIGk9NCoodGhpcy5fblJvdW5kcysxKTt0aGlzLl9rZXlTY2hlZHVsZT1bXTtmb3IodmFyIGE9dGhpcy5fa2V5U2NoZWR1bGUsbz0wO288aTtvKz0xKW88bj9hW29dPXJbb106KHQ9YVtvLTFdLG8lbj9uPjYmJm8lbj09NCYmKHQ9JHBbdD4+PjI0XTw8MjR8JHBbdD4+PjE2JjI1NV08PDE2fCRwW3Q+Pj44JjI1NV08PDh8JHBbMjU1JnRdKToodD0kcFsodD10PDw4fHQ+Pj4yNCk+Pj4yNF08PDI0fCRwW3Q+Pj4xNiYyNTVdPDwxNnwkcFt0Pj4+OCYyNTVdPDw4fCRwWzI1NSZ0XSx0Xj15dltvL258MF08PDI0KSxhW29dPWFbby1uXV50KTt0aGlzLl9pbnZLZXlTY2hlZHVsZT1bXTtmb3IodmFyIHM9dGhpcy5faW52S2V5U2NoZWR1bGUsdT0wO3U8aTt1Kz0xKXt2YXIgYz1pLXU7dD11JTQ/YVtjXTphW2MtNF0sc1t1XT11PDR8fGM8PTQ/dDpydlskcFt0Pj4+MjRdXV5udlskcFt0Pj4+MTYmMjU1XV1eaXZbJHBbdD4+PjgmMjU1XV1eYXZbJHBbMjU1JnRdXX19fX0se2tleToiZW5jcnlwdEJsb2NrIix2YWx1ZTpmdW5jdGlvbih0LGUpe3RoaXMuX2RvQ3J5cHRCbG9jayh0LGUsdGhpcy5fa2V5U2NoZWR1bGUsWnAsSnAsdHYsZXYsJHApfX0se2tleToiZGVjcnlwdEJsb2NrIix2YWx1ZTpmdW5jdGlvbih0LGUpe3ZhciByPXQsbj1yW2UrMV07cltlKzFdPXJbZSszXSxyW2UrM109bix0aGlzLl9kb0NyeXB0QmxvY2socixlLHRoaXMuX2ludktleVNjaGVkdWxlLHJ2LG52LGl2LGF2LFFwKSxuPXJbZSsxXSxyW2UrMV09cltlKzNdLHJbZSszXT1ufX0se2tleToiX2RvQ3J5cHRCbG9jayIsdmFsdWU6ZnVuY3Rpb24odCxlLHIsbixpLGEsbyxzKXtmb3IodmFyIHU9dCxjPXRoaXMuX25Sb3VuZHMsZj11W2VdXnJbMF0sbD11W2UrMV1eclsxXSxkPXVbZSsyXV5yWzJdLGg9dVtlKzNdXnJbM10scD00LHY9MTt2PGM7dis9MSl7dmFyIHk9bltmPj4+MjRdXmlbbD4+PjE2JjI1NV1eYVtkPj4+OCYyNTVdXm9bMjU1JmhdXnJbcF07cCs9MTt2YXIgZz1uW2w+Pj4yNF1eaVtkPj4+MTYmMjU1XV5hW2g+Pj44JjI1NV1eb1syNTUmZl1ecltwXTtwKz0xO3ZhciBtPW5bZD4+PjI0XV5pW2g+Pj4xNiYyNTVdXmFbZj4+PjgmMjU1XV5vWzI1NSZsXV5yW3BdO3ArPTE7dmFyIGI9bltoPj4+MjRdXmlbZj4+PjE2JjI1NV1eYVtsPj4+OCYyNTVdXm9bMjU1JmRdXnJbcF07cCs9MSxmPXksbD1nLGQ9bSxoPWJ9dmFyIHc9KHNbZj4+PjI0XTw8MjR8c1tsPj4+MTYmMjU1XTw8MTZ8c1tkPj4+OCYyNTVdPDw4fHNbMjU1JmhdKV5yW3BdO3ArPTE7dmFyIGs9KHNbbD4+PjI0XTw8MjR8c1tkPj4+MTYmMjU1XTw8MTZ8c1toPj4+OCYyNTVdPDw4fHNbMjU1JmZdKV5yW3BdO3ArPTE7dmFyIHg9KHNbZD4+PjI0XTw8MjR8c1toPj4+MTYmMjU1XTw8MTZ8c1tmPj4+OCYyNTVdPDw4fHNbMjU1JmxdKV5yW3BdO3ArPTE7dmFyIEE9KHNbaD4+PjI0XTw8MjR8c1tmPj4+MTYmMjU1XTw8MTZ8c1tsPj4+OCYyNTVdPDw4fHNbMjU1JmRdKV5yW3BdO3ArPTEsdVtlXT13LHVbZSsxXT1rLHVbZSsyXT14LHVbZSszXT1BfX1dKSxyfShZcCk7Z3Yua2V5U2l6ZT04O3ZhciBtdj1ZcC5fY3JlYXRlSGVscGVyKGd2KSxidj1mdW5jdGlvbih0KXtzKHIsdCk7dmFyIGU9aChyKTtmdW5jdGlvbiByKCl7cmV0dXJuIG4odGhpcyxyKSxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gYShyKX0oRnApO2J2LkVuY3J5cHRvcj1mdW5jdGlvbih0KXtzKHIsdCk7dmFyIGU9aChyKTtmdW5jdGlvbiByKCl7cmV0dXJuIG4odGhpcyxyKSxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gYShyLFt7a2V5OiJwcm9jZXNzQmxvY2siLHZhbHVlOmZ1bmN0aW9uKHQsZSl7dmFyIHI9dCxuPXRoaXMuX2NpcGhlcixpPW4uYmxvY2tTaXplLGE9dGhpcy5faXYsbz10aGlzLl9jb3VudGVyO2EmJih0aGlzLl9jb3VudGVyPWEuc2xpY2UoMCksbz10aGlzLl9jb3VudGVyLHRoaXMuX2l2PXZvaWQgMCk7dmFyIHM9by5zbGljZSgwKTtuLmVuY3J5cHRCbG9jayhzLDApLG9baS0xXT1vW2ktMV0rMXwwO2Zvcih2YXIgdT0wO3U8aTt1Kz0xKXJbZSt1XV49c1t1XX19XSkscn0oYnYpLGJ2LkRlY3J5cHRvcj1idi5FbmNyeXB0b3I7dmFyIHd2PXtwYWQ6ZnVuY3Rpb24oKXt9LHVucGFkOmZ1bmN0aW9uKCl7fX0sa3Y9e2RlY3J5cHRXb3JkQXJyYXk6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPVNwLnBhcnNlKGUpLGk9U3AucGFyc2UoYWgocikpLGE9QXAuY3JlYXRlKG5ldyBVaW50OEFycmF5KHQpKSxvPW12LmRlY3J5cHQoS3AuY3JlYXRlKHtjaXBoZXJ0ZXh0OmF9KSxuLHtpdjppLG1vZGU6YnYscGFkZGluZzp3dn0pO3JldHVybiBrdi53b3JkQXJyYXlUb1VpbnQ4QXJyYXkobyl9LHdvcmRBcnJheVRvVWludDhBcnJheTpmdW5jdGlvbih0KXtmb3IodmFyIGU9dC5zaWdCeXRlcyxyPXQud29yZHMsbj1uZXcgVWludDhBcnJheShlKSxpPTAsYT0wO2khPT1lOyl7dmFyIG89clthKytdO2lmKG5baSsrXT0oNDI3ODE5MDA4MCZvKT4+PjI0LGk9PT1lKWJyZWFrO2lmKG5baSsrXT0oMTY3MTE2ODAmbyk+Pj4xNixpPT09ZSlicmVhaztpZihuW2krK109KDY1MjgwJm8pPj4+OCxpPT09ZSlicmVhaztuW2krK109MjU1Jm99cmV0dXJuIG59fSx4dj1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSxyLG4saSl7dmFyIGE9dGhpczt5KHRoaXMsdCksYih0aGlzLCJfdmlkZW9TYW1wbGVzIixbXSksYih0aGlzLCJfYXVkaW9TYW1wbGVzIixbXSksYih0aGlzLCJfbGFzdFJlbWFpbkJ1ZmZlciIsW10pLGIodGhpcywiX2xhc3RSZW1haW5CdWZmZXJTdGFydFBvcyIsMCksdGhpcy52aWRlb1RyYWNrPW5ldyBOaSx0aGlzLmF1ZGlvVHJhY2s9bmV3IFZpLHRoaXMubWV0YWRhdGFUcmFjaz1ufHxuZXcgS2ksdGhpcy5sb2c9bmV3IHdwKCJNUDREZW11eGVyIiwhaXx8IWkub3BlbkxvZ3x8IWkub3BlbkxvZyksZSYmZS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZTsoZT1hLl92aWRlb1NhbXBsZXMpLnB1c2guYXBwbHkoZSxrKHQuZnJhbWVzKSl9KSksciYmci5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZTsoZT1hLl9hdWRpb1NhbXBsZXMpLnB1c2guYXBwbHkoZSxrKHQuZnJhbWVzKSl9KSl9cmV0dXJuIG0odCxbe2tleToicGFyc2VTYW1wbGVzIix2YWx1ZTpmdW5jdGlvbih0KXtpZighdCl0aHJvdyBuZXcgRXJyb3IoIm1vb3YgaXMgcmVxdWlyZWQiKTtpZih0aGlzLnZpZGVvVHJhY2suY29kZWN8fHRoaXMuYXVkaW9UcmFjay5jb2RlY3x8KGlwLm1vb3ZUb1RyYWNrKHQsdGhpcy52aWRlb1RyYWNrLHRoaXMuYXVkaW9UcmFjayksdGhpcy52aWRlb1NlbmM9dGhpcy52aWRlb1RyYWNrLnZpZGVvU2VuYyx0aGlzLmF1ZGlvU2VuYz10aGlzLmF1ZGlvVHJhY2suYXVkaW9TZW5jKSwhdGhpcy5fYXVkaW9TYW1wbGVzLmxlbmd0aCYmIXRoaXMuX3ZpZGVvU2FtcGxlcy5sZW5ndGgpe3ZhciBlPWlwLm1vb3ZUb1NhbXBsZXModCk7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJjYW5ub3QgcGFyc2Ugc2FtcGxlcyBmcm9tIG1vb3YgYm94Iik7dGhpcy5fdmlkZW9TYW1wbGVzPWUudmlkZW9TYW1wbGVzfHxbXSx0aGlzLl9hdWRpb1NhbXBsZXM9ZS5hdWRpb1NhbXBsZXN8fFtdfX19LHtrZXk6ImRlbXV4Iix2YWx1ZTpmdW5jdGlvbih0LGUscixuLGkpe3RoaXMucGFyc2VTYW1wbGVzKGkpO3ZhciBhLG8scyx1PXRoaXMudmlkZW9UcmFjayxjPXRoaXMuYXVkaW9UcmFjaztpZih1LnNhbXBsZXM9W10sYy5zYW1wbGVzPVtdLHIpe2Zvcih2YXIgZixsPTAsZD1yWzBdLGg9clsxXTtkPD1oO2QrKyl7aWYoIShhPXRoaXMuX3ZpZGVvU2FtcGxlc1tkXSkpdGhyb3cgbmV3IEVycm9yKCJjYW5ub3QgZm91bmQgdmlkZW8gZnJhbWUgIyIuY29uY2F0KGQpKTtzPWEub2Zmc2V0LWUsbz10LnN1YmFycmF5KHMscythLnNpemUpLChmPW5ldyBIaShhLnB0c3x8YS5kdHMsYS5kdHMpKS5kdXJhdGlvbj1hLmR1cmF0aW9uLGYuZ29wSWQ9YS5nb3BJZCxhLmtleWZyYW1lJiZmLnNldFRvS2V5ZnJhbWUoKTtmb3IodmFyIHA9MCx2PW8ubGVuZ3RoLTE7cDx2OylsPW5oKG8scCkscCs9NCxmLnVuaXRzLnB1c2goby5zdWJhcnJheShwLHArbCkpLHArPWw7dS5zYW1wbGVzLnB1c2goZil9dS5iYXNlTWVkaWFEZWNvZGVUaW1lPXUuc2FtcGxlc1swXS5kdHN9aWYobil7Zm9yKHZhciB5PW5bMF0sZz1uWzFdO3k8PWc7eSsrKXtpZighKGE9dGhpcy5fYXVkaW9TYW1wbGVzW3ldKSl0aHJvdyBuZXcgRXJyb3IoImNhbm5vdCBmb3VuZCB2aWRlbyBmcmFtZSAjIi5jb25jYXQoeSkpO3M9YS5vZmZzZXQtZSxvPXQuc3ViYXJyYXkocyxzK2Euc2l6ZSksYy5zYW1wbGVzLnB1c2gobmV3IFlpKGEuZHRzLG8sYS5kdXJhdGlvbikpfWMuYmFzZU1lZGlhRGVjb2RlVGltZT1jLnNhbXBsZXNbMF0uZHRzfXJldHVybnt2aWRlb1RyYWNrOnUsYXVkaW9UcmFjazpjLG1ldGFkYXRhVHJhY2s6dGhpcy5tZXRhZGF0YVRyYWNrfX19LHtrZXk6ImRlbXV4UGFydCIsdmFsdWU6ZnVuY3Rpb24odCxlLHIsbixpLGEsbyl7aWYodGhpcy5wYXJzZVNhbXBsZXMoaSksdGhpcy52aWRlb1RyYWNrLnVzZUVNRT1hLHRoaXMuYXVkaW9UcmFjay51c2VFTUU9YSx0aGlzLl9sYXN0UmVtYWluQnVmZmVyJiZ0aGlzLl9sYXN0UmVtYWluQnVmZmVyLmJ5dGVMZW5ndGg+MCYmZT50aGlzLl9sYXN0UmVtYWluQnVmZmVyU3RhcnRQb3MmJmU8PXRoaXMuX2xhc3RSZW1haW5CdWZmZXJTdGFydFBvcyt0aGlzLl9sYXN0UmVtYWluQnVmZmVyLmJ5dGVMZW5ndGgpZm9yKHZhciBzPTA7czwyMDspdHJ5e3ZhciB1PXRoaXMuX2xhc3RSZW1haW5CdWZmZXIuc3ViYXJyYXkoMCxlLXRoaXMuX2xhc3RSZW1haW5CdWZmZXJTdGFydFBvcyksYz1uZXcgVWludDhBcnJheSh0LmJ5dGVMZW5ndGgrdS5ieXRlTGVuZ3RoKTtjLnNldCh1LDApLGMuc2V0KG5ldyBVaW50OEFycmF5KHQpLHUuYnl0ZUxlbmd0aCksdD1jLGUtPXUuYnl0ZUxlbmd0aCx0aGlzLl9sYXN0UmVtYWluQnVmZmVyPW51bGwsdGhpcy5fbGFzdFJlbWFpbkJ1ZmZlclN0YXJ0UG9zPTA7YnJlYWt9Y2F0Y2goVCl7aWYoIShzPDIwKSl0aHJvdyBuZXcgRXJyb3IoIm5ldyBVaW50OEFycmF5IGVycm9yOiwiK1QuZXJyb3JNZXNzYWdlKTtzKyt9dmFyIGYsbCxkLGg9dGhpcy52aWRlb1RyYWNrLHA9dGhpcy5hdWRpb1RyYWNrO2guc2FtcGxlcz1bXSxwLnNhbXBsZXM9W10saC52aWRlb1NlbmM9bnVsbCxwLmF1ZGlvU2VuYz1udWxsO3ZhciB2PTAseT0wO2lmKHRoaXMuX3ZpZGVvU2FtcGxlcy5sZW5ndGg+MCYmci5sZW5ndGg+MCl7Zm9yKHZhciBnLG09dC5ieXRlTGVuZ3RoK2UsYj1yWzBdO2I8PXJbMV07YisrKXtpZighKGY9dGhpcy5fdmlkZW9TYW1wbGVzW2JdKSl0aHJvdyBuZXcgRXJyb3IoImNhbm5vdCBmb3VuZCB2aWRlbyBmcmFtZSAjIi5jb25jYXQoYikpO2Yub2Zmc2V0Pj1lJiZmLm9mZnNldCtmLnNpemU8PW0mJih2PShkPWYub2Zmc2V0LWUpK2Yuc2l6ZSxsPXQuc3ViYXJyYXkoZCx2KSwoZz1uZXcgSGkoZi5wdHN8fGYuZHRzLGYuZHRzKSkuZHVyYXRpb249Zi5kdXJhdGlvbixnLmdvcElkPWYuZ29wSWQsZy5zYW1wbGVPZmZzZXQ9Zi5pbmRleCxmLmtleWZyYW1lJiZnLnNldFRvS2V5ZnJhbWUoKSxnLmRhdGE9bCxnLnNpemU9Zi5zaXplLGguc2FtcGxlcy5wdXNoKGcpKX1oLnNhbXBsZXMubGVuZ3RoPjAmJihoLmdvcElkPWguc2FtcGxlc1swXS5nb3BJZCxoLmJhc2VNZWRpYURlY29kZVRpbWU9aC5zYW1wbGVzWzBdLmR0cyxoLnN0YXJ0UHRzPWguc2FtcGxlc1swXS5wdHMvaC50aW1lc2NhbGUsaC5lbmRQdHM9aC5zYW1wbGVzW2guc2FtcGxlcy5sZW5ndGgtMV0ucHRzL2gudGltZXNjYWxlLHRoaXMudmlkZW9TZW5jJiYoaC52aWRlb1NlbmM9dGhpcy52aWRlb1NlbmMuc2xpY2UoaC5zYW1wbGVzWzBdLnNhbXBsZU9mZnNldCxoLnNhbXBsZXNbMF0uc2FtcGxlT2Zmc2V0K2guc2FtcGxlcy5sZW5ndGgpLGgua2lkVmFsdWU9bykpfWlmKHRoaXMuX2F1ZGlvU2FtcGxlcy5sZW5ndGg+MCYmbi5sZW5ndGg+MCl7Zm9yKHZhciB3PW5bMF07dzw9blsxXTt3Kyspe2lmKCEoZj10aGlzLl9hdWRpb1NhbXBsZXNbd10pKXRocm93IG5ldyBFcnJvcigiY2Fubm90IGZvdW5kIHZpZGVvIGZyYW1lICMiLmNvbmNhdCh3KSk7Zi5vZmZzZXQ+PWUmJmYub2Zmc2V0K2Yuc2l6ZTw9dC5ieXRlTGVuZ3RoK2UmJih5PShkPWYub2Zmc2V0LWUpK2Yuc2l6ZSxsPXQuc3ViYXJyYXkoZCx5KSxwLnNhbXBsZXMucHVzaChuZXcgWWkoZi5kdHMsbCxmLmR1cmF0aW9uLGYuaW5kZXgpKSl9cC5zYW1wbGVzLmxlbmd0aD4wJiYocC5nb3BJZD1wLnNhbXBsZXNbMF0uZ29wSWR8fGguZ29wSWQscC5iYXNlTWVkaWFEZWNvZGVUaW1lPXAuc2FtcGxlc1swXS5kdHMscC5zdGFydFB0cz1wLnNhbXBsZXNbMF0ucHRzL3AudGltZXNjYWxlLHAuZW5kUHRzPXAuc2FtcGxlc1twLnNhbXBsZXMubGVuZ3RoLTFdLnB0cy9wLnRpbWVzY2FsZSx0aGlzLmF1ZGlvU2VuYyYmKHAuYXVkaW9TZW5jPXRoaXMuYXVkaW9TZW5jLnNsaWNlKHAuc2FtcGxlc1swXS5zYW1wbGVPZmZzZXQscC5zYW1wbGVzWzBdLnNhbXBsZU9mZnNldCtwLnNhbXBsZXMubGVuZ3RoKSxwLmtpZFZhbHVlPW8pKX10aGlzLmRlY29kZXJEYXRhKGgscCk7Zm9yKHZhciBrPTAseD0wO3g8aC5zYW1wbGVzLmxlbmd0aDt4KyspZm9yKHZhciBBPTAsUz1oLnNhbXBsZXNbeF0uZGF0YSxfPVMubGVuZ3RoLTE7QTxfOylrPW5oKFMsQSksQSs9NCxoLnNhbXBsZXNbeF0udW5pdHMucHVzaChTLnN1YmFycmF5KEEsQStrKSksQSs9aztyZXR1cm4gdGhpcy5fbGFzdFJlbWFpbkJ1ZmZlcj10LnN1YmFycmF5KE1hdGgubWF4KHYseSkpLHRoaXMuX2xhc3RSZW1haW5CdWZmZXIuYnl0ZUxlbmd0aD4wP3RoaXMuX2xhc3RSZW1haW5CdWZmZXJTdGFydFBvcz1lK3QuYnl0ZUxlbmd0aC10aGlzLl9sYXN0UmVtYWluQnVmZmVyLmJ5dGVMZW5ndGg6dGhpcy5fbGFzdFJlbWFpbkJ1ZmZlclN0YXJ0UG9zPTAse3ZpZGVvVHJhY2s6aCxhdWRpb1RyYWNrOnAsbWV0YWRhdGFUcmFjazp0aGlzLm1ldGFkYXRhVHJhY2t9fX0se2tleToicmVzZXQiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5fdmlkZW9TYW1wbGVzPVtdLHRoaXMuX2F1ZGlvU2FtcGxlcz1bXSx0aGlzLl9sYXN0UmVtYWluQnVmZmVyPW51bGwsdGhpcy5fbGFzdFJlbWFpbkJ1ZmZlclN0YXJ0UG9zPTAsdGhpcy52aWRlb1RyYWNrLnJlc2V0KCksdGhpcy5hdWRpb1RyYWNrLnJlc2V0KCksdGhpcy5tZXRhZGF0YVRyYWNrLnJlc2V0KCl9fSx7a2V5OiJkZWNvZGVyRGF0YSIsdmFsdWU6ZnVuY3Rpb24odCxlKXtpZighdC51c2VFTUUmJiFlLnVzZUVNRSl7aWYodC52aWRlb1NlbmMmJjE9PT10LmlkKXt2YXIgcj10LmtpZFZhbHVlLG49dC52aWRlb1NlbmM7dC5zYW1wbGVzLmZvckVhY2goKGZ1bmN0aW9uKGUsaSl7dmFyIGE9bltpXSxvPWUuZGF0YSxzPVtdLHU9W10sYz1hLkluaXRpYWxpemF0aW9uVmVjdG9yO2lmKGEuc3Vic2FtcGxlcyYmYS5zdWJzYW1wbGVzLmxlbmd0aClhLnN1YnNhbXBsZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIGU9dC5CeXRlc09mQ2xlYXJEYXRhK3QuQnl0ZXNPZlByb3RlY3RlZERhdGEscj1vLnNsaWNlKDAsZSk7cy5wdXNoKHIuc2xpY2UoMCx0LkJ5dGVzT2ZDbGVhckRhdGEpKSx1LnB1c2goci5zbGljZSh0LkJ5dGVzT2ZDbGVhckRhdGEpKSxvPW8uc2xpY2UoZSl9KSk7ZWxzZXt2YXIgZj1lLnNpemU7cy5wdXNoKG8uc2xpY2UoMCwwKSksdS5wdXNoKG8uc2xpY2UoMCxmKSksbz1vLnNsaWNlKGYpfXZhciBsPW5ldyBncDtsLndyaXRlLmFwcGx5KGwsdSk7dmFyIGQ9a3YuZGVjcnlwdFdvcmRBcnJheShsLmJ1ZmZlcixyLGMpLGg9bmV3IGdwO3MuZm9yRWFjaCgoZnVuY3Rpb24odCxlKXt2YXIgcj11W2VdLmxlbmd0aCxuPWQuc2xpY2UoMCxyKTtoLndyaXRlKHQpLGgud3JpdGUobiksZD1kLnNsaWNlKHIpfSkpLHQuc2FtcGxlc1tpXS5kYXRhPWguYnVmZmVyfSkpfWlmKGUuYXVkaW9TZW5jJiYyPT09ZS5pZCl7dmFyIGk9ZS5raWRWYWx1ZSxhPWUuYXVkaW9TZW5jO2Uuc2FtcGxlcy5mb3JFYWNoKChmdW5jdGlvbih0LHIpe3ZhciBuPWFbcl0sbz1rdi5kZWNyeXB0V29yZEFycmF5KHQuZGF0YSxpLG4uSW5pdGlhbGl6YXRpb25WZWN0b3IpO2Uuc2FtcGxlc1tyXS5kYXRhPW99KSl9fX19XSxbe2tleToicHJvYmUiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiBpcC5wcm9iZSh0KX19XSksdH0oKSxBdj17ZmluZEJveDpmdW5jdGlvbih0LGUpe3ZhciByPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTpbXTtpZih0LnR5cGUhPT1lKXtpZih0JiZ0LnN1YkJveCl7dmFyIG49dC5zdWJCb3guZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC50eXBlPT09ZX0pKTtuLmxlbmd0aD9uLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiByLnB1c2godCl9KSk6dC5zdWJCb3guZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIEF2LmZpbmRCb3godCxlLHIpfSkpfX1lbHNlIHIucHVzaCh0KTtyZXR1cm4ocj1bXS5jb25jYXQocikpLmxlbmd0aD4xP3I6clswXX0scGFkU3RhcnQ6ZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgbj1TdHJpbmcociksaT1lPj4wLGE9TWF0aC5jZWlsKGkvbi5sZW5ndGgpLG89W10scz1TdHJpbmcodCk7YS0tOylvLnB1c2gobik7cmV0dXJuIG8uam9pbigiIikuc3Vic3RyaW5nKDAsaS1zLmxlbmd0aCkrc30sdG9IZXg6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT1hcmd1bWVudHMubGVuZ3RoLHI9bmV3IEFycmF5KGUpLG49MDtuPGU7bisrKXJbbl09YXJndW1lbnRzW25dO3JldHVybiByLmZvckVhY2goKGZ1bmN0aW9uKGUpe3QucHVzaChBdi5wYWRTdGFydChOdW1iZXIoZSkudG9TdHJpbmcoMTYpLDIsMCkpfSkpLHR9LHN1bTpmdW5jdGlvbigpe2Zvcih2YXIgdD0wLGU9YXJndW1lbnRzLmxlbmd0aCxyPW5ldyBBcnJheShlKSxuPTA7bjxlO24rKylyW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gci5mb3JFYWNoKChmdW5jdGlvbihlKXt0Kz1lfSkpLHR9LFN0cmluZ1RvQXJyYXlCdWZmZXI6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPW5ldyBBcnJheUJ1ZmZlcih0Lmxlbmd0aCkscj1uZXcgVWludDhBcnJheShlKSxuPTA7bjx0Lmxlbmd0aDtuKyspcltuXT10LmNoYXJDb2RlQXQobik7cmV0dXJuIGV9LGZyb21IZXg6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPW5ldyBVaW50OEFycmF5KHQubGVuZ3RoLzIpLHI9MDtyPHQubGVuZ3RoO3IrPTIpZVtyLzJdPXdpbmRvdy5wYXJzZUludCh0LnN1YnN0cihyLDIpLDE2KTtyZXR1cm4gZX0sZnJvbUNoYXJDb2RlOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0iIixyPTA7cjx0Lmxlbmd0aDtyKz0xNmUzKXt2YXIgbj10LnN1YmFycmF5KHIscisxNmUzKTtlKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsbil9cmV0dXJuIGV9LEFycmF5QnVmZmVyVG9TdHJpbmc6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPSIiLHI9bmV3IFVpbnQ4QXJyYXkodCksbj0wO248ci5sZW5ndGg7bisrKWUrPVN0cmluZy5mcm9tQ2hhckNvZGUocltuXSk7cmV0dXJuIGV9LEJhc2U2NFRvSGV4OmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT13aW5kb3cuYXRvYih0LnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpKSxyPSIiLG49MDtuPGUubGVuZ3RoO24rKylyKz0oIjAiK2UuY2hhckNvZGVBdChuKS50b1N0cmluZygxNikpLnN1YnN0cigtMik7cmV0dXJuIHJ9LHRvQmFzZTY0OmZ1bmN0aW9uKHQsZSl7dmFyIHI9QXYuZnJvbUNoYXJDb2RlKHQpO2U9dm9pZCAwPT09ZXx8ZTt2YXIgbj13aW5kb3cuYnRvYShyKS5yZXBsYWNlKC9cKy9nLCItIikucmVwbGFjZSgvXC8vZywiXyIpO3JldHVybiBlP246bi5yZXBsYWNlKC89KiQvLCIiKX0sdG9VVEY4OmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1lbmNvZGVVUklDb21wb25lbnQodCkscj11bmVzY2FwZShlKSxuPW5ldyBVaW50OEFycmF5KHIubGVuZ3RoKSxpPTA7aTxyLmxlbmd0aDsrK2kpbltpXT1yLmNoYXJDb2RlQXQoaSk7cmV0dXJuIG4uYnVmZmVyfSxidWZmZXJUb1N0cmluZzpmdW5jdGlvbih0KXtyZXR1cm4oIjAiK051bWJlcih0KS50b1N0cmluZygxNikpLnNsaWNlKC0yKS50b1VwcGVyQ2FzZSgpfSxzdHJUb0J1ZjpmdW5jdGlvbih0KXtmb3IodmFyIGU9W10scj0wO3I8dC5sZW5ndGg7cis9MillLnB1c2gocGFyc2VJbnQodFtyXSt0W3IrMV0sMTYpKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZSl9LGZvcm1hdElWOmZ1bmN0aW9uKHQpe3ZhciBlPSIiO2lmKHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7ZSs9QXYuYnVmZmVyVG9TdHJpbmcodCl9KSksZS5sZW5ndGg8PTMyKWZvcih2YXIgcj0zMi1lLmxlbmd0aCxuPTA7bjxyO24rKyllKz0iMCI7cmV0dXJuIGV9LHN0cjJoZXg6ZnVuY3Rpb24odCl7aWYoIiI9PT10KXJldHVybiIiO2Zvcih2YXIgZT1bXSxyPTA7cjx0Lmxlbmd0aDtyKyspZS5wdXNoKHQuY2hhckNvZGVBdChyKSk7cmV0dXJuIGV9LHBhcnNlOmZ1bmN0aW9uKHQpe2lmKCFBcnJheS5pc0FycmF5KHQpKXtmb3IodmFyIGU9W10scj0iIixuPTA7bjx0Lmxlbmd0aDtuKyspbiUyJiYocj10W24tMV0rdFtuXSxlLnB1c2gocGFyc2VJbnQociwxNikpLHI9IiIpO3JldHVybiBlfXJldHVybiB0Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHBhcnNlSW50KHQsMTYpfSkpfSxnZW5lcmF0ZVVuaXF1ZUtleTpmdW5jdGlvbih0KXt2YXIgZT10LnZpZDt0LnN0YXJ0LHQuZW5kO3ZhciByPXQubWVkaWFUeXBlLG49dC5kZWZpbml0aW9uO3JldHVybiB0LnByZWxvYWRUaW1lLHI9cnx8InZpZGVvIixuPW58fCIwIixlPyIiLmNvbmNhdChlLCIjIikuY29uY2F0KHIsIiMiKS5jb25jYXQobiwiI21wNCIpOm51bGx9LHZhbGlkYXRlRnJhZ21lbnQ6ZnVuY3Rpb24odCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOltdO2lmKHQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcil7dHJ5e2lmKDI9PT1lLmxlbmd0aCl7dmFyIHI9ZVsxXS1lWzBdKzE7aWYoISh0LmJ5dGVMZW5ndGg9PT1yKSlyZXR1cm59fWNhdGNoKG4pe3JldHVybiBjb25zb2xlLmVycm9yKG4pLCExfXJldHVybiEwfXJldHVybiExfSx0eXBlT2Y6ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KS5tYXRjaCgvKFteXHMuKl0rKSg/PV0kKS9nKVswXX0sZ2V0QnVmZmVyU3BsaXRzOmZ1bmN0aW9uKHQsZSl7dmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOjVlNSxuPWUtdDtpZihuLXI8ci8yfHwhZSlyZXR1cm5bW3QsZV1dO2Zvcih2YXIgaT1bXTt0PGU7KXt2YXIgYT10K3I7KGE+ZXx8ZS1hPHIvMikmJihhPWUpLGkucHVzaChbdCxhXSksdD1hKzF9cmV0dXJuIGl9LG5vd1RpbWU6ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIHBhcnNlSW50KHBlcmZvcm1hbmNlLm5vdygpLDEwKX1jYXRjaCh0KXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUoKX19LGV4dFVybDpmdW5jdGlvbih0LGUpe3RyeXt2YXIgcj10LmluZGV4T2YoIj8iKTtyZXR1cm4gcjwwP09iamVjdC5rZXlzKGUpLm1hcCgoZnVuY3Rpb24ocixuKXt0Kz0wPT09bj8iPyIuY29uY2F0KHIsIj0iKS5jb25jYXQoZVtyXSk6IiYiLmNvbmNhdChyLCI9IikuY29uY2F0KGVbcl0pfSkpOk9iamVjdC5rZXlzKGUpLm1hcCgoZnVuY3Rpb24obixpKXtyPT09dC5sZW5ndGgtMT90Kz0iIi5jb25jYXQobiwiPSIpLmNvbmNhdChlW25dKTp0Kz0iJiIuY29uY2F0KG4sIj0iKS5jb25jYXQoZVtuXSl9KSksdH1jYXRjaChuKXtyZXR1cm4gdH19LGdldEZpbGVTaXplOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiB0JiZlP3BhcnNlSW50KGUqdC84LDEwKTowfWNhdGNoKHIpe3JldHVybiAwfX0saGFzaFZhbDpmdW5jdGlvbih0KXt2YXIgZSxyPTA7aWYoMD09PXQubGVuZ3RoKXJldHVybiByO2ZvcihlPTA7ZTx0Lmxlbmd0aDtlKyspcj0ocjw8NSktcit0LmNoYXJDb2RlQXQoZSkscnw9MDtyZXR1cm4gcn19O0F2LmdldEZpbGVTaXplPWZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiB0JiZlP3BhcnNlSW50KGUqdC84LDEwKTowfWNhdGNoKHIpe3JldHVybiAwfX0sQXYuY29uY2F0RGF0YT1mdW5jdGlvbih0LGUpe3ZhciByPVtdLG49MDt0JiZyLnB1c2godCksZSYmci5wdXNoKGUpLHIuZXZlcnkoKGZ1bmN0aW9uKHQpe3JldHVybiB0JiYobis9dC5ieXRlTGVuZ3RoKSwhMH0pKTt2YXIgaT1uZXcgVWludDhBcnJheShuKSxhPTA7cmV0dXJuIHIuZXZlcnkoKGZ1bmN0aW9uKHQpe3JldHVybiB0JiYoaS5zZXQodCxhKSxhKz10LmJ5dGVMZW5ndGgpLCEwfSkpLGl9LEF2LmdldEZyYWdSYW5nZT1mdW5jdGlvbih0LGUscil7dmFyIG49dDxlLmxlbmd0aD9lW3RdOm51bGwsaT10PHIubGVuZ3RoP3JbdF06bnVsbCxhPTAsbz0wO3JldHVybiB0PT09ZS5sZW5ndGgtMSYmKGE9LTEpLHQ9PT1yLmxlbmd0aC0xJiYobz0tMSksW01hdGgubWluKChudWxsPT1uP3ZvaWQgMDpuLnJhbmdlWzBdKXx8MS8wLChudWxsPT1pP3ZvaWQgMDppLnJhbmdlWzBdKXx8MS8wKSxNYXRoLm1heCgobnVsbD09bj92b2lkIDA6bi5yYW5nZVsxXSkrYXx8MCwobnVsbD09aT92b2lkIDA6aS5yYW5nZVsxXSkrb3x8MCldfSxvbm1lc3NhZ2U9ZnVuY3Rpb24odCl7dmFyIHI9dC5kYXRhO3N3aXRjaChyLm1ldGhvZCl7Y2FzZSJpbml0Ijp0aGlzLmNvZGVjVHlwZT1yLmFyZ3MuY29kZWNUeXBlLHRoaXMub3BlbmxvZz1yLmFyZ3Mub3BlbkxvZyx0aGlzLk1QNERlbXV4ZXI9bnVsbCx0aGlzLkZNUDRSZW11eGVyPW51bGwsdGhpcy5fbmVlZEluaXRTZWdtZW50PSEwLHRoaXMuc3VwcG9ydEhldmM9ci5hcmdzLnN1cHBvcnRIZXZjO2JyZWFrO2Nhc2UidHJhbnNtdXgiOnZhciBuPXQuZGF0YS5hcmdzLGk9bmV3IFVpbnQ4QXJyYXkodC5kYXRhLmJ1ZmZlcik7dGhpcy5NUDREZW11eGVyfHwodGhpcy5NUDREZW11eGVyPW5ldyB4dihudWxsLG51bGwsbnVsbCx7b3BlbmxvZzp0aGlzLm9wZW5sb2d9KSk7dmFyIGEsbz10aGlzLk1QNERlbXV4ZXIuZGVtdXhQYXJ0KGksbi5zdGFydCxuLnZpZGVvSWR4LG4uYXVkaW9JZHgsbi5tb292LG4udXNlRU1FLG4ua2lkVmFsdWUpO2lmKHRoaXMuRk1QNFJlbXV4ZXJ8fCJoMjY1Ij09PXRoaXMuY29kZWNUeXBlJiYhdGhpcy5zdXBwb3J0SGV2Y3x8KHRoaXMuRk1QNFJlbXV4ZXI9bmV3IGtwKHRoaXMuTVA0RGVtdXhlci52aWRlb1RyYWNrLHRoaXMuTVA0RGVtdXhlci5hdWRpb1RyYWNrLHtvcGVuTG9nOnRoaXMub3BlbmxvZ30pKSx0aGlzLkZNUDRSZW11eGVyKXt2YXIgcz10aGlzLkZNUDRSZW11eGVyLnJlbXV4KHRoaXMuX25lZWRJbml0U2VnbWVudCx7aW5pdE1lcmdlOiEwfSk7cy5pbml0U2VnbWVudCYmKHRoaXMuX25lZWRJbml0U2VnbWVudD0hMSksYT17YnVmZmVyOkF2LmNvbmNhdERhdGEocy5hdWRpb1NlZ21lbnQscy52aWRlb1NlZ21lbnQpLHJhbmdlOm4uY29udGV4dC5yYW5nZSxzdGF0ZTpuLmNvbnRleHQuc3RhdGUsY29udGV4dDp7cmFuZ2U6bi5jb250ZXh0LnJhbmdlLGZyYWdJbmRleDpuLmNvbnRleHQuZnJhZ0luZGV4LHN0YXJ0UHRzOk1hdGgubWluKG8udmlkZW9UcmFjay5zdGFydFB0cyxvLmF1ZGlvVHJhY2suc3RhcnRQdHMpLGVuZFB0czpNYXRoLm1heChvLnZpZGVvVHJhY2suZW5kUHRzLG8uYXVkaW9UcmFjay5lbmRQdHMpfSxpbml0U2VnOnMuaW5pdFNlZ21lbnR9fXRoaXMucG9zdE1lc3NhZ2Uoe21ldGhvZDoidHJhbnNtdXgiLGlkOnQuZGF0YS5pZCxhcmdzOmUoe30sYSl9KTticmVhaztjYXNlInJlc2V0Ijp0aGlzLkZNUDRSZW11eGVyJiZ0aGlzLkZNUDRSZW11eGVyLnJlc2V0KCksdGhpcy5NUDREZW11eGVyJiZ0aGlzLk1QNERlbXV4ZXIucmVzZXQoKSx0aGlzLkZNUDRSZW11eGVyPW51bGwsdGhpcy5NUDREZW11eGVyPW51bGwsdGhpcy5fbmVlZEluaXRTZWdtZW50PSEwfX19KCk7Cg==",sie="undefined"!=typeof window&&window.Blob&&new Blob([atob(oie)],{type:"text/javascript;charset=utf-8"});function lie(){var e=sie&&(FU||window.webkitURL).createObjectURL(sie);try{return e?new Worker(e,{}):new Worker("data:application/javascript;base64,"+oie,{type:"module"})}finally{e&&(FU||window.webkitURL).revokeObjectURL(e)}}var uie=function(e){FZ(n,e);var t=JZ(n);function n(e){var r;return KZ(this,n),(r=t.call(this)).openlog=e.openLog,r.codecType=e.codecType,r.supportHevc=e.supportHevc,r.worker=new lie,r.worker.onmessage=function(e){r.emit(e.data.method,e.data)},r.worker.postMessage({method:"init",id:e.id||0,args:{openlog:r.openlog,supportHevc:r.supportHevc,codecType:r.codecType}}),r}return HZ(n,[{key:"transmux",value:function(e,t,n,r,i,a,o,s,l){var u=t.buffer;this.worker&&this.worker.postMessage({method:"transmux",id:e,buffer:u,args:{start:n,videoIdx:r,audioIdx:i,moov:a,useEME:o,kidValue:s,context:l}},[u])}},{key:"reset",value:function(){this.worker&&this.worker.postMessage({method:"reset"})}},{key:"destroy",value:function(){this.worker&&this.worker.terminate()}}]),n}(sH),cie="error",die="metaReady",hie="moov_request_Progress",fie="progress_event",mie="updateEME",pie="chaneg_url",yie=function(e){FZ(d,e);var t,n,r,i,a,o,s,l,u,c=JZ(d);function d(e,t,n,r){var i,a,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:[],s=arguments.length>7?arguments[7]:void 0,l=arguments.length>8?arguments[8]:void 0;if(KZ(this,d),_Z(UZ(a=c.call(this)),"onprogressDataArrive",function(){var e=YZ(RZ().mark((function e(t,n,r){var i;return RZ().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t&&t.byteLength>0&&((i=a.timeRange[r.index].range)&&r.range[1]>=i[1]&&!n&&(n=!0),a.log("[mp4.loadFragment onprogressDataArrive ] receive data, >>> index,",r.index,",range,",Aa(r.range),", dataLen,",t.byteLength),a._mux(t,r.range[0],r.index,n)),n&&(a.timeRange[r.index].downloaded=!0,a.bufferLoadedPos=-1,a.log("[FragLoadDowned],fragmentIdx,",r.index,",rangeEnd,",r.range[1]));case 2:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}()),a.timeRecord={startMuxTime:-1,startLoadTime:-1,newMP4Time:Wne.nowTime(),startLoadMetaTime:-1},a.url=e,a.backUrl=o||[],a._bitRate=t,a.options=d.getDefaultConfig(),Ro(i=ca(n)).call(i,(function(e){void 0!==n[e]&&null!==n[e]&&(a.options[e]=n[e])})),a.timeRange=[],a.firstFrameTime=s||{},a._logTag=l||"",a.CHUNK_SIZE=aie(n.duration,a.options.chunkSize,n.fileSize),a.player=r,a.bufferLoaded=new Uint8Array(0),a.bufferLoadedPos=0,a.meta=null,a.preloadCache=null,a.videoTrak=null,a.audioTrak=null,a.canDownload=!0,a._loadSuccessCallBack=null,a._isPending=!1,a._metaLoading=!1,a.MP4Loader=new Qre(VZ(VZ({segmentDuration:n.segmentDuration,url:e,vid:n.vid+"-"+t,retry:n.retryCount||2,retryDelay:n.retryDelay||1e3,timeout:3e3},n.reqOptions),{},{openLog:eie()})),a.MP4Demuxer=null,a.FMP4Remuxer=null,a._needInitSegment=!0,a._bitRateInfoMap=new l4,a._switchBitRate=!1,a._segmentToBitRateMap=new l4,a.useEME=!1,a.kidValue=null,a.enableWorker=n.enableWorker&&("h265"!==n.codecType||n.supportHevc),a.enableWorker&&"undefined"!=typeof Worker)try{a.workerSequence=0,a.transmuxerWorkerControl=new uie({id:a.workerSequence,codecType:n.codecType,supportHevc:a.options.supportHevc,openLog:eie()}),a.transmuxerWorkerControl.on("transmux",(function(e){var t=e.args;a.log("[transmuxerworker end] ,range, ",Aa(t.range),",dataLen,",t.buffer.byteLength,t.context),a.firstFrameTime.firstmux<0&&a.timeRecord.startMuxTime>0&&(a.firstFrameTime.firstmux=Wne.nowTime()-a.timeRecord.startMuxTime),a._loadSuccessCallBack&&a._loadSuccessCallBack(t)}))}catch(Ude){a.log("Error in worker:",Ude),a.enableWorker=!1,a.transmuxerWorkerControl=null}return a.enableWorker||(a.MP4Demuxer=null,a.FMP4Remuxer=null),a.seekTime=-1,a}return HZ(d,[{key:"changeBitRate",value:(u=YZ(RZ().mark((function e(t){return RZ().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.bitrate===this._bitRate){e.next=9;break}return this.url=t.url,this._bitRate=t.bitrate,this.backUrl=t.backupURL,e.next=6,this.MP4Loader.changeUrl(this.url,this.options.vid+"-"+this._bitRate,this.CHUNK_SIZE);case 6:this.emit(pie,this.url),this._switchBitRate=!0,this.log("[switchBitrate] changeUrl, bitRate,",this._bitRate,this.url);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"_getByPreload",value:function(e,t,n,r){try{if(e&&e.byteLength>=t){var i={endTime:(new Date).getTime(),startTime:(new Date).getTime(),index:r,range:[],vid:this.options.vid,from:"local"};if(n<=e.byteLength){var a=Ag(e).call(e,t,n);return i.range=[t,n],i.state=!0,{buffer:a,context:i,state:!0}}var o=e.byteLength-1,s=Ag(e).call(e,t,o);return i.range=[t,o],{context:i,buffer:s,state:!1}}return null}catch(l){return console.error("[MP4] _getByPreload",t,n,l),null}}},{key:"log",value:function(e){for(var t,n,r,i,a=this.options,o=a&&a.vid?Ci(t=Ci(n="[MP4]".concat(this._logTag," ")).call(n,a.vid," ")).call(t,e):Ci(r="[MP4]".concat(this._logTag," ")).call(r,e),s=arguments.length,l=new Array(s>1?s-1:0),u=1;u<s;u++)l[u-1]=arguments[u];tie.apply(void 0,Ci(i=[o]).call(i,l))}},{key:"errorHandler",value:(l=YZ(RZ().mark((function e(t,n){var r,i,a,o,s,l,u,c,d,h=arguments;return RZ().wrap((function(e){for(var f,m;;)switch(e.prev=e.next){case 0:if(r=h.length>2&&void 0!==h[2]?h[2]:{},i=t.response,a=t.message,o=this.options?this.options.vid:"",s=null,this._isPending=!0,!i){e.next=33;break}if(l=rie(i.headers),s=new _te("network",i.status,{httpText:i.httpText,message:a,url:i.url,headers:l}),console.log(Ci(f=Ci(m="[MP4] [".concat(o,"] errorHandler error state:[")).call(m,n,"], _isPending:[")).call(f,this._isPending,"] "),s),!(this.backUrl&&this.backUrl.length>0)){e.next=29;break}if(console.log("[MP4] [".concat(o,"] errorHandler start backUpUrl retry"),this.backUrl.length,this.backUrl),u=this.backUrl.shift(),this.update(u),this._isPending=!1,!this.MP4Loader){e.next=18;break}return e.next=17,this.MP4Loader.changeUrl(this.url,this.url+"-"+this._bitRate,this.CHUNK_SIZE);case 17:this.emit(pie,this.url);case 18:if(this.emit(fie,{type:"error",error:t}),"getMetaInfo"!==n){e.next=24;break}return this.getMetaInfo(),e.abrupt("return");case 24:if("loadFragment"!==n){e.next=29;break}if(c=r.index,d=r.range,!c||!d){e.next=29;break}return this.loadFragment(c,d),e.abrupt("return");case 29:console.log("[MP4] [".concat(o,"] errorHandler backUpUrl is null emit error")),this.emit(cie,s),e.next=36;break;case 33:console.log("[MP4] [".concat(o,"] errorHandler,"),t),s=t,this.emit(cie,s);case 36:case"end":return e.stop()}}),e,this)}))),function(e,t){return l.apply(this,arguments)})},{key:"init",value:(s=YZ(RZ().mark((function e(t){var n,r,i,a,o,s,l,u;return RZ().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.url){e.next=3;break}return e.next=3,this.MP4Loader.changeUrl(this.url,this.options.vid+"-"+this._bitRate,this.CHUNK_SIZE);case 3:if(this.emit(pie,this.url),this.meta=null,n=t.meta,r=t.mediaSegList,i=t.buffer,a=t.fileSize,o=t.initSeg,s=t.bitrate,!n||!n.ext){e.next=21;break}this.meta=n,this._bitRate=s,this.videoTrak=n.ext.videoTrak,this.audioTrak=n.ext.audioTrak,this.timeRange=this.getTimeRange(),r?this.preloadCache={segList:r||[],initSeg:o}:i&&(this.size=a,this.bufferLoaded=i),l={meta:n,videoSegments:n.ext.videoTrak,audioSegments:n.ext.audioTrak,bufferLoaded:i||null},this._bitRateInfoMap.set(this._bitRate,l),u=(new Date).getTime(),On((function(){console.log(">>>>metaReady setTimeout",(new Date).getTime()-u)})),console.log(">>>>metaReady",Wne.nowTime()),this.emit(die,this.meta),e.next=23;break;case 21:return e.next=23,this.getMetaInfo();case 23:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"getTimeRange",value:function(){for(var e=[],t=null,n=0;this.videoTrak&&n<this.videoTrak.length;n++)t={startTime:this.videoTrak[n].startTime,endTime:this.videoTrak[n].endTime,downloaded:!1,isLoading:!1},e.push(t);if(this.audioTrak&&this.audioTrak.length>e.length)for(var r=e.length;r<this.audioTrak.length;r++)t={startTime:Math.max(this.audioTrak[r].startTime,t?t.endTime:0),endTime:Math.max(this.audioTrak[r].endTime,t?t.endTime:0),downloaded:!1,isLoading:!1},e.push(t);return e}},{key:"getMetaInfo",value:(o=YZ(RZ().mark((function e(){var t,n,r,i,a=this,o=arguments;return RZ().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=!(o.length>0&&void 0!==o[0])||o[0],e.prev=1,n=Wne.nowTime(),this._metaLoading=!0,this.log("getMetaInfo start, bitRate,",this._bitRate),this.bufferLoaded=new Uint8Array(0),r=0,i=function(){var e=YZ(RZ().mark((function e(i,o,s,l){var u,c;return RZ().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a.log("getMetaInfo onProgressHandle, dataLen,",i?i.byteLength:-1,", state,",o,",range,",Aa(s.range)),!l){e.next=7;break}return e.next=4,a.cancelLoading();case 4:return u=new Fte(Hte.demux,Pte.metaError,{msg:Aa(l)}),a.errorHandler(u,"getMetaInfo"),e.abrupt("return");case 7:i&&s.range[0]===r&&(a.bufferLoaded=P8(Uint8Array,a.bufferLoaded,new Uint8Array(i)),r+=i.byteLength),s.meta&&!a.meta&&(a.firstFrameTime.metaload=Wne.nowTime()-n,c=s.meta,a.videoTrak=c.videoSegments,a.audioTrak=c.audioSegments,a.timeRange=a.getTimeRange(),a.meta=VZ(VZ({},c.meta),{},{ext:{videoTrak:a.videoTrak,audioTrak:a.audioTrak}}),c.bufferLoaded=a.bufferLoaded,a._bitRateInfoMap.set(a._bitRate,c),a.log("meta reach, bitRate,",a._bitRate),t&&a.emit(die,a.meta)),a.meta&&o&&(a.log("[getMetaInfo req end]"),a._metaLoading=!1),a.meta&&(i||o)&&(a.log("emit moov_req_progress"),a.emit(hie));case 11:case"end":return e.stop()}}),e)})));return function(t,n,r,i){return e.apply(this,arguments)}}(),e.next=10,this.MP4Loader.loadMetaProcess(this.MP4Loader.cache,[0,this.CHUNK_SIZE],i);case 10:e.next=16;break;case 12:e.prev=12,e.t0=e.catch(1),console.error("[MP4] trigger errorHandler getMetaInfo",e.t0),this.errorHandler(e.t0,"getMetaInfo");case 16:case"end":return e.stop()}}),e,this,[[1,12]])}))),function(){return o.apply(this,arguments)})},{key:"getFragmentIdx",value:function(e){var t,n,r;if(this.videoTrak.length){var i,a;if(t=kP(i=this.videoTrak).call(i,(function(t){return t.startTime<=e&&t.endTime>e})),n=kP(a=this.audioTrak).call(a,(function(t){return t.startTime<=e&&t.endTime>e})),t&&n)return Math.min(t.index,n.index);if(t||n)return t?t.index:n.index;var o=Number.MAX_VALUE;return this.videoTrak&&this.videoTrak.length>0&&(o=this.videoTrak.length-1),this.audioTrak&&this.audioTrak.length>0&&(o=Math.min(this.audioTrak.length-1,o)),o}return(n=kP(r=this.audioTrak).call(r,(function(t){return t.startTime<=e&&t.endTime>e})))?n.index:0}},{key:"_checkHasMeta",value:(a=YZ(RZ().mark((function e(){var t,n;return RZ().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=this._bitRateInfoMap.get(this._bitRate)){e.next=19;break}return this.log("[ABR], need load InitSegment, bitRate, ",this._bitRate),this._metaLoading=!0,e.next=6,this.MP4Loader.loadMeta(this.MP4Loader.cache,Math.round(this.CHUNK_SIZE/2));case 6:return n=e.sent,this._metaLoading=!1,this.videoTrak=n.videoSegments,this.audioTrak=n.audioSegments,this.meta=VZ(VZ({},n.meta),{},{ext:{videoTrak:this.videoTrak,audioTrak:this.audioTrak}}),this.emit(mie,this.meta),this.timeRange=this.getTimeRange(),this.bufferLoaded=new Uint8Array(0),n.bufferLoaded=this.bufferLoaded,this._bitRateInfoMap.set(this._bitRate,n),e.abrupt("return",!0);case 19:return this.log("[ABR], not need load InitSegment, bitRate, ",this._bitRate),this.videoTrak=t.videoSegments,this.audioTrak=t.audioSegments,this.meta=t.meta,this.emit(mie,this.meta),this.timeRange=this.getTimeRange(),this.bufferLoaded=new Uint8Array(0),e.abrupt("return",!0);case 27:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"resetFragmentLoadState",value:function(e){for(var t=0;t<this.timeRange.length;t++)t<e?(this.timeRange[t].downloaded=!0,this.timeRange[t].isLoading=!0):(this.timeRange[t].downloaded=!1,this.timeRange[t].isLoading=!1)}},{key:"getFragRange",value:function(e){var t,n,r,i,a=null;this.videoTrak&&(a=e<this.videoTrak.length?this.videoTrak[e]:this.videoTrak[this.videoTrak.length-1]);var o=null;this.audioTrak&&(o=e<this.audioTrak.length?this.audioTrak[e]:this.audioTrak[this.audioTrak.length-1]);var s=0,l=0;this.videoTrak&&e>=this.videoTrak.length-1&&(s=-1),this.audioTrak&&e>=this.audioTrak.length-1&&(l=-1);var u=[Math.min((null===(t=a)||void 0===t?void 0:t.range[0])||1/0,(null===(n=o)||void 0===n?void 0:n.range[0])||1/0),Math.max((null===(r=a)||void 0===r?void 0:r.range[1])+s||0,(null===(i=o)||void 0===i?void 0:i.range[1])+l||0)];return e<this.timeRange.length&&(this.timeRange[e].range=u),u}},{key:"load",value:(i=YZ(RZ().mark((function e(t,n){var r,i,a,o;return RZ().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._loadSuccessCallBack=n,!this._switchBitRate||this._metaLoading){e.next=11;break}return this.log("[switchBitrate], switch bitRate start load, bitRate,",this._bitRate,", time,",t>=this.videoTrak.length?this.audioTrak[t].startTime:this.videoTrak[t].startTime,", fragIndex,",t),e.next=5,this._checkHasMeta();case 5:r=e.sent,this.resetFragmentLoadState(t),this.log("[switchBitrate], reset timerange state,",t),this._needInitSegment=!0,this.resetTansmuxer(),r&&(this._switchBitRate=!1);case 11:if(!this._switchBitRate||!this._metaLoading){e.next=13;break}return e.abrupt("return");case 13:i=this.getFragRange(t),(a=this.getFragmentFromCache(t,i))?(this.log("[mp4.load], segment ,",t,"Data In Cache",Aa(i),", needInit,",this._needInitSegment),this.timeRange[t].downloaded=!0,this.timeRange[t].isLoading=!1,this._needInitSegment=!1,this._loadSuccessCallBack&&this._loadSuccessCallBack(a)):(this.log("loadFragment,",t,",bitRate,",this._bitRate,",range,",Aa(i)),this.seekTime>0?(o=this.getSubRange(t,this.seekTime,i),this.loadFragment(t,o),this.seekTime=-1):this.loadFragment(t,i));case 16:case"end":return e.stop()}}),e,this)}))),function(e,t){return i.apply(this,arguments)})},{key:"getSubRange",value:function(e,t,n){var r=n[0],i=n[0],a=1,o=!1;if(this.log(">>>>>getSubRange time,",t,Aa(n)),this.videoTrak){var s,l=e<this.videoTrak.length?this.videoTrak[e]:this.videoTrak[this.videoTrak.length-1],u=li(s=l.frames).call(s,bie),c=this.meta.videoTimescale,d=u[0].startTime/c;this.log(">>>>>getSubRange video, startTime,",l.startTime,",endTime,",l.endTime);for(var h=0;h<u.length;h++)this.log(">>>>>getSubRange video keyFrameList, startTime,",u[h].startTime/c,",range,",u[h].offset);for(;a<u.length;a++){var f=u[a].startTime/c;if(d<=t&&t<f&&n[0]<u[a-1].offset){r=u[a-1].offset,o=!0,this.log(">>>>>getSubRange video end, startTime,",d,",endTime,",f,",startRange,",r,", keyFrameIndex,",a-1);break}d=f}!o&&d<=t&&t<l.endTime+.8&&(r=u[a-1].offset,this.log(">>>>>getSubRange video last, startTime,",d,",endTime,",l.endTime,",startRange,",r))}if(a=1,this.audioTrak){var m=e<this.audioTrak.length?this.audioTrak[e]:this.audioTrak[this.audioTrak.length-1],p=m.frames,y=this.meta.audioTimescale;a=Math.floor((t*y-p[0].startTime)/m.frames[0].duration);for(var b=(a=Math.min(p.length-1,a))>0?p[a-1].startTime/y:p[0].startTime/y;a>=0&&a<p.length;)if(a>0&&b>t)b=p[a-=1].startTime/y;else{var v=(p[a].startTime+p[a].duration)/y;if(b<=t&&t<v&&n[0]<p[a].offset){i=p[a].offset,o=!0,this.log(">>>>>getSubRange audio end, startTime,",b,",endTime,",v,",startRange,",i,", index,",a);break}b=v,a++}}var g=[Math.min(i,r),n[1]];return this.log(">>>>>getSubRange finalRange ",Aa(g),",oldRange,",Aa(n)),g}},{key:"getFragmentFromCache",value:function(e,t){var n=this.preloadCache;if(!n||!n.segList)return null;for(var r=-1,i=n.segList,a=n.initSeg,o=0;o<i.length;o++)if(i[o].index===e){r=o;break}if(r<0)return null;var s=i[r];if(console.log(">>>>preloadCache",r,s,s.range,t[1],s.range[1]>=t[1]),s.range[1]>=t[1]){var l=[this.timeRange[e].startTime,this.timeRange[e].endTime];return{buffer:s.buffer,range:t,context:{range:t,fragIndex:e,state:!0,timeRange:[l[0],l[1]]},state:!0,initSeg:this._needInitSegment?a:void 0}}return null}},{key:"_mux",value:function(e,t,n,r){this.firstFrameTime.firstmux<0&&this.timeRecord.startMuxTime<0&&(this.timeRecord.startMuxTime=Wne.nowTime(),this.firstFrameTime.startMuxTime=Wne.nowTime()-this.timeRecord.startLoadTime);var i=this.getSamplesRange(n,"video"),a=this.getSamplesRange(n,"audio"),o=[t,t+e.byteLength];if(this.transmuxerWorkerControl){var s={range:o,state:r,fragIndex:n};this.log("[transmuxerworker start] ,range, ",Aa(o),",dataLen,",e.byteLength,s),this.transmuxerWorkerControl.transmux(this.workerSequence,e,t,i,a,this.meta.moov,this.useEME,this.kidValue,s)}else try{this.MP4Demuxer||(this.MP4Demuxer=new Yte(this.videoTrak,this.audioTrak,null,{openLog:eie()}));var l,u=this.MP4Demuxer.demuxPart(e,t,i,a,this.meta.moov,this.useEME,this.kidValue);this.FMP4Remuxer||this.checkCodecH265()&&!this.options.supportHevc||(this.FMP4Remuxer=new fee(this.MP4Demuxer.videoTrack,this.MP4Demuxer.audioTrack,{openLog:eie()})),this.log("[mux], videoTimeRange,",u.videoTrack?[u.videoTrack.startPts,u.videoTrack.endPts]:null,",audioTimeRange,",u.audioTrack?[u.audioTrack.startPts,u.audioTrack.endPts]:null);var c=[Math.min(u.videoTrack.startPts,u.audioTrack.startPts),Math.max(u.videoTrack.endPts,u.audioTrack.endPts)];if(this.FMP4Remuxer){var d=this.FMP4Remuxer.remux(this._needInitSegment,{initMerge:!0,range:o});d.initSegment&&(this._needInitSegment=!1),l={buffer:Wne.concatData(d.audioSegment,d.videoSegment),range:o,state:r,context:{range:o,fragIndex:n,timeRange:c},initSeg:d.initSegment}}else l={videoTrack:u.videoTrack,audioTrack:u.audioTrack,buffer:null,range:o,state:r,context:{range:o,fragIndex:n,timeRange:c}};this.firstFrameTime.firstmux<0&&this.timeRecord.startMuxTime>0&&(this.firstFrameTime.firstmux=Wne.nowTime()-this.timeRecord.startMuxTime),this._loadSuccessCallBack&&this._loadSuccessCallBack(l)}catch(f){console.error("mux err:",f);var h=new Fte(Hte.remux,Pte.muxError,{msg:Aa(f)});this.errorHandler(h,"mux",{fragIndex:n,range:[t,t+e.byteLength]})}}},{key:"getSamplesRange",value:function(e,t){var n=[];switch(t){case"video":if(this.videoTrak&&e<this.videoTrak.length){var r=this.videoTrak[e].frames;n.push(r[0].index),n.push(r[r.length-1].index)}break;case"audio":if(this.audioTrak&&e<this.audioTrak.length){var i=this.audioTrak[e].frames;n.push(i[0].index),n.push(i[i.length-1].index)}break;default:console.warn("[getSamplesRange] type ",t," is invalid")}return n}},{key:"loadFragment",value:(r=YZ(RZ().mark((function e(t,n){var r,i,a,o;return RZ().wrap((function(e){for(var s,l;;)switch(e.prev=e.next){case 0:if(!this._isPending&&n!==[0,0]&&!this.timeRange[t].isLoading){e.next=2;break}return e.abrupt("return");case 2:if(this.log("[MP4.loadFragment] ,fragIndex,",t,",range ",n,",len ,",n[1]-n[0],", bufferLoaded_Len,",this.bufferLoaded.byteLength),this._segmentToBitRateMap.set(t,this._bitRate),this.timeRecord.startLoadTime<0&&(this.timeRecord.startLoadTime=Wne.nowTime()),!(n.length>=2&&n[1]&&n[1]>0&&n[1]<=this.bufferLoaded.byteLength)){e.next=15;break}this.timeRange[t].isLoading=!0,r=Math.max(n[0],this.bufferLoadedPos),i=new Uint8Array(Ag(s=this.bufferLoaded).call(s,r,n[1])),this.log("[mp4.loadFragment] has all data: ",r,n[1]),this.timeRange[t].downloaded=!0,this.bufferLoadedPos=-1,this._mux(i,r,t,!0),e.next=38;break;case 15:if(!(n.length>=2&&n[0]&&n[0]<=this.bufferLoaded.byteLength)){e.next=27;break}if(this.timeRange[t].isLoading){e.next=25;break}if(a=Math.max(n[0],this.bufferLoadedPos),!((o=new Uint8Array(Ag(l=this.bufferLoaded).call(l,a,n[1]))).byteLength>0)){e.next=24;break}return this.bufferLoadedPos=a+o.byteLength,this.log("[mp4.loadFragment] has part data: ",a,a+o.byteLength),this._mux(o,a,t,n[1]<=this.bufferLoadedPos),e.abrupt("return");case 24:if(!this._metaLoading&&!this.timeRange[t].isLoading)try{this.log("[mp4.loadFragment] ready to load part data >>> ",this.bufferLoaded.byteLength,n[1]),this.timeRange[t].isLoading=!0,this.MP4Loader.loadData([this.bufferLoaded.byteLength,n[1]],this.MP4Loader.cache,{index:t,onProgress:this.onprogressDataArrive,onProcessMinLen:this.options.onProcessMinLen})}catch(u){this.errorHandler(u,"MP4Loader.loadData",{range:[this.bufferLoaded.byteLength,n[1]],fragIndex:t})}case 25:e.next=38;break;case 27:if(this._metaLoading&&!(n[0]>=this.CHUNK_SIZE)||this.timeRange[t].isLoading){e.next=38;break}return this.timeRange[t].isLoading=!0,this.log("[mp4.loadFragment],ready to load all data ,segmentIdx, ",t,",range >>> ",Aa(n)),e.prev=30,e.next=33,this.MP4Loader.loadData(n,this.MP4Loader.cache,{index:t,onProgress:this.onprogressDataArrive,onProcessMinLen:this.options.onProcessMinLen});case 33:e.next=38;break;case 35:e.prev=35,e.t0=e.catch(30),this.errorHandler(e.t0,"MP4Loader.loadData",{range:n,fragIndex:t});case 38:case"end":return e.stop()}}),e,this,[[30,35]])}))),function(e,t){return r.apply(this,arguments)})},{key:"loadAllFragmentData",value:(n=YZ(RZ().mark((function e(t,n,r){var i,a,o;return RZ().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.hasDestroyed){e.next=2;break}return e.abrupt("return");case 2:return i=this.getFragRange(t),e.prev=3,e.next=6,this.MP4Loader.loadData(i,this.MP4Loader.cache,{index:t});case 6:if(a=e.sent,this.log("loadAllFragmentData after",Aa(i),a),a&&a.data){e.next=11;break}return r(new Error("response null")),e.abrupt("return");case 11:o=a.data,this._loadSuccessCallBack=n,this._mux(o,i[0],t,!0),e.next=20;break;case 16:e.prev=16,e.t0=e.catch(3),console.error("[MP4] loadAllFragmentData error",e.t0),r(e.t0);case 20:case"end":return e.stop()}}),e,this,[[3,16]])}))),function(e,t,r){return n.apply(this,arguments)})},{key:"cancelLoading",value:(t=YZ(RZ().mark((function e(){return RZ().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.MP4Loader;case 2:if(e.t0=e.sent,!e.t0){e.next=5;break}this.MP4Loader.cancel();case 5:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"update",value:function(e){this.url=e}},{key:"getDataBitRate",value:function(e){return this._segmentToBitRateMap.get(e)}},{key:"checkCodecH265",value:function(){var e,t;return this.meta&&(ro(e=this.meta.videoCodec).call(e,"hvc1")>-1||ro(t=this.meta.videoCodec).call(t,"hev1")>-1)}},{key:"destroy",value:function(){this.hasDestroyed||(this.resetTansmuxer(),this.transmuxerWorkerControl&&this.transmuxerWorkerControl.destroy(),this.size=0,this._isPending=!1,this._metaLoading=!1,this.bufferLoadedPos=0,this.bufferLoaded=new Uint8Array(0),this._bitRateInfoMap.clear(),this._segmentToBitRateMap.clear(),this.MP4Loader&&(this.MP4Loader.cancel(),this.MP4Loader.destroy()),this.hasDestroyed=!0)}},{key:"resetTansmuxer",value:function(){this.MP4Demuxer&&this.MP4Demuxer.reset(),this.MP4Demuxer=null,this.FMP4Remuxer&&this.FMP4Remuxer.reset(),this.FMP4Remuxer=null,this.transmuxerWorkerControl&&this.transmuxerWorkerControl.reset()}}],[{key:"getDefaultConfig",value:function(){return{onProcessMinLen:5120,xhrSetup:null,chunkSize:8e5,loadSize:800,isCache:!1,playerId:"",vid:"",ext:{}}}}]),d}(sH);function bie(e){if(e.keyframe)return e}var vie=function(){function e(){var t,n;KZ(this,e);var r=new sp((function(e,r){t=e,n=r}));return r.resolve=function(e){t(e),r.state="fulfilled"},r.reject=function(e){n(e),r.state="rejected",r.isBreak="DESTROYED"===e},r.state="pending",r}return HZ(e,[{key:"resolve",value:function(e){}},{key:"reject",value:function(e){}}]),e}(),gie=HZ((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.url,r=t.method,i=void 0===r?"GET":r,a=t.type,o=void 0===a?"arraybuffer":a,s=t.data,l=void 0===s?{}:s;return KZ(this,e),new sp((function(e,t){var r,a=new window.XMLHttpRequest,s=i.toUpperCase(),u=[];if(o&&(a.responseType=o),Ro(r=ca(l)).call(r,(function(e){u.push("k=".concat(l[e]))})),"GET"===s){var c;a.open(s,Ci(c="".concat(n,"?")).call(c,u.join("&"))),a.send()}else{if("POST"!==s)throw new Error("xhr ".concat(s," is not supported"));a.open(s,n,!0),a.setRequestHeader("Content-Type","application/json"),a.send(Aa(l))}a.onload=function(){200===a.status||206===a.status?e(a):t(a)},a.onerror=function(){t(a)}}))}));function Zie(e,t,n){var r,i=new vie;return new gie({type:"json",method:"POST",url:n,data:{drm_type:"22",license_request:[{vid:e,kids:Ci(r=[]).call(r,t)}]}}).then((function(n){var r=n.response;if(r){var a=r.play_licenses[e][t];i.resolve(a)}else i.reject()})).catch((function(){i.reject()})),i}var Lie={playBtnClick:function(e,t,n,r){e.paused||e.waitingMoreBuffer&&(e.waitingMoreBuffer=!1),r.call(e,t,n)}},Sie={waiting:function(e,t){var n=e.player,r=e.eventName;n.waitingMoreBuffer=!0,t(r,e)},play:function(e,t){var n=e.player,r=e.eventName;n.waitingMoreBuffer||t(r,e)},pause:function(e,t){var n=e.player,r=e.eventName;n.waitingMoreBuffer||t(r,e)},seeking:function(e,t){var n=e.player,r=e.eventName;n.isSeekingStart=!0,t(r,e)},progress:function(e,t){tie(">>>>progress");var n=e.player,r=e.eventName;if(n.waitingMoreBuffer){var i=n.getBufferedRange(n.buffered2);0===i[0]&&0===i[1]||(void 0===n.inWaitingStart||n.isSeekingStart?(tie("progress 起播或seek结束"),i[1]-n.currentTime>=(n.config.canplayWaterLevel||1)||i[1]>n.duration-1?(tie("progress 出起播水位"),n.play()):(tie("progress 未出起播水位"),n.emit("waiting"))):(tie("progress video卡顿结束"),i[1]-n.currentTime>=(n.config.bufferWaterLevel||5)||i[1]>n.duration-1?(tie("progress 出卡顿水位"),n.play()):(tie("progress 未出卡顿水位"),n.emit("waiting"))))}t(r,e)},playing:function(e,t){var n=e.player,r=e.eventName;tie("playing");var i=n.getBufferedRange(n.buffered2);if(0===i[0]&&0===i[1])return tie("playing 当前播放时刻没有缓存 未出水位"),n.waitingMoreBuffer=!0,n.pause(),void t.call("waiting",e);void 0===n.inWaitingStart||n.isSeekingStart?(tie("playing 起播或seek结束"),i[1]-n.currentTime>=(n.config.canplayWaterLevel||1)||i[1]>n.duration-1?(tie("playing 出起播水位"),n.waitingMoreBuffer=!1,n.isSeekingStart=!1,t(r,e)):(tie("playing 未出起播水位"),n.waitingMoreBuffer=!0,n.pause(),t.call("waiting",e))):(tie("playing video卡顿结束"),i[1]-n.currentTime>=(n.config.bufferWaterLevel||5)||i[1]>n.duration-1?(tie("playing 出卡顿水位"),n.waitingMoreBuffer=!1,t(r,e)):(tie("playing 未出卡顿水位"),n.waitingMoreBuffer=!0,n.pause(),t.call("waiting",e)))}};var Xie=function(e){FZ(n,e);var t=JZ(n);function n(e){var r;return KZ(this,n),(r=t.call(this)).drm=e,r.KEYSYSTEM_TYPE="",r.keys={},r.drm.clearKeys&&(r.KEYSYSTEM_TYPE="org.w3.clearkey",r.keys=r.drm.clearKeys),r.options=[],r.ensurePromise=void 0,r}return HZ(n,[{key:"updateDrm",value:function(e){this.drm=e,this.keys=this.drm.clearKeys}},{key:"setOptions",value:function(){var e=[{contentType:'video/mp4; codecs="avc1.42E01E"'},{contentType:'video/webm; codecs="vp8"'}],t={videoCapabilities:e},n={videoCapabilities:e,persistentState:"required",sessionTypes:["persistent-license"]};this.options=[n,t]}},{key:"bail",value:function(e){}},{key:"UpdateSessionFunc",value:function(e){var t=this;return function(n){var r,i=[],a=[];mu(r=ca(e)).call(r,(function(t){var n=e[t],r=Wne.fromHex(t),o=Wne.fromHex(n),s={kty:"oct",kid:Wne.toBase64(r,!1),k:Wne.toBase64(o,!1)};i.push(s),a.push(s.kid)}));var o=Aa({keys:i});n.target.update(Wne.StringToArrayBuffer(o)).then((function(){}),t.bail(" MediaKeySession update failed"))}}},{key:"KeysChange",value:function(e){}},{key:"EnsureMediaKeysCreated",value:function(e,t,n){return this.ensurePromise||(this.ensurePromise=navigator.requestMediaKeySystemAccess(t,n).then((function(e){return e.createMediaKeys()}),this.bail(" Failed to request key system access.")).then((function(t){return e.setMediaKeys(t)}),this.bail(" failed to create MediaKeys object"))),this.ensurePromise}},{key:"SetupEME",value:function(e,t){var n,r,i,a,o=this;e.sessions=[],n=this,r="encrypted",i=function(){var t=Aa({kids:["0123456789abcdef0123456789abcdef"]}),n=new Uint8Array(Wne.toUTF8(t));o.EnsureMediaKeysCreated(e,o.KEYSYSTEM_TYPE,o.options).then((function(){var t=e.mediaKeys.createSession();return e.sessions.push(t),t.addEventListener("message",o.UpdateSessionFunc(KP(o))),t.addEventListener("keystatuseschange",o.KeysChange),t.generateRequest("keyids",n.buffer)}),o.bail(" failed to ensure MediaKeys on HTMLMediaElement")).then((function(){}),o.bail(" Failed to generate request."))},a?(n.on(r,i),function(e,t,n,r){e.once(r,(function i(){e.off(t,n),e.off(r,i)}))}(n,r,i,a)):n.on(r,(function(e){i(e)}))}}]),n}(sH),xie=function(){function e(){KZ(this,e),this.queue=[]}return HZ(e,[{key:"push",value:function(e){this.queue.push(e)}},{key:"startup",value:function(){return sp.all(this.queue)}},{key:"destroy",value:function(){this.queue=[]}}]),e}(),wie=c,Tie=O,kie=tr,Iie=or,Gie=Yi,Wie=Math.min,Vie=[].lastIndexOf,Rie=!!Vie&&1/[1].lastIndexOf(1,-0)<0,Cie=Gie("lastIndexOf"),Mie=Rie||!Cie?function(e){if(Rie)return wie(Vie,this,arguments)||0;var t=Tie(this),n=Iie(t),r=n-1;for(arguments.length>1&&(r=Wie(r,kie(arguments[1]))),r<0&&(r=n+r);r>=0;r--)if(r in t&&t[r]===e)return r||0;return-1}:Vie;Gn({target:"Array",proto:!0,forced:Mie!==[].lastIndexOf},{lastIndexOf:Mie});var Yie=ri("Array").lastIndexOf,Kie=oe,Pie=Yie,Hie=Array.prototype,_ie=t((function(e){var t=e.lastIndexOf;return e===Hie||Kie(Hie,e)&&t===Hie.lastIndexOf?Pie:t})),Fie=Gn,Eie=i,Nie=Math.imul;Fie({target:"Math",stat:!0,forced:Eie((function(){return-5!=Nie(4294967295,5)||2!=Nie.length}))},{imul:function(e,t){var n=65535,r=+e,i=+t,a=n&r,o=n&i;return 0|a*o+((n&r>>>16)*o+a*(n&i>>>16)<<16>>>0)}});var Uie=t(ee.Math.imul),Jie=Math.sign||function(e){var t=+e;return 0==t||t!=t?t:t<0?-1:1},Die=Math.abs,jie=Math.pow,Aie=jie(2,-52),zie=jie(2,-23),Bie=jie(2,127)*(2-zie),Oie=jie(2,-126);Gn({target:"Math",stat:!0},{fround:Math.fround||function(e){var t,n,r=+e,i=Die(r),a=Jie(r);return i<Oie?a*function(e){return e+1/Aie-1/Aie}(i/Oie/zie)*Oie*zie:(n=(t=(1+zie/Aie)*i)-(t-i))>Bie||n!=n?a*(1/0):a*n}});var Qie=t(ee.Math.fround),qie=Gn,$ie=Math.floor,eae=Math.log,tae=Math.LOG2E;qie({target:"Math",stat:!0},{clz32:function(e){var t=e>>>0;return t?31-$ie(eae(t+.5)*tae):32}});var nae=t(ee.Math.clz32);Gn({target:"Math",stat:!0},{trunc:$n});var rae=t(ee.Math.trunc);Ew({target:"Array",proto:!0,forced:J0!==[].lastIndexOf},{lastIndexOf:J0});var iae=Ew,aae=OZ,oae=GL,sae=BZ.f,lae=QZ,uae=aae((function(){sae(1)}));iae({target:"Object",stat:!0,forced:!lae||uae,sham:!lae},{getOwnPropertyDescriptor:function(e,t){return sae(oae(e),t)}});var cae=Ew,dae=QZ,hae=gX.f;cae({target:"Object",stat:!0,forced:Object.defineProperty!==hae,sham:!dae},{defineProperty:hae}),W$("Int8",(function(e){return function(t,n,r){return e(this,t,n,r)}})),W$("Int16",(function(e){return function(t,n,r){return e(this,t,n,r)}})),W$("Int32",(function(e){return function(t,n,r){return e(this,t,n,r)}})),W$("Uint16",(function(e){return function(t,n,r){return e(this,t,n,r)}})),W$("Uint32",(function(e){return function(t,n,r){return e(this,t,n,r)}})),W$("Float32",(function(e){return function(t,n,r){return e(this,t,n,r)}})),W$("Float64",(function(e){return function(t,n,r){return e(this,t,n,r)}}));var fae=Ew,mae=OZ,pae=Math.imul;fae({target:"Math",stat:!0,forced:mae((function(){return-5!=pae(4294967295,5)||2!=pae.length}))},{imul:function(e,t){var n=65535,r=+e,i=+t,a=n&r,o=n&i;return 0|a*o+((n&r>>>16)*o+a*(n&i>>>16)<<16>>>0)}});var yae=Math.sign||function(e){var t=+e;return 0==t||t!=t?t:t<0?-1:1},bae=Math.abs,vae=Math.pow,gae=vae(2,-52),Zae=vae(2,-23),Lae=vae(2,127)*(2-Zae),Sae=vae(2,-126);Ew({target:"Math",stat:!0},{fround:Math.fround||function(e){var t,n,r=+e,i=bae(r),a=yae(r);return i<Sae?a*function(e){return e+1/gae-1/gae}(i/Sae/Zae)*Sae*Zae:(n=(t=(1+Zae/gae)*i)-(t-i))>Lae||n!=n?a*(1/0):a*n}});var Xae=Ew,xae=Math.floor,wae=Math.log,Tae=Math.LOG2E;Xae({target:"Math",stat:!0},{clz32:function(e){var t=e>>>0;return t?31-xae(wae(t+.5)*Tae):32}}),Ew({target:"Math",stat:!0},{trunc:Ex});var kae,Iae=Ew,Gae=uT,Wae=BZ.f,Vae=Ox,Rae=qM,Cae=O8,Mae=TL,Yae=q8,Kae=Gae("".startsWith),Pae=Gae("".slice),Hae=Math.min,_ae=Yae("startsWith");Iae({target:"String",proto:!0,forced:!!(_ae||(kae=Wae(String.prototype,"startsWith"),!kae||kae.writable))&&!_ae},{startsWith:function(e){var t=Rae(Mae(this));Cae(e);var n=Vae(Hae(arguments.length>1?arguments[1]:void 0,t.length)),r=Rae(e);return Kae?Kae(t,r,n):Pae(t,n,n+r.length)===r}});var Fae,Eae=(Fae="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(e){var t,n,r,i=void 0!==(e=e||{})?e:{},a={};for(r in i)i.hasOwnProperty(r)&&(a[r]=i[r]);var o=!0;if(i.ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)");var s,l="";if(document.currentScript&&(l=document.currentScript.src),Fae&&(l=Fae),l=0!==ro(l).call(l,"blob:")?l.substr(0,_ie(l).call(l,"/")+1):"","object"!==("undefined"==typeof window?"undefined":CZ(window))&&"function"!=typeof importScripts)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");var u,c=i.print||Xo(t=console.log).call(t,console),d=i.printErr||Xo(n=console.warn).call(n,console);for(r in a)a.hasOwnProperty(r)&&(i[r]=a[r]);function h(e){h.shown||(h.shown={}),h.shown[e]||(h.shown[e]=1,d(e))}a=null,i.arguments&&i.arguments,Hv(i,"arguments")||ag(i,"arguments",{configurable:!0,get:function(){U("Module.arguments has been replaced with plain arguments_")}}),i.thisProgram&&i.thisProgram,Hv(i,"thisProgram")||ag(i,"thisProgram",{configurable:!0,get:function(){U("Module.thisProgram has been replaced with plain thisProgram")}}),i.quit&&i.quit,Hv(i,"quit")||ag(i,"quit",{configurable:!0,get:function(){U("Module.quit has been replaced with plain quit_")}}),b(void 0===i.memoryInitializerPrefixURL,"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),b(void 0===i.pthreadMainPrefixURL,"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),b(void 0===i.cdInitializerPrefixURL,"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),b(void 0===i.filePackagePrefixURL,"Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),b(void 0===i.read,"Module.read option was removed (modify read_ in JS)"),b(void 0===i.readAsync,"Module.readAsync option was removed (modify readAsync in JS)"),b(void 0===i.readBinary,"Module.readBinary option was removed (modify readBinary in JS)"),b(void 0===i.setWindowTitle,"Module.setWindowTitle option was removed (modify setWindowTitle in JS)"),Hv(i,"read")||ag(i,"read",{configurable:!0,get:function(){U("Module.read has been replaced with plain read_")}}),Hv(i,"readAsync")||ag(i,"readAsync",{configurable:!0,get:function(){U("Module.readAsync has been replaced with plain readAsync")}}),Hv(i,"readBinary")||ag(i,"readBinary",{configurable:!0,get:function(){U("Module.readBinary has been replaced with plain readBinary")}}),he=function(){U("cannot use the stack before compiled code is ready to run, and has provided stack access")},i.wasmBinary&&(u=i.wasmBinary),Hv(i,"wasmBinary")||ag(i,"wasmBinary",{configurable:!0,get:function(){U("Module.wasmBinary has been replaced with plain wasmBinary")}}),i.noExitRuntime&&i.noExitRuntime,Hv(i,"noExitRuntime")||ag(i,"noExitRuntime",{configurable:!0,get:function(){U("Module.noExitRuntime has been replaced with plain noExitRuntime")}});var f,m={Memory:function(e){return{buffer:new ArrayBuffer(65536*e.initial),grow:function(e){var t=this.buffer,n=me(e);return b(this.buffer!==t),n}}},Table:function(e){var t=new Array(e.initial);return t.grow=function(e){t.length>=1&&U("Unable to grow wasm table. Use a higher value for RESERVED_FUNCTION_POINTERS or set ALLOW_TABLE_GROWTH."),t.push(null)},t.set=function(e,n){t[e]=n},t.get=function(e){return t[e]},t},Module:function(e){return{}},Instance:function(e,t){var n;return{exports:(n=p,function(e,t,r){var i=t.memory,a=n,o=new e.Int8Array(r);new e.Int16Array(r);var s=new e.Int32Array(r),l=new e.Uint8Array(r);new e.Uint16Array(r);var u=new e.Uint32Array(r);new e.Float32Array(r),new e.Float64Array(r);var c=e.Math.imul;e.Math.fround,e.Math.abs,e.Math.clz32,e.Math.min,e.Math.max,e.Math.floor,e.Math.ceil,e.Math.sqrt,t.abort,e.NaN,e.Infinity;var d=t.emscripten_memcpy_big,h=t.emscripten_resize_heap,f=t.__unlock,m=t.__lock,p=9744;function y(e){var t,n=0;return t=S(),(e=(n=s[388])+e|0)>>>0<=t<<16>>>0||h(0|e)?(s[388]=e,n):(s[256]=48,-1)}function b(e){var t,n=0,r=0,i=0,a=0,o=0,c=0,d=0,h=0,f=0,m=0,b=0,v=0;p=t=p-16|0;e:{t:{n:{r:{i:{a:{o:{s:{l:{u:{c:{if((e|=0)>>>0<=244){if(3&(n=(o=s[261])>>>(e=(c=e>>>0<11?16:e+11&-8)>>>3))){e=(n=s[1092+(a=(r=e+(1&(-1^n))|0)<<3)>>2])+8|0,(0|(i=s[n+8>>2]))!=(0|(a=a+1084|0))?(s[i+12>>2]=a,s[a+8>>2]=i):(b=1044,v=L(r)&o,s[b>>2]=v),r<<=3,s[n+4>>2]=3|r,s[4+(n=n+r|0)>>2]=1|s[n+4>>2];break e}if(c>>>0<=(h=s[263])>>>0)break c;if(n){r=n=(e=(0-(e=(0-(r=2<<e)|r)&n<<e)&e)-1|0)>>>12&16,r|=n=(e>>>=n)>>>5&8,r|=n=(e>>>=n)>>>2&4,n=s[1092+(i=(r=((r|=n=(e>>>=n)>>>1&2)|(n=(e>>>=n)>>>1&1))+(e>>>n)|0)<<3)>>2],(0|(e=s[n+8>>2]))!=(0|(i=i+1084|0))?(s[e+12>>2]=i,s[i+8>>2]=e):(o=L(r)&o,s[261]=o),e=n+8|0,s[n+4>>2]=3|c,a=(r<<=3)-c|0,s[4+(d=n+c|0)>>2]=1|a,s[n+r>>2]=a,h&&(n=1084+((r=h>>>3)<<3)|0,i=s[266],(r=1<<r)&o?r=s[n+8>>2]:(s[261]=r|o,r=n),s[n+8>>2]=i,s[r+12>>2]=i,s[i+12>>2]=n,s[i+8>>2]=r),s[266]=d,s[263]=a;break e}if(!(m=s[262]))break c;for(r=n=(e=(m&0-m)-1|0)>>>12&16,r|=n=(e>>>=n)>>>5&8,r|=n=(e>>>=n)>>>2&4,n=s[1348+(((r|=n=(e>>>=n)>>>1&2)|(n=(e>>>=n)>>>1&1))+(e>>>n)<<2)>>2],i=(-8&s[n+4>>2])-c|0,r=n;(e=s[r+16>>2])||(e=s[r+20>>2]);)i=(r=(a=(-8&s[e+4>>2])-c|0)>>>0<i>>>0)?a:i,n=r?e:n,r=e;if(f=s[n+24>>2],(0|(a=s[n+12>>2]))!=(0|n)){e=s[n+8>>2],s[e+12>>2]=a,s[a+8>>2]=e;break t}if(!(e=s[(r=n+20|0)>>2])){if(!(e=s[n+16>>2]))break u;r=n+16|0}for(;d=r,a=e,(e=s[(r=e+20|0)>>2])||(r=a+16|0,e=s[a+16>>2]););s[d>>2]=0;break t}if(c=-1,!(e>>>0>4294967231)&&(c=-8&(n=e+11|0),h=s[262])){r=0-c|0,o=0,(n>>>=8)&&(o=31,c>>>0>16777215||(o=28+((e=((o=(n<<=i=n+1048320>>>16&8)<<(e=n+520192>>>16&4))<<(n=o+245760>>>16&2)>>>15)-(n|e|i)|0)<<1|c>>>e+21&1)|0));d:{h:{if(i=s[1348+(o<<2)>>2])for(n=c<<(31==(0|o)?0:25-(o>>>1)|0),e=0;;){if(!((d=(-8&s[i+4>>2])-c|0)>>>0>=r>>>0||(a=i,r=d))){r=0,e=i;break h}if(d=s[i+20>>2],i=s[16+((n>>>29&4)+i|0)>>2],e=d?(0|d)==(0|i)?e:d:e,n<<=0!=(0|i),!i)break}else e=0;if(!(e|a)){if(!(e=(0-(e=2<<o)|e)&h))break c;i=n=(e=(e&0-e)-1|0)>>>12&16,i|=n=(e>>>=n)>>>5&8,i|=n=(e>>>=n)>>>2&4,e=s[1348+(((i|=n=(e>>>=n)>>>1&2)|(n=(e>>>=n)>>>1&1))+(e>>>n)<<2)>>2]}if(!e)break d}for(;r=(n=(i=(-8&s[e+4>>2])-c|0)>>>0<r>>>0)?i:r,a=n?e:a,e=(n=s[e+16>>2])||s[e+20>>2];);}if(!(!a|r>>>0>=s[263]-c>>>0)){if(d=s[a+24>>2],(0|a)!=(0|(n=s[a+12>>2]))){e=s[a+8>>2],s[e+12>>2]=n,s[n+8>>2]=e;break n}if(!(e=s[(i=a+20|0)>>2])){if(!(e=s[a+16>>2]))break l;i=a+16|0}for(;o=i,n=e,(e=s[(i=e+20|0)>>2])||(i=n+16|0,e=s[n+16>>2]););s[o>>2]=0;break n}}}if((n=s[263])>>>0>=c>>>0){e=s[266],(r=n-c|0)>>>0>=16?(s[263]=r,i=e+c|0,s[266]=i,s[i+4>>2]=1|r,s[e+n>>2]=r,s[e+4>>2]=3|c):(s[266]=0,s[263]=0,s[e+4>>2]=3|n,s[4+(n=e+n|0)>>2]=1|s[n+4>>2]),e=e+8|0;break e}if((i=s[264])>>>0>c>>>0){n=i-c|0,s[264]=n,r=(e=s[267])+c|0,s[267]=r,s[r+4>>2]=1|n,s[e+4>>2]=3|c,e=e+8|0;break e}if(e=0,r=a=c+47|0,s[379]?n=s[381]:(s[382]=-1,s[383]=-1,s[380]=4096,s[381]=4096,s[379]=t+12&-16^1431655768,s[384]=0,s[372]=0,n=4096),(r=(o=r+n|0)&(d=0-n|0))>>>0<=c>>>0)break e;if((n=s[371])&&(f=(h=s[369])+r|0)>>>0<=h>>>0|f>>>0>n>>>0)break e;if(4&l[1488])break a;c:{d:{if(n=s[267])for(e=1492;;){if((h=s[e>>2])+s[e+4>>2]>>>0>n>>>0&&h>>>0<=n>>>0)break d;if(!(e=s[e+8>>2]))break}if(-1==(0|(n=y(0))))break o;if(o=r,(i=(e=s[380])+-1|0)&n&&(o=(r-n|0)+(n+i&0-e)|0),o>>>0<=c>>>0|o>>>0>2147483646)break o;if((e=s[371])&&(d=(i=s[369])+o|0)>>>0<=i>>>0|d>>>0>e>>>0)break o;if((0|n)!=(0|(e=y(o))))break c;break i}if((o=d&o-i)>>>0>2147483646)break o;if((0|(n=y(o)))==(s[e>>2]+s[e+4>>2]|0))break s;e=n}if(n=e,!(c+48>>>0<=o>>>0|o>>>0>2147483646|-1==(0|e))){if((e=(e=s[381])+(a-o|0)&0-e)>>>0>2147483646)break i;if(-1!=(0|y(e))){o=e+o|0;break i}y(0-o|0);break o}if(-1!=(0|n))break i;break o}a=0;break t}n=0;break n}if(-1!=(0|n))break i}s[372]=4|s[372]}if(r>>>0>2147483646)break r;if((n=y(r))>>>0>=(e=y(0))>>>0|-1==(0|n)|-1==(0|e))break r;if((o=e-n|0)>>>0<=c+40>>>0)break r}e=s[369]+o|0,s[369]=e,e>>>0>u[370]&&(s[370]=e);i:{a:{o:{if(r=s[267]){for(e=1492;;){if(((i=s[e>>2])+(a=s[e+4>>2])|0)==(0|n))break o;if(!(e=s[e+8>>2]))break}break a}for(n>>>0>=(e=s[265])>>>0&&e||(s[265]=n),e=0,s[374]=o,s[373]=n,s[269]=-1,s[270]=s[379],s[376]=0;i=1084+(r=e<<3)|0,s[r+1092>>2]=i,s[r+1096>>2]=i,32!=(0|(e=e+1|0)););i=(e=o+-40|0)-(r=n+8&7?-8-n&7:0)|0,s[264]=i,r=n+r|0,s[267]=r,s[r+4>>2]=1|i,s[4+(e+n|0)>>2]=40,s[268]=s[383];break i}if(!(8&l[e+12|0]|n>>>0<=r>>>0|i>>>0>r>>>0)){s[e+4>>2]=a+o,n=(e=r+8&7?-8-r&7:0)+r|0,s[267]=n,e=(i=s[264]+o|0)-e|0,s[264]=e,s[n+4>>2]=1|e,s[4+(r+i|0)>>2]=40,s[268]=s[383];break i}}n>>>0<(a=s[265])>>>0&&(s[265]=n,a=0),i=n+o|0,e=1492;a:{o:{s:{l:{u:{c:{for(;;){if((0|i)!=s[e>>2]){if(e=s[e+8>>2])continue;break c}break}if(!(8&l[e+12|0]))break u}for(e=1492;;){if((i=s[e>>2])>>>0<=r>>>0&&(a=i+s[e+4>>2]|0)>>>0>r>>>0)break l;e=s[e+8>>2]}}if(s[e>>2]=n,s[e+4>>2]=s[e+4>>2]+o,s[4+(f=(n+8&7?-8-n&7:0)+n|0)>>2]=3|c,e=((n=i+(i+8&7?-8-i&7:0)|0)-f|0)-c|0,d=c+f|0,(0|n)==(0|r)){s[267]=d,e=s[264]+e|0,s[264]=e,s[d+4>>2]=1|e;break o}if(s[266]==(0|n)){s[266]=d,e=s[263]+e|0,s[263]=e,s[d+4>>2]=1|e,s[e+d>>2]=e;break o}if(1==(3&(r=s[n+4>>2]))){m=-8&r;u:if(r>>>0<=255){if(a=r>>>3,r=s[n+8>>2],(0|(i=s[n+12>>2]))==(0|r)){b=1044,v=s[261]&L(a),s[b>>2]=v;break u}s[r+12>>2]=i,s[i+8>>2]=r}else{if(h=s[n+24>>2],(0|(o=s[n+12>>2]))==(0|n))if((c=s[(i=n+20|0)>>2])||(c=s[(i=n+16|0)>>2])){for(;r=i,o=c,(c=s[(i=c+20|0)>>2])||(i=o+16|0,c=s[o+16>>2]););s[r>>2]=0}else o=0;else r=s[n+8>>2],s[r+12>>2]=o,s[o+8>>2]=r;if(h){r=s[n+28>>2];c:{if(s[(i=1348+(r<<2)|0)>>2]==(0|n)){if(s[i>>2]=o,o)break c;b=1048,v=s[262]&L(r),s[b>>2]=v;break u}if(s[h+(s[h+16>>2]==(0|n)?16:20)>>2]=o,!o)break u}s[o+24>>2]=h,(r=s[n+16>>2])&&(s[o+16>>2]=r,s[r+24>>2]=o),(r=s[n+20>>2])&&(s[o+20>>2]=r,s[r+24>>2]=o)}}n=n+m|0,e=e+m|0}if(s[n+4>>2]=-2&s[n+4>>2],s[d+4>>2]=1|e,s[e+d>>2]=e,e>>>0<=255){e=1084+((n=e>>>3)<<3)|0,(r=s[261])&(n=1<<n)?n=s[e+8>>2]:(s[261]=n|r,n=e),s[e+8>>2]=d,s[n+12>>2]=d,s[d+12>>2]=e,s[d+8>>2]=n;break o}if(n=0,(i=e>>>8)&&(n=31,e>>>0>16777215||(n=28+((n=((c=(i<<=a=i+1048320>>>16&8)<<(n=i+520192>>>16&4))<<(i=c+245760>>>16&2)>>>15)-(i|n|a)|0)<<1|e>>>n+21&1)|0)),s[(r=d)+28>>2]=n,s[d+16>>2]=0,s[d+20>>2]=0,r=1348+(n<<2)|0,(i=s[262])&(a=1<<n)){for(i=e<<(31==(0|n)?0:25-(n>>>1)|0),n=s[r>>2];;){if(r=n,(-8&s[n+4>>2])==(0|e))break s;if(n=i>>>29,i<<=1,!(n=s[16+(a=(4&n)+r|0)>>2]))break}s[a+16>>2]=d}else s[262]=i|a,s[r>>2]=d;s[d+24>>2]=r,s[d+12>>2]=d,s[d+8>>2]=d;break o}for(d=(e=o+-40|0)-(i=n+8&7?-8-n&7:0)|0,s[264]=d,i=n+i|0,s[267]=i,s[i+4>>2]=1|d,s[4+(e+n|0)>>2]=40,s[268]=s[383],s[(i=(e=(a+(a+-39&7?39-a&7:0)|0)-47|0)>>>0<r+16>>>0?r:e)+4>>2]=27,e=s[376],s[i+16>>2]=s[375],s[i+20>>2]=e,e=s[374],s[i+8>>2]=s[373],s[i+12>>2]=e,s[375]=i+8,s[374]=o,s[373]=n,s[376]=0,e=i+24|0;s[e+4>>2]=7,n=e+8|0,e=e+4|0,n>>>0<a>>>0;);if((0|r)==(0|i))break i;if(s[i+4>>2]=-2&s[i+4>>2],a=i-r|0,s[r+4>>2]=1|a,s[i>>2]=a,a>>>0<=255){e=1084+((n=a>>>3)<<3)|0,(i=s[261])&(n=1<<n)?n=s[e+8>>2]:(s[261]=n|i,n=e),s[e+8>>2]=r,s[n+12>>2]=r,s[r+12>>2]=e,s[r+8>>2]=n;break i}if(s[r+16>>2]=0,s[r+20>>2]=0,e=0,(i=a>>>8)&&(e=31,a>>>0>16777215||(e=28+((e=((d=(i<<=o=i+1048320>>>16&8)<<(e=i+520192>>>16&4))<<(i=d+245760>>>16&2)>>>15)-(i|e|o)|0)<<1|a>>>e+21&1)|0)),s[(n=r)+28>>2]=e,n=1348+(e<<2)|0,(i=s[262])&(o=1<<e)){for(e=a<<(31==(0|e)?0:25-(e>>>1)|0),n=s[n>>2];;){if(i=n,(0|a)==(-8&s[n+4>>2]))break a;if(n=e>>>29,e<<=1,!(n=s[16+(o=i+(4&n)|0)>>2]))break}s[o+16>>2]=r,s[r+24>>2]=i}else s[262]=i|o,s[n>>2]=r,s[r+24>>2]=n;s[r+12>>2]=r,s[r+8>>2]=r;break i}e=s[r+8>>2],s[e+12>>2]=d,s[r+8>>2]=d,s[d+24>>2]=0,s[d+12>>2]=r,s[d+8>>2]=e}e=f+8|0;break e}e=s[i+8>>2],s[e+12>>2]=r,s[i+8>>2]=r,s[r+24>>2]=0,s[r+12>>2]=i,s[r+8>>2]=e}if(!((e=s[264])>>>0<=c>>>0)){n=e-c|0,s[264]=n,r=(e=s[267])+c|0,s[267]=r,s[r+4>>2]=1|n,s[e+4>>2]=3|c,e=e+8|0;break e}}s[256]=48,e=0;break e}n:if(d){e=s[a+28>>2];r:{if(s[(i=1348+(e<<2)|0)>>2]==(0|a)){if(s[i>>2]=n,n)break r;h=L(e)&h,s[262]=h;break n}if(s[d+(s[d+16>>2]==(0|a)?16:20)>>2]=n,!n)break n}s[n+24>>2]=d,(e=s[a+16>>2])&&(s[n+16>>2]=e,s[e+24>>2]=n),(e=s[a+20>>2])&&(s[n+20>>2]=e,s[e+24>>2]=n)}n:if(r>>>0<=15)e=r+c|0,s[a+4>>2]=3|e,s[4+(e=e+a|0)>>2]=1|s[e+4>>2];else if(s[a+4>>2]=3|c,s[4+(i=a+c|0)>>2]=1|r,s[r+i>>2]=r,r>>>0<=255)e=1084+((n=r>>>3)<<3)|0,(r=s[261])&(n=1<<n)?n=s[e+8>>2]:(s[261]=n|r,n=e),s[e+8>>2]=i,s[n+12>>2]=i,s[i+12>>2]=e,s[i+8>>2]=n;else{e=0,(c=r>>>8)&&(e=31,r>>>0>16777215||(e=28+((e=((d=(c<<=o=c+1048320>>>16&8)<<(e=c+520192>>>16&4))<<(c=d+245760>>>16&2)>>>15)-(c|e|o)|0)<<1|r>>>e+21&1)|0)),s[(n=i)+28>>2]=e,s[i+16>>2]=0,s[i+20>>2]=0,n=1348+(e<<2)|0;r:{if((c=1<<e)&h){for(e=r<<(31==(0|e)?0:25-(e>>>1)|0),c=s[n>>2];;){if((-8&s[(n=c)+4>>2])==(0|r))break r;if(c=e>>>29,e<<=1,!(c=s[16+(o=(4&c)+n|0)>>2]))break}s[o+16>>2]=i}else s[262]=c|h,s[n>>2]=i;s[i+24>>2]=n,s[i+12>>2]=i,s[i+8>>2]=i;break n}e=s[n+8>>2],s[e+12>>2]=i,s[n+8>>2]=i,s[i+24>>2]=0,s[i+12>>2]=n,s[i+8>>2]=e}e=a+8|0;break e}t:if(f){e=s[n+28>>2];n:{if(s[(r=1348+(e<<2)|0)>>2]==(0|n)){if(s[r>>2]=a,a)break n;b=1048,v=L(e)&m,s[b>>2]=v;break t}if(s[f+(s[f+16>>2]==(0|n)?16:20)>>2]=a,!a)break t}s[a+24>>2]=f,(e=s[n+16>>2])&&(s[a+16>>2]=e,s[e+24>>2]=a),(e=s[n+20>>2])&&(s[a+20>>2]=e,s[e+24>>2]=a)}i>>>0<=15?(e=i+c|0,s[n+4>>2]=3|e,s[4+(e=e+n|0)>>2]=1|s[e+4>>2]):(s[n+4>>2]=3|c,s[4+(c=n+c|0)>>2]=1|i,s[i+c>>2]=i,h&&(e=1084+((r=h>>>3)<<3)|0,a=s[266],(r=1<<r)&o?r=s[e+8>>2]:(s[261]=r|o,r=e),s[e+8>>2]=a,s[r+12>>2]=a,s[a+12>>2]=e,s[a+8>>2]=r),s[266]=c,s[263]=i),e=n+8|0}return p=t+16|0,0|e}function v(e){var t=0,n=0,r=0,i=0,a=0,o=0,l=0,c=0,d=0;e:if(e|=0){a=(r=e+-8|0)+(e=-8&(n=s[e+-4>>2]))|0;t:if(!(1&n)){if(!(3&n))break e;if((r=r-(n=s[r>>2])|0)>>>0<u[265])break e;if(e=e+n|0,s[266]==(0|r)){if(3==(3&(n=s[a+4>>2])))return s[263]=e,s[a+4>>2]=-2&n,s[r+4>>2]=1|e,void(s[e+r>>2]=e)}else{if(n>>>0<=255){if(i=s[r+8>>2],n>>>=3,(0|(t=s[r+12>>2]))==(0|i)){c=1044,d=s[261]&L(n),s[c>>2]=d;break t}s[i+12>>2]=t,s[t+8>>2]=i;break t}if(l=s[r+24>>2],(0|r)==(0|(n=s[r+12>>2])))if((t=s[(i=r+20|0)>>2])||(t=s[(i=r+16|0)>>2])){for(;o=i,(t=s[(i=(n=t)+20|0)>>2])||(i=n+16|0,t=s[n+16>>2]););s[o>>2]=0}else n=0;else t=s[r+8>>2],s[t+12>>2]=n,s[n+8>>2]=t;if(!l)break t;i=s[r+28>>2];n:{if(s[(t=1348+(i<<2)|0)>>2]==(0|r)){if(s[t>>2]=n,n)break n;c=1048,d=s[262]&L(i),s[c>>2]=d;break t}if(s[l+(s[l+16>>2]==(0|r)?16:20)>>2]=n,!n)break t}if(s[n+24>>2]=l,(t=s[r+16>>2])&&(s[n+16>>2]=t,s[t+24>>2]=n),!(t=s[r+20>>2]))break t;s[n+20>>2]=t,s[t+24>>2]=n}}if(!(a>>>0<=r>>>0)&&1&(n=s[a+4>>2])){t:{if(!(2&n)){if(s[267]==(0|a)){if(s[267]=r,e=s[264]+e|0,s[264]=e,s[r+4>>2]=1|e,s[266]!=(0|r))break e;return s[263]=0,void(s[266]=0)}if(s[266]==(0|a))return s[266]=r,e=s[263]+e|0,s[263]=e,s[r+4>>2]=1|e,void(s[e+r>>2]=e);e=(-8&n)+e|0;n:if(n>>>0<=255){if(n>>>=3,(0|(t=s[a+8>>2]))==(0|(i=s[a+12>>2]))){c=1044,d=s[261]&L(n),s[c>>2]=d;break n}s[t+12>>2]=i,s[i+8>>2]=t}else{if(l=s[a+24>>2],(0|a)==(0|(n=s[a+12>>2])))if((t=s[(i=a+20|0)>>2])||(t=s[(i=a+16|0)>>2])){for(;o=i,(t=s[(i=(n=t)+20|0)>>2])||(i=n+16|0,t=s[n+16>>2]););s[o>>2]=0}else n=0;else t=s[a+8>>2],s[t+12>>2]=n,s[n+8>>2]=t;if(l){i=s[a+28>>2];r:{if(s[(t=1348+(i<<2)|0)>>2]==(0|a)){if(s[t>>2]=n,n)break r;c=1048,d=s[262]&L(i),s[c>>2]=d;break n}if(s[l+(s[l+16>>2]==(0|a)?16:20)>>2]=n,!n)break n}s[n+24>>2]=l,(t=s[a+16>>2])&&(s[n+16>>2]=t,s[t+24>>2]=n),(t=s[a+20>>2])&&(s[n+20>>2]=t,s[t+24>>2]=n)}}if(s[r+4>>2]=1|e,s[e+r>>2]=e,s[266]!=(0|r))break t;return void(s[263]=e)}s[a+4>>2]=-2&n,s[r+4>>2]=1|e,s[e+r>>2]=e}if(e>>>0<=255)return n=1084+((e>>>=3)<<3)|0,(t=s[261])&(e=1<<e)?e=s[n+8>>2]:(s[261]=e|t,e=n),s[n+8>>2]=r,s[e+12>>2]=r,s[r+12>>2]=n,void(s[r+8>>2]=e);s[r+16>>2]=0,s[r+20>>2]=0,t=0,(i=e>>>8)&&(t=31,e>>>0>16777215||(t=i,t<<=i=i+1048320>>>16&8,t=28+((t=((t<<=l=t+520192>>>16&4)<<(o=t+245760>>>16&2)>>>15)-(o|i|l)|0)<<1|e>>>t+21&1)|0)),s[(n=r)+28>>2]=t,o=1348+(t<<2)|0;t:if((i=s[262])&(n=1<<t)){i=e<<(31==(0|t)?0:25-(t>>>1)|0),n=s[o>>2];n:{for(;;){if(t=n,(-8&s[n+4>>2])==(0|e))break n;if(n=i>>>29,i<<=1,!(n=s[16+(o=t+(4&n)|0)>>2]))break}s[o+16>>2]=r,s[r+12>>2]=r,s[r+24>>2]=t,s[r+8>>2]=r;break t}e=s[t+8>>2],s[e+12>>2]=r,s[t+8>>2]=r,s[r+24>>2]=0,s[r+12>>2]=t,s[r+8>>2]=e}else s[262]=n|i,s[o>>2]=r,s[r+12>>2]=r,s[r+24>>2]=o,s[r+8>>2]=r;if(e=s[269]+-1|0,s[269]=e,!e){for(r=1500;r=(e=s[r>>2])+8|0,e;);s[269]=-1}}}}function g(e){var t,n=0;return u[e+20>>2]<=u[e+28>>2]||(a[s[e+36>>2]](e,0,0),s[e+20>>2])?((n=s[e+4>>2])>>>0<(t=s[e+8>>2])>>>0&&(n=n-t|0,a[s[e+40>>2]](e,n,n>>31,1)),s[e+28>>2]=0,s[e+16>>2]=0,s[e+20>>2]=0,s[e+4>>2]=0,s[e+8>>2]=0,0):-1}function Z(e){for(var t=0,n=0;n=t,e;)e&=e-1,t=t+1|0;return n}function L(e){var t;return(-1>>>(t=31&e)&-2)<<t|(-1<<(e=0-e&31)&-2)>>>e}function S(){return r.byteLength/65536|0}return{__wasm_call_ctors:function(){},malloc:b,openBox:function(e,t){e|=0,t|=0;var n,r,i,a=0;return p=n=p-16|0,s[n+12>>2]=0,s[n+8>>2]=0,s[n+4>>2]=0,s[n>>2]=0,function(e,t,n,r,i,a){var u=0,c=0,d=0,h=0,f=0,m=0;if(u=(l[e+2|0]^l[e+1|0]^l[0|e])<<24>>24,s[a>>2]=u+-48,u=47+(t-u|0)|0,s[r>>2]=u,f=n,m=b(u),s[f>>2]=m,c=s[a>>2],d=b(c),s[i>>2]=d,(0|c)>0)for(u=c;;){if(d=(c-u|0)+d|0,c=(t-c|0)+e|0,o[0|d]=l[(t-u|0)+e|0]^l[c+-1|0]^l[c+-2|0],(0|(u=u+-1|0))<1){u=s[r>>2];break}d=s[i>>2],c=s[a>>2]}if((0|u)>0)for(;t=s[n>>2]+h|0,h=h+1|0,o[0|t]=l[h+e|0],(0|h)<s[r>>2];);}(e,t,n+12|0,n+4|0,n+8|0,n),function(e,t){var n=0,r=0,i=0,a=0,s=0,u=0,c=0;if((0|t)>=1)for(i=85,a=250;r=Z(n),s=l[0|(u=e+n|0)],c=r,r=1&n,o[0|u]=c+(21+((s^(r?i:a))<<24>>24)|0),a=r?a:s,i=r?s:i,(0|(n=n+1|0))!=(0|t););}(e=s[n+12>>2],t=s[n+4>>2]),r=function(e){var t=0;return(255&(t=e+-48|0))>>>0<=9?t<<24>>24:((e+-97&255)>>>0<26?e+-87|0:-1)<<24>>24}(o[0|e]),s[n>>2]=r,i=b(a=t-r|0),o[i+(a=a+-1|0)|0]=0,(0|a)>=1&&function(e,t,n){var r,i=0;if(n>>>0>=8192)d(0|e,0|t,0|n);else{r=e+n|0;e:if(3&(e^t))if(r>>>0<4)n=e;else if((i=r+-4|0)>>>0<e>>>0)n=e;else for(n=e;o[0|n]=l[0|t],o[n+1|0]=l[t+1|0],o[n+2|0]=l[t+2|0],o[n+3|0]=l[t+3|0],t=t+4|0,(n=n+4|0)>>>0<=i>>>0;);else{t:if((0|n)<1)n=e;else if(3&e)for(n=e;;){if(o[0|n]=l[0|t],t=t+1|0,(n=n+1|0)>>>0>=r>>>0)break t;if(!(3&n))break}else n=e;if(!((e=-4&r)>>>0<64||n>>>0>(i=e+-64|0)>>>0))for(;s[n>>2]=s[t>>2],s[n+4>>2]=s[t+4>>2],s[n+8>>2]=s[t+8>>2],s[n+12>>2]=s[t+12>>2],s[n+16>>2]=s[t+16>>2],s[n+20>>2]=s[t+20>>2],s[n+24>>2]=s[t+24>>2],s[n+28>>2]=s[t+28>>2],s[n+32>>2]=s[t+32>>2],s[n+36>>2]=s[t+36>>2],s[n+40>>2]=s[t+40>>2],s[n+44>>2]=s[t+44>>2],s[n+48>>2]=s[t+48>>2],s[n+52>>2]=s[t+52>>2],s[n+56>>2]=s[t+56>>2],s[n+60>>2]=s[t+60>>2],t=t- -64|0,(n=n- -64|0)>>>0<=i>>>0;);if(n>>>0>=e>>>0)break e;for(;s[n>>2]=s[t>>2],t=t+4|0,(n=n+4|0)>>>0<e>>>0;);}if(n>>>0<r>>>0)for(;o[0|n]=l[0|t],t=t+1|0,(0|r)!=(0|(n=n+1|0)););}}(i,e+1|0,t+(-1^r)|0),v(e),v(s[n+8>>2]),p=n+16|0,0|i},free:v,__errno_location:function(){return 1024},fflush:function e(t){var n=0;if(t|=0)return s[t+76>>2],0|g(t);if(s[260]&&(n=e(s[260])),m(1028),t=s[259])for(;u[t+20>>2]>u[t+28>>2]&&(n=g(t)|n),t=s[t+56>>2];);return f(1028),0|n},setThrew:function(e,t){e|=0,t|=0,s[385]||(s[386]=t,s[385]=e)},stackSave:function(){return 0|p},stackAlloc:function(e){return p=e=p-(e|=0)&-16,0|e},stackRestore:function(e){p=e|=0},__growWasmMemory:function(t){return 0|function(t){t|=0;var n=0|S(),a=n+t|0;if(n<a&&a<65536){var d=new ArrayBuffer(c(a,65536)),h=new e.Int8Array(d);h.set(o),o=h,o=new e.Int8Array(d),new e.Int16Array(d),s=new e.Int32Array(d),l=new e.Uint8Array(d),new e.Uint16Array(d),u=new e.Uint32Array(d),new e.Float32Array(d),new e.Float64Array(d),r=d,i.buffer=d}return n}(0|(t|=0))}}}({Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:1/0,Math:Math},Q,f.buffer))}},instantiate:function(e,t){return{then:function(n,r){n({instance:new m.Instance(new m.Module(e,t))})}}},RuntimeError:Error};u=[],"object"!==CZ(m)&&U("No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.");var p=new m.Table({initial:1,maximum:1,element:"anyfunc"}),y=!1;function b(e,t){e||U("Assertion failed: "+t)}var v,g,Z,L,S,X="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function x(e,t,n,r){if(!(r>0))return 0;for(var i=n,a=n+r-1,o=0;o<e.length;++o){var s=e.charCodeAt(o);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++o)),s<=127){if(n>=a)break;t[n++]=s}else if(s<=2047){if(n+1>=a)break;t[n++]=192|s>>6,t[n++]=128|63&s}else if(s<=65535){if(n+2>=a)break;t[n++]=224|s>>12,t[n++]=128|s>>6&63,t[n++]=128|63&s}else{if(n+3>=a)break;s>=2097152&&h("Invalid Unicode code point 0x"+s.toString(16)+" encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF)."),t[n++]=240|s>>18,t[n++]=128|s>>12&63,t[n++]=128|s>>6&63,t[n++]=128|63&s}}return t[n]=0,n-i}function w(e){for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);r>=55296&&r<=57343&&(r=65536+((1023&r)<<10)|1023&e.charCodeAt(++n)),r<=127?++t:t+=r<=2047?2:r<=65535?3:4}return t}function T(e,t){return e%t>0&&(e+=t-e%t),e}function k(e){v=e,i.HEAP8=g=new Int8Array(e),i.HEAP16=new Int16Array(e),i.HEAP32=L=new Int32Array(e),i.HEAPU8=Z=new Uint8Array(e),i.HEAPU16=new Uint16Array(e),i.HEAPU32=S=new Uint32Array(e),i.HEAPF32=new Float32Array(e),i.HEAPF64=new Float64Array(e)}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var I=1712;b(!0,"stack must start aligned"),b(!0,"heap must start aligned");var G=8192;i.TOTAL_STACK&&b(G===i.TOTAL_STACK,"the stack size can no longer be determined at runtime");var W=i.TOTAL_MEMORY||65536;function V(){b(0==(3&I)),S[1+(I>>2)]=34821223,S[2+(I>>2)]=2310721022,L[0]=1668509029}function R(){var e=S[1+(I>>2)],t=S[2+(I>>2)];34821223==e&&2310721022==t||U("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x"+t.toString(16)+" "+e.toString(16)),1668509029!==L[0]&&U("Runtime error: The application has corrupted its heap memory area (address zero)!")}function C(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var n=t.func;"number"==typeof n?void 0===t.arg?i.dynCall_v(n):i.dynCall_vi(n,t.arg):n(void 0===t.arg?null:t.arg)}else t()}}Hv(i,"TOTAL_MEMORY")||ag(i,"TOTAL_MEMORY",{configurable:!0,get:function(){U("Module.TOTAL_MEMORY has been replaced with plain INITIAL_TOTAL_MEMORY")}}),b(W>=G,"TOTAL_MEMORY should be larger than TOTAL_STACK, was "+W+"! (TOTAL_STACK="+G+")"),b("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&void 0!==Int32Array.prototype.subarray&&void 0!==Int32Array.prototype.set,"JS engine does not provide full typed array support"),(f=i.wasmMemory?i.wasmMemory:new m.Memory({initial:W/65536}))&&(v=f.buffer),b((W=v.byteLength)%65536==0),k(v),L[388]=9904,function(){var e=new Int16Array(1),t=new Int8Array(e.buffer);if(e[0]=25459,115!==t[0]||99!==t[1])throw"Runtime error: expected the system to be little-endian!"}();var M=[],Y=[],K=[],P=[],H=!1;b(Uie,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),b(Qie,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),b(nae,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),b(rae,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var _=0,F=null,E=null,N={};function U(e){throw i.onAbort&&i.onAbort(e),c(e+=""),d(e),y=!0,e="abort("+e+") at "+(n=function(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(t){e=t}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}(),i.extraStackTrace&&(n+="\n"+i.extraStackTrace()),t=/\b_Z[\w\d_]+/g,n.replace(t,(function(e){var t,n=(t=e,h("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),t);return e===n?e:n+" ["+e+"]"}))),new m.RuntimeError(e);var t,n}i.preloadedImages={},i.preloadedAudios={};var J={error:function(){U("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -s FORCE_FILESYSTEM=1")},init:function(){J.error()},createDataFile:function(){J.error()},createPreloadedFile:function(){J.error()},createLazyFile:function(){J.error()},open:function(){J.error()},mkdev:function(){J.error()},registerDevice:function(){J.error()},analyzePath:function(){J.error()},loadFilesFromDB:function(){J.error()},ErrnoError:function(){J.error()}};i.FS_createDataFile=J.createDataFile,i.FS_createPreloadedFile=J.createPreloadedFile;var D="data:application/octet-stream;base64,";function j(e){return uJ(String.prototype)?uJ(e).call(e,D):0===ro(e).call(e,D)}var A,z="aw.wasm";function B(){try{if(u)return new Uint8Array(u);var e=function(e){if(j(e))return function(e){try{for(var t=O(e),n=new Uint8Array(t.length),r=0;r<t.length;++r)n[r]=t.charCodeAt(r);return n}catch(i){throw new Error("Converting base64 string to bytes failed.")}}(Ag(e).call(e,D.length))}(z);if(e)return e;if(!s)throw"both async and sync fetching of the wasm failed"}catch(t){U(t)}}j(z)||(A=z,z=i.locateFile?i.locateFile(A,l):l+A),Y.push({func:function(){ce()}});var O="function"==typeof atob?atob:function(e){var t,n,r,i,a,o,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",l="",u=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{t=ro(s).call(s,e.charAt(u++))<<2|(i=ro(s).call(s,e.charAt(u++)))>>4,n=(15&i)<<4|(a=ro(s).call(s,e.charAt(u++)))>>2,r=(3&a)<<6|(o=ro(s).call(s,e.charAt(u++))),l+=String.fromCharCode(t),64!==a&&(l+=String.fromCharCode(n)),64!==o&&(l+=String.fromCharCode(r))}while(u<e.length);return l},Q={__lock:function(){},__unlock:function(){},emscripten_memcpy_big:function(e,t,n){Z.set(Z.subarray(t,t+n),e)},emscripten_resize_heap:function(e){var t=g.length;b(e>t);var n=65536,r=2147418112;if(e>r)return d("Cannot enlarge memory, asked to go up to "+e+" bytes, but the limit is "+r+" bytes!"),!1;for(var i=Math.max(t,16777216);i<e;)(i=i<=536870912?T(2*i,n):Math.min(T((3*i+2147483648)/4,n),r))===t&&h("Cannot ask for more memory since we reached the practical limit in browsers (which is just below 2GB), so the request would have failed. Requesting only "+g.length);return function(e){try{return f.grow(e-v.byteLength+65535>>16),k(f.buffer),1}catch(t){console.error("emscripten_realloc_buffer: Attempted to grow heap from "+v.byteLength+" bytes to "+e+" bytes, but got error: "+t)}}(i)?(d("Warning: Enlarging memory arrays, this is not fast! "+[t,i]),!0):(d("Failed to grow the heap from "+t+" bytes to "+i+" bytes, not enough memory!"),!1)},memory:f,table:p},q=function(){var e,t={env:Q,wasi_unstable:Q};function n(e,t){var n=e.exports;i.asm=n,function(e){if(_--,i.monitorRunDependencies&&i.monitorRunDependencies(_),e?(b(N[e]),delete N[e]):d("warning: run dependency removed without ID"),0==_&&(null!==F&&(clearInterval(F),F=null),E)){var t=E;E=null,t()}}("wasm-instantiate")}e="wasm-instantiate",_++,i.monitorRunDependencies&&i.monitorRunDependencies(_),e?(b(!N[e]),N[e]=1,null===F&&void 0!==MH&&(F=MH((function(){if(y)return clearInterval(F),void(F=null);var e=!1;for(var t in N)e||(e=!0,d("still waiting on run dependencies:")),d("dependency: "+t);e&&d("(end of list)")}),1e4))):d("warning: run dependency added without ID");var r=i;function a(e){b(i===r,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),r=null,n(e.instance)}function s(e){return(!u&&o&&"function"==typeof fetch?fetch(z,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+z+"'";return e.arrayBuffer()})).catch((function(){return B()})):new sp((function(e,t){e(B())}))).then((function(e){return m.instantiate(e,t)})).then(e,(function(e){d("failed to asynchronously prepare wasm: "+e),U(e)}))}if(i.instantiateWasm)try{return i.instantiateWasm(t,n)}catch(l){return d("Module.instantiateWasm callback failed with error: "+l),!1}return function(){if(u||"function"!=typeof m.instantiateStreaming||j(z)||"function"!=typeof fetch)return s(a);fetch(z,{credentials:"same-origin"}).then((function(e){return m.instantiateStreaming(e,t).then(a,(function(e){d("wasm streaming compile failed: "+e),d("falling back to ArrayBuffer instantiation"),s(a)}))}))}(),{}}(),$=q.__wasm_call_ctors;q.__wasm_call_ctors=function(){return b(H,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),$.apply(null,arguments)};var ee=q.malloc;q.malloc=function(){return b(H,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),ee.apply(null,arguments)};var te=q.openBox;q.openBox=function(){return b(H,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),te.apply(null,arguments)};var ne=q.free;q.free=function(){return b(H,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),ne.apply(null,arguments)};var re=q.__errno_location;q.__errno_location=function(){return b(H,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),re.apply(null,arguments)};var ie=q.fflush;q.fflush=function(){return b(H,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),ie.apply(null,arguments)};var ae=q.setThrew;q.setThrew=function(){return b(H,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),ae.apply(null,arguments)};var oe=q.stackSave;q.stackSave=function(){return b(H,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),oe.apply(null,arguments)};var se=q.stackAlloc;q.stackAlloc=function(){return b(H,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),se.apply(null,arguments)};var le=q.stackRestore;q.stackRestore=function(){return b(H,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),le.apply(null,arguments)};var ue=q.__growWasmMemory;q.__growWasmMemory=function(){return b(H,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),ue.apply(null,arguments)},i.asm=q;var ce=i.___wasm_call_ctors=function(){return b(H,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),i.asm.__wasm_call_ctors.apply(null,arguments)},de=i._malloc=function(){return b(H,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),i.asm.malloc.apply(null,arguments)};i._openBox=function(){return b(H,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),i.asm.openBox.apply(null,arguments)},i._free=function(){return b(H,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),i.asm.free.apply(null,arguments)},i.___errno_location=function(){return b(H,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),i.asm.__errno_location.apply(null,arguments)},i._fflush=function(){return b(H,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),i.asm.fflush.apply(null,arguments)},i._setThrew=function(){return b(H,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),i.asm.setThrew.apply(null,arguments)};var he=i.stackSave=function(){return b(H,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),i.asm.stackSave.apply(null,arguments)};i.stackAlloc=function(){return b(H,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),i.asm.stackAlloc.apply(null,arguments)},i.stackRestore=function(){return b(H,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),i.asm.stackRestore.apply(null,arguments)};var fe,me=i.__growWasmMemory=function(){return b(H,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),i.asm.__growWasmMemory.apply(null,arguments)};function pe(e){function t(){fe||(fe=!0,y||(R(),b(!H),H=!0,C(Y),R(),C(K),i.onRuntimeInitialized&&i.onRuntimeInitialized(),b(!i._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'),function(){if(R(),i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)e=i.postRun.shift(),P.unshift(e);var e;C(P)}()))}_>0||(V(),function(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)e=i.preRun.shift(),M.unshift(e);var e;C(M)}(),_>0||(i.setStatus?(i.setStatus("Running..."),On((function(){On((function(){i.setStatus("")}),1),t()}),1)):t(),R()))}if(i.asm=q,i.intArrayFromString=function(e,t,n){var r=n>0?n:w(e)+1,i=new Array(r),a=x(e,i,0,i.length);return t&&(i.length=a),i},Hv(i,"intArrayToString")||(i.intArrayToString=function(){U("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"ccall")||(i.ccall=function(){U("'ccall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"cwrap")||(i.cwrap=function(){U("'cwrap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"setValue")||(i.setValue=function(){U("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"getValue")||(i.getValue=function(){U("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"allocate")||(i.allocate=function(){U("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"getMemory")||(i.getMemory=function(){U("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Hv(i,"AsciiToString")||(i.AsciiToString=function(){U("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"stringToAscii")||(i.stringToAscii=function(){U("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"UTF8ArrayToString")||(i.UTF8ArrayToString=function(){U("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),i.UTF8ToString=function(e,t){return e?function(e,t,n){for(var r=t+n,i=t;e[i]&&!(i>=r);)++i;if(i-t>16&&e.subarray&&X)return X.decode(e.subarray(t,i));for(var a="";t<i;){var o=e[t++];if(128&o){var s=63&e[t++];if(192!=(224&o)){var l=63&e[t++];if(224==(240&o)?o=(15&o)<<12|s<<6|l:(240!=(248&o)&&h("Invalid UTF-8 leading byte 0x"+o.toString(16)+" encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!"),o=(7&o)<<18|s<<12|l<<6|63&e[t++]),o<65536)a+=String.fromCharCode(o);else{var u=o-65536;a+=String.fromCharCode(55296|u>>10,56320|1023&u)}}else a+=String.fromCharCode((31&o)<<6|s)}else a+=String.fromCharCode(o)}return a}(Z,e,t):""},Hv(i,"stringToUTF8Array")||(i.stringToUTF8Array=function(){U("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"stringToUTF8")||(i.stringToUTF8=function(){U("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"lengthBytesUTF8")||(i.lengthBytesUTF8=function(){U("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"UTF16ToString")||(i.UTF16ToString=function(){U("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"stringToUTF16")||(i.stringToUTF16=function(){U("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"lengthBytesUTF16")||(i.lengthBytesUTF16=function(){U("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"UTF32ToString")||(i.UTF32ToString=function(){U("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"stringToUTF32")||(i.stringToUTF32=function(){U("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"lengthBytesUTF32")||(i.lengthBytesUTF32=function(){U("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),i.allocateUTF8=function(e){var t=w(e)+1,n=de(t);return n&&x(e,g,n,t),n},Hv(i,"stackTrace")||(i.stackTrace=function(){U("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"addOnPreRun")||(i.addOnPreRun=function(){U("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"addOnInit")||(i.addOnInit=function(){U("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"addOnPreMain")||(i.addOnPreMain=function(){U("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"addOnExit")||(i.addOnExit=function(){U("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"addOnPostRun")||(i.addOnPostRun=function(){U("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"writeStringToMemory")||(i.writeStringToMemory=function(){U("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"writeArrayToMemory")||(i.writeArrayToMemory=function(){U("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"writeAsciiToMemory")||(i.writeAsciiToMemory=function(){U("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"addRunDependency")||(i.addRunDependency=function(){U("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Hv(i,"removeRunDependency")||(i.removeRunDependency=function(){U("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Hv(i,"ENV")||(i.ENV=function(){U("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"FS")||(i.FS=function(){U("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"FS_createFolder")||(i.FS_createFolder=function(){U("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Hv(i,"FS_createPath")||(i.FS_createPath=function(){U("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Hv(i,"FS_createDataFile")||(i.FS_createDataFile=function(){U("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Hv(i,"FS_createPreloadedFile")||(i.FS_createPreloadedFile=function(){U("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Hv(i,"FS_createLazyFile")||(i.FS_createLazyFile=function(){U("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Hv(i,"FS_createLink")||(i.FS_createLink=function(){U("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Hv(i,"FS_createDevice")||(i.FS_createDevice=function(){U("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Hv(i,"FS_unlink")||(i.FS_unlink=function(){U("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Hv(i,"GL")||(i.GL=function(){U("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"dynamicAlloc")||(i.dynamicAlloc=function(){U("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"loadDynamicLibrary")||(i.loadDynamicLibrary=function(){U("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"loadWebAssemblyModule")||(i.loadWebAssemblyModule=function(){U("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"getLEB")||(i.getLEB=function(){U("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"getFunctionTables")||(i.getFunctionTables=function(){U("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"alignFunctionTables")||(i.alignFunctionTables=function(){U("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"registerFunctions")||(i.registerFunctions=function(){U("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"addFunction")||(i.addFunction=function(){U("'addFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"removeFunction")||(i.removeFunction=function(){U("'removeFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"getFuncWrapper")||(i.getFuncWrapper=function(){U("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"prettyPrint")||(i.prettyPrint=function(){U("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"makeBigInt")||(i.makeBigInt=function(){U("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"dynCall")||(i.dynCall=function(){U("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"getCompilerSetting")||(i.getCompilerSetting=function(){U("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"stackSave")||(i.stackSave=function(){U("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"stackRestore")||(i.stackRestore=function(){U("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"stackAlloc")||(i.stackAlloc=function(){U("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"establishStackSpace")||(i.establishStackSpace=function(){U("'establishStackSpace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"print")||(i.print=function(){U("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"printErr")||(i.printErr=function(){U("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"getTempRet0")||(i.getTempRet0=function(){U("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"setTempRet0")||(i.setTempRet0=function(){U("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"callMain")||(i.callMain=function(){U("'callMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"abort")||(i.abort=function(){U("'abort' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),i.Pointer_stringify=function(e,t){U("this function has been removed - you should use UTF8ToString(ptr, maxBytesToRead) instead!")},Hv(i,"warnOnce")||(i.warnOnce=function(){U("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),i.writeStackCookie=V,i.checkStackCookie=R,i.abortStackOverflow=function(e){U("Stack overflow! Attempted to allocate "+e+" bytes on the stack, but stack has only "+(I-he()+e)+" bytes available!")},Hv(i,"intArrayFromBase64")||(i.intArrayFromBase64=function(){U("'intArrayFromBase64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"tryParseAsDataURI")||(i.tryParseAsDataURI=function(){U("'tryParseAsDataURI' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Hv(i,"ALLOC_NORMAL")||ag(i,"ALLOC_NORMAL",{configurable:!0,get:function(){U("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),Hv(i,"ALLOC_STACK")||ag(i,"ALLOC_STACK",{configurable:!0,get:function(){U("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),Hv(i,"ALLOC_DYNAMIC")||ag(i,"ALLOC_DYNAMIC",{configurable:!0,get:function(){U("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),Hv(i,"ALLOC_NONE")||ag(i,"ALLOC_NONE",{configurable:!0,get:function(){U("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),Hv(i,"calledRun")||ag(i,"calledRun",{configurable:!0,get:function(){U("'calledRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}}),i.then=function(e){if(fe)e(i);else{var t=i.onRuntimeInitialized;i.onRuntimeInitialized=function(){t&&t(),e(i)}}return i},E=function e(){fe||pe(),fe||(E=e)},i.run=pe,i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return pe(),e}),Nae=function(){function e(t,n){KZ(this,e),this.cdnHost=t,this.cdnBucket=n}return HZ(e,[{key:"init",value:function(){var e=new vie;this.module={onRuntimeInitialized:function(){e.resolve()},onAbort:function(t){e.reject(t)}},this.cdnHost&&(this.module.cdnHost=this.cdnHost);var t=this.cdnBucket?"-".concat(this.cdnBucket):"";return this.module.cdnBucket="media-fe".concat(t),Eae(this.module),e}},{key:"openBox",value:function(e){try{var t=window.atob(e),n=Wne.str2hex(t),r=this.module._malloc(Number(n.length));this.module.HEAP8.set(n,r);var i=this.module._openBox(Number(r),n.length),a=this.module.UTF8ToString(i);return this.module._free(r),a}catch(Ude){}}},{key:"destroy",value:function(){this.module=null}}]),e}(),Uae=$T.some;Ew({target:"Array",proto:!0,forced:!Gk("some")},{some:function(e){return Uae(this,e,arguments.length>1?arguments[1]:void 0)}});var Jae={},Dae=jS;Jae.f=Dae;var jae=zZ,Aae=VS,zae=Jae,Bae=gX.f,Oae=tL,Qae=_L,qae=jS,$ae=Px,eoe=Ew,toe=zZ,noe=tL,roe=fL,ioe=QZ,aoe=QL,ooe=OZ,soe=VS,loe=FL,uoe=xX,coe=GL,doe=rX,hoe=qM,foe=lL,moe=LG,poe=Ck,yoe=Hx,boe=X4,voe=fw,goe=BZ,Zoe=gX,Loe=$I,Soe=nL,Xoe=Px,xoe=wS,woe=ax,Toe=KS,koe=jS,Ioe=Jae,Goe=function(e){var t=jae.Symbol||(jae.Symbol={});Aae(t,e)||Bae(t,e,{value:zae.f(e)})},Woe=function(){var e=Qae("Symbol"),t=e&&e.prototype,n=t&&t.valueOf,r=qae("toPrimitive");t&&!t[r]&&$ae(t,r,(function(e){return Oae(n,this)}),{arity:1})},Voe=qG,Roe=gx,Coe=$T.forEach,Moe=ix("hidden"),Yoe="Symbol",Koe="prototype",Poe=Roe.set,Hoe=Roe.getterFor(Yoe),_oe=Object[Koe],Foe=toe.Symbol,Eoe=Foe&&Foe[Koe],Noe=toe.TypeError,Uoe=toe.QObject,Joe=goe.f,Doe=Zoe.f,joe=boe.f,Aoe=Soe.f,zoe=roe([].push),Boe=xoe("symbols"),Ooe=xoe("op-symbols"),Qoe=xoe("wks"),qoe=!Uoe||!Uoe[Koe]||!Uoe[Koe].findChild,$oe=ioe&&ooe((function(){return 7!=moe(Doe({},"a",{get:function(){return Doe(this,"a",{value:7}).a}})).a}))?function(e,t,n){var r=Joe(_oe,t);r&&delete _oe[t],Doe(e,t,n),r&&e!==_oe&&Doe(_oe,t,r)}:Doe,ese=function(e,t){var n=Boe[e]=moe(Eoe);return Poe(n,{type:Yoe,tag:e,description:t}),ioe||(n.description=t),n},tse=function(e,t,n){e===_oe&&tse(Ooe,t,n),uoe(e);var r=doe(t);return uoe(n),soe(Boe,r)?(n.enumerable?(soe(e,Moe)&&e[Moe][r]&&(e[Moe][r]=!1),n=moe(n,{enumerable:foe(0,!1)})):(soe(e,Moe)||Doe(e,Moe,foe(1,{})),e[Moe][r]=!0),$oe(e,r,n)):Doe(e,r,n)},nse=function(e,t){uoe(e);var n=coe(t),r=poe(n).concat(ose(n));return Coe(r,(function(t){ioe&&!noe(rse,n,t)||tse(e,t,n[t])})),e},rse=function(e){var t=doe(e),n=noe(Aoe,this,t);return!(this===_oe&&soe(Boe,t)&&!soe(Ooe,t))&&(!(n||!soe(this,t)||!soe(Boe,t)||soe(this,Moe)&&this[Moe][t])||n)},ise=function(e,t){var n=coe(e),r=doe(t);if(n!==_oe||!soe(Boe,r)||soe(Ooe,r)){var i=Joe(n,r);return!i||!soe(Boe,r)||soe(n,Moe)&&n[Moe][r]||(i.enumerable=!0),i}},ase=function(e){var t=joe(coe(e)),n=[];return Coe(t,(function(e){soe(Boe,e)||soe(woe,e)||zoe(n,e)})),n},ose=function(e){var t=e===_oe,n=joe(t?Ooe:coe(e)),r=[];return Coe(n,(function(e){!soe(Boe,e)||t&&!soe(_oe,e)||zoe(r,Boe[e])})),r};aoe||(Foe=function(){if(loe(Eoe,this))throw Noe("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?hoe(arguments[0]):void 0,t=Toe(e),n=function(e){this===_oe&&noe(n,Ooe,e),soe(this,Moe)&&soe(this[Moe],t)&&(this[Moe][t]=!1),$oe(this,t,foe(1,e))};return ioe&&qoe&&$oe(_oe,t,{configurable:!0,set:n}),ese(t,e)},Xoe(Eoe=Foe[Koe],"toString",(function(){return Hoe(this).tag})),Xoe(Foe,"withoutSetter",(function(e){return ese(Toe(e),e)})),Soe.f=rse,Zoe.f=tse,Loe.f=nse,goe.f=ise,yoe.f=boe.f=ase,voe.f=ose,Ioe.f=function(e){return ese(koe(e),e)},ioe&&(Doe(Eoe,"description",{configurable:!0,get:function(){return Hoe(this).description}}),Xoe(_oe,"propertyIsEnumerable",rse,{unsafe:!0}))),eoe({global:!0,constructor:!0,wrap:!0,forced:!aoe,sham:!aoe},{Symbol:Foe}),Coe(poe(Qoe),(function(e){Goe(e)})),eoe({target:Yoe,stat:!0,forced:!aoe},{useSetter:function(){qoe=!0},useSimple:function(){qoe=!1}}),eoe({target:"Object",stat:!0,forced:!aoe,sham:!ioe},{create:function(e,t){return void 0===t?moe(e):nse(moe(e),t)},defineProperty:tse,defineProperties:nse,getOwnPropertyDescriptor:ise}),eoe({target:"Object",stat:!0,forced:!aoe},{getOwnPropertyNames:ase}),Woe(),Voe(Foe,Yoe),woe[Moe]=!0;var sse=QL&&!!Symbol.for&&!!Symbol.keyFor,lse=Ew,use=_L,cse=VS,dse=qM,hse=wS,fse=sse,mse=hse("string-to-symbol-registry"),pse=hse("symbol-to-string-registry");lse({target:"Symbol",stat:!0,forced:!fse},{for:function(e){var t=dse(e);if(cse(mse,t))return mse[t];var n=use("Symbol")(t);return mse[t]=n,pse[n]=t,n}});var yse=Ew,bse=VS,vse=rS,gse=aS,Zse=sse,Lse=wS("symbol-to-string-registry");yse({target:"Symbol",stat:!0,forced:!Zse},{keyFor:function(e){if(!vse(e))throw TypeError(gse(e)+" is not a symbol");if(bse(Lse,e))return Lse[e]}});var Sse=fw,Xse=IS;Ew({target:"Object",stat:!0,forced:!QL||OZ((function(){Sse.f(1)}))},{getOwnPropertySymbols:function(e){var t=Sse.f;return t?t(Xse(e)):[]}});var xse=Ew,wse=QZ,Tse=zZ,kse=fL,Ise=VS,Gse=CL,Wse=FL,Vse=qM,Rse=gX.f,Cse=xw,Mse=Tse.Symbol,Yse=Mse&&Mse.prototype;if(wse&&Gse(Mse)&&(!("description"in Yse)||void 0!==Mse().description)){var Kse={},Pse=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:Vse(arguments[0]),t=Wse(Yse,this)?new Mse(e):void 0===e?Mse():Mse(e);return""===e&&(Kse[t]=!0),t};Cse(Pse,Mse),Pse.prototype=Yse,Yse.constructor=Pse;var Hse="Symbol(test)"==String(Mse("test")),_se=kse(Yse.valueOf),Fse=kse(Yse.toString),Ese=/^Symbol\((.*)\)[^)]+$/,Nse=kse("".replace),Use=kse("".slice);Rse(Yse,"description",{configurable:!0,get:function(){var e=_se(this);if(Ise(Kse,e))return"";var t=Fse(e),n=Hse?Use(t,7,-1):Nse(t,Ese,"$1");return""===n?void 0:n}}),xse({global:!0,constructor:!0,forced:!0},{Symbol:Pse})}var Jse=$Q.aTypedArrayConstructor;function Dse(){var e=window.navigator.userAgent,t=ro(e).call(e,"MSIE "),n=ro(e).call(e,"Trident/");return t>0||n>0}function jse(){var e,t,n,r,i,a,o,s,l,u,c;return!(!navigator.requestMediaKeySystemAccess||(o=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),s=Dse(),r=navigator.mimeTypes,i=navigator.userAgent,a=!1,r&&ro(i).call(i,"Chrome")>1&&(a=fH(n=ca(r)).call(n,(function(e){var t,n,i;return!!(r[e].type&&ro(t=r[e].type).call(t,"360")>-1)||!!(r[e].type&&ro(n=r[e].type).call(n,"application/vnd.chromium.remoting-viewer")>-1)||!!(r[e].description&&ro(i=r[e].description).call(i,"360")>-1)}))),l=a,u=ro(e=navigator.userAgent).call(e,"Firefox")>0,c=ro(t=navigator.userAgent).call(t,"Edge")>0,o||s||l||u||c))}function Ase(){try{if("object"===("undefined"==typeof WebAssembly?"undefined":CZ(WebAssembly))&&"function"==typeof WebAssembly.instantiate){var e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly.Module)return new WebAssembly.Instance(e)instanceof WebAssembly.Instance}}catch(t){console.log(t)}return!1}function zse(){var e=window.MediaSource=window.MediaSource||window.WebKitMediaSource;return e&&"function"==typeof e.isTypeSupported}(0,$Q.exportTypedArrayStaticMethod)("of",(function(){for(var e=0,t=arguments.length,n=new(Jse(this))(t);t>e;)n[e]=arguments[e++];return n}),oq);var Bse=function(){function e(t){KZ(this,e),this.onTick_=t,this.cancelPending_=null}return HZ(e,[{key:"tickAfter",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.stop();var r=!0,i=null;this.cancelPending_=function(){window.clearTimeout(i),r=!1};return i=On((function(){r&&(t.onTick_(),n&&n())}),1e3*e),this}},{key:"tickEvery",value:function(e){var t=this;this.tickAfter(e,(function(){t.tickEvery(e)}))}},{key:"stop",value:function(){this.cancelPending_&&(this.cancelPending_(),this.cancelPending_=null)}}]),e}(),Ose=zZ,Qse=OZ,qse=qM,$se=iK.trim,ele=BY,tle=fL("".charAt),nle=Ose.parseFloat,rle=Ose.Symbol,ile=rle&&rle.iterator,ale=1/nle(ele+"-0")!=-1/0||ile&&!Qse((function(){nle(Object(ile))}))?function(e){var t=$se(qse(e)),n=nle(t);return 0===n&&"-"==tle(t,0)?-0:n}:nle;Ew({global:!0,forced:parseFloat!=ale},{parseFloat:ale});var ole="PRELOAD_NEXT",sle="PRELOAD_SEG_DONE",lle="PREPARE",ule="IDLE",cle="FINISH",dle=1,hle=0,fle=1;function mle(e){return(mle="function"==typeof og&&"symbol"==typeof zg?function(e){return typeof e}:function(e){return e&&"function"==typeof og&&e.constructor===og&&e!==og.prototype?"symbol":typeof e})(e)}function ple(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function yle(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),ag(e,r.key,r)}}function ble(e,t,n){return t&&yle(e.prototype,t),n&&yle(e,n),ag(e,"prototype",{writable:!1}),e}var vle,gle,Zle={exports:{}},Lle={exports:{}},Sle=function(e){return null!=e},Xle=Sle,xle={object:!0,function:!0,undefined:!0},wle=function(e){return!!Xle(e)&&hasOwnProperty.call(xle,Tv(e))},Tle=function(e){if(!wle(e))return!1;try{return!!e.constructor&&e.constructor.prototype===e}catch(Ude){return!1}},kle=function(e){if("function"!=typeof e)return!1;if(!hasOwnProperty.call(e,"length"))return!1;try{if("number"!=typeof e.length)return!1;if("function"!=typeof e.call)return!1;if("function"!=typeof e.apply)return!1}catch(Ude){return!1}return!Tle(e)},Ile=/^\s*class[\s{/}]/,Gle=Function.prototype.toString;var Wle,Vle,Rle,Cle,Mle,Yle,Kle,Ple,Hle=function(e){return null!=e};function _le(){return Cle?Rle:(Cle=1,Rle=(gle?vle:(gle=1,vle=function(){try{return ca("primitive"),!0}catch(e){return!1}}))()?ca:function(){if(Vle)return Wle;Vle=1;var e=Hle,t=ca;return Wle=function(n){return t(e(n)?Object(n):n)}}())}var Fle,Ele,Nle=function(){var e;return"function"==typeof Wu&&(Wu(e={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),e.foo+e.bar+e.trzy==="razdwatrzy")}()?Wu:function(){if(Ple)return Kle;Ple=1;var e=_le(),t=function(){if(Yle)return Mle;Yle=1;var e=Hle;return Mle=function(t){if(!e(t))throw new TypeError("Cannot use null or undefined");return t}}(),n=Math.max;return Kle=function(r,i){var a,o,s,l=n(arguments.length,2);for(r=Object(t(r)),s=function(e){try{r[e]=i[e]}catch(t){a||(a=t)}},o=1;o<l;++o){var u;mu(u=e(i=arguments[o])).call(u,s)}if(void 0!==a)throw a;return r},Kle}(),Ule=Hle,Jle=mu(Array.prototype),Dle=cg,jle="razdwatrzy";var Ale="function"==typeof jle.contains&&!0===jle.contains("dwa")&&!1===jle.contains("foo")?String.prototype.contains:function(){if(Ele)return Fle;Ele=1;var e=ro(String.prototype);return Fle=function(t){return e.call(this,t,arguments[1])>-1},Fle}(),zle=Sle,Ble=function(e){return!!kle(e)&&!Ile.test(Gle.call(e))},Ole=Nle,Qle=function(e){var t=Dle(null);return Jle.call(arguments,(function(e){Ule(e)&&function(e,t){var n;for(n in e)t[n]=e[n]}(Object(e),t)})),t},qle=Ale,$le=Lle.exports=function(e,t){var n,r,i,a,o;return arguments.length<2||"string"!=typeof e?(a=t,t=e,e=null):a=arguments[2],zle(e)?(n=qle.call(e,"c"),r=qle.call(e,"e"),i=qle.call(e,"w")):(n=i=!0,r=!1),o={value:t,configurable:n,enumerable:r,writable:i},a?Ole(Qle(a),o):o};$le.gs=function(e,t,n){var r,i,a,o;return"string"!=typeof e?(a=n,n=t,t=e,e=null):a=arguments[3],zle(t)?Ble(t)?zle(n)?Ble(n)||(a=n,n=void 0):n=void 0:(a=t,t=n=void 0):t=void 0,zle(e)?(r=qle.call(e,"c"),i=qle.call(e,"e")):(r=!0,i=!1),o={get:t,set:n,configurable:r,enumerable:i},a?Ole(Qle(a),o):o};var eue=Lle.exports,tue=function(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");return e};!function(e,t){var n,r,i,a,o,s,l,u=eue,c=tue,d=Function.prototype.apply,h=Function.prototype.call,f=cg,m=ag,p=Ov,y=Object.prototype.hasOwnProperty,b={configurable:!0,enumerable:!1,writable:!0};r=function(e,t){var r,a;return c(t),a=this,n.call(this,e,r=function(){i.call(a,e,r),d.call(t,this,arguments)}),r.__eeOnceListener__=t,this},a=function(e){var t,n,r,i,a;if(y.call(this,"__ee__")&&(i=this.__ee__[e]))if("object"===Tv(i)){for(n=arguments.length,a=new Array(n-1),t=1;t<n;++t)a[t-1]=arguments[t];for(i=Ag(i).call(i),t=0;r=i[t];++t)d.call(r,this,a)}else switch(arguments.length){case 1:h.call(i,this);break;case 2:h.call(i,this,arguments[1]);break;case 3:h.call(i,this,arguments[1],arguments[2]);break;default:for(n=arguments.length,a=new Array(n-1),t=1;t<n;++t)a[t-1]=arguments[t];d.call(i,this,a)}},o={on:n=function(e,t){var n;return c(t),y.call(this,"__ee__")?n=this.__ee__:(n=b.value=f(null),m(this,"__ee__",b),b.value=null),n[e]?"object"===Tv(n[e])?n[e].push(t):n[e]=[n[e],t]:n[e]=t,this},once:r,off:i=function(e,t){var n,r,i,a;if(c(t),!y.call(this,"__ee__"))return this;if(!(n=this.__ee__)[e])return this;if("object"===Tv(r=n[e]))for(a=0;i=r[a];++a)i!==t&&i.__eeOnceListener__!==t||(2===r.length?n[e]=r[a?0:1]:Cp(r).call(r,a,1));else r!==t&&r.__eeOnceListener__!==t||delete n[e];return this},emit:a},s={on:u(n),once:u(r),off:u(i),emit:u(a)},l=p({},s),e.exports=t=function(e){return null==e?f(l):p(Object(e),s)},t.methods=o}(Zle,Zle.exports);var nue=t(Zle.exports),rue=I,iue=p,aue=sa,oue=O,sue=iue(R.f),lue=iue([].push),uue=function(e){return function(t){for(var n,r=oue(t),i=aue(r),a=i.length,o=0,s=[];a>o;)n=i[o++],rue&&!sue(r,n)||lue(s,e?[n,r[n]]:r[n]);return s}},cue={entries:uue(!0),values:uue(!1)}.values;Gn({target:"Object",stat:!0},{values:function(e){return cue(e)}});var due=t(ee.Object.values),hue=Ew,fue=fL,mue=uS,pue=IS,yue=qx,bue=AK,vue=qM,gue=OZ,Zue=kD,Lue=Gk,Sue=R1,Xue=C1,xue=zL,wue=Y1,Tue=[],kue=fue(Tue.sort),Iue=fue(Tue.push),Gue=gue((function(){Tue.sort(void 0)})),Wue=gue((function(){Tue.sort(null)})),Vue=Lue("sort"),Rue=!gue((function(){if(xue)return xue<70;if(!(Sue&&Sue>3)){if(Xue)return!0;if(wue)return wue<603;var e,t,n,r,i="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:n=3;break;case 68:case 71:n=4;break;default:n=2}for(r=0;r<47;r++)Tue.push({k:t+r,v:n})}for(Tue.sort((function(e,t){return t.v-e.v})),r=0;r<Tue.length;r++)t=Tue[r].k.charAt(0),i.charAt(i.length-1)!==t&&(i+=t);return"DGBEFHACIJK"!==i}}));hue({target:"Array",proto:!0,forced:Gue||!Wue||!Vue||!Rue},{sort:function(e){void 0!==e&&mue(e);var t=pue(this);if(Rue)return void 0===e?kue(t):kue(t,e);var n,r,i=[],a=yue(t);for(r=0;r<a;r++)r in t&&Iue(i,t[r]);for(Zue(i,function(e){return function(t,n){return void 0===n?-1:void 0===t?1:void 0!==e?+e(t,n)||0:vue(t)>vue(n)?1:-1}}(e)),n=yue(i),r=0;r<n;)t[r]=i[r++];for(;r<a;)bue(t,r++);return t}});var Cue=QZ,Mue=fL,Yue=Ck,Kue=GL,Pue=Mue(nL.f),Hue=Mue([].push),_ue=function(e){return function(t){for(var n,r=Kue(t),i=Yue(r),a=i.length,o=0,s=[];a>o;)n=i[o++],Cue&&!Pue(r,n)||Hue(s,e?[n,r[n]]:r[n]);return s}},Fue={entries:_ue(!0),values:_ue(!1)}.values;Ew({target:"Object",stat:!0},{values:function(e){return Fue(e)}});var Eue=Hle,Nue={function:!0,object:!0},Uue=function(e){return Eue(e)&&Nue[Tv(e)]||!1},Jue=function(e){if(!Uue(e))throw new TypeError(e+" is not an Object");return e},Due=Object.prototype.hasOwnProperty,jue=function(e){var t,n=arguments[1];if(Jue(e),void 0===n)Due.call(e,"__ee__")&&delete e.__ee__;else{if(!(t=Due.call(e,"__ee__")&&e.__ee__))return;t[n]&&delete t[n]}},Aue=t(jue),zue=function(){function e(t,n,r,i,a){ple(this,e),nue(this),this.state=lle,this.options=t||{},this.logger=t.logger||function(){},this._preloadManager=n,this.player=n.player;var o=r.handlers,s=r.predictInst,l=r.readyPromise;this._predictInst=s,this._handlers=o,this._predictInstReadyPromise=l,this._toLoadList=[],this.retryCount=0,this._cachedHandler=i,this._cachedDataHanlder=a,this.cnt=0}return ble(e,[{key:"start",value:function(){var e=this,t=new Uz;return this._handlers.start(this.options).then((function(n){n.onObtain().then((function(r){e._predictInstReadyPromise.then((function(){e._predictInst.updateMediaInfos(r);var i=e._predictInst.preloadPredict(e.options),a=e._predictInst.cachedData;e._cachedDataHanlder(Wu({vid:e.options.vid},{data:a}));var o=Wu(i,e.options);n.onTransform(o).then((function(n){e._toLoadList=n,t.resolve(n)}))}))}))})).catch((function(e){t.reject(new Error("preload unit start error"))})),t}},{key:"preloadSeg",value:function(){var e=this;if(0===this._toLoadList.length)return this.state=cle,void this.emit(sle,!0);this.state="PRELOADING";var t=this._toLoadList.shift();this._handlers.onRequest(t,(function(n){var r=Wu({},t.extData,n);e._cachedHandler(r)})).then((function(){e.state=ule,e.emit(sle)})).catch((function(t){e.requestError(),e.emit(sle,!1)}))}},{key:"requestError",value:function(){this.retryCount++,this.state=ule,this.retryCount>=10&&(this.state=cle),this.emit("ONE_STEP_DONE"),this.logger("preload request error")}},{key:"cancelLoading",value:function(){this._toLoadList=[]}},{key:"destroy",value:function(){Aue(this)}}]),e}();var Bue=function(){try{if("undefined"!=typeof indexedDB)return indexedDB;if("undefined"!=typeof webkitIndexedDB)return webkitIndexedDB;if("undefined"!=typeof mozIndexedDB)return mozIndexedDB;if("undefined"!=typeof OIndexedDB)return OIndexedDB;if("undefined"!=typeof msIndexedDB)return msIndexedDB}catch(e){}}();function Oue(e,t){t&&e.then((function(e){t(null,e)}),(function(e){t(e)}))}function Que(e){return"string"!=typeof e&&(console.warn("".concat(e," used as a key, but it is not a string.")),e=String(e)),e}var que={},$ue="readonly",ece="readwrite";function tce(e){var t=que[e.name],n={};n.promise=new sp((function(e,t){n.resolve=e,n.reject=t})),t.deferredOperations.push(n),t.dbReady?t.dbReady=t.dbReady.then((function(){return n.promise})):t.dbReady=n.promise}function nce(e,t){return new sp((function(n,r){if(que[e.name]=que[e.name]||{forages:[],db:null,dbReady:null,deferredOperations:[]},e.db){if(!t)return n(e.db);tce(e),e.db.close()}var i=[e.name];t&&i.push(e.version);var a=Bue.open.apply(Bue,i);t&&(a.onupgradeneeded=function(t){var n=a.result;try{n.createObjectStore(e.storeName)}catch(r){if("ConstraintError"!==r.name)throw r;console.warn('The database "'+e.name+'" has been upgraded from version '+t.oldVersion+" to version "+t.newVersion+', but the storage "'+e.storeName+'" already exists.')}}),a.onerror=function(e){e.preventDefault(),r(a.error)},a.onsuccess=function(){n(a.result),function(e){var t=que[e.name].deferredOperations.pop();if(t)t.resolve(),t.promise}(e)}}))}function rce(e){return nce(e,!1)}function ice(e){return nce(e,!0)}function ace(e,t){if(!e.db)return!0;var n=!e.db.objectStoreNames.contains(e.storeName),r=e.version<e.db.version,i=e.version>e.db.version;if(r&&(e.version!==t&&console.warn('The database "'+e.name+"\" can't be downgraded from version "+e.db.version+" to version "+e.version+"."),e.version=e.db.version),i||n){if(n){var a=e.db.version+1;a>e.version&&(e.version=a)}return!0}return!1}function oce(e){tce(e);for(var t=que[e.name],n=t.forages,r=0;r<n.length;r++){var i=n[r];i._dbInfo.db&&(i._dbInfo.db.close(),i._dbInfo.db=null)}return e.db=null,rce(e).then((function(t){return e.db=t,ace(e)?ice(e):t})).then((function(r){e.db=t.db=r;for(var i=0;i<n.length;i++)n[i]._dbInfo.db=r})).catch((function(t){throw function(e,t){var n=que[e.name].deferredOperations.pop();if(n)n.reject(t),n.promise}(e,t),t}))}function sce(e,t,n,r){void 0===r&&(r=1);try{var i=e.db.transaction(e.storeName,t);n(null,i)}catch(a){if(r>0&&(!e.db||"InvalidStateError"===a.name||"NotFoundError"===a.name))return sp.resolve().then((function(){if(!e.db||"NotFoundError"===a.name&&!e.db.objectStoreNames.contains(e.storeName)&&e.version<=e.db.version)return e.db&&(e.version=e.db.version+1),ice(e)})).then((function(){return oce(e).then((function(){sce(e,t,n,r-1)}))})).catch(n);n(a)}}var lce=function(){function e(){ple(this,e)}return ble(e,[{key:"ready",value:function(){return this._ready}},{key:"_initStorage",value:function(e){var t,n=this;n._defaultConfig=e;var r={db:null};if(e)for(var i in e)r[i]=e[i];var a=que[r.name];a||(a={forages:[],db:null,dbReady:null,deferredOperations:[]},que[r.name]=a),a.forages.push(n),n._initReady||(n._initReady=n.ready,n.ready=n._fullyReady);var o=[];function s(){return sp.resolve()}for(var l=0;l<a.forages.length;l++){var u=a.forages[l];u!==n&&o.push(u._initReady().catch(s))}var c=Ag(t=a.forages).call(t,0);return n._ready=sp.all(o).then((function(){return r.db=a.db,rce(r)})).then((function(e){return r.db=e,ace(r,n._defaultConfig.version)?ice(r):e})).then((function(e){r.db=a.db=e,n._dbInfo=r;for(var t=0;t<c.length;t++){var i=c[t];i!==n&&(i._dbInfo.db=r.db,i._dbInfo.version=r.version)}})),n._ready}},{key:"probeSupport",get:function(){return function(){try{var e;if(!Bue||!Bue.open)return!1;var t="undefined"!=typeof openDatabase&&/(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent)&&!/BlackBerry/.test(navigator.platform),n="function"==typeof fetch&&-1!==ro(e=fetch.toString()).call(e,"[native code");return(!t||n)&&"undefined"!=typeof indexedDB&&"undefined"!=typeof IDBKeyRange}catch(r){return!1}}()}},{key:"getItem",value:function(e,t){var n=this;e=Que(e);var r=new sp((function(t,r){n.ready().then((function(){sce(n._dbInfo,$ue,(function(i,a){if(i)return r(i);try{var o=a.objectStore(n._dbInfo.storeName).get(e);o.onsuccess=function(){var e=o.result;void 0===e&&(e=null),t(e)},o.onerror=function(){r(o.error)}}catch(s){r(s)}}))})).catch(r)}));return Oue(r,t),r}},{key:"setItem",value:function(e,t,n){var r=this;e=Que(e);var i=new sp((function(n,i){r.ready().then((function(){return r._dbInfo,t})).then((function(t){sce(r._dbInfo,ece,(function(a,o){if(a)return i(a);try{var s=o.objectStore(r._dbInfo.storeName);null===t&&(t=void 0);var l=s.put(t,e);o.oncomplete=function(){void 0===t&&(t=null),n(t)},o.onabort=o.onerror=function(){var e=l.error?l.error:l.transaction.error;i(e)}}catch(u){i(u)}}))})).catch(i)}));return Oue(i,n),i}},{key:"removeItem",value:function(e,t){var n=this;e=Que(e);var r=new sp((function(t,r){n.ready().then((function(){sce(n._dbInfo,ece,(function(i,a){if(i)return r(i);try{var o=a.objectStore(n._dbInfo.storeName).delete(e);a.oncomplete=function(){t()},a.onerror=function(){r(o.error)},a.onabort=function(){var e=o.error?o.error:o.transaction.error;r(e)}}catch(s){r(s)}}))})).catch(r)}));return Oue(r,t),r}},{key:"clear",value:function(e){var t=this,n=new sp((function(e,n){t.ready().then((function(){sce(t._dbInfo,ece,(function(r,i){if(r)return n(r);try{var a=i.objectStore(t._dbInfo.storeName).clear();i.oncomplete=function(){e()},i.onabort=i.onerror=function(){var e=a.error?a.error:a.transaction.error;n(e)}}catch(o){n(o)}}))})).catch(n)}));return Oue(n,e),n}},{key:"length",value:function(e){var t=this,n=new sp((function(e,n){t.ready().then((function(){sce(t._dbInfo,$ue,(function(r,i){if(r)return n(r);try{var a=i.objectStore(t._dbInfo.storeName).count();a.onsuccess=function(){e(a.result)},a.onerror=function(){n(a.error)}}catch(o){n(o)}}))})).catch(n)}));return Oue(n,e),n}},{key:"all",value:function(e){var t=this,n=new sp((function(e,n){t.ready().then((function(){sce(t._dbInfo,$ue,(function(r,i){if(r)return n(r);try{var a=i.objectStore(t._dbInfo.storeName).openCursor(),o=[];a.onsuccess=function(){var t=a.result;t?(o.push({key:t.key,value:t.value}),t.continue()):e(o)},a.onerror=function(){n(a.error)}}catch(s){n(s)}}))})).catch(n)}));return Oue(n,e),n}},{key:"_fullyReady",value:function(e){var t=this,n=t._initReady().then((function(){var e=que[t._dbInfo.name];if(e&&e.dbReady)return e.dbReady}));return function(e,t,n){"function"==typeof t&&e.then(t),"function"==typeof n&&e.catch(n)}(n,e,e),n}}]),e}(),uce=function(){function e(){ple(this,e)}return ble(e,[{key:"_initStorage",value:function(e){var t=e.name+"_"+e.storeName;return this.key=t,window[t]&&"object"===mle(window[t])||(window[t]={}),this.store=window[t],sp.resolve()}},{key:"getItem",value:function(e,t){var n=this.store[e];return void 0===n&&(n=null),this._internalPromise(t,n)}},{key:"setItem",value:function(e,t,n){return this.store[e]=t,this._internalPromise(n)}},{key:"removeItem",value:function(e,t){return delete this.store[e],this._internalPromise(t)}},{key:"clear",value:function(e){return this.store={},window[this.key]={},this._internalPromise(e)}},{key:"length",value:function(e){var t=ca(this.store).length;return this._internalPromise(e,t)}},{key:"_internalPromise",value:function(e,t){var n=t?sp.resolve(t):sp.resolve();return Oue(n,e),n}},{key:"all",value:function(e){for(var t=[],n=ca(this.store),r=0;r<n.length;r++){var i=n[r];t.push({key:i,value:this.store[i]})}return this._internalPromise(e,t)}},{key:"probeSupport",value:function(){return!0}}]),e}(),cce={description:"",name:"__PRE_CACHE__",storeName:"keyvaluepairs",version:1},dce="__PRE_CACHE__KEYS",hce=function(){function e(t,n){ple(this,e);var r=n===dle?uce:lce;this._driver=new r,this._driver._initStorage(cce).catch((function(){})),this._hasIdbForbidden=!1,this._maxCache=!t||t<=0?200:t,this.setMaxCache(this._maxCache),this._allCachedKeys={},this._allCachedTimeKeys={},this.getCachedKeysFromLocal(),this._readyPromise=new Uz,this.init()}return ble(e,[{key:"getCachedKeysFromLocal",value:function(){var e=b5.getItem(dce);if(e)for(var t=e.split("|"),n=0;n<t.length;n++){var r=t[n],i=this._getCacheKeyInfos(r),a=i.time,o=i.cachedKey;this._allCachedKeys[o]=1,this._allCachedTimeKeys[o]=a}}},{key:"_getCacheKeyInfos",value:function(e){var t,n=e.split("$");return 2===n.length&&(t=n[0],e=n[1]),{time:t,cachedKey:e}}},{key:"writeCachedKeysToLocal",value:function(e){var t=[];this._allCachedKeys={},this._allCachedTimeKeys={};for(var n=0;n<e.length;n++){var r=e[n].key,i=this._getCacheKeyInfos(r),a=i.time,o=i.cachedKey;this._allCachedKeys[o]=1,this._allCachedTimeKeys[o]=a,t.push(r)}var s=t.join("|");b5.setItem(dce,s)}},{key:"init",value:function(){var e=this;this._driver.setItem("test","test").then((function(){})).catch((function(){e._hasIdbForbidden=!0})).finally((function(){e._driver.removeItem("test").catch((function(){})),e._hasIdbForbidden&&(e._driver=new uce,e._driver._initStorage(cce)),e._getAll(),e._readyPromise.resolve()}))}},{key:"_getAll",value:function(){var e=this;this._driver.all().then((function(t){e._cachedLength=t.length;var n=t.length-e._maxCache,r=t;if(n>0){var i=Ag(t).call(t,0,n);r=Ag(t).call(t,n);for(var a=0;a<i.length;a++)e.removeItem(i[a].key).then((function(){}))}e.writeCachedKeysToLocal(r)})).catch((function(){}))}},{key:"getItem",value:function(e,t){if(!this.hasItem(e))return sp.resolve(!1);var n=this._getTimeKey(e).timeKey;return this._driver.getItem(n,t)}},{key:"setItem",value:function(e,t,n){var r=this;this._getTimeKey(e).timeKey&&this.removeItem(e);var i=(new Date).getTime();this._allCachedKeys[e]=1,this._allCachedTimeKeys[e]=i;var a=this._genTimeKey(e,i);return n=n?function(){r._getAll(),n()}:function(){r._getAll()},this._driver.setItem(a,t,n)}},{key:"_getTimeKey",value:function(e){var t=this._allCachedTimeKeys[e],n=e;return t&&(n=this._genTimeKey(e,t)),{timeKey:n,time:t}}},{key:"_genTimeKey",value:function(e,t){var n,r;return Ci(n=Ci(r="".concat(t)).call(r,"$")).call(n,e)}},{key:"removeItem",value:function(e,t){var n=this._getTimeKey(e).timeKey,r=this._driver.removeItem(n,t);return delete this._allCachedKeys[e],delete this._allCachedTimeKeys[e],r}},{key:"hasItem",value:function(e){return!!this._allCachedKeys[e]}},{key:"clear",value:function(e){return this._driver.clear(e)}},{key:"length",value:function(e){return this._driver.length(e)}},{key:"setMaxCache",value:function(e){"number"==typeof e&&e>0&&(this._maxCache=e)}}]),e}(),fce=function(){function e(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;ple(this,e),nue(this),this._preloadDataList=[],this._currentPreloadInst=null,this._dashPreloadList=[],this.autoPreload=n.autoPreload||!1,this._onPreloadNext=Xo(t=this.onPreloadNextReady).call(t,this),this.on(ole,this._onPreloadNext),this._preloaderConfigs={},this.update(n,r,i),this._cacheInst=new hce(n.preloadMaxCacheCount,n.preloadCacheType),this._preloadCacheProgress={},this._ptag_=!0,this._cachedDatas={}}return ble(e,[{key:"_getProloaderKey",value:function(e){return e.vtype?e.vtype:"DEFAULT"}},{key:"update",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!n)throw new Error("PreloaderManager predictInst is null");var r=this._getProloaderKey(e);this._preloaderConfigs[r]={predictInst:n,readyPromise:n.init(e),handlers:t}}},{key:"cachedDatas",get:function(){return this._cachedDatas}},{key:"onCacheSegment",value:function(e){var t=e.vid,n=e.format,r=e.cacheKey,i=e.total,a=e.loaded,o=e.isInitSegment,s=e.mediaType,l=this.getProgressCacheKey(t,n,s),u=this._preloadCacheProgress[l];u||(u=this._preloadCacheProgress[l]={}),u[r]={total:i,loaded:a,isInitSegment:o}}},{key:"onCachePredict",value:function(e){var t=e.vid,n=e.data;t&&n&&(this._cachedDatas[t]=n)}},{key:"getProgressCacheKey",value:function(e,t,n){var r,i;return Ci(r=Ci(i="".concat(e,"-")).call(i,t,"-")).call(r,n)}},{key:"onPreloadNextReady",value:function(){this.onPreloadNext()}},{key:"onPreloadSegDone",value:function(){this.autoPreload&&this.emit(ole)}},{key:"onPreloadNext",value:function(){var e=this;if(null==this._currentPreloadInst&&this._preloadDataList.length>0){if(this._preloadDataList.length>0){var t=this._preloadDataList.shift().data;if(t.payload){var n,r=this._getProloaderKey(t),i=this._preloaderConfigs[r];if(!i)return void console.warn("need to set vtype, no preloader",t);this._currentPreloadInst=new zue(t,this,i,(function(t){e.onCacheSegment(t)}),(function(t){e.onCachePredict(t)})),this._currentPreloadInst.on(sle,Xo(n=this.onPreloadSegDone).call(n,this)),this._currentPreloadInst.start().then((function(){e._currentPreloadInst.preloadSeg()})).catch((function(){e._currentPreloadInst=null}))}}}else null!=this._currentPreloadInst&&(this._currentPreloadInst.state===ule?this._currentPreloadInst.preloadSeg():this._currentPreloadInst.state===cle?(this._currentPreloadInst.destroy(),this._currentPreloadInst=null):this._currentPreloadInst.state===lle&&(this._currentPreloadInst.cnt++,this._currentPreloadInst.cnt>2&&(this._currentPreloadInst.destroy(),this._currentPreloadInst=null)))}},{key:"addDashPreloader",value:function(e){e&&e.data&&(this._preloadDataList.push(e),P_(this).call(this,this._preloadDataList),this.autoPreload&&this.emit(ole))}},{key:"_addDashPreloader",value:function(e){e&&e.data&&this._preloadDataList.push(e)}},{key:"addDashPreloaderList",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];P_(this).call(this,e);for(var t=0;t<e.length;t++)this._addDashPreloader(e[t])}},{key:"sort",value:function(e){P_(e).call(e,(function(e,t){return void 0===e.order&&void 0===e.order||e.order<t.order?-1:1}))}},{key:"destroy",value:function(){this.off(ole,this._onPreloadNext)}},{key:"cancelLoading",value:function(){this._currentPreloadInst&&(this._currentPreloadInst.cancelLoading(),this._currentPreloadInst=null),this._preloadDataList=[]}},{key:"preloadCacheProgress",value:function(e){var t=e.vid,n=e.format,r=e.mediaType,i=e.prelaodType,a=e.bitrate,o=e.set_duration,s=e.set_size,l=e.media_type,u=e.start_time,c=this.getProgressCacheKey(t,n,r),d=this._preloadCacheProgress[c];if(d){for(var h=due(d),f=0,m=0,p=0,y=0,b=0,v=0;v<h.length;v++){var g=h[v];g.isInitSegment&&(f=g.total,p=g.loaded,y=g.loaded===g.total?hle:fle),m+=g.total,b+=g.loaded}return{media_type:l,preload_type:i,stream_bitrate:a,header_size:f,content_total_size:m,start_time:u||-1,state_info:{set_duration:o,set_size:s,current_header_download_size:p,current_content_download_size:b,header_download_state:y,content_download_state:b===m?hle:fle}}}return null}},{key:"getPreloadTaskInfos",value:function(){}},{key:"getItem",value:function(e,t){return this._cacheInst.getItem(e,t)}},{key:"setItem",value:function(e,t,n){return this._cacheInst.setItem(e,t,n)}},{key:"removeItem",value:function(e,t){return this.removeItem(e,t)}}],[{key:"getInstance",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=e.GLOBAL_KEY+(t.globalKey?t.globalKey:""),a=window[i];if(a&&a._ptag_)return a.update(t,n,r),a;var o=new e(t,n,r);return window[i]=o,o}}]),e}();fce.GLOBAL_KEY="__preloadcontext__";var mce=function(){function e(t){ple(this,e),nue(this),this.options=t,this.promisePolyfill(),this.before(),this.check(),this._preloadManager=fce.getInstance(t,this.handlers,this.predictInst),this.loadingTasks=[]}return ble(e,[{key:"promisePolyfill",value:function(){sp.prototype.finally||(sp.prototype.finally={finally:function(e){var t=function(t){return sp.resolve(e()).then(t)};return this.then((function(e){return t((function(){return e}))}),(function(e){return t((function(){return sp.reject(e)}))}))}}.finally)}},{key:"before",value:function(){throw new Error("need")}},{key:"check",value:function(){if(!this.handlers)throw new Error("handlers null");if(!this.handlers.start||!this.handlers.onRequest)throw new Error("handlers callback null");if(!this.predictInst)throw new Error("predictInst null");if(!this.predictInst.__p__)throw new Error("predictInst need extends predictbase")}},{key:"preloadNext",value:function(){this._preloadManager.emit(ole)}},{key:"preloadManager",get:function(){return this._preloadManager}},{key:"start",value:function(e){throw new Error("start need implment, return Promise")}},{key:"cancelLoading",value:function(){for(var e=0;e<this.loadingTasks.length;e++)try{var t=this.loadingTasks[e];"function"==typeof t.cancel&&t.cancel()}catch(n){}this.loadingTasks=[],this._preloadManager.cancelLoading()}},{key:"addTasker",value:function(e){this.loadingTasks.push(e)}},{key:"removeTasker",value:function(e){var t=this;On((function(){for(var n=t.loadingTasks.length-1;n>-1;n--)if(t.loadingTasks[n]===e){var r;Cp(r=t.loadingTasks).call(r,n,1);break}}))}},{key:"addDashPreloader",value:function(e){this._preloadManager.addDashPreloader(e)}},{key:"addDashPreloaderList",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this._preloadManager.addDashPreloaderList(e)}}]),e}(),pce={MP4:"MP4",DASH:"DASH",HLS:"HLS"},yce="h264",bce="h265",vce={DURATION:0,SIZE:1},gce=null,Zce=function(e){FZ(n,e);var t=JZ(n);function n(){return KZ(this,n),t.apply(this,arguments)}return HZ(n,[{key:"init",value:function(){return sp.resolve()}},{key:"preloadPredict",value:function(e){return e}}]),n}(function(){function e(){ple(this,e),this.bandwidth2item={},this._mediaInfos=null,this.__p__=!0}return ble(e,[{key:"init",value:function(){throw new Error("init func not implement, return promise")}},{key:"preloadPredict",value:function(e){throw new Error("preloadPredict error",e)}},{key:"updateMediaInfos",value:function(e){if(this._mediaInfos=e,this.bandwidth2item={},this.dynamic_video=e&&e.dynamic_video_list,this.dynamic_video&&this.dynamic_video.length>0)for(var t=0;t<this.dynamic_video.length;t++){var n=this.dynamic_video[t];this.bandwidth2item[n.bitrate||n.bandwidth]=n}}},{key:"getIdx",value:function(e,t){var n=0;return mu(e).call(e,(function(e,r){e.definition===t&&(n=r)})),n}},{key:"cachedData",get:function(){return null}}]),e}()),Lce=function(e){FZ(o,e);var t,n,r,i,a=JZ(o);function o(e,t){var n;return KZ(this,o),e.vtype=pce.MP4,(n=a.call(this,e)).player=t,n.loadingCount=0,n._mp4=null,n._loader=null,n._pendingPromise=null,n.playerId=t.playerId,n}return HZ(o,[{key:"log",value:function(e){for(var t,n="[Preloader] ".concat(e),r=arguments.length,i=new Array(r>1?r-1:0),a=1;a<r;a++)i[a-1]=arguments[a];tie.apply(void 0,Ci(t=[n]).call(t,i))}},{key:"before",value:function(){var e=this;this.handlers={start:function(t){var n,r,i,a,s,l=t.payload||[];if(0===l.length)return sp.reject();var u=t.vid,c=t.vtype||pce.MP4,d=t.codecType||yce,h=e.getUserSelectDefinition(),f=e.checkCacheKey(u,l,h,c,d);if(console.log(Ci(n=Ci(r=Ci(i="[Preloader] ".concat(u," codecType:")).call(i,d," vtype:")).call(r,c," hasCache:")).call(n,f)),f||"MP3"===c)return sp.reject();var m=e.getInitDefinition(l,e.options.definition,h);if(console.log("[Preloader] ".concat(u," getInitDefinition"),m),!m)return sp.reject();var p=m.definition,y=t.preloadTime||e.options.preloadTime,b=t.preloadSize||e.options.preloadSize||Math.pow(25,4)-1,v=o.generateUniqueKey({vid:u,definition:p,vtype:c,codecType:d});tie(Ci(a=Ci(s="[Preloader] ".concat(u," start duration:")).call(s,m.duration," cacheKey:")).call(a,v));var g=VZ({vid:u,definition:p,preloadTime:y,preloadSize:b,cacheKey:v,codecType:d,vtype:c},m);return e.loadingCount++,e.start(g)},onRequest:function(t,n){var r=t.url,i=t.range,a=t.extData;return e.getData(r,i,a,n)}},this.loggerConfig={logger:function(){},openLog:!1},this.predictInst=new Zce(this.loggerConfig)}},{key:"start",value:function(e){var t=this,n={mediaInfos:{dynamic_video_list:[],dynamic_audio_list:[]},onObtain:function(){var e=new vie;return e.resolve(n.mediaInfos),e},onTransform:function(n){var r=new vie;t._pendingPromise=r;var i=e.preloadTime,a=e.codecType;return i&&(a!==bce||t.options.supportHevc)?t.loadByPreloadTime(e,r):t.loadByChunkSize(e,r),r}};return sp.resolve(n)}},{key:"getInitDefinition",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=null;if(o.BitRateAdapter)r=o.BitRateAdapter.getSuitableBitrate(e,n),this.log("Mp4Preloader.BitRateAdapter",r);else{for(var i=0,a=0;a<e.length;a++){if(e[a].definition===t){i=a;break}}r=e[i]}return r||(r=e[0]),r}},{key:"getPreLoadData",value:function(e){var t=this,n=new vie;return this.getItemSameVid(e).then((function(e){if(t.log("getPreLoadData",e.value),e.value){var r=e.value,i=r.mediaSegList,a=r.meta,o=r.type,s=r.buffer,l=r.preloadTime,u=r.vid,c=r.cacheKey,d=r.definition,h=r.byteLength,f=r.duration,m=r.fileSize,p=r.from,y=r.vtype,b=r.codecType,v=r.initSeg,g={vid:u,type:o,vtype:y,codecType:b,definition:d,bitrate:r.bitrate,cacheKey:c,duration:f||0,byteLength:h,from:p,meta:a};o===vce.SIZE?(g.buffer=s,g.fileSize=m||0):(g.mediaSegList=i,g.preloadTime=l,g.initSeg=v),n.resolve(g)}else n.resolve(null)})).catch((function(e){n.reject(e)})),n}},{key:"setPreLoadData",value:(i=YZ(RZ().mark((function e(t,n){var r,i,a,o,s,l,u,c,d,h,f,m,p,y,b,v,g,Z,L=this;return RZ().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new vie,i=n.mediaSegList,a=n.meta,o=n.vid,s=n.definition,l=n.type,u=n.buffer,c=n.duration,d=n.byteLength,h=n.preloadTime,f=n.preloadSize,m=n.fileSize,p=n.from,y=n.vtype,b=n.codecType,v=n.initSeg,g=n.bitrate,Z={codecType:b,vtype:y,vid:o,definition:s,cacheKey:t,type:l,from:p,meta:a,fileSize:m,bitrate:g},l===vce.SIZE?(Z.buffer=u,Z.byteLength=d||0,Z.preloadSize=f||0,Z.fileSize=m,Z.buffer&&Z.buffer.byteLength>0&&(this.setItem(t,Z),r.resolve(!0))):(Z.mediaSegList=i||[],Z.duration=c,Z.byteLength=d||0,Z.preloadTime=h||0,Z.initSeg=v,a&&0===i.length?(this.setItem(t,Z),r.resolve(!0)):(Ei(i).call(i,(function(e){return!!e.buffer&&e.state}))||r.resolve(!1),this.setItem(t,Z).then((function(){L.log("setPreLoadData1 success",t,(new Date).getTime())})),r.resolve(!0))),e.abrupt("return",r);case 5:case"end":return e.stop()}}),e,this)}))),function(e,t){return i.apply(this,arguments)})},{key:"getInitCacheData",value:function(e,t){var n,r={type:e,meta:null,byteLength:0,fileSize:0,bitrate:0};return e===vce.DURATION?(r.mediaSegList=[],r.initSeg=null,r.duration=0):r.buffer=null,Ro(n=ca(t)).call(n,(function(e){r[e]=t[e]})),r}},{key:"updatePreCacheData",value:function(e,t,n,r,i,a,o){var s=e.mediaSegList;if(e.type===vce.SIZE||-1===i)return e.buffer=P8(Uint8Array,e.buffer.buffer||[],new Uint8Array(t)),e;for(var l=-1,u=0;u<s.length;u++)if(s[u].index===i){l=u;break}var c=a||[0,0];return l>-1?(t&&(s[l].buffer=P8(Uint8Array,s[l].buffer||[],new Uint8Array(t))),n.length>1&&(s[l].range.length>1?s[l].range[1]=n[1]:s[l].range=n),-1!==o[1]&&(r=s[l].range[1]>=o[1]),s[l].state=r):(e.duration=c[1],s.push({buffer:t,range:n||[],index:i,totalRange:o||[],timeRange:[c[0],c[1]],state:r})),r&&(e.byteLength=n[1]),r}},{key:"checkCacheKey",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:pce.MP4,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:yce;if(n){var a=o.generateUniqueKey({vid:e,definition:n,vtype:r,codecType:i});return this.hasItemSameVid(a)?a:null}for(var s=0;s<t.length;s++){var l=o.generateUniqueKey({vid:e,definition:t[s].definition,vtype:r,codecType:i});if(this.hasItemSameVid(l))return l}return null}},{key:"checkCanPreloadNext",value:function(){var e=!0;return this.loadingCount>=1&&(e=!1),e&&this.preloadNext(),e}},{key:"loadByPreloadTime",value:function(e,t){var n,r,i=this,a=e.vid,o=e.cacheKey,s=e.preloadTime,l=e.definition,u=e.duration,c=e.bitrate,d=e.codecType,h=e.vtype,f=null;if(f="Array"===Wne.typeOf(e.url)?e.url.length>1?e.url[1].src:e.url[0].src:e.url){f=Wne.extUrl(f,{__vid:a});var m=s>=this.options.segmentMinDuration?this.options.segmentMinDuration:s;this.log("loadByPreloadTime",Ci(n=Ci(r="".concat(e.cacheKey,", definition:")).call(r,e.definition,",segmentMinDuration:")).call(n,m),e);var p=Wne.getFileSize(c,u);this._mp4=new yie(f,c,VZ({segmentDuration:m,codecType:this.codecType,chunkSize:this.options.preloadSize,duration:u,fileSize:p,playerId:this.playerId,vid:a,useUrlRange:!1,retryCount:1,retryDelay:1e3,supportHevc:this.options.supportHevc},this.options.reqOptions),null,null,{},[],this.firstFrameTime,"");var y=this.getInitCacheData(vce.DURATION,{vid:a,preloadTime:s,definition:l,cacheKey:o,codecType:d,vtype:h,bitrate:c||0});this._mp4.once("metaReady",(function(n){i.log("".concat(a," metaReady this._pendingPromise"),i._pendingPromise.state),y.meta=n,y.from=2,i._mp4.cancelLoading(),i.startLoadByFragments(y,e,t)})),this._mp4.on("error",(function(e){console.error("[Preloader] ".concat(a," loadByPreloadTime error"),e),i._endLoadFragments()})),this._mp4.init({})}else this._endLoadFragments()}},{key:"loadByChunkSize",value:(r=YZ(RZ().mark((function e(t){var n,r,i,a,o,s,l,u,c,d,h,f,m,p,y,b,v,g=this;return RZ().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.vid,r=t.cacheKey,i=t.definition,a=t.duration,o=t.bitrate,s=t.codecType,l=t.vtype,u=this.options,c="Array"===Wne.typeOf(t.url)?t.url[0].src:t.url){e.next=6;break}return this._endLoadChunk(),e.abrupt("return");case 6:return c=Wne.extUrl(c,{__vid:n}),d=Wne.getFileSize(o,a),h=aie(a,8e5,d),this.log("".concat(n,"loadByChunkSize"),t.cacheKey,t.definition,h,t),f=this.getInitCacheData(vce.SIZE,{vid:n,definition:i,cacheKey:r,codecType:s,vtype:l,fileSize:d,bitrate:o||0}),this.MP4Loader=new Qre(VZ(VZ({url:c,retry:u.retry||2,retryDelay:u.retryDelay||1e3,timeout:3e3},u.reqOptions),{},{segmentDuration:u.segmentDuration})),e.prev=12,m=new Uint8Array(0),p=0,y=null,b=null,v=function(e,t,n){if(e&&n.range[0]===p&&(m=P8(Uint8Array,m,new Uint8Array(e)),p+=e.byteLength),n.meta){g.MP4Loader.cancel();var i=n.meta,a=i.videoSegments,o=i.audioSegments;b=VZ(VZ({},i.meta),{},{ext:{videoTrak:a,audioTrak:o}}),f.meta=b,f.buffer=m,f.byteLength=m.byteLength,g.setPreLoadData(r,f),y=Wne.getFragRange(0,a,o),g.log("".concat(r," onProgressHandle4 meta"),t,y,p,m.byteLength),y[0]<p&&(y[0]=p),g._loadOneChunk(f,y)}},e.next=20,this.MP4Loader.loadMetaProcess(this.MP4Loader.cache,[0,h],v);case 20:e.next=26;break;case 22:e.prev=22,e.t0=e.catch(12),console.error("[Preloader] ".concat(r," loadByChunkSize error"),e.t0),this._endLoadChunk();case 26:case"end":return e.stop()}}),e,this,[[12,22]])}))),function(e){return r.apply(this,arguments)})},{key:"_loadOneChunk",value:(n=YZ(RZ().mark((function e(t,n){var r,i,a,o,s,l,u,c;return RZ().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.vid,i=t.cacheKey,a=t.buffer,e.prev=1,e.next=4,this.MP4Loader.loadData(n,this.MP4Loader.cache,{});case 4:o=e.sent,this.log("".concat(r," _loadOneChunk"),n,o),s=o.response,(l=o.data)?(this._endLoadChunk(),s&&s.headers&&(u=Wne.getFileSize(s.headers))&&(t.fileSize=u),c=P8(Uint8Array,a,new Uint8Array(l)),t.buffer=c,t.byteLength=c.byteLength,this.log("".concat(r," _loadOneChunk ret"),i,c.byteLength,t),t.from=4,this.setPreLoadData(i,t)):this._endLoadChunk(),e.next=14;break;case 10:e.prev=10,e.t0=e.catch(1),console.error("[Preloader] ".concat(r," loadByChunkSize error"),e.t0),this._endLoadChunk();case 14:case"end":return e.stop()}}),e,this,[[1,10]])}))),function(e,t){return n.apply(this,arguments)})},{key:"_endLoadChunk",value:function(){this.log("_endLoadChunk loadingCount:".concat(this.loadingCount),this._pendingPromise?this._pendingPromise.state:null),this._pendingPromise&&(this._pendingPromise.resolve(),this._pendingPromise=null),this.loadingCount>0&&this.loadingCount--,this.MP4Loader&&(this.MP4Loader.cancel(),this.MP4Loader.destroy(),this.MP4Loader=null)}},{key:"startLoadByFragments",value:(t=YZ(RZ().mark((function e(t,n,r){var i,a,o,s,l,u,c=this;return RZ().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(i=n.preloadTime,a=n.vid,console.log("[Preloader] ".concat(a," startLoadByFragments")),o=[],s=0;s<this._mp4.timeRange.length;s++)this._mp4.timeRange[s].startTime<=i&&o.push(s);return l=function(e){c.log("[Preloader] _failedCallback",e),c._endLoadFragments()},u=function(){var e=YZ(RZ().mark((function e(n){var r,i,a,s,d,h,f,m,p;return RZ().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c._mp4){e.next=2;break}return e.abrupt("return");case 2:if(r=n.buffer,i=n.context,a=n.state,s=n.initSeg,d=i.fragIndex,h=i.range,f=i.timeRange,m=c._mp4.getFragRange(d),!t.initSeg&&s&&(t.initSeg=s),p=c.updatePreCacheData(t,r,h,a,d,f,m),console.log("[Preloader] ".concat(t.cacheKey," _successCallback"),d,a,p,h,f,m,n),t.from=3,!p){e.next=20;break}return e.next=12,c.setPreLoadData(t.cacheKey,t);case 12:if(!(d>=o.length-1)){e.next=17;break}c.log("".concat(t.cacheKey," mp4.load end"),d),c._endLoadFragments(),e.next=20;break;case 17:return c.log("".concat(t.cacheKey," mp4.load start"),d+1),e.next=20,c._mp4.loadAllFragmentData(d+1,u,l);case 20:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),e.next=8,this._mp4.loadAllFragmentData(0,u,l);case 8:case"end":return e.stop()}}),e,this)}))),function(e,n,r){return t.apply(this,arguments)})},{key:"_endLoadFragments",value:function(){this.log("_endLoadFragments loadingCount:".concat(this.loadingCount),this._pendingPromise?this._pendingPromise.state:null),this._pendingPromise&&(this._pendingPromise.resolve(),this._pendingPromise=null),this.loadingCount>0&&this.loadingCount--,this._mp4&&(this._mp4.destroy(),this._mp4=null)}},{key:"getFragment",value:function(e,t,n,r,i){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},o=new vie;return this.getData(e,t,a,!1).then((function(e){r.createFragment(new Uint8Array(e.res),t[0]-r.mdatStart,n,{range:t,context:e.context}).then((function(e){o.resolve(e)}))})),o}},{key:"getPreloadUrl",value:function(e){var t=e.url,n=e.range,r=e.definition,i=e.vid;return[{url:t,range:n,extData:{cacheKey:o.generateUniqueKey({vid:i,start:n[0],end:n[1],definition:r}),vid:i,format:"mp4"}}]}},{key:"getRangeList",value:function(e){var t=this.allCachedKeys,n={timeRange:[],contentRange:[]};for(var r in t)if(t.hasOwnProperty(r)&&ro(r).call(r,e)>-1){var i,a,o=r.split("#");if(0===ro(i=o[2]).call(i,"pretime"))n.timeRange.push([0,DH(Ag(a=o[2]).call(a,7))]);else n.contentRange.push([ty(o[2]),ty(o[3])])}return n}},{key:"hasItemSameVid",value:function(e){if(!e)return!1;var t=this.allCachedKeys;for(var n in t)if(t.hasOwnProperty(n)){if(n===e)return n;var r=n.split("#"),i=e.split("#");if(r.length>=4&&i.length>=4&&r[0]===i[0]){var a,o;if(0===ro(a=r[2]).call(a,"pretime")&&0===ro(o=i[2]).call(o,"pretime"))return n;var s=[ty(r[2]),ty(r[3])],l=[ty(i[2]),ty(i[3])];if(l[0]>=s[0]&&l[1]>l[0]&&l[1]<=s[1])return n}}return!1}},{key:"removeOthers",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=this.allCachedKeys;for(var r in n)n.hasOwnProperty(r)&&r.split("#").length>=1&&function(){var n=r.split("#")[0];Ei(t).call(t,(function(e){return e.split("#").length>=1&&e.split("#")[0]!==n}))&&(e.log("remove cache:".concat(r)),e.cacheInst.removeItem(r))}()}},{key:"getItemSameVid",value:function(e,t){var n,r=this.hasItemSameVid(e);return this.log(Ci(n="getItemSameVid: key:".concat(e," checkResult:")).call(n,r)),r?this.cacheInst.getItem(r,t).then((function(e){return{value:e,key:r}})):sp.resolve({})}},{key:"setItem",value:function(e,t){return this.cacheInst.setItem(e,t)}},{key:"allCachedKeys",get:function(){return this.cacheInst._allCachedKeys}},{key:"cacheInst",get:function(){return this._preloadManager._cacheInst}},{key:"cancelPreloadByVid",value:function(e){if(e){for(var t=this._preloadManager._preloadDataList,n=[],r=0;r<t.length;r++){t[r].data.vid!==e?n.push(t[r]):(console.log("[Preloader] cancelPreloadByVid",e),this.log("cancelPreloadByVid",e))}this._preloadManager._preloadDataList=n}}},{key:"cancelLoading",value:function(e){var t;this._endLoadFragments(),this._endLoadChunk();var n=this._preloadManager;if(n._currentPreloadInst){var r=n._currentPreloadInst._toLoadList,i=[];Ro(r).call(r,(function(t){return t.playerId!==e&&i.push(t),t})),n._currentPreloadInst._toLoadList=i}var a=[],o=[];Ro(t=n._preloadDataList).call(t,(function(t){return t.playerId!==e?a.push(t):o.push(t.data.vid),t})),this.log("cancelLoading",e,o.join(",")),n._preloadDataList=a}},{key:"checkIfExistInList",value:function(e){for(var t=this._preloadManager._preloadDataList,n=0;n<t.length;n++)if(e===t[n].data.vid)return!0;return!1}},{key:"addPreloader",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";if(e.data){e.data.vtype||(e.data.vtype=pce.MP4);var r=e.data.vid,i=this.checkIfExistInList(r);console.log("[Preloader] addPreloader checkIfExistInList",r,i),n&&r===n||i||(e.playerId=t,this.addDashPreloader(e))}}},{key:"addPreloaderList",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=[],r=0;r<e.length;r++){var i=e[r].data,a=i.vid,o=i.vtype,s=this.checkIfExistInList(a);console.log("[Preloader] addPreloaderList checkIfExistInList",a,a===t,s),t&&a===t||s||(o||(e[r].data.vtype=pce.MP4),n.push(e[r]))}console.log("[Preloader] addPreloaderList length is ".concat(n.length)),this.addDashPreloaderList(n)}},{key:"setUserSelectDefinition",value:function(e){this._preloadManager&&(this._preloadManager.userDefinition=e)}},{key:"getUserSelectDefinition",value:function(){return this._preloadManager.userDefinition||null}},{key:"destroy",value:function(){this._endLoadFragments(),this._endLoadChunk(),this.cancelLoading(this.playerId)}}],[{key:"PRELOAD_TYPES",get:function(){return vce}},{key:"BitRateAdapter",get:function(){return gce},set:function(e){gce=e}},{key:"generateUniqueKey",value:function(e){var t,n,r,i,a=e.vid,o=e.mediaType,s=e.definition,l=e.codecType,u=e.vtype;return o=o||"video",s=s||"-1",l=l||yce,u=u||pce.MP4,a?Ci(t=Ci(n=Ci(r=Ci(i="".concat(a,"#")).call(i,o,"#")).call(r,l,"#")).call(n,u,"#")).call(t,s):null}}]),o}(mce),Sce={MEDIA_EXPIRED:"MEDIA_EXPIRED",INIT_FAIL:"INIT_FAIL",PARSE_ERROR:"PARSE_ERROR",PLAYER_LOG:"PLAYER_LOG",BUFFERED_RESET:"BUFFERED_RESET"},Xce=r1.left,xce=zL,wce=QW;Ew({target:"Array",proto:!0,forced:!Gk("reduce")||!wce&&xce>79&&xce<83},{reduce:function(e){var t=arguments.length;return Xce(this,e,t,t>1?arguments[1]:void 0)}});var Tce=function(){function e(t,n){var r,i;KZ(this,e),this.player=t,this.mediaElem=t.video,this.config=n,this.timer=new m5,this.prevReadyState=this.mediaElem.readyState,this.didFireLargeGap=!1,this.seekingEventReceived=!1,this.onWaitFunc=Xo(r=this._onWaiting).call(r,this),this.onPlayFunc=Xo(i=this._onPlay).call(i,this),this.isSafari=/(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent)&&!/BlackBerry/.test(navigator.platform),!1!==this.config.useGapJump&&this._start(),this.hasPlayed=!1}return HZ(e,[{key:"_onWaiting",value:function(){this.onGapJump()}},{key:"_onPlay",value:function(){this.hasPlayed=!0}},{key:"_start",value:function(){this.mediaElem.addEventListener("waiting",this.onWaitFunc),this.mediaElem.addEventListener("play",this.onPlayFunc)}},{key:"onSegmentAppend",value:function(e){if(this.config.enableCheckBufferDiff&&this.mediaElem){var t,n=i7(e).call(e,(function(e,t){return e+t.downloaded?t[1]-t[0]:0}),0);i7(t=this._getBuffered(this.mediaElem.buffered)).call(t,(function(e,t){return e+(t.end-t.start)}),0)/n<.8&&(tie("onSegmentAppend detectGap"),this.player&&this.player.emit("detectGap"))}this.onGapJump()}},{key:"onSeeking",value:function(){this.seekingEventReceived=!0,this.didFireLargeGap=!1}},{key:"onGapJump",value:function(){if(this.mediaElem.readyState!==HTMLMediaElement.HAVE_NOTHING){if(this.mediaElem.seeking){if(!this.seekingEventReceived)return}else this.seekingEventReceived=!1;if(!this.mediaElem.paused||0===this.mediaElem.currentTime||!this.hasPlayed){this.mediaElem.readyState!==this.prevReadyState&&(this.didFireLargeGap=!1,this.prevReadyState=this.mediaElem.readyState);var t=this.mediaElem.buffered,n=this.config.smallGapLimit||.5,r=this.config.gapDetectionThreshold||.1,i=this.mediaElem.currentTime,a=this._getIndex(t,i,r);if(null!==a&&(0!==a||t&&t.length)){var o=t.start(a)+.1;if(!(o>this.mediaElem.duration)){var s=o-i,l=s<=n;s<e.BROWSER_GAP_TOLERANCE||l&&(!0!==this.config.disableGapSetPosition&&(tie("onGapJump this.mediaElem.currentTime"),this.mediaElem.currentTime=this.isSafari?o+.1:o),this.player&&this.player.emit("detectGap"),tie("gapJump gapIndex",a,"isGapSamll",l,"jumpLargeGap",!1,"currentTime",this.mediaElem.currentTime),.08!==o&&this.player&&this.player.emit("log",{type:"oneevent",end_type:"gap",vid:this.player.config.vid,ext:{video_postion:Math.floor(1e3*o)}}))}}}}}},{key:"_getIndex",value:function(e,t,n){if(!e||!e.length)return null;if(1===e.length&&e.end(0)-e.start(0)<1e-6)return null;for(var r=this._getBuffered(e),i=null,a=0;a<r.length;a++){if(r[a].start>t&&(0===a||r[a-1].end-t<=n)){i=a;break}}return i}},{key:"_getBuffered",value:function(e){if(!e)return[];for(var t=[],n=0;n<e.length;n++)t.push({start:e.start(n),end:e.end(n)});return t}},{key:"destroy",value:function(){this.mediaElem.removeEventListener("waiting",this.onWaitFunc),this.mediaElem.removeEventListener("play",this.onPlayFunc),this.timer.clear(),this.timer=null}}]),e}();Tce.BROWSER_GAP_TOLERANCE=.001;var kce="danger_d_speed";var Ice=function(){function e(t,n,r,i){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{logger:function(){},openLog:!1};Fz(this,e),this.bitrate=n,this.segment_duration=i||5e3,this.logger=a.logger,this.openLog=a.openLog,this.cdnHost=t.cdnHost,this._loadedPromise=new Uz,this._wasmPromise=new Uz,this.config=t,this.autoBitrateOpts=t.autoBitrateOpts||{},this.stall_penalty=this.autoBitrateOpts.stall_penalty||11,this.switch_penalty=this.autoBitrateOpts.switch_penalty||4,this.interval=this.autoBitrateOpts.interval||1e3;var o=t.progressTimer||1e3,s=this.autoBitrateOpts.startInterval||o;this.initInterval=.8*s,this._prealodMethod=t.preloadmethod||0,this._videoWidth=0,this._videoHeight=0,this._hasDeviceInfoChanged=!0,this.updateMediaInfos(r,!1)}return Nz(e,[{key:"onLoadWasm",value:function(){var e=this,t=this.module={onRuntimeInitialized:function(){e._wasmPromise.resolve()}};return(0,this.autoBitrateOpts.module)(t),this._wasmPromise}},{key:"updateMediaInfos",value:function(e){var t,n=this,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this._heightToDefitionConfig=new l4,this._bitrateToDefitionConfig=new l4,e?(this.mediaInfos=e,mu(t=this.mediaInfos.dynamic_video_list).call(t,(function(e){n._heightToDefitionConfig.set(e.vheight,e),n._bitrateToDefitionConfig.set(e.bitrate,e)}))):r&&console.error("baseAbr mediaInfos null")}},{key:"parseMPD",value:function(){if(this.setDebugModel(this.openLog),this.mediaInfos){this.logger("mediaInfos",this.mediaInfos);try{for(var e=[],t=this.mediaInfos.dynamic_video_list,n=0;n<t.length;n++){var r=t[n];e.push({stream_id:"s".concat(n),bandwidth:r.bitrate||r.bandwidth,width:r.vwidth||r.width,height:r.vheight||r.height,codec:r.codecs||r.codec_type||"h264",frame_rate:Number(r.fps)||-1,segment_duration:this.segment_duration})}var i=Aa({v_adaptation:e});this.module.ccall("parseMPD","null",["string"],[i])}catch(Ude){}}else console.warn("mediaInfos is null")}},{key:"_getDefautSpeed",value:function(e){var t=0,n=window.navigator.connection;if(n&&n.downlink)t=1024*navigator.connection.downlink/8,this.logger("initSpeed connect",t);else try{t=DH(b5.getItem(kce))||0,this.logger("initSpeed connect",t)}catch(Ude){}return 0===t&&(t=e&&e.historyAvspeed||0,this.logger("initSpeed history",t)),t}},{key:"setDebugModel",value:function(e){this.module._setDebugModel(e)}},{key:"updateBitrate",value:function(e){this.bitrate=e}},{key:"_updatePreloadSupplier",value:function(e,t){this.module._updatePreloadSupplier(e,t)}},{key:"updatePreloadSupplier",value:function(e){var t=this._getDefautSpeed();this._updatePreloadSupplier(t,e)}},{key:"getPreloadBitrate",value:function(){var e,t=null,n=[];try{this.logger("preloadMethod",this._prealodMethod),e=this.module._getPreloadBitrate(this._prealodMethod);for(var r=0;r<5;r++)n.push(this.module.HEAP32[e/Int32Array.BYTES_PER_ELEMENT+r]);var i={bitrate:n[0],pduration:n[1],preloadType:n[2],size:n[3],mediaType:n[4]};return this.logger("getPreloadBitrate",i),i}catch(Ude){t=null,console.log("getPreloadBitrate",Ude)}finally{this.module._free(e)}return t}},{key:"_updateDeviceInfo",value:function(e){try{if(this._hasDeviceInfoChanged){var t=window.devicePixelRatio||1;this.module._updateDeviceInfo(this._videoWidth||Number(this.config.width),this._videoHeight||Number(this.config.height),t,e||-1)}this._hasDeviceInfoChanged=!1}catch(Ude){console.log("_updateDeviceInfo")}}},{key:"preload",value:function(e){this.parseMPD(),this.updatePreloadSupplier(e),this._updateDeviceInfo(-1);var t=window.devicePixelRatio||1;return this.logger("baseAbr updateDeviceInfo width",this._videoWidth||Number(this.config.width),"height",this._videoHeight||Number(this.config.height),"dpr",t),this.getPreloadBitrate()}}]),e}();Ice.SPPED_CACHE=kce;var Gce=ri("Array").values,Wce=br,Vce=Qe,Rce=oe,Cce=Gce,Mce=Array.prototype,Yce={DOMTokenList:!0,NodeList:!0},Kce=t((function(e){var t=e.values;return e===Mce||Rce(Mce,e)&&t===Mce.values||Vce(Yce,Wce(e))?Cce:t})),Pce=Ew,Hce=jw,_ce=XI,Fce=uV,Ece=xX,Nce=KL,Uce=LG,Jce=OZ,Dce=_L("Reflect","construct"),jce=Object.prototype,Ace=[].push,zce=Jce((function(){function e(){}return!(Dce((function(){}),[],e)instanceof e)})),Bce=!Jce((function(){Dce((function(){}))})),Oce=zce||Bce;function Qce(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function qce(e){return function(e){if(hZ(e))return Qce(e)}(e)||function(e){if(void 0!==og&&null!=fZ(e)||null!=e["@@iterator"])return GZ(e)}(e)||function(e,t){var n;if(e){if("string"==typeof e)return Qce(e,t);var r=Ag(n=Object.prototype.toString.call(e)).call(n,8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?GZ(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Qce(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $ce(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ede(e,t){var n;return(ede=gg?Xo(n=gg).call(n):function(e,t){return e.__proto__=t,e})(e,t)}function tde(e){return(tde="function"==typeof og&&"symbol"==typeof zg?function(e){return typeof e}:function(e){return e&&"function"==typeof og&&e.constructor===og&&e!==og.prototype?"symbol":typeof e})(e)}function nde(e){var t;return(nde=gg?Xo(t=yg).call(t):function(e){return e.__proto__||yg(e)})(e)}Pce({target:"Reflect",stat:!0,forced:Oce,sham:Oce},{construct:function(e,t){Fce(e),Ece(t);var n=arguments.length<3?e:Fce(arguments[2]);if(Bce&&!zce)return Dce(e,t,n);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var r=[null];return Hce(Ace,r,t),new(Hce(_ce,e,r))}var i=n.prototype,a=Uce(Nce(i)?i:jce),o=Hce(e,a,t);return Nce(o)?o:a}});var rde=Ew,ide=fL,ade=Ux,ode=zY,sde=F7,lde=OZ,ude=RangeError,cde=String,dde=Math.floor,hde=ide(sde),fde=ide("".slice),mde=ide(1..toFixed),pde=function(e,t,n){return 0===t?n:t%2==1?pde(e,t-1,n*e):pde(e*e,t/2,n)},yde=function(e,t,n){for(var r=-1,i=n;++r<6;)i+=t*e[r],e[r]=i%1e7,i=dde(i/1e7)},bde=function(e,t){for(var n=6,r=0;--n>=0;)r+=e[n],e[n]=dde(r/t),r=r%t*1e7},vde=function(e){for(var t=6,n="";--t>=0;)if(""!==n||0===t||0!==e[t]){var r=cde(e[t]);n=""===n?r:n+hde("0",7-r.length)+r}return n};function gde(e){var t=function(){if("undefined"==typeof Reflect||!dZ)return!1;if(dZ.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(dZ(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=nde(e);if(t){var i=nde(this).constructor;n=dZ(r,arguments,i)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===tde(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return $ce(e)}(this,n)}}rde({target:"Number",proto:!0,forced:lde((function(){return"0.000"!==mde(8e-5,3)||"1"!==mde(.9,0)||"1.25"!==mde(1.255,2)||"1000000000000000128"!==mde(0xde0b6b3a7640080,0)}))||!lde((function(){mde({})}))},{toFixed:function(e){var t,n,r,i,a=ode(this),o=ade(e),s=[0,0,0,0,0,0],l="",u="0";if(o<0||o>20)throw ude("Incorrect fraction digits");if(a!=a)return"NaN";if(a<=-1e21||a>=1e21)return cde(a);if(a<0&&(l="-",a=-a),a>1e-21)if(n=(t=function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t}(a*pde(2,69,1))-69)<0?a*pde(2,-t,1):a/pde(2,t,1),n*=4503599627370496,(t=52-t)>0){for(yde(s,0,n),r=o;r>=7;)yde(s,1e7,0),r-=7;for(yde(s,pde(10,r,1),0),r=t-1;r>=23;)bde(s,1<<23),r-=23;bde(s,1<<r),yde(s,1,1),bde(s,2),u=vde(s)}else yde(s,0,n),yde(s,1<<-t,0),u=vde(s)+hde("0",o);return u=o>0?l+((i=u.length)<=o?"0."+hde("0",o-i)+u:fde(u,0,i-o)+"."+fde(u,i-o)):l+u}});var Zde="ABR_CHANGE_A",Lde="UPDATE_AUTO_DESC",Sde="MAX_BUFFER_CHANGE",Xde=0,xde=1,wde=-1,Tde=0,kde=1,Ide={PLAYBACK_BITRATE:"avg_play_bitrate",DOWNLOAD_BITRATE:"avg_download_bitrate",DOWNLOAD_NETWORK_SPEED:"avg_download_speed",PREDICT_NETWORK_SPEED:"avg_predict_speed",BUFFER_LENGTH:"avg_buffer_length",QOE:"avg_qoe"},Gde=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=cg(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),ag(e,"prototype",{writable:!1}),t&&ede(e,t)}(n,e);var t=gde(n);function n(e,r,i,a,o){var s,l,u,c,d,h,f,m,p,y,b,v,g,Z,L=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{logger:function(){},openLog:!1};Fz(this,n),(Z=t.call(this,r,i,a,o,L)).player=e,Z.timerId=0,Z.isOpenAutoDefi=!!Z.autoBitrateOpts.isOpenAutoDefi,Z.onPlayrateChange=Xo(s=Z._onPlayrateChange).call(s,$ce(Z)),Z.onPlay=Xo(l=Z._onPlay).call(l,$ce(Z)),Z._stop=Xo(u=Z.stop).call(u,$ce(Z)),Z._bufferRange=new l4,Z._sortedBufferRange=[],Z._lastCheckResolutionStamp=0,Z._currentDefinition=null,Z._isSeeking=!1,Z._waitingStartTime=0,Z._stallCount=0,Z._seekState=Xde,Z._stallState=Tde,Z._videoCurrentTime=0,Z.listeners=[{evt:"playbackrateChange",handler:Z.onPlayrateChange},{evt:"ended",handler:Z._stop},{evt:"error",handler:Z._stop},{evt:"timeupdate",handler:Xo(c=Z._onTimeUpdate).call(c,$ce(Z))},{evt:"addVideoBufferEnd",handler:Xo(d=Z._bufferRangeUpdate).call(d,$ce(Z))},{evt:"canplay",handler:Xo(h=Z._updateAutoDesc).call(h,$ce(Z))},{evt:"play",handler:Xo(f=Z._onplayStart).call(f,$ce(Z))},{evt:Sde,handler:Xo(m=Z._onMaxBufferChange).call(m,$ce(Z))},{evt:"seeking",handler:Xo(p=Z._onSeeking).call(p,$ce(Z))},{evt:"seeked",handler:Xo(y=Z._onSeekEnd).call(y,$ce(Z))},{evt:"waiting",handler:Xo(b=Z._onWaiting).call(b,$ce(Z))},{evt:"playing",handler:Xo(v=Z._onPlaying).call(v,$ce(Z))}],Z._hasStart=!1,mu(g=Z.listeners).call(g,(function(e){var t=e.evt,n=e.handler;Z.player.on(t,n)})),Z._isPaused=!1,Z._hasAddFrament=!1,Z._eventInfo={local_time_ms:0,internet_speed:0,buffer_length:0,last_bitrate:0,now_bitrate:0,play_speed:1},Z._bitrateSet=[],Z._generalInfo={},Z._currentInAbr=!1,Z._hasCalcTimelineLog=!1,Z._abr_play_info={start_play_time_ms:0,is_hint:0,playback_info:{internet_speed_record:[],play_bitrate_record:[],buffer_length_record:[],play_speed_record:[],qoe_record:[],qoe_a_record:[],qoe_b_record:[],qoe_c_record:[]}},Z._abrMethod=Z.autoBitrateOpts.method||0,Z.logger("abr: constructor"),Z._loopInterval=Z.initInterval,Z._tickCount=0,Z._fps=30,Oz.install(),Z.startTime=performance.now(),Z.logger("time abr",(new Date).getTime()),Z._maxCacheTimeVideo=Z.config.maxBufferLength||Z.config.preloadTime||50,Z._maxCacheTimeAudio=Z._maxCacheTimeVideo,Z._prevDefinitionItem=null,Z._currentItem=null,Z._switchCount=0,Z._switchBitrate=0,Z._avgStatItems={};for(var S=ca(Ide),X=0;X<S.length;X++){var x=S[X],w=Ide[x];Z._avgStatItems[w]=new Wde}return Z._qoeArgs=[0,0,0,0],Z._abrUsed=-1,Z._abrAlwaysOn=1,Z._prelaodInfo=null,Z._hasLogStartInfo=!1,Z._hasExecuteAbrAlgo=!1,Z._lastExecuteTimeInMs=0,Z}return Nz(n,[{key:"init",value:function(e){return this._mediaList=e,this.isOpenAutoDefi?this.onLoadWasm():this._wasmPromise.resolve(),this._wasmPromise}},{key:"execute",value:function(){return this.listenSize(),this.initFps(),this.onWinElemSizeChange(),this.onPlay()}},{key:"_onSeeking",value:function(){this._isSeeking=!0,this.player.currentTime<this._videoCurrentTime?this._seekState=wde:this._seekState=xde,this.logger("seekState",this._seekState)}},{key:"_onSeekEnd",value:function(){this._isSeeking=!1}},{key:"_onWaiting",value:function(){var e=this;this._isSeeking||this._waitingStartTime>0||(this._waitingStartTime=(new Date).getTime(),this._stallId=On((function(){clearTimeout(e._stallId),e._stallCount++,e._stallState=kde}),200))}},{key:"_onPlaying",value:function(){this._waitingStartTime=0,this._stallState=Tde,clearTimeout(this._stallId)}},{key:"initFps",value:function(){this.fpsDetection=new Oz,this.fpsDetection.start(),this._fps=this.fpsDetection.fps,this._hasDeviceInfoChanged=!0}},{key:"listenSize",value:function(){var e,t,n,r,i;this.mediaElem=this.player.video,this._onWinSizeChange=(t=Xo(e=this.onWinElemSizeChange).call(e,this),n=1e3,r=!1,function(){var e=this,a=arguments,o=r&&!i;clearTimeout(i),i=On((function(){i=null,r||t.apply(e,a)}),n),o&&t.apply(e,a)}),window.addEventListener("resize",this._onWinSizeChange)}},{key:"onWinElemSizeChange",value:function(){if(this.mediaElem){var e=this.mediaElem.getBoundingClientRect();this._videoWidth=Math.floor(e.width),this._videoHeight=Math.floor(e.height),this._hasDeviceInfoChanged=!0}}},{key:"_onMaxBufferChange",value:function(e){var t=e.videoCacheTime,n=e.audioCacheTime;this._maxCacheTimeAudio=n,this._maxCacheTimeVideo=t}},{key:"_onTimeUpdate",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this._sortedBufferRange&&0!==this._sortedBufferRange.length&&this._currentInAbr){this._videoCurrentTime=this.player.currentTime;var n=N_();if(!(n-this._lastCheckResolutionStamp<1e3&&0!==this._lastCheckResolutionStamp)||t){this._lastCheckResolutionStamp=n;for(var r=this.player.currentTime,i=0,a=this._sortedBufferRange.length-1,o=null;i<=a;){var s=Math.floor(i+(a-i)/2),l=this._sortedBufferRange[s];if(r<l.start)a=s-1;else{if(!(r>=l.end)){o=l;break}i=s+1}}if(o){var u=this._bitrateToDefitionConfig.get(o.bandwidth),c=u&&u.definition;if(this._currentDefinition===c&&!t||!c)return void(c||this.logger("error defintion, mpd配置与接口配置不一致"));this._currentDefinition=c,this._prevDefinitionItem=this._currentItem,this._currentFps=u.fps,this._currentItem=u,this._emitAutoDescChange(c,!1,this._currentFps,u)}}}}},{key:"_emitAutoDescChange",value:function(e,t,n,r){console.log("[ABR],emitAutoDescChange, definition, ",e,",item,",r,",pre_item,",this._prevDefinitionItem),this.player.emit(Lde,{definition:e,reset:t,fps:n,item:r,pre_item:this._prevDefinitionItem})}},{key:"_onplayStart",value:function(){this._hasStart=!0,this.logger("onplaystart")}},{key:"_updateAutoDesc",value:function(){var e=this;this._currentInAbr&&this._currentDefinition&&(this._updateId=On((function(){clearTimeout(e._updateId),e._emitAutoDescChange(e._currentDefinition,!1,e._currentFps,e._currentItem)}),0))}},{key:"_bufferRangeUpdate",value:function(e){var t;if(void 0!==e.start){null===this._currentItem&&this._onTimeUpdate(null,!0);var n=e.start;this._hasAddFrament=!0,this._bufferRange.set(n,e);var r=qce(Kce(t=this._bufferRange).call(t));this._sortedBufferRange=P_(r).call(r,(function(e,t){return e.start-t.start})),this.avgStat(Ide.DOWNLOAD_BITRATE,e.bandwidth)}}},{key:"_onPlayrateChange",value:function(){this.module&&this.updateBufferInfo()}},{key:"_onPlay",value:function(){var e=this;if(!this.isOpenAutoDefi)return this.logger("onPlay"),0;var t=0;try{this.logger("abr: loadeddata"),this.updateSwitchInfo(),this.parseMPD(),this.updateDeviceInfo();var r=n.getIsPlayAutoDefi(this.autoBitrateOpts);if(this.isOpenAutoDefi&&r){this._abrUsed=1;var i=this._getDefautSpeed(this.player);t=this._loopAbr(i),this.start(),this.logger("time abr start prgress",(new Date).getTime()),this.logger("time abr costTime",performance.now()-this.startTime),this.logger("abr onplay"),this.startTimer=On((function(){e._loopInterval=e.interval,clearTimeout(e.startTimer),e.logger("interval change")}),5e3)}}catch(Ude){this.logger("abr: loadeddata error",Ude),this.logger("time abr costTime err",performance.now()-this.startTime)}return t}},{key:"start",value:function(){if(this.logger("abr: start"),this._isPaused=!1,!this._hasCalcTimelineLog){var e=1===Math.floor(100*Math.random());this._abr_play_info.is_hint=e?1:0}this._hasCalcTimelineLog=!0,this._loop()}},{key:"_loop",value:function(){var e=this;this._isPaused||(clearTimeout(this.timerId),this.timerId=On((function(){if(!e.player.paused||!e.player.config.autoplay&&!e._hasStart){var t=e._hasAddFrament?void 0:e._getDefautSpeed(e.player);e._loopAbr(t)}e._loop()}),this._loopInterval))}},{key:"updateDeviceInfo",value:function(){try{if(this.fpsDetection){var e=this.fpsDetection.fps;e!==this._fps&&(this._fps=e,this._hasDeviceInfoChanged=!0)}this._updateDeviceInfo(this._fps)}catch(Ude){}}},{key:"updateBufferInfo",value:function(e){var t=this.player.playbackRate,n=this.bufferLength,r=e||Math.floor(this.player.downloadSpeed);return this._tickCount<5&&0===r&&(r=this._getDefautSpeed(this.player),this.logger("initSpeed fix")),this.logger("maxCacheTimeAudio:",this._maxCacheTimeAudio,"maxCacheVideoTime",this._maxCacheTimeVideo,"seekState",this._seekState,"stallState",this._stallState),this.module._updateBufferInfo(t,this._maxCacheTimeAudio,this._maxCacheTimeVideo,n,n,r,this._seekState,this.player.currentTime,this._stallState),this._seekState=Xde,this._eventInfo={internet_speed:r,buffer_length:n,last_bitrate:this.bitrate,play_speed:t},this.logger("playRate:",t,"buff:",n,"downloadSpeed:",r),{buffer:n,downloadSpeed:r}}},{key:"updateSwitchInfo",value:function(){var e=(new Date).getTime();this._openTimeMs=e,this._abr_play_info.start_play_time_ms=e;var t,n,r=this.player.config.preloadTime||50,i=(n=(t=e).toString(16)).length<=8?{high:0,low:t}:{high:ty(n.substr(0,n.length-8),16),low:ty(n.substr(n.length-8),16)},a=this.autoBitrateOpts.noStallCheckTime||5,o=this.openLog;this.logger("openTime:",e,"this.logger",o),this.module._updateSwitchInfo(i.low,i.high,a,o,this.stall_penalty,this.switch_penalty);var s=this._mediaList.video,l=Ro(s).call(s,(function(e){var t=e.bandwidth,n=e.bitrate;return t||n}));this._bitrateSet=Ro(l).call(l,(function(e,t){return{bitrate:e,codecs:s[t].codecs||s[t].codec_type}})),this._generalInfo={max_cache_time:r,bitrate_set:this._bitrateSet,segment_duration:this.segment_duration,preload_info:{},startup_info:{}}}},{key:"updatePreloadCacheInfo",value:function(e){try{this._prelaodInfo=e,this.logger("update preloadInfo",e),e&&e.item_num!==e.items.length&&(this.logger("preloadInfo invalid"),this._prelaodInfo=null)}catch(t){this.logger("updatePreloadCacheInfo",t),this._prelaodInfo=null}}},{key:"updatePreloadLogInfo",value:function(e){this._generalInfo.preload_info=e||{}}},{key:"_updatePreloadInfo",value:function(){try{var e=this.player.getPreloadInfos();if(e){var t=e.preloadInfo,n=e.abr;this.updatePreloadLogInfo(t),n&&this.updatePreloadCacheInfo(t)}if(this.logger("_updatePreloadInfo preloadinfos",e),null!=this._prelaodInfo){var r=Aa(this._prelaodInfo);this.module.ccall("updatePreloadInfo","null",["string"],[r])}else this.logger("_updatePreloadInfo preloadinfo null, no preload")}catch(i){this.logger("_updatePreloadInfo err",i)}}},{key:"_loopAbr",value:function(e){var t;this._tickCount++;var n=[];try{this.updateDeviceInfo();var r=this.updateBufferInfo(e),i=r.downloadSpeed,a=r.buffer;t=this.module._getPredictedBitrate(this.bitrate,this._abrMethod);for(var o=0;o<7;o++)n.push(this.module.HEAP32[t/Int32Array.BYTES_PER_ELEMENT+o]);var s=n[0],l=1===n[1];this._eventInfo.now_bitrate=s,this._eventInfo.local_time_ms=(new Date).getTime();var u=0;if(s!==this.bitrate&&0!==s){var c=this.bitrate;u=Math.abs(c-s);for(var d=[],h=this.player.video.buffered,f=0;f<h.length;f++)d.push({start:h.start(f),end:h.end(f)});var m=this._videoWidth||Number(this.config.width),p=this._videoHeight||Number(this.config.height),y=(new Date).getTime(),b={speed:"".concat(i," KB/s"),buffer_length:"".concat(a," s"),video_pos:this.player.currentTime,all_buffers:d,seek_state:this._seekState,stall_state:this._stallState,screen_width:m,screen_height:p,dpr:window&&window.devicePixelRatio,playbackRate:this.player.playbackRate,bitrateSet:this._bitrateSet,abrMethod:this._abrMethod,delta:this._hasExecuteAbrAlgo?y-this._lastExecuteTimeInMs:0};this._lastExecuteTimeInMs=y,this._hasExecuteAbrAlgo=!0,this.player.emit(Zde,this.bitrate,s,l,Aa(b)),this.logger("abr loop predicte:",s,"willStall:",l,"switchBitrate",u,"cur",c),this.bitrate=s}this._hasLogStartInfo||(this._hasLogStartInfo=!0,this._generalInfo.startup_info={predict_bitrate:s,download_speed:i,screen_width:this._videoWidth||Number(this.config.width),screen_height:this._videoHeight||Number(this.config.height),device_pixel_ratio:window&&window.devicePixelRatio,screen_fps:this._fps,startup_method:this._abrMethod}),this.player.emit("ABR_LOOP"),this.onAbrLoop(i,n[2],u,Ag(n).call(n,3))}catch(Ude){this.logger("abr error",Ude),console.log("error",Ude)}finally{this.module._free(t)}return this.bitrate}},{key:"stop",value:function(){!0===(arguments.length>0&&void 0!==arguments[0]&&arguments[0])&&(this._abrAlwaysOn=-1),clearTimeout(this.timerId),this._isPaused=!0,this.logger("abr: stop")}},{key:"destroy",value:function(){var e,t=this;this._stop(),mu(e=this.listeners).call(e,(function(e){var n=e.evt,r=e.handler;t.player.off(n,r)})),this.player=null,this._heightToDefitionConfig=null,this._bitrateToDefitionConfig=null,this._bufferRange=null,this._sortedBufferRange=null,this.module=null,clearTimeout(this._stallId),clearTimeout(this._updateId),clearTimeout(this.startTimer),window.removeEventListener("resize",this._onWinSizeChange),this.fpsDetection&&this.fpsDetection.stop(),this.player=null}},{key:"eventInfo",get:function(){return this._eventInfo}},{key:"generalInfo",get:function(){return this._generalInfo}},{key:"bufferLength",get:function(){var e=this.player.getBufferedRange(),t=this.player.video.currentTime,n=e[1]-Math.max(e[0],t);return n=Math.max(0,n).toFixed(2),DH(n)}},{key:"downloadSpeed",get:function(){return Math.floor(this.player.downloadSpeed)}},{key:"nowBitrate",get:function(){return this.bitrate}},{key:"openTimeMs",get:function(){return this._openTimeMs}},{key:"isCurrentInAbr",get:function(){return this._currentInAbr},set:function(e){this._currentInAbr=e}},{key:"onAbrLoop",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];if(this._qoeArgs=r,this._currentItem&&this.avgStat(Ide.PLAYBACK_BITRATE,this._currentItem.bitrate),this.avgStat(Ide.DOWNLOAD_NETWORK_SPEED,1e3*e*8),this.avgStat(Ide.PREDICT_NETWORK_SPEED,t),this.avgStat(Ide.BUFFER_LENGTH,this.bufferLength),this.avgStat(Ide.QOE,this.getQoeRelValue(0)),n>0&&(this._switchCount++,this._switchBitrate+=n),this._abr_play_info.is_hint){var i=this,a=((new Date).getTime()-this.openTimeMs)/1e3;a=DH(a.toFixed(2)),this._abr_play_info.playback_info.internet_speed_record.push([a,i.downloadSpeed]),this._abr_play_info.playback_info.play_bitrate_record.push([a,i.nowBitrate]),this._abr_play_info.playback_info.buffer_length_record.push([a,i.bufferLength]),this._abr_play_info.playback_info.play_speed_record.push([a,this.player.playbackRate]),this._abr_play_info.playback_info.qoe_record.push([a,this.getQoeRelValue(0)]),this._abr_play_info.playback_info.qoe_a_record.push([a,this.getQoeRelValue(1)]),this._abr_play_info.playback_info.qoe_b_record.push([a,this.getQoeRelValue(2)]),this._abr_play_info.playback_info.qoe_c_record.push([a,this.getQoeRelValue(3)])}}},{key:"getQoeRelValue",value:function(e){return this._qoeArgs[e]/100}},{key:"avgStat",value:function(e,t){var n=this._avgStatItems[e];n&&n.add(t)}},{key:"getAbrPlayInfo",value:function(){return this._abr_play_info}},{key:"updateAbrMethod",value:function(e){this._abrMethod=e}},{key:"getAbrMethod",value:function(){return this._abrMethod}},{key:"getAbrVVStats",value:function(){for(var e={},t=ca(Ide),n=0;n<t.length;n++){var r=t[n],i=Ide[r],a=this._avgStatItems[i];e[i]=a.avg()}return e.switch_counts=this._switchCount,e.avg_switch_bitrate=0===this._switchCount?0:this._switchBitrate/this._switchCount,e.abr_qoe=this.getQoeRelValue(0),e.abr_qoe_a=this.getQoeRelValue(1),e.abr_qoe_b=this.getQoeRelValue(2),e.abr_qoe_c=this.getQoeRelValue(3),e.abr_method=this._abrMethod,e.abr_used=this._abrUsed,e.abr_always_on=this._abrAlwaysOn,this.logger("abrVVStats",e),e}}],[{key:"getIsPlayAutoDefi",value:function(e){return!!e.isPlayAutoDefi}}]),n}(Ice),Wde=function(){function e(){Fz(this,e),this.total=0,this.count=0}return Nz(e,[{key:"add",value:function(e){this.total+=e,this.count++}},{key:"avg",value:function(){if(0===this.count)return 0;var e=this.total/this.count;return Math.floor(e)}}]),e}(),Vde="FIXED",Rde="AUTO",Cde=function(){function e(t,n){var r=this;KZ(this,e),_Z(this,"_onAbrChange",(function(e,t,n,i){var a=r._pluginInst.player,o=r.bitrateMap[e],s=r.bitrateMap[t],l=o.definition,u=s&&s.definition?s.definition:l;console.log("[ABR] _onAbrChange ",l,u),l!==u&&(r._abrSwitchHandler(s),a.emit("ABR_CHANGE",{prev:l,cur:u,prevName:o.definitionName,curName:s.definitionName,abrInfo:i}))})),_Z(this,"_onAutoDescChange",(function(e){var t=e.definition,n=e.reset,i=e.fps,a=e.item;r.updateAutoDefiDesc(t,n,i,a)})),this._pluginInst=t;var i=this._pluginInst.config.autoBitrateOpts||{};this.isPlayAutoDefi=Gde.getIsPlayAutoDefi(i),this.isOpenAutoDefi=!!i.isOpenAutoDefi,this.isCurrentAutoDefi=this.isOpenAutoDefi&&this.isPlayAutoDefi,this.bitrateMap={},this.defiIdMap={},this._abrSwitchHandler=n}var t;return HZ(e,[{key:"_destroyAbr",value:function(){var e=this._pluginInst.player;this.abrInstance&&(e&&e.off(Lde,this._onAutoDescChange),this.abrInstance.destroy(),this.abrInstance=null)}},{key:"init",value:(t=YZ(RZ().mark((function e(t){var n,r,i,a;return RZ().wrap((function(e){for(var o;;)switch(e.prev=e.next){case 0:if(this.isOpenAutoDefi){e.next=2;break}return e.abrupt("return",{type:Vde});case 2:return n=this._pluginInst,r=n.player,i=n.playerConfig,a=n.config,r.on(Lde,this._onAutoDescChange),this.bitrateMap={},this.defiIdMap={},this.abrInstance=new Gde(r,a,0,{dynamic_video_list:Ci(o=i.definition.list).call(o)},5e3,{logger:tie,openLog:$re}),e.next=9,this.abrInstance.init(t);case 9:r.on(Zde,this._onAbrChange),this.abrInstance.isCurrentInAbr=this.isCurrentAutoDefi;case 11:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"execute",value:function(){var e=this.abrInstance.execute();return{bitrate:e,type:-1===e?Vde:Rde}}},{key:"updateBitrate",value:function(e){this.abrInstance&&this.abrInstance.updateBitrate(e)}},{key:"enable",value:function(){this.abrInstance.start(),this.isCurrentAutoDefi=!0,this.abrInstance.isCurrentInAbr=!0,this.abrInstance._onTimeUpdate(null,!0)}},{key:"disable",value:function(){this.abrInstance&&(this.updateAutoDefiDesc("",!0),this.isCurrentAutoDefi=!1,this.abrInstance.isCurrentInAbr=!1,this.abrInstance.stop(!0))}},{key:"isCurrentInAbr",value:function(){return!!this.abrInstance&&this.abrInstance.isCurrentInAbr}},{key:"updateAutoDefiDesc",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=this._pluginInst,a=i.player,o=(i.config.autoBitrateOpts||{}).autoDefiText||"auto";a.emit("ABR_AUTO_DESC_CHANGE",o,t?void 0:e,n,r)}},{key:"updateAbrCacheData",value:function(){var e=this,t=this._pluginInst,n=t.player,r=t.config,i=t.playerConfig,a=r.autoBitrateOpts||{},o=i.definition.list,s=!1;if(mu(o).call(o,(function(t){e.bitrateMap[t.bitrate]={url:t.url,definition:t.definition,definitionName:t.text},e.defiIdMap[t.definition]={bitrate:t.bitrate,definition:t.definition},"auto"!==t.definition&&"自动"!==t.definition||(s=!0)})),this.isOpenAutoDefi,this.isOpenAutoDefi&&!s){var l=a.autoDefiText||"auto",u={definition:"自动",bitrate:n.curDefinition.bitrate,text:l,url:"__auto__",selected:this.isPlayAutoDefi,name:"自动",vwidth:n.curDefinition.vwidth,vheight:n.curDefinition.vheight};i.definition.list.push(u)}}},{key:"destroy",value:function(){this._pluginInst.player.off(Zde,this._onAbrChange),this._destroyAbr()}}]),e}(),Mde="real_time_speed",Yde=null,Kde=null,Pde=null,Hde=null,_de="h264",Fde="h265",Ede=0,Nde=function(e){FZ(i,e);var t,n,r=JZ(i);function i(e){var t,n;return KZ(this,i),_Z(UZ(n=r.call(this,e)),"_replayHook",(function(e){"xgmse-video"===n.player.config.mediaType?n._onReplay():n.useVideoLoad||(n._defInited=!1,n.log("replayHook ",n.playerConfig.url),n.player.video.load(),n.playerStartInit(n.playerConfig.url))})),_Z(UZ(n),"_retryHook",(function(){var e=UZ(n),t=e.player,r=e.playerConfig,i=e.config,a=t.currentTime;if(n.codecType!==Fde||i.supportHevc){n._defInited=!1;var o=n.config,s=o.drm,l=o.kid,u=o.secretKey,c=o.keyValue;if(s||l||u||c)n.initAwManager(),n.playerStartInit(r.url);else{if(n.useVideoLoad=!0,"Array"===O_.typeOf(r.url)){var d=r.url.length;t.video.src=r.url[d-1].src}else t.video.src=r.url;t.currentTime=a,t.play()}}else n.log("h265 retryHook ",r.vid),n._onDegrade("retry");return!1})),_Z(UZ(n),"_playHook",(function(e){n._usePaused=!1})),_Z(UZ(n),"_pauseHook",(function(e){n._usePaused=!0})),_Z(UZ(n),"abrSwitchURL",function(){var e=YZ(RZ().mark((function e(t){var r,i,a,o,s,l;return RZ().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=UZ(n),i=r.playerConfig,a=i.definition.list,o=0,s=0;case 4:if(!(s<a.length)){e.next=11;break}if(t.definition!==a[s].definition){e.next=8;break}return o=s,e.abrupt("break",11);case 8:s++,e.next=4;break;case 11:l=n.player.curDefinition,n.changeDefinition(a[o],l,!0);case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),_Z(UZ(n),"changeDefineCanPlay",(function(e,t,r,i){var a=UZ(n).player;a.ended?a.currentTime=0:(n.log("[oldChangeDefinition],this._changeDefState,",n._changeDefState),a.currentTime=n._changeDefState?n._changeDefState.currentTime:e,(n._changeDefState?n._changeDefState.paused:t)?a.pause():a.play(),n._changeDefState=null,a.emit("after_definition_change",{from:r,to:i}))})),_Z(UZ(n),"changeDefinition",(function(e,t,r){var i=UZ(n),a=i.player,o=i.playerConfig,s=i.mp4;if(t||(t=a.curDefinition),n.useVideoLoad)return"__auto__"===e.url&&(e.url=a.config.definition.list[0].url),void Pde.call(n.player,e,t);if(n._switchBitRateWay&&!r)return n.log("changeDefinition old"),void n.oldChangeDefinition(e,t);var l="自动"===e.definition||"auto"===e.definition;if(r)n.log("[switchBitrate:ABR], ready to switch bitRate, ",e.bitrate);else{var u=!1;if(l)n._abrService&&n._abrService.enable(),u=!0;else if(n._abrService&&n._abrService.disable(),!e.bitrate||e.bitrate<=0)for(var c=0;c<o.definition.list.length;c++)e.definition===o.definition.list[c].definition&&(e.bitrate=o.definition.list[c].bitrate);a.emit(iF,{from:t,to:e}),On((function(){n._abrService&&n._abrService.updateAutoDefiDesc(a.curDefinition.definition,!l)})),u&&(e=a.curDefinition),n.log("[switchBitrate:CBS],switch bitRate, ",e.bitrate)}a.curDefinition=e;var d=a.definitionList,h=li(d).call(d,(function(e){return e.definition===a.curDefinition.definition}));h.length>0&&(e=h[0]),s&&(n.config.keyValue=e.keyValue,n.config.kid=e.kid,n.config.secretKey=e.secretKey,n.config.drm=e.drm,n.config.getLicenseUrl=e.getLicenseUrl,n._getLicense().then(YZ(RZ().mark((function t(){var i,l,u,c,d,h;return RZ().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(o.url=e.url,o.backupURL=e.backupURL,i=0,l=!1,n._abrService&&n._abrService.isCurrentInAbr()?(u=a.getBufferedRange(a.buffered2),(i=u[1])<a.currentTime&&(i=a.currentTime,n.log("bufferRange is invaild,adjust",u,",timeStart,",i)),n.log("[switchBitrate:ABR],switch bufferedList, ",n.player.buffered2?n.player.buffered2.bufferedList:null,",curtime,",a.currentTime,",bufferRange,",u)):(i=a.currentTime,l=!0),(c=s.getFragmentIdx(i))<0&&(c=n._curLoadSegmentIdx),n.log("switchBitrate:point,",c,",startTime,",s.timeRange[c].startTime,",currentTime,",a.currentTime),l&&a.emit("definitionSwitchTime",s.timeRange[c].startTime+1),n.changeState("changeDefinition",{abr:r,fragIndex:c,startTime:s.timeRange[c].startTime,currentTime:a.currentTime}),!s){t.next=14;break}return t.next=13,s.cancelLoading();case 13:s._metaLoading&&(s._metaLoading=!1);case 14:return!((d=a.getBufferedRange(a.buffered))[1]>0&&d[1]-a.currentTime>5)||n._abrService&&n._abrService.isCurrentInAbr()||(n.mse.clearOpqueues(v5),n.mse.reuse(a.currentTime+5,d[1])),s.resetFragmentLoadState(c),n._curLoadSegmentIdx=c,t.next=20,n.mp4.changeBitRate(e);case 20:h={width:e.width||e.vwidth,height:e.height||e.vheight},a.emit("RESOLUTION_UPDATE",h);case 22:case"end":return t.stop()}}),t)})))).catch((function(t){console.error(t),t.errorType="GET_LICENSE_ERROR",n.emit("error",t),n.changeState("LICENSE_ERROR",{d:e.definition})})))})),_Z(UZ(n),"_onVideoError",(function(e){n.log("video err,",e)})),_Z(UZ(n),"_onPlaying",(function(){n._waitAdjustTimeCnt>0&&n._waitInBufferTimer&&(n._waitAdjustTimeCnt-=1,n.log("[waitInBuffer resume play], waitAdjustTimeCnt,",n._waitAdjustTimeCnt)),clearTimeout(n._waitInBufferTimer),n._waitInBufferTimer=null,n.log("[Index] onPlaying, timeNow,",Wne.nowTime());var e=UZ(n),t=e.mp4,r=e.player,i=n.config.resumePlayWaterLevel;if(t){if(!n.playFlag||r.currentTime<1)n.playFlag=!0;else if(!(t&&t.meta&&t.meta.duration-r.currentTime<=i)&&i>0&&n.playFlag){var a=r.getBufferedRange(r.buffered2);a[1]-r.currentTime<i?(r.paused||(r.pause(),n.log("[!!!!!buffer not rich, pause],time,",Wne.nowTime(),", currentTime, ",r.currentTime,", bufferEnd,",a[1])),clearTimeout(n.checkResumePlayTimer),n.checkResumePlayTimer=On(n._onPlaying,i/2*1e3)):r.paused&&(n.log("[!!!!!buffer rich, play],time,",Wne.nowTime(),", currentTime, ",r.currentTime,", bufferEnd,",a[1]),clearTimeout(n.checkResumePlayTimer),n.checkResumePlayTimer=null,r.play())}}else n.checkResumePlayTimer>0&&(clearTimeout(n.checkResumePlayTimer),n.checkResumePlayTimer=null,r.paused&&r.play())})),_Z(UZ(n),"_lowDecoder",(function(){var e="function"==typeof n.player.video.getStats?n.player.video.getStats():null;n.log("H265 lowdecode: ".concat(n.playerConfig.vid," "),e,", h265Degrade, ",n.config.h265Degrade),n.config.h265Degrade&&n._onDegrade()})),_Z(UZ(n),"_onError",(function(e){console.log("H265 onError: ".concat(n.playerConfig.vid," "),e,", h265Degrade, ",n.config.h265Degrade),n._onDegrade(e)})),_Z(UZ(n),"_onDegrade",(function(e){var t,r,i=UZ(n),a=i.player,o=i.playerConfig,s=i.config;a.video.removeEventListener("lowdecode",n._onDegrade),a.video.removeEventListener("error",n._onError),null===(t=n.mp4)||void 0===t||t.destroy();var l=a.currentTime;if(console.log("[h265 degrade], vid,",o.vid,",currtime,",l),n.emit("H265_DEGRADE",{reason:e?"error":"lowdecode",currentTime:l}),null!=s&&s.H264Config){var u=s.H264Config;s.drm=(null==u?void 0:u.drm)||null,s.getLicenseUrl=(null==u?void 0:u.getLicenseUrl)||null,s.kid=(null==u?void 0:u.kid)||null,s.keyValue=(null==u?void 0:u.keyValue)||null,s.secretKey=(null==u?void 0:u.secretKey)||null,s.isEncrypt=(null==u?void 0:u.isEncrypt)||null,s.useEME=(null==u?void 0:u.useEME)||null}var c={mp4encryptplayer:s,mediaType:"video",codecType:_de};(null==o||null===(r=o.H264DefinitionList)||void 0===r?void 0:r.length)>0?(a.config.definition.list=o.H264DefinitionList,a.config.url=o.H264DefinitionList[0].url,a.config.defaultBitrate=o.H264DefinitionList[0].bitrate,a.config.defaultDefinition=o.H264DefinitionList[0].definition,a.playNext(c),a.once("canplay",(function(){a.currentTime=l}))):(console.error("H265 error,degrade h264 but no h264 url"),n.emit("error",e))})),_Z(UZ(n),"_onMp4MetaReady",(function(e){console.log(">>>>_onMp4MetaReady",Wne.nowTime()),n.firstFrameTime.metaload=n.mp4.firstFrameTime.metaload,n.firstFrameTime.bitrate=n.player.curDefinition.bitrate;var t=n.playerConfig.vid,r=n._checkMetaInfo(e),i=n.mp4.checkCodecH265();if(n.changeState("MP4_META_READY",{is265:i?1:0}),r)return n.removeAndRejectInitPromise(r),void n._errorHandler(r);try{if(n._initEME(n.mp4,e),n.codecType!==Fde||n.config.supportHevc){if(!(n.player.video instanceof HTMLVideoElement))return void console.error("".concat(n.player.config.mediaType," is not match"));n._initMse(e)}else{var a,o,s;if(!i||n.player.video instanceof HTMLVideoElement)return void console.error(Ci(a=Ci(o=Ci(s="[Index] ".concat(t," config_codec ")).call(s,n.codecType," and meta_codec ")).call(o,e.videoCodec," is not match or supportHevc is ")).call(a,n.config.supportHevc));n._initH265MseProxy()}n._initPromise.resolve()}catch(d){n.removeAndRejectInitPromise(d),console.error("[Index] ".concat(t," _initEME error"),d);var l=new rF(n.player,{errorType:"runtime",errorTypeCode:Hte.runtime,errorCode:Pte.other1,errorMessage:null==d?void 0:d.message,vid:t,mediaError:{code:Pte.other1,message:null==d?void 0:d.message}});n._errorHandler(l)}if(n.mp4&&n.mp4.timeRange){var u,c=[];Ei(u=n.mp4.timeRange).call(u,(function(e){return c.push({startTime:e.startTime,endTime:e.endTime}),!0})),n.emit("KEYFRAMETIME",c)}n._loadData()})),_Z(UZ(n),"_onMp4Error",(function(e){var t=n.playerConfig.vid;console.error("[Index] _onMp4Error",t,e),n.changeState("MP4_ERROR",e),n._initPromise&&"pending"===n._initPromise.state&&n.removeAndRejectInitPromise(e),n._errorHandler(e)})),_Z(UZ(n),"_onMp4Progress",(function(e){n.emit("progress_event",e)})),_Z(UZ(n),"_onMp4DataCallBack",(function(){n.mse&&!n.mse.ready&&n.openMSE(),n._isMseInit&&n._onTimeUpdate()})),_Z(UZ(n),"_updateDrmConfig",(function(e){var t=UZ(n),r=t.config,i=t.mp4;e.kid&&r.keyValue?r.drm={clearKeys:_Z({},e.kid,r.keyValue)}:!e.kid&&r.keyValue&&(r.useEME=!1),i.useEME=r.useEME;var a=r.drm;r.useEME||(i.kidValue=r.keyValue||(a&&a.clearKeys?a.clearKeys[ca(a.clearKeys)[0]]:null)),n.eme&&a&&a.clearKeys&&r.useEME&&n.eme.updateDrm(a)})),_Z(UZ(n),"_onVideoTimeUpdate",(function(){n.useVideoLoad||null!==n._requestTimer||!n._offineLine&&n._startProgress(),n.useVideoLoad&&n.checkIfCanPreload()})),_Z(UZ(n),"_onBufferedReset",(function(e){n.mp4&&n.mp4.videoTrak&&n.mp4.resetFragmentLoadState(0)})),_Z(UZ(n),"_onOnlineHandler",(function(){n._offineLine=!1;var e=UZ(n).config;n.log("online useVideoLoad:",n.useVideoLoad,n._hasStartProgressBack),n.useVideoLoad?n.player.src=e._mainURL:(n._hasStartProgressBack&&n._startProgress(),n._hasStartProgressBack=!1)})),_Z(UZ(n),"_onOfflineHandler",(function(){n._offineLine=!0,n.log("offline, ",n._hasStartProgress),n._hasStartProgress&&(n._stopProgress(),n._hasStartProgressBack=!0)})),_Z(UZ(n),"_loadDataSuccess",(function(e){if(!n.isDestroy&&(n.mse||n.mseProxy)){e.state&&n._firstSegState<0&&(n._firstSegState=1),n.log("[loadFragment] _loadDataSuccess ",Aa(e.context.range),",dataLen,",e.buffer?e.buffer.byteLength:0,e.state),n.firstFrameTime.startload_stmux<0&&(n.firstFrameTime.startload_stmux=n.mp4.firstFrameTime.startMuxTime,n.firstFrameTime.firstmux=n.mp4.firstFrameTime.firstmux),n.firstFrameTime.loadst_loadeddata<0&&(n.firstFrameTime.loaddata=Wne.nowTime()-n.loadstart);try{e.initSeg&&(n._appendInitSeg(e.initSeg),(!e.buffer||e.buffer.byteLength<1)&&(n.log("no data, must load data"),n._onTimeUpdate()));var t=e.buffer,r=e.state,i=e.context,a=e.videoTrack,o=e.audioTrack;if(n.debugInfo.loadIndx=i?i.fragIndex:-1,n.mse&&r&&(!t||t.byteLength<=0)&&i.fragIndex===n.mp4.timeRange.length-1){var s=n.player.buffered;n.bufferEndTime=s.end(s.length-1),n._isEnded(),n.log("loaded ended !!!==>>>",Aa(i.range),", fragIndex,",i.fragIndex,", bufferEndTime,",n.bufferEndTime,",meta_duration,",n.mp4.meta.duration)}if(n.mse&&r&&i.fragIndex===n.mp4.timeRange.length-1&&(!t||t.byteLength<=0)){var l=n.player.buffered;n.bufferEndTime=l.end(l.length-1),n._isEnded(),n.log("load ended !!!==>>>",n.playerConfig.vid,Aa(i.range),", fragIndex,",i.fragIndex,", bufferEndTime,",n.bufferEndTime,",meta_duration,",n.mp4.meta.duration)}if(t&&n.mse){if(t&&t.byteLength>0){n._appendBuffer(v5,t,i,r);var u=n.getDataBitRate(i.fragIndex);n.player.emit("addVideoBufferEnd",{start:Math.floor(i.startPts),end:i.endPts,bandwidth:u.bitrate})}}else if(n.mseProxy&&(a&&a.samples.length>0||o&&o.samples.length>0)){var c=a.samples.length>0?a.samples[0].sampleOffset:-1,d=a.samples.length>0?a.samples[a.samples.length-1].sampleOffset:-1,h=o.samples.length>0?o.samples[0].sampleOffset:-1,f=o.samples.length>0?o.samples[o.samples.length-1].sampleOffset:-1;n.log("[livevideo] appendBuffer,index,",i.fragIndex,",range,",Aa(e.context.range),",videoIdxRange,",c,"-",d,",audioIdxRange,",h,"-",f,", timeRange,",i.timeRange),n.mseProxy.appendBuffer(a,o)}}catch(p){n.changeState("APPEND_DATA_ERROR"),n.log("appendBuffer error",p);var m=new rF(n.player,{errorType:"runtime",errorTypeCode:Hte.runtime,errorCode:Pte.mse,vid:n.player.config.vid,errorMessage:p.message,mediaError:{code:Pte.mse,message:p.message}});n._errorHandler(m)}}})),_Z(UZ(n),"_onWaiting",(function(){var e=UZ(n),t=e.player,r=e.config,i=e.playerConfig;clearTimeout(n._waitInBufferTimer),n._waitInBufferTimer=null;var a=t.currentTime;console.log("[>>>>onWaiting],currentTime, ",a,Wne.nowTime());var o=t.bufferedPoint;o.end>0&&o.end-t.currentTime>=2&&(n._waitAdjustTimeCnt<r.waitJampBufferMaxCnt?n._waitInBufferTimer=On((function(){n._waitAdjustTimeCnt++,t.currentTime=t.currentTime+.5,n.log("[waitInBufferTimeout], waitAdjustTimeCnt,",n._waitAdjustTimeCnt,",curtime,",a,Wne.nowTime())}),r.waitingInBufferTimeOut):n._errorHandler(new rF(n.player,{errorType:"waitInBuffer",errorTypeCode:Hte.runtime,errorCode:Pte.onWaitInBufferRange,errorMessage:"onWait_in_buffer",vid:i.vid})))})),_Z(UZ(n),"_onEnded",(function(){n.log("[player.onEnded], stopProgress"),n.player&&n.off("waiting",n._onWaiting),n._stopProgress()})),_Z(UZ(n),"_onReplay",(function(){var e=UZ(n),t=e.playerConfig,r=e.player;n._reset(),n._init(t.url).then((function(e){var t=e[0],i=e[1];r.video.src=i.url,n._startProgress(),n.mp4=t,n.mse=i,n.log("_replay play"),n.once("canplay",(function(){r.play(),n.on("waiting",n._onWaiting)}))}),(function(e){n.log("_errorHandler6",e),n._errorHandler(e)}))})),_Z(UZ(n),"_onSeeking",YZ(RZ().mark((function e(){var t,r,i,a,o,s,l,u,c,d,h;return RZ().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n.useVideoLoad){e.next=2;break}return e.abrupt("return");case 2:if(t=UZ(n),r=t.player,i=t.mp4,a=r.currentTime,n.changeState("seeking",{curTime:a}),n.log("[seekTime], curTime,",a,",buffer,",r.buffered2.bufferedList),i&&i.meta){e.next=8;break}return e.abrupt("return");case 8:if(n.endofstream=!1,i.bufferLoadedPos=-1,i._metaLoading=!1,o=r.bufferedPoint,s=!1,l=0,!(o.end>0)){e.next=23;break}if(s=!0,l=i.getFragmentIdx(o.end),n._curLoadSegmentIdx!==l){e.next=20;break}return n.log("[seeking in buffered range], seek fragIndex is current load segmentIdx",l),e.abrupt("return");case 20:i.seekTime=o.end,l<0&&(l=n._curLoadSegmentIdx),n.log("[seeking in buffered range], seekTime ",a,",bufferRange,",o.start,"-",o.end,", fragIndex,",l);case 23:return s||(i.seekTime=a,(l=i.getFragmentIdx(a))<0&&(l=n._curLoadSegmentIdx),n.log("[seekTime out buffer range], curTime,",a,", Idx,",l),u=UZ(n),(c=u.mse)&&c.isFull()&&(d=r.buffered2.bufferedList,h=d[d.length-1],c.clearOpqueues(v5),n._checkRemoveSourceBuffer([h.start,h.end],r.currentTime,!0,!0))),e.next=26,i.cancelLoading();case 26:i.resetFragmentLoadState(l),n._curLoadSegmentIdx=l,n._onTimeUpdate(),n._isEnded();case 30:case"end":return e.stop()}}),e)})))),n._pendingPromises=[],n._allInitPromise=new vie,n._isInit=!1,n._isEventInit=!1,n.playerId=n.player._pluginInfoId,n.preloader=null,n.gapJumpInst=null,n.log("playerId",n.playerId),n._tickInSeconds=n.config.tickInSeconds,n.awManager=null,n._useVideoLoad=!1,n.mse=null,n.mp4=null,n.eme=null,n._isMseInit=!1,n._awPromise=null,n._corePromise=null,n._initPromise=null,n._hasStartProgress=!1,n._hasStartProgressBack=!1,n._maxBufferLength=n.config.maxBufferLength,n._minBufferLength=n.config.minBufferLength,n._switchBitRateWay=n.config.switchBitRateWay,n._curLoadSegmentIdx=0,n._abrService=null,n._checkRemoveBufferLastTime=Wne.nowTime(),n.playFlag=!1,n.config.resumePlayWaterLevel=Math.min(n.config.minBufferLength,n.config.resumePlayWaterLevel),n.checkResumePlayTimer=null,n.loadstart=-1,n._loadStartEventTime=-1,n._waitAdjustTimeCnt=0,n._waitInBufferTimer=null,n._firstSegState=-1,n.codecType=n.playerConfig.codecType?n.playerConfig.codecType.toLowerCase():_de,n.playerConfig.vtype&&(n._vtype=n.playerConfig.vtype.toUpperCase()),n.firstFrameTime={newplayer:Wne.nowTime(),newplayer_initkernel:-1,initkernel_initmp4:-1,initmse_sbopen:-1,mseopen:-1,initmse_sbopendone:-1,metaload:-1,metaready_mseisopen:-1,metaready_initsegend:-1,startload_stmux:-1,firstmux:-1,apcnt:0,aplen:0,data_ap:-1,loadst_loadeddata:-1,loaddata:-1,new_loadeddata:-1,bitrate:-1},n.debugInfo={},n.states=[],n.removeVideo=null,n._lastCheckTime=Wne.nowTime(),n._changeDefState=null,n._defInited=!1,n.states=[],n.preLoadData=null,n.forPreloadTimeCache=null,n._usePaused=!1,n.endofstream=!1,n.bufferEndTime=-1,n.hitpreload=!1,window&&ro(t=window.location.href).call(t,"playerInstance=true")>-1&&(void 0===window.mp4PlayerInstanceList&&(window.mp4PlayerInstanceList=[]),window.mp4PlayerInstanceList.push(n.player)),n}return HZ(i,[{key:"afterCreate",value:function(){var e=this,t=this.playerConfig,n=this.config,r=this.player;n.width=t.width||0,n.height=t.height||0,t.vid=t.vid||n.vid,w5.isSupported('video/mp4; codecs="avc1.64001E, mp4a.40.5"')&&(void 0===n.supportHevc&&null!=eF&&eF.isHevcSupported&&null!=eF&&eF.isHevcSupported()&&this.player.video instanceof HTMLVideoElement&&(n.supportHevc=!0),jse()||(n.useEME=!1),this.checkConfig(),n.onlyInit&&(t.autoplay=!1,t.videoInit=!1,this._hasStartProgress=!1,this._hasStartProgressBack=!1),t.useWaterLevel&&(!t.userGestureEventMiddleware&&(t.userGestureEventMiddleware=Lie),!t.videoEventMiddleware&&r.setEventsMiddleware(Sie)),this.gapJumpInst=new Tce(this.player,this.playerConfig),this.preloader=n.isOpenPreload?new Lce(this.config,this,this.bitRateAdapter):null,r.preloader=this.preloader,this._proxyPlayer(),this.initAwManager(),r.useHooks("replay",this._replayHook),r.useHooks("play",this._playHook),r.useHooks("pause",this._pauseHook),r.useHooks("retry",this._retryHook),r.video.addEventListener(Sce.BUFFERED_RESET,this._onBufferedReset),this._bindNetworkStateChange(),this.on("timeupdate",this._onVideoTimeUpdate),this.on("loadeddata",(function(){e.changeState("LOADED_DATA"),e.deleteVideo(),e._firstSegState=2,e._onTimeUpdate(),e._firstFrameTime()})),this.on("loadstart",(function(){e.changeState("LOAD_START"),e._loadStartEventTime=Wne.nowTime(),e.codecType!==Fde||e.config.supportHevc||(e._isMseInit=!0,e._onTimeUpdate())})),this.on("xglog",(function(t){if("firstFrame"===t.eventType){var n=e.preLoadData&&e.preLoadData.definition?e.preLoadData.definition:-1;e.codecType===_de?console.log("[xgplayer-encrypt-mp4]>>>>firstFrame ",e.playerConfig.vid,t.fvt,", codectype: ",e.codecType,", hitpreload: ",e.hitpreload,", video: ",e._useVideoLoad,",curPlayBitrate: ",e.player.curDefinition.definition,", preloadBitrate: ",n,",metaLoad, ",e.firstFrameTime.metaload,", mseOpen: ",e.firstFrameTime.mseopen,",appendInit: ",e.firstFrameTime.metaready_initsegend):console.log("[xgplayer-encrypt-mp4]>>>>firstFrame ",e.playerConfig.vid,t.fvt,", codectype: ",e.codecType,", hitpreload: ",e.hitpreload,",curPlayBitrate: ",e.player.curDefinition.definition,", preloadBitrate: ",n,",metaLoad, ",e.firstFrameTime.metaload)}})),r.mp4MseFlag=!0)}},{key:"_startBufferCheck",value:function(){var e=this.player;if(e.video){var t=[];if(e.video.buffered){for(var n=0,r=e.video.buffered.length;n<r;n++)t.push([e.video.buffered.start(n),e.video.buffered.end(n)]);t.toString()!==this.lastBuffer&&(this.lastBuffer=t.toString(),this._onBufferReachThreshold())}}}},{key:"_onBufferReachThreshold",value:function(){var e=this.player,t=this.config;if(e.video){for(var n=e.video.buffered,r=0,i=0,a=0;a<n.length&&(r=n.start(a),i=n.end(a),!(r<=e.video.currentTime&&e.video.currentTime<=i));a++);i-e.video.currentTime>=t.bufferThreshold&&!this._hasTriggerBufferThreshold&&(this._hasTriggerBufferThreshold=!0,e.emit("BUFFER_THRESHOLD",i-e.video.currentTime))}}},{key:"_startUrlExpiredCheck",value:function(){var e=this.player.config;e.definition&&e.definition.list&&e.definition.list.length>0&&(this.urlExpireTimestamp=e.definition.list[0].url_expire||0,this._handleUrlExpire())}},{key:"checkConfig",value:function(){var e=this.playerConfig,t=this.config,n=e.defaultDefinition,r=e.defaultBitrate;if(!n){var i=this.playerConfig.definition;n=i&&i.defaultDefinition?i.defaultDefinition:t.definition}!r&&t.bitrate&&(r=t.bitrate),e.defaultDefinition=n,e.defaultBitrate=r}},{key:"beforePlayerInit",value:function(){var e=this.player,t=this;this._isInit||(cF.defineGetterOrSetter(e,{__url:{get:function(){return t.mse?t.mse.url:e.config.url},configurable:!0},downloadSpeed:{get:function(){return Ede/8},configurable:!0},playerVersion:{get:function(){return Kte},configurable:!0},menuCodeType:{get:function(){return t.mp4&&t.mp4.meta?t.mp4.meta.videoCodec:"avc"},configurable:!0},playerType:{get:function(){return"MP4"},configurable:!0},supportMenus:{get:function(){return{speed:e.mp4MseFlag,cdn:e.mp4MseFlag,resolution:e.mp4MseFlag}},configurable:!0},CDNUrl:{get:function(){return t.CDNUrl},configurable:!0},abrInstance:{get:function(){return t.abrInstance},configurable:!0},ext:{get:function(){var e,n,r,i,a,o,s=[];if(null!==(e=t.player)&&void 0!==e&&null!==(n=e.video)&&void 0!==n&&n.buffered)for(var l=t.player.video.buffered,u=0,c=l.length;u<c;u++)s.push([l.start(u),l.end(u)]);var d=[];if(t.mse)for(var h=Math.min(t.opQueueLen,5),f=0;f<h;f++)d.push(t.mse.opQueues.video[f].context);return{type:"MP4",usevideo:t.useVideoLoad,duration:null===(r=t.mp4)||void 0===r||null===(i=r.meta)||void 0===i?void 0:i.duration,loadseg:{loadIdx:t._curLoadSegmentIdx,loadTimeRange:null!==(a=t.mp4)&&void 0!==a&&a.timeRange?t.mp4.timeRange[t._curLoadSegmentIdx]:{},waitIdx:t.debugInfo.loadIndx,waitTimeRange:null!==(o=t.mp4)&&void 0!==o&&o.timeRange&&void 0!==t.debugInfo.loadIndx?t.mp4.timeRange[t.debugInfo.loadIndx]:{}},bufffer:s,speed:t.debugInfo.speed,states:t.states,mseque:d,url:t.playerConfig.url}},configurable:!0}}),this._isInit=!0)}},{key:"destroy",value:function(){var e=this.player;console.log("[Index] destroy",this.playerId),this.preloader&&this.preloader.destroy(this.playerId),e.preloader=null,e.removeHooks("replay",this._replayHook),e.removeHooks("play",this._playHook),e.removeHooks("pause",this._pauseHook),e.removeHooks("retry",this._retryHook),this._reset(),this._onDestroyWasm(),this.player.playNext=Yde,this.player._startInit=Kde,this.player.changeDefinition=Pde,this.player.switchURL=Hde,this._unbindNetworkStateChange(),e.video&&e.video.removeEventListener(Sce.BUFFERED_RESET,this._onBufferedReset),this._bufferCheckTimer&&clearInterval(this._bufferCheckTimer),this._removeBufferTimer&&(clearTimeout(this._removeBufferTimer),this._removeBufferTimer=null)}},{key:"initAwManager",value:function(){var e=this,t=this.config;this.awManager||(this.awManager=new Nae(t.cdnHost,t.cdnBucket));var n=new vie;if(n.id="aw",this._awPromise=n,t.isEncrypt){var r=new xie;r.push(this.awManager.init()),r.startup().then((function(){r.destroy(),n.resolve()})).catch((function(t){r.destroy(),e._emitInitFail(t),n.reject()}))}else n.resolve()}},{key:"_proxyPlayer",value:function(){var e,t,n,r=this;"function"==typeof this.player.playNext&&(Yde=this.player.playNext),this.player.playNext=function(){r.playNext.apply(r,arguments)},Kde=this.player._startInit,Hde=this.player.switchURL,Pde=this.player.changeDefinition,this.player._startInit=Xo(e=this.playerStartInit).call(e,this),this.player.switchURL=Xo(t=this.switchURL).call(t,this),this.player.changeDefinition=Xo(n=this.changeDefinition).call(n,this)}},{key:"getInitBitrate",value:function(){var e=this,t=this.player,n=this.config,r=this.playerConfig,i=null,a=t.definitionList;if(a&&a.length>0){var o;if(Ro(a).call(a,(function(t){var n=Lce.generateUniqueKey({vid:r.vid,definition:t.definition||"",vtype:r.vtype,codecType:r.codecType});t.cacheKey=n,n&&!i&&e.preloader&&e.preloader.hasItemSameVid(n)&&((i=t).type="preload")})),i&&r.userSelectDefinition&&n.focusUserDefinition)console.log("[Index] getInitBitrate",Ci(o="preloadDefinition: ".concat(i.definition," userSelectDefinition:")).call(o,r.userSelectDefinition)),r.userSelectDefinition!==i.definition&&(i=null);!i&&this.bitRateAdapter&&(this.bitRateAdapter.speed=yie.speed,(i=this.getDefinitonFromAdapter(a,r.userSelectDefinition))&&(i.type="bitRateAdapter"))}return i&&i.url||(i="Array"===O_.typeOf(r.url)&&r.url.length>0||"String"===O_.typeOf(r.url)&&r.url?{url:r.url,definition:r.defaultDefinition,duration:r.duration||this.config.duration||0,bitrate:r.defaultBitrate||this._getBitrateByDefition(r.defaultDefinition),type:"default"}:a[a.length-1]),this.playerConfig.url=i.url,i.networkSpeed=yie.speed,i.fileSize=Wne.getFileSize(i.bitrate,r.duration),t.curDefinition=i,i}},{key:"_setPlayerSrc",value:function(e){var t=this.player;this._removeVideoSource(),"Array"===O_.typeOf(e)?(t.video.removeAttribute("src"),!t._detachSourceEvents&&mu(e).call(e,(function(e){t.video.appendChild(O_.createDom("source","",{src:"".concat(e.src),type:"".concat(e.type||"")}))})),t._attachSourceEvents(t.video,e),t.play()):(t.video.src=e,t.play()),t.mp4MseFlag=!1,t.emit("playertypechange")}},{key:"_removeVideoSource",value:function(e){var t=this.player,n=(e=e||t.video).children;if(n.length>0)for(t._detachSourceEvents(e);n.length>0;)e.removeChild(n[0])}},{key:"_getBitrateByDefition",value:function(e){var t=this.playerConfig,n=0;if(!t.definition||!t.definition.list)return n;for(var r=0;r<t.definition.list.length;r++){var i=t.definition.list[r];i.definition===e&&(n=i.bitrate)}return n}},{key:"_getDefinitionItem",value:function(e){for(var t=this.playerConfig,n=0;n<t.definition.list.length;n++){var r=t.definition.list[n];if(r.definition===e)return r}return null}},{key:"_initAbrDefinition",value:function(){var e,t=this.player,n=this.playerConfig;if(n.definition.list.length>0&&(t.curDefinition||(t.curDefinition=n.definition.list[0]),t.curDefinition.vwidth||Wu(t.curDefinition,this._getDefinitionItem(t.curDefinition.definition)),this._abrService.updateAbrCacheData()),this._abrService&&this._abrService.isCurrentAutoDefi){var r=n.definition.list.length;t.curDefinition=n.definition.list[r-1]}for(var i=0;i<n.definition.list.length;i++){var a=n.definition.list[i];t.curDefinition.definition===a.definition?a.selected=!0:a.selected=!1}console.log("resourceReady",Ci(e=n.definition.list).call(e)),this.player.emit("resourceReady",n.definition.list);var o=t.curDefinition.bitrate;if(!o)for(var s=0;s<n.definition.list.length;s++){var l=n.definition.list[s];l.definition===t.curDefinition.definition&&(o=l.bitrate)}this._abrService.updateBitrate(o)}},{key:"_initAbrService",value:(n=YZ(RZ().mark((function e(){var t,n;return RZ().wrap((function(e){for(var r;;)switch(e.prev=e.next){case 0:if(t=this.playerConfig,(n=this.config).autoBitrateOpts&&n.autoBitrateOpts.isOpenAutoDefi){e.next=3;break}return e.abrupt("return");case 3:return this._abrService=new Cde(this,this.abrSwitchURL),e.next=6,this._abrService.init({video:Ci(r=t.definition.list).call(r)});case 6:this._initAbrDefinition();case 7:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"_initMp4Kernel",value:function(){var e=this;this.firstFrameTime.newplayer_initkernel=Wne.nowTime()-this.firstFrameTime.newplayer,this.log("[===========], initMp4Kernel,",Wne.nowTime());var t=this.playerConfig,n=this.config,r=new vie;try{var i=this._defInited?null:this.getInitBitrate();if(this._defInited=!0,this.log("curDefinition",i),this.log("[_initMp4Kernel] ".concat(t.vid," curDefinition"),i),!this._handlerUrl(t.url))return r.reject(new Error("emptyUrl")),r;if(n.forceVideoPlay&&(this.codecType===_de||n.supportHevc))return this.useVideoLoad=!0,r.reject("forceVideoPlay"),r;var a=[];a.push(this._getLicense()),a.push(this._checkPreloader()),sp.all(a).then((function(t){e.isDestroy&&r.reject(new Error("destroy"));var a=null;if(t&&t.length>0&&t[1]&&(a=t[1].data),a||!n.needPreloadCheck||e.codecType===Fde&&!n.supportHevc)if(e._vtype&&"MP3"===e._vtype)e.useVideoLoad=!0,r.reject(new Error("vtype_not_MP4"));else{var o=n._mainURL;e._initMp4(o,a,{fileSize:i?i.fileSize:0}),e._initAbrService()}else e.useVideoLoad=!0,r.reject(new Error("no_preload"))})).catch((function(t){console.error(t),t.errorType="GET_LICENSE_ERROR",e.emit("error",t),e.changeState("LICENSE_ERROR",{d:i?i.definition:0}),r.reject(t)}))}catch(o){r.reject(o)}return r}},{key:"playerStartInit",value:function(e){var t=this;if(this.log("playerStartInit",this.player.hasStart),!this.isDestroy){if(!e||"__auto__"===e||"anytext"===e){var n,r=this.playerConfig,i=r.definition;if(i&&i.list&&i.list.length>0&&i.defaultDefinition)if(Ro(n=i.list).call(n,(function(e){e.definition===i.defaultDefinition&&(r.url=e.url,t.player.curDefinition=e)})),!r.url||"__auto__"===e||"anytext"===e){var a=i.list[0];e=a.url,r.url=a.url,this.player.curDefinition=a}}if(this.useVideoLoad)Kde.call(this.player,e);else{this.player.mp4MseFlag=!0,this.bufferEndTime=-1,this._tm=(new Date).getTime(),this._reset();var o=this.playerConfig.vid;this.preloader&&this.preloader.cancelPreloadByVid(o),this.changeState("PLAYER_START_INIT"),this._awPromise.then((function(){if(!t.isDestroy){t.changeState("AW_OK INIT_MP4_KERNEL");var n=t._initMp4Kernel();t._initPromise=n,t._addPendingPromise(t._initPromise),n.then((function(n){var r;t.isDestroy||(t.log(Ci(r="[Index] _initMp4Kernel.then vid:".concat(o," isDestroy")).call(r,t.isDestroy),n,t.mse?t.mse.url:""),t.mse&&(e=t.mse.url),t.changeState("PLAY_INIT_OK"),t._bindEvents(),t._startProgress())})).catch((function(n){var r,i,a=!!t._initPromise&&t._initPromise.isBreak;if(!t.isDestroy&&!a)if(console.error(Ci(r=Ci(i="_initMp4Kernel.catch: ".concat(o," isDestroy:")).call(i,t.isDestroy," _initPromise.isBreak:")).call(r,a),n),-499897!==n.errorCode){var s=n;s.errorCode||((s=new rF(t.player,{errorType:"runtime",errorTypeCode:Hte.runtime,errorCode:Pte.other,vid:t.playerConfig.vid,errorMessage:null==n?void 0:n.message,mediaError:{code:Pte.other,message:null==n?void 0:n.message}})).url=e),t.changeState("PLAY_INIT_CATCH",{c:s.errorCode,m:s.message}),t.player.vtype="MP4_1",t.player.emit("playCatch",t.player.vtype,s)}else t._emitExpireEvent(n)})).finally((function(){var n;if(t._initPromise){var r=t._initPromise.isBreak;t._initPromise&&t._removePendingPromise(t._initPromise),t._initPromise=null,t._usePaused&&(t.playerConfig.autoplay=!1),t.codecType===Fde&&"Array"===O_.typeOf(e)&&(e=e[0].src),t.log(Ci(n="_initMp4Kernel.finally:isDestroy".concat(t.isDestroy," _initPromise.isBreak:")).call(n,r)),t.log("[===========], playerStartInit,",Wne.nowTime()),t.changeState("PLAY_INIT_FINALLY"),!t.isDestroy&&!r&&Kde.call(t.player,e)}}))}})).catch((function(n){t.log("_awPromise.error",n),t.changeState("PLAY_INIT_CATCH"),!t.isDestroy&&Kde.call(t.player,e)})),this._abrService&&this._abrService.isCurrentInAbr()&&(this._abrService.enable(),this._abrService.execute())}}}},{key:"playNext",value:function(e){var t=this.player;this._defInited=!1,t.resetState(),t._currentTime=0,t._duration=0,t.isPlaying=!1,this._useVideoLoad=!1,t.pause(),this._reset(),e.vtype&&(this._vtype=e.vtype.toUpperCase()),t.setConfig(e);var n=this.codecType;this.codecType=e.codecType?e.codecType.toLowerCase():_de;var r=e[this.pluginName];r&&(this.config=Wu(this.config,r)),n!==this.codecType&&this.h265_h264_switch(this.playerConfig.mediaType||"video"),this.checkConfig(),this.initAwManager(),this.log("[Index] playNext",e),t.play(),this.emit("playnext")}},{key:"h265_h264_switch",value:function(e){this.log("h265_switch_h264");var t=this.player,n=O_.createDom(e,"",this.getVideoConfig(this.playerConfig),"xgplayer-".concat(e,"-img"));this.removeVideo=t.video,n.muted=t.video.muted,n.volume=t.video.volume,t.video=n,t.attachVideoEvents(t.video)}},{key:"getVideoConfig",value:function(e){var t=Wu({},{controls:!1,autoplay:e.autoplay,playsinline:e.playsinline,"x5-playsinline":e.playsinline,"webkit-playsinline":e.playsinline,"x5-video-player-fullscreen":e["x5-video-player-fullscreen"]||e.x5VideoPlayerFullscreen,"x5-video-orientation":e["x5-video-orientation"]||e.x5VideoOrientation,airplay:e.airplay,"webkit-airplay":e.airplay,tabindex:2,mediaType:e.mediaType||"video"},e.videoConfig,e.videoAttributes);return e.loop&&(t.loop="loop"),t}},{key:"next",value:function(e){this.playNext(e)}},{key:"oldChangeDefinition",value:function(e,t){var n,r,i=this,a=this.config,o=this.player,s=this.playerConfig;o.emit(iF,{from:t,to:e}),o.emit("waiting");var l=li(n=o.definitionList).call(n,(function(t){return t.definition===e.definition||t.definition===Number(e.definition)})),u=li(r=o.definitionList).call(r,(function(e){return e.definition===t.definition||e.definition===Number(t.definition)}));if(u.length>0&&(u[0].selected=!1),l.length>0){(e=l[0]).selected=!0,o.curDefinition=e,this.log("[oldChangeDefinition],currentTime,",o.currentTime,",from,",t,",to,",e);var c=o.currentTime,d=o.paused;this._changeDefState||(this._changeDefState={currentTime:c,paused:d},this.log("[oldChangeDefinition],currentTime,",o.currentTime,",pause,",d)),a.definition=e.definition,this.config.keyValue=e.keyValue,this.config.kid=e.kid,this.config.secretKey=e.secretKey,this.config.drm=e.drm,this.config.getLicenseUrl=e.getLicenseUrl,s.url=e.url,s.backupURL=e.backupURL,s.userSelectDefinition=e.definition,s.defaultDefinition=e.definition,a.focusUserDefinition=!0,o.currentTime=0,o.pause(),this._reset(),this._isMseInit=!1,this.eme=null,this._handlerUrl(e.url),this._changeDefineCanPlay&&o.off("canplay",this._changeDefineCanPlay),this._changeDefineCanPlay=function(){i.changeDefineCanPlay(c,d,t,e),i._changeDefineCanPlay=null},o.once("canplay",this._changeDefineCanPlay),this.player.video.load(),this.playerStartInit(s.url)}}},{key:"switchURL",value:function(e){if(this.useVideoLoad)Hde.call(this.player,e);else{var t=this.player,n=this.playerConfig;this.config.keyValue=e.keyValue,n.url=e.url,n.backupURL=e.backupURL,t.currentTime=0,t.pause(),this.reset(),this._isMseInit=!1,this.eme=null,this._handlerUrl(e.url),t.video.removeAttribute("src"),this._removeVideoSource(),t.resetState()}}},{key:"_handlerUrl",value:function(e){var t,n=this.config,r=this.playerConfig;if(!e)return!1;var i=[];if("String"===O_.typeOf(e))t=e,r.backupURL&&i.push(r.backupURL);else if("Array"===O_.typeOf(e)&&e.length>0&&(t=e[0].src,e.length>1))for(var a=1;a<e.length;a++)i.push(Wne.extUrl(e[a].src,{__vid:r.vid}));return!(!t&&0===i.length)&&(n._mainURL=Wne.extUrl(t,{__vid:r.vid}),n._backupURL=i,!0)}},{key:"_firstFrameTime",value:function(){if(this.codecType===_de||this.config.supportHevc){if(this.firstFrameTime.new_loadeddata<0){this.firstFrameTime.loadst_loadeddata=Wne.nowTime()-this.loadstart,this.firstFrameTime.new_loadeddata=Wne.nowTime()-this.firstFrameTime.newplayer;var e={};for(var t in this.firstFrameTime)Object.prototype.hasOwnProperty.call(this.firstFrameTime,t)&&(this.log("======this.firstFrameTime======",t,", ",this.firstFrameTime[t]),e[t]=this.firstFrameTime[t])}}else if(this.codecType===Fde){var n=this.player.video.getStats(),r=this.firstFrameTime.metaload,i=this.firstFrameTime.startMuxTime;this.firstFrameTime=n,this.firstFrameTime.metaload=r,this.firstFrameTime.startload_stmux=i,this.firstFrameTime.firstmux=this.mp4?this.mp4.firstFrameTime.firstmux:-1;for(var a=0;a<n.bootStats.length;a++)this.firstFrameTime[n.bootStats[a].action]=n.bootStats[a].dot;delete this.firstFrameTime.bootStats,this.log("======this.firstFrameTime===>>",Aa(this.firstFrameTime))}}},{key:"_bindEvents",value:function(){var e=this,t=this.config,n=this.player;this._isEventInit||(this.on("seeking",this._onSeeking),this.on("waiting",this._onWaiting),this.on("ended",this._onEnded),this.on("error",this._onVideoError),this.on("playing",this._onPlaying),this.on("detectGap",(function(){t.gapDegrade&&t.useEME&&(t.useEME=!1,e._replay())})),this.on("error",(function(t){e.changeState("video_error",{code:t.code,message:t.message,videoType:e.useVideoLoad})})),n.setEventsMiddleware({error:function(t,n){var r=t.originalEvent;e.changeState("video_error",{code:r.code,message:r.message,videoType:e.useVideoLoad}),e.log("error middleware",t,",useVideoLoad,",e.useVideoLoad),e.useVideoLoad&&n(t.eventName,r)}})),this._isEventInit=!0}},{key:"deleteVideo",value:function(){if(this.removeVideo){var e=this.removeVideo.parentNode;e&&e.removeChild(this.removeVideo),this.removeVideo=null,this.log("[_removeVideoSource]")}}},{key:"_unbindEvents",value:function(){this.off("seeking",this._onSeeking),this.off("waiting",this._onWaiting),this.off("ended",this._onEnded),this.off("playing",this._onPlaying),this._isEventInit=!1}},{key:"changeState",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._pTime||(this._pTime=Wne.nowTime());var n=Wne.nowTime()-this._pTime,r=Wne.nowTime()-this._sTime;this.log(">>>changeState[".concat(e,"]"),n,r,t),this.states.push({state:e,t1:n,t2:r,data:t}),this._pTime=Wne.nowTime();var i=Wne.nowTime()-this._pTime;t.state=e,i&&(t.t=i)}},{key:"checkIfCanPreload",value:function(){var e=this.player,t=this.useVideoLoad,n=this.config;if(n.isOpenPreload){var r=t?5:n.minBufferLength,i=e.currentTime+r;i=i>e.duration?e.duration:i;var a=(t?e.getBufferedRange(e.buffered):e.getBufferedRange(e.buffered2))[1]-i;e.currentTime>=r&&(a>0||Math.abs(a)<1)&&this.preloader&&this.preloader.checkCanPreloadNext()&&this.emit("PRELOAD_NEXT")}}},{key:"_getLicense",value:function(){var e=this,t=this.config,n=t.vid,r=t.kid,i=t.secretKey,a=new vie,o={method:"getLicense",success:0};if(r||i){var s=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,i=new vie;if(n){tie("[getKeyValue]>before openBox");var a=r.awManager.openBox(n);if(tie("[getKeyValue]>after openBox: ",a),t){var o={clearKeys:{}};o.clearKeys[t]=a,i.resolve(o)}else i.resolve(a)}else{var s=Zie(e,t,r.config.getLicenseUrl);s.id="requestPromise",r._addPendingPromise(s),s.then((function(e){if(r._removePendingPromise(s),r.awManager){tie("[getKeyValue]>before openBox");var n=r.awManager.openBox(e);tie("[getKeyValue]>after openBox: ",n);var a={clearKeys:{}};a.clearKeys[t]=n,i.resolve(a)}else i.reject({errDes:"awManager not exist, player destroyed"}),tie("[getKeyValue]>awManager not exist, player destroyed")})).catch((function(e){i.reject(e),tie("[getKeyValue]>requestPromise reject")}))}return i}(n,r,i,this);s.id="licensePromise",this._addPendingPromise(s),s.then((function(t){e._removePendingPromise(s),t.clearKeys?e.config.drm=t:e.config.keyValue=t,o.success=1,a.resolve(o)})).catch((function(t){e.log("licensePromise reject"),o.success=0,o.error=t,a.reject(o)}))}else o.success=0,a.resolve(o);return a}},{key:"softDecode",get:function(){var e,t;return"xg-video"===(null===(e=this.player)||void 0===e||null===(t=e.config)||void 0===t?void 0:t.mediaType)}},{key:"_initH265MseProxy",value:function(){this.player.video instanceof HTMLVideoElement&&this.h265_h264_switch(this.playerConfig.mediaType);var e=this.player.video;this.softDecode&&e.setPlayMode&&e.setPlayMode("VOD"),this.mseProxy=e,this.softDecode&&(this.player.forceDegradeToVideo=function(){},this.player.video.addEventListener("lowdecode",this._lowDecoder),this.player.video.addEventListener("error",this._onError))}},{key:"removeAndRejectInitPromise",value:function(e){this._initPromise&&(this._removePendingPromise(this._initPromise),this._initPromise.reject(e))}},{key:"_initMp4",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.firstFrameTime.initkernel_initmp4=Wne.nowTime()-this.firstFrameTime.newplayer-this.firstFrameTime.newplayer_initkernel;var i=this.config,a=this.player,o=this.playerConfig;this.mp4&&(this.mp4.off(die,this._onMp4MetaReady),this.mp4.off(cie,this._onMp4Error),this.mp4.off(mie,this._updateDrmConfig),this.mp4.off(fie,this._onMp4Progress),this.mp4.off(hie,this._onMp4DataCallBack),this.mp4.destroy(),this.mp4=null),this.changeState("MP4_NEW",{}),this.mp4=new yie(e,a.curDefinition.bitrate,{segmentDuration:i.segmentMinDuration,enableWorker:i.enableWorker,codecType:this.codecType,chunkSize:i.preloadSize,loadSize:800,duration:o.duration||0,fileSize:r.fileSize||0,playerId:this.playerId,vid:o.vid,useUrlRange:i.useUrlRange,retryCount:i.retryCount,retryDelay:i.retryDelay,onProcessMinLen:i.onProcessMinLen,supportHevc:i.supportHevc,reqOptions:i.reqOptions},this,null,n,this.config._backupURL,this.firstFrameTime,""),this.mp4.once(die,this._onMp4MetaReady),this.mp4.on(cie,this._onMp4Error),this.mp4.on(mie,this._updateDrmConfig),this.mp4.on(fie,this._onMp4Progress),this.mp4.on(hie,this._onMp4DataCallBack),this.mp4.on(pie,(function(e){t.player&&t.player.emit("initialUrl",{url:e})})),this.mp4.MP4Loader.on(Mde,(function(e){Ede=e.speed,t.debugInfo.speed||(t.debugInfo.speed=[]),t.debugInfo.speed.push(Ede),t.debugInfo.speed.length>10&&t.debugInfo.speed.shift(),t.emit(Mde,e)})),this.changeState("MP4_INIT",{}),this.mp4.init(n)}},{key:"_checkPreloader",value:function(){var e=this,t=this.playerConfig,n=new vie,r={method:"checkPreloader",success:0,type:"error",cacheKey:""};this.changeState("CHECK_PRELOAD");var i=this.player.curDefinition,a=i.cacheKey?i.cacheKey:Lce.generateUniqueKey({vid:t.vid,definition:i.definition||"",vtype:t.vtype,codecType:t.codecType});return r.cacheKey=a,this.preloader&&a?this.preloader.getPreLoadData(a).then((function(t){console.log(">>>>check Preloader result",a,t),t?(e.preLoadData=t,e.emit("PRELOAD_INFO",e.preLoadData),r.success=1,r.data=t,e.changeState("PRELOAD_OK",{l:e.preLoadData.byteLength,ck:a}),t.mediaSegList&&t.mediaSegList.length>0||t.buffer&&t.buffer.byteLength>0?e.hitpreload=!0:e.hitpreload=!1,n.resolve(r)):(e.preLoadData=null,e.changeState("PRELOAD_ERROR",{t:0}),r.success=0,r.error=new Error("none_preload"),n.resolve(r))})):(this.changeState("PRELOAD_ERROR",{t:2}),r.success=0,r.error=new Error("no_preloader"),n.resolve(r)),n}},{key:"_initEME",value:function(e,t){var n=this.player,r=this.config,i=e.checkCodecH265();r.useEME=!(!1===r.useEME||i),this._updateDrmConfig(t),this.log("config.useEME: ",r.useEME);var a=r.drm;!this.eme&&a&&a.clearKeys&&r.useEME&&(this.eme=new Xie(a)),r.useEME&&this.eme&&(this.eme.setOptions('video/mp4; codecs="avc1.64001E"','audio/mp4; codecs="mp4a.40.2"'),this.eme.SetupEME(n.video))}},{key:"_initMse",value:function(e){var t,n=this,r=this.playerConfig;this.mse&&(this.mse.destroy(),this.mse=null);var i=this.mp4&&this.mp4.checkCodecH265(),a=!!e.videoCodec,o=!!e.audioCodec,s=_Z({},v5,{mimeType:"video/mp4",codec:a&&o?i?'video/mp4; codecs="hev1.1.6.L93.B0, mp4a.40.5"':'video/mp4; codecs="avc1.64001E, mp4a.40.5"':a?i?'video/mp4; codecs="hev1.1.6.L93.B0"':'video/mp4; codecs="avc1.64001E"':'video/mp4; codecs="mp4a.40.5"'});this.mse=new w5(r.mediaType,Xo(t=this.log).call(t,this)),this.mse.on(X5,(function(e){n.firstFrameTime.initmse_sbopen=e.costtime,n._loadStartEventTime>0&&(n.firstFrameTime.mseopen=Wne.nowTime()-n._loadStartEventTime),n.changeState("MSE_OPEN")})),this.mse.on(x5,(function(e){n.firstFrameTime.initmse_sbopendone=e.costtime,n.changeState("MSE_OPEN_DONE"),n._isMseInit=!0,n._onTimeUpdate()})),this.mse.on(L5,(function(e){if(console.log("[MSE error]",e),e&&n.mse&&n.mse.isFull()){var t=n.player.getBufferedRange(n.player.buffered2);n._checkRemoveSourceBuffer(t,n.player.currentTime,!0)}else{var i=new rF(n.player,{errorType:"runtime",errorTypeCode:Hte.runtime,errorCode:Pte.mseAppend,errorMessage:e.message,vid:r.vid,mediaError:{code:Pte.mseAppend,message:e.message}});n._errorHandler(i)}})),this.mse.on(S5,(function(e){var t=e.context,r=e.costtime;if(t&&t.isinit)n.firstFrameTime.metaready_initsegend=r,n.log("player appendBuffer end ==>>>",t||null,", costTime,",r),n.changeState("MSE_INITSEG_OK");else if(n.log("player appendBuffer end ==>>>",t||null,", costTime,",r,", opt,",e.name,",bufferRange,",n.player.getBufferedRange()),n.firstFrameTime.loadst_loadeddata<0&&(n._firstSegState<0&&n._onTimeUpdate(),n.firstFrameTime.apcnt++,n.firstFrameTime.aplen+=t?t.dataLen:0,n.firstFrameTime.data_ap+=r,n.changeState("APPEND_DATA_OK",{costime:r,dataLen:t?t.dataLen:0})),n.mse&&t.state&&t.fragIndex===n.mp4.timeRange.length-1){var i=n.player.buffered;n.bufferEndTime=i.end(i.length-1),n._isEnded(),n.log("loaded ended !!!==>>>",t.range,", fragIndex,",t.fragIndex,", bufferEndTime,",n.bufferEndTime,",meta_duration,",n.mp4.meta.duration)}})),this.changeState("MSE_INIT"),this.mse.init(s)}},{key:"_appendInitSeg",value:function(e){this.mp4&&this.mse&&(this.changeState("MSE_INITSEG"),this.log("[=======ready_append_init]",Wne.nowTime(),",mseDone,",!!this.mse&&this.mse.ready,",isopen,",!!this.mse&&this.mse.isMediaSourceOpen()),!this.mse.ready&&this.openMSE(),this.firstFrameTime.metaready_mseisopen=this.mse&&this.mse.ready?1:0,this.mse.appendBuffer(v5,e,{vid:this.playerConfig.vid,range:null,dataLen:e.byteLength,isinit:!0}),this.mp4.useEME&&this.eme&&this.eme.emit("encrypted"))}},{key:"_checkMetaInfo",value:function(e){var t=null;return e?null:(t={errorCode:Pte.metaError,errorMessage:"meta is null",errorType:"demux",errorTypeCode:Hte.demux},new rF(this.player,VZ(VZ({},t),{},{vid:this.playerConfig.vid,mediaError:{code:t.errorCode,message:t.errorMessage}})))}},{key:"_stopProgress",value:function(){this._hasStartProgress=!1,this._requestTimer&&(this._requestTimer.stop(),this._requestTimer=null),this._bufferBreakTimer&&(clearTimeout(this._bufferBreakTimer),this._bufferBreakTimer=null,this._bufferBreakFlag=void 0)}},{key:"_bindNetworkStateChange",value:function(){window.addEventListener("online",this._onOnlineHandler),window.addEventListener("offline",this._onOfflineHandler)}},{key:"_unbindNetworkStateChange",value:function(){window.removeEventListener("online",this._onOnlineHandler),window.removeEventListener("offline",this._onOfflineHandler)}},{key:"_onSuperStart",value:function(e){var t=this,n=this.player;tie("_onSuperStart:".concat(e),this.mse),n.video.src=e,this.once("canplay",(function(){n.play(),t.on("waiting",t._onWaiting)}))}},{key:"openMSE",value:function(){var e=this.mse;!e.ready&&e.isMediaSourceOpen()&&(this.log("[=======主动调用_onSourceOpen start]",Wne.nowTime()),e._onSourceOpen(),this.log("[=======主动调用_onSourceOpen, end ]",Wne.nowTime(),"mseDone,",e.ready))}},{key:"_appendBuffer",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0,i=this.mse,a=this.playerConfig.vid;this.log("player appendBuffer start ==>>>",a,n.range,t.byteLength,", queueLen,",i&&i.opQueues[e]?i.opQueues[e].length:null),i.ready||(this.openMSE(),this.firstFrameTime.metaready_mseisopen=this.mse&&this.mse.ready?2:-1),i.appendBuffer(e,t,{vid:a,fragIndex:n.fragIndex,range:n.range,dataLen:t.byteLength,state:r})}},{key:"_loadData",value:(t=YZ(RZ().mark((function e(){return RZ().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(navigator.onLine){e.next=2;break}return e.abrupt("return");case 2:if(this.mp4&&this._isMseInit){e.next=5;break}return this.log("loadData, player.mp4 null",this._isMseInit),e.abrupt("return");case 5:return this.loadstart<0&&(this.loadstart=Wne.nowTime()),e.prev=6,e.next=9,this.mp4.load(this._curLoadSegmentIdx,this._loadDataSuccess);case 9:e.next=14;break;case 11:e.prev=11,e.t0=e.catch(6),console.error("[Index] _loadData error",this.playerConfig.vid,e.t0);case 14:case"end":return e.stop()}}),e,this,[[6,11]])}))),function(){return t.apply(this,arguments)})},{key:"getDataBitRate",value:function(e){var t=this.mp4,n=this.playerConfig;if(!t)return 0;for(var r=t.getDataBitRate(e),i=n.definition.list,a=0,o=0;o<i.length;o++)if(i[o].bitrate===r){a=i[o];break}return a}},{key:"_loadStuckCheck",value:function(){var e=this,t=this.config,n=this.playerConfig,r=this.player;t.disableBufferBreakCheck||(r.currentTime-(this._lastCurrentTime||0)>.1||r.paused?1!==this._bufferBreakFlag&&2!==this._bufferBreakFlag||(this.log("视频没有卡死,重置卡死标记"),this._bufferBreakFlag=0,clearTimeout(this._bufferBreakTimer),this._bufferBreakFlag=null):this._bufferBreakFlag||(this._bufferBreakFlag=1,this.log("卡死计时开始! 持续".concat(1e4,"毫秒则确认卡死")),this._bufferBreakTimer=On((function(){e.isDestroy||(1===e._bufferBreakFlag&&(e._bufferBreakFlag=2,e.log("确认卡死!!!"),e._errorHandler(new rF(e.player,{errorType:"runtime",errorTypeCode:Hte.runtime,errorCode:Pte.waitTimeout,errorMessage:"wait_timeout",vid:n.vid}))),e._bufferBreakTimer=null)}),1e4)),this._lastCurrentTime=r.currentTime)}},{key:"_doubleCheckBuffer",value:function(e){var t=this.player;if(!(e.startTime>t.currentTime))return!0;if(!t.video||!t.video.buffered)return!0;var n=t.video.buffered;if(1===n.length)return!0;for(var r=!1,i=0;i<n.length;i++){var a=n.start(i)-.5,o=n.end(i)+.5;if(a<=e.startTime&&e.endTime<=o){r=!0;break}}return r}},{key:"_onTimeUpdate",value:function(){var e=this,t=this.mse,n=this.mp4,r=this.player;if(this.useVideoLoad)this.checkIfCanPreload();else if(n){var i=n.timeRange;if(i&&!(i.length<1)&&1!==this._firstSegState){var a=r.getBufferedRange(r.buffered2);if((t||this.mseProxy)&&n&&n.canDownload){Wne.nowTime()-this._lastCheckTime>1e3&&(this._lastCheckTime=Wne.nowTime(),this._loadStuckCheck(),this._startUrlExpiredCheck(),this._checkRemoveSourceBuffer(a,r.currentTime));var o=r.paused?r.currentTime+this._minBufferLength:r.currentTime+this._maxBufferLength;a[1]-o<0&&Ei(i).call(i,(function(t,n){if(t.downloaded){if(e._doubleCheckBuffer(t))return!0;t.downloaded=!1,t.isLoading=!1,e.log("".concat(n," download state error, no buffer, download again"))}t.startTime-r.currentTime<e._maxBufferLength?(e._curLoadSegmentIdx=n,e.log("[onTimeUpdate],load index==>>>, ",n,",IdxTimeRange, ",t.startTime,"-",t.endTime,",buffEnd, ",a[1],",playCurTime,",r.currentTime,", bufferLen,",a[1]-r.currentTime,",bufferRangeList,",e.player.buffered2?e.player.buffered2.bufferedList:null),e._loadData()):e.log("[onTimeUpdate] not load index==>>>",n,",IdxTimeRange, ",t.startTime,"-",t.endTime,",playCurTime,",r.currentTime,",bufferRangeList,",e.player.buffered2?e.player.buffered2.bufferedList:null)})),this.checkIfCanPreload(),this.playFlag&&!this._hasTriggerBufferThreshold&&this._startBufferCheck(),this._isEnded()}}}}},{key:"_reset",value:function(){for(var e in this.states=[],this.hitpreload=!1,this._sTime=Wne.nowTime(),this._usePaused=!1,this._firstSegState=-1,this.useVideoLoad=!1,this._isMseInit=!1,this.endofstream=!1,this._curLoadSegmentIdx=0,this.preLoadData=null,this.forPreloadTimeCache=null,this.playFlag=!1,this._waitAdjustTimeCnt=0,this._initPromise&&"pending"===this._initPromise.state&&this._initPromise.reject("DESTROYED"),clearTimeout(this.checkResumePlayTimer),this.checkResumePlayTimer=null,this._stopProgress(),this.mp4&&(this.mp4.off(die,this._onMp4MetaReady),this.mp4.off(cie,this._onMp4Error),this.mp4.off(mie,this._updateDrmConfig),this.mp4.off(fie,this._onMp4Progress),this.mp4.off(hie,this._onMp4DataCallBack),this.mp4.destroy(),this.mp4=null),this.mse&&(this.mse.destroy(),this.mse=null),this.mseProxy&&(this.player.video.removeEventListener("lowdecode",this._onDegrade),this.player.video.removeEventListener("error",this._onError)),this._clearMediaKeys(),this._unloadVideo(),this._cancelPendingPromises(),this._abrService&&(this._abrService.destroy(),this._abrService=null),this.firstFrameTime)Object.prototype.hasOwnProperty.call(this.firstFrameTime,e)&&(this.firstFrameTime[e]="apcnt"===e||"aplen"===e?0:"newplayer"===e?Wne.nowTime():-1);clearTimeout(this._waitInBufferTimer),this._waitInBufferTimer=null,this.loadstart=-1,this._loadStartEventTime=-1,this.startLoadData=-1}},{key:"removeErrorUrls",value:function(e,t,n){return-499897!==e.errorCode&&-499892!==e.errorCode||this._emitExpireEvent(e),n}},{key:"_errorHandler",value:function(e){var t=this.player,n=this.playerConfig,r=this.preLoadData;if(t){if(this.useVideoLoad)return console.log("useVideoLoad final error!!!!, ",n.vid,e),void this.emit("error",e);if("object"!==CZ(e)){var i={};i.err=e,e=i}var a=t.paused;e.vid=n.vid,e.preloadHit=r&&r.byteLength>0?1:0,e.preloadCached=r?r.duration:0,e=new rF(t,e),this.log("_errorHandle","preState is ".concat(a),e),!e.url&&(e.url=t.src),this.player.vtype="MP4_2",this.player.emit("playCatch",this.player.vtype,e),e.errd&&"object"===CZ(e.errd)&&this.mp4&&(e.errd.url=this.mp4.url,e.url=this.mp4.url),e.codectype=this.codecType,this.emit("DATA_REPORT",e),this.mp4&&this.mp4.url&&this.removeErrorUrls(e,this.mp4.url,n.url),this.log("error task cancel"),this.mp4&&this.mp4.cancelLoading(),this._abrService&&this._abrService.disable(),this.mp4&&(this.mp4.canDownload=!1),this.mp4&&this.mp4.bufferCache&&this.mp4.bufferCache.clear(),this._startDegradedPlayback(e)}}},{key:"_startDegradedPlayback",value:function(e){var t=this;this.mp4&&(this.mp4.canDownload=!1);var n=this.player,r=this.playerConfig;if(this.endofstream=!1,this._currentTime=n.currentTime||0,this.player.pause(),this._reset(),this._replay=null,this.codecType===Fde)console.log("h265 err,degrade use 264 play",r.vid),this._onDegrade(e);else if(this.codecType===_de)if(this.config.drm){var i;if(this.config.drm)Ro(i=ca(this.config.drm)).call(i,(function(n){t.config.drm&&(e[n]=t.config.drm[n])}));console.log("final error !!!!, ",r.vid,e),this.emit("error",e)}else this.useVideoLoad=!0,this._setPlayerSrc(r.url),this.once("canplay",(function(){t._currentTime&&(n.currentTime=t._currentTime),!n.paused&&n.play()}))}},{key:"_startProgress",value:function(){var e=this;this._hasStartProgress||(this._stopProgress(),this._requestTimer=new Bse((function(){e._requestTimer&&e._onTimeUpdate()})),this._requestTimer.tickEvery(this._tickInSeconds),this._hasStartProgress=!0)}},{key:"_unloadVideo",value:function(){var e=this.player;try{this.log("unloadVideo src ".concat(e.video.src)),e.video&&e.video.src&&(e.video.removeAttribute("src"),e.video.load())}catch(Ude){this.log("unloadVideo error",Ude)}}},{key:"_addPendingPromise",value:function(e){this._pendingPromises.push(e)}},{key:"_removePendingPromise",value:function(e){var t;this.log("removePendingPromise",e.id);var n,r=ro(t=this._pendingPromises).call(t,e);r>-1&&Cp(n=this._pendingPromises).call(n,r,1)}},{key:"_cancelPendingPromises",value:function(){var e;this._pendingPromises.length>0&&mu(e=this._pendingPromises).call(e,(function(e){e.reject("DESTROYED")}));this._pendingPromises=[]}},{key:"_onMediaExpired",value:function(){this._stopProgress(),this.emit(Sce.MEDIA_EXPIRED)}},{key:"_onDestroyWasm",value:function(){this.awManager&&(this.awManager.destroy(),this.awManager=null)}},{key:"_isEnded",value:function(){var e=this.player,t=this.mp4,n=e.bufferedPoint,r=n?n.end:0;return!this.endofstream&&this.bufferEndTime>0&&this.mse&&this.bufferEndTime-e.currentTime<.5&&(this.log("[check player isEnded],deal mse.endOfStream, currentTime,",e.currentTime,", bufferend,",r,", duration,",t.meta.duration),this.endofstream=!0,this.mse.endOfStream()),!!(t&&t.meta&&t.meta.duration-e.currentTime<.5)&&(this._stopProgress(),this.log("[check player isEnded],stopProgress and endOfStream,currentTime, ",e.currentTime,", bufferend,",r,", duration,",t.meta.duration),this.mse&&this.mse.endOfStream(),!0)}},{key:"_clearMediaKeys",value:function(){var e=this.player;e.video&&"function"==typeof e.video.setMediaKeys&&e.video.setMediaKeys(null).catch((function(){}))}},{key:"_checkRemoveSourceBuffer",value:function(e,t,n,r){var i=this,a=this.mse,o=this.mp4,s=this.player;if(a&&o&&s&&(n&&(clearTimeout(this._removeBufferTimer),this._removeBufferTimer=null),e||(e=s.getBufferedRange(s.buffered2)),t||(t=s.currentTime),!(!n&&Wne.nowTime()-this._checkRemoveBufferLastTime<=this.config.removeBufferLen||this.endofstream)&&(this._checkRemoveBufferLastTime=Wne.nowTime(),e&&e[0]>=0&&(t-e[0]>this.config.removeBufferLen||a.isFull())))){var l=r?e[1]:t-(a.isFull()?0:15),u=o.getFragmentIdx(l);if(u>=0&&(r||o.timeRange[u].startTime<t)){var c=Math.floor(Math.min(o.timeRange[u].startTime,e[1]));e[0]<c?(this.log("[checkremoveSourceBuffer], remove range==>>>",e[0],c),a.reuse(e[0],c)):a.isFull()&&!this._removeBufferTimer&&(this.log("[after 10s, go on checkremoveSourceBuffer], currentTime==>>>",t,", buffer start,",e[0]),this._removeBufferTimer=On((function(){i._checkRemoveSourceBuffer(null,null,!0)}),1e4))}}}},{key:"onMediaUpdate",value:function(e){var t=e.vid,n=e.kid,r=e.url,i=this.player,a=this.config;if(t===this.playerConfig.vid&&n===a.kid&&r){this.playerConfig.url=r,this._handlerUrl(r);var o=a._mainURL;return this.useVideoLoad?i.src=r:this.mp4&&this.mp4.update(o),!0}return!1}},{key:"enableAutoBuffer",value:function(e){var t=this;if(e){if(!this._allInitPromise)return void this.log("player destroyed!!");this._allInitPromise.then((function(){t.log("enableAutoBuffer true"),t._startProgress()}))}else this._stopProgress(),this.log("enableAutoBuffer false")}},{key:"bitRateAdapter",get:function(){return this.player&&this.player.plugins&&this.config.needAutoBitrate?this.player.plugins.bitrateselector:null}},{key:"getDefinitonFromAdapter",value:function(e,t){if(!this.bitRateAdapter)return null;var n=this.bitRateAdapter;return n.getSuitableBitrate?n.getSuitableBitrate(e,t):n.bitRateAdapter?n.bitRateAdapter.select(e):null}},{key:"addPreloader",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.playerId=this.playerId,this.preloader?this.preloader.addPreloader(e,this.playerId,this.playerConfig.vid):this.log("preloader has destroyed")}},{key:"addPreloaderList",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.preloader?this.preloader.addPreloaderList(e,this.playerId,this.playerConfig.vid):this.log("preloader has destroyed")}},{key:"changeUserSelectDefinition",value:function(e){this.preloader&&e&&this.preloader.changeUserSelectDefinition(e)}},{key:"log",value:function(e){for(var t,n,r=this.playerConfig,i=r&&r.vid?Ci(t="[Index]".concat(r.vid," ")).call(t,e):"[Index] ".concat(e),a=arguments.length,o=new Array(a>1?a-1:0),s=1;s<a;s++)o[s-1]=arguments[s];tie.apply(void 0,Ci(n=[i]).call(n,o))}},{key:"_emitInitFail",value:function(e){this.log("initFail, reason:",e),this.emit(Sce.INIT_FAIL,e)}},{key:"emitParseError",value:function(){this.log("parseError"),this.emit(Sce.PARSE_ERROR)}},{key:"useVideoLoad",get:function(){return this._useVideoLoad},set:function(e){this._useVideoLoad=e}},{key:"ready",get:function(){return this._allInitPromise}},{key:"speed",get:function(){return ty(yie.speed,10)}},{key:"version",get:function(){return Kte}},{key:"realTimeSpeed",get:function(){return Ede}},{key:"opQueueLen",get:function(){var e=this.mse&&this.mse.opQueues?this.mse.opQueues.video:[];return e?e.length:0}},{key:"loadSegmentTimeRange",get:function(){if(!this.mp4)return[0,0,0,0];var e=this.mp4.timeRange;if(e&&e.length>0&&this._curLoadSegmentIdx&&this._curLoadSegmentIdx<e.length){var t=e[this._curLoadSegmentIdx];if(t.isLoading){var n,r=this.mp4.getFragRange(this._curLoadSegmentIdx);return Ci(n=[Number(t.startTime),Number(t.endTime)]).call(n,DZ(r))}}return[0,0,0,0]}},{key:"preloadState",get:function(){return this.preloader&&this.preloader.loadingCount}},{key:"moovSize",get:function(){return 0}},{key:"isDestroy",get:function(){return!this.player}},{key:"cancelPreloadTask",value:function(){this.preloader&&this.preloader.cancelLoading(this.player.playerId)}},{key:"CDNUrl",get:function(){var e=this.playerConfig.url,t=document.createElement("a");return t.href=e,t.host}},{key:"abrInstance",get:function(){return this._abrService?this._abrService.abrInstance:null}},{key:"_handleUrlExpire",value:function(){var e=this,t=this.config,n=this.player,r=n.paused;(new Date).getTime()/1e3>=this.urlExpireTimestamp&&this.urlExpireTimestamp>0&&!r&&t.getServerTime&&(n.serverTimeDiffPromise=n.serverTimeDiffPromise||t.getServerTime().catch((function(){return 0})),n.serverTimeDiffPromise.then((function(t){if(t&&(n.serverTimeDiff=(new Date).getTime()/1e3-t),(new Date).getTime()/1e3>=e.urlExpireTimestamp+n.serverTimeDiff){e.urlExpireTimestamp=(new Date).getTime()/1e3+86400;var r=new _te("network",Pte[403]);e._emitExpireEvent(r)}})))}},{key:"_emitExpireEvent",value:function(e){var t=this.player,n=(new Date).getTime()/1e3;this.emitExpireTimestamp?n-this.emitExpireTimestamp>300&&(this.emitExpireTimestamp=n,t.emit("MEDIA_EXPIRED",e)):(this.emitExpireTimestamp=n,t.emit("MEDIA_EXPIRED",e))}}],[{key:"registerPreloader",value:function(e,t){e.vtype=pce.MP4,Lce.BitRateAdapter=t,new Lce(e,this)}},{key:"pluginName",get:function(){return"Mp4EncryptPlayer"}},{key:"defaultConfig",get:function(){return{onlyInit:!1,useWaterLevel:!1,maxBufferLength:10,minBufferLength:5,tickInSeconds:.2,getLicenseUrl:"",xhrSetup:{},retryCount:1,retryDelay:1e3,preloadCacheType:1,needPreloadRangeList:!1,cdnHost:"",cdnBucket:"",isEncrypt:!1,isOpenPreload:!0,needPreloadCheck:!1,preloadTime:0,preloadMaxCacheCount:0,needAutoBitrate:!0,keyValue:null,drm:null,switchBitRateWay:!1,enableWorker:!1,bufferThreshold:10,removeBufferLen:40,focusUserDefinition:!1,resumePlayWaterLevel:2,waitJampBufferMaxCnt:3,waitingInBufferTimeOut:5e3,h265Degrade:!1,forceVideoPlay:!1,segmentMinDuration:2,supportHevc:void 0,H264Config:null}}},{key:"speed",get:function(){return Ede}},{key:"realTimeSpeed",get:function(){return Ede}},{key:"version",get:function(){return Kte}}]),i}(cF);return Nde.isSupported=function(){return zse()&&Ase()&&!Dse()},Nde.isEMESupported=jse,Nde.isSupportedWithXgmse=function(){return Ase()&&!Dse()},Nde.isMediaSourceSupported=zse,Nde.isWebAssemblySupported=Ase,Nde.getPlayLicenses=Zie,Nde.CUSTOM_EVENTS=Sce,Nde.Mp4Preloader=Lce,VePlayer.register("plugin:mp4",Nde),Nde}));