From c27bf00b1ac8d9f7baa4cdf55d1f9b2c9d5f4edc Mon Sep 17 00:00:00 2001 From: wancheng1990 <25022549@qq.com> Date: Wed, 25 Dec 2024 15:23:43 +0800 Subject: [PATCH] fix bug --- demo/document.md | 3 +-- demo/public/dist.zip | Bin 535810 -> 535223 bytes demo/public/pro.zip | Bin 15058039 -> 15058153 bytes demo/public/pro/demo-ai-check-frame.html | 11 +++++++++++ demo/public/qrcode.jpeg | Bin 111426 -> 109394 bytes dist/decoder.js | 2 +- dist/jessibuca.js | 2 +- src/demux/m7sLoader.js | 1 - src/recorder/recordRTCLoader.js | 1 + src/worker/index.js | 9 ++++++--- 10 files changed, 21 insertions(+), 8 deletions(-) diff --git a/demo/document.md b/demo/document.md index 3eb61e6e..a62bbdab 100644 --- a/demo/document.md +++ b/demo/document.md @@ -927,8 +927,7 @@ https://blog.csdn.net/nbwgl/article/details/122652003 使用`http`协议启动,可以配合`nginx`或者`node` 启动。 -> pro 支持通过配置参数,只使用mse解码,不启动worker。 见 demo-file.html - +> ~~pro 支持通过配置参数,只使用mse解码,不启动worker。 见 demo-file.html~~ 暂不推荐,这种只能走硬解码,没法走软解码。推荐走加载CDN资源的方案。 #### 方案二:加载CDN资源 diff --git a/demo/public/dist.zip b/demo/public/dist.zip index 0f217b31ae69180cfe73f10db747fb8bb29c0a28..5808e0031abab5d58acf77f905d739c192b6c374 100644 GIT binary patch delta 113033 zcmZs?Wl-ip4<`r@?(XicgWKSPySux)|8a-G9frZ(WpE$d-Q5}7_1<^)_V#Y;Qq`Rg zopdU{q^die>fklf)Jf5v~gyB7i&IOGF37})=i z`Jb||V6gv{)&3t!|Cu%tbqEmtm)1?z?x7I zY~}ioVIU%DU)(pLq!sMY8m=j_P*l-Kf72Sb4G#j*NFw%MC}A~jt^~he_&iJjcKs6> z?$&z4e2Ux?Ih^*n$w{$sT%lM70*q+3Fs=WwwsFd}rJVY?F@SNtI&OFXEdg!YB4^>oF zEQco-8H!u)NhiLbIQTqNUf?*OVm_H>A`^K7+zO54wTm0l>h!F9yMAWsoB4$kDYcX=+ykY7&+xgznO6~@)hL@=Y1deCusZftu|1!zmbd_K5� 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

y0D9zbkyC)b}Uk60q1SVA-hbpvRImR1pI% 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 yA3^ delta 113474 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.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¨V-$a?fQ+9QNE zZB!P#`^3TSrKa-c)?xts+m>RHjJ z2ujd1KrI1$>9PW9y&0mqipZIh#sGRRZ!wAq{FEUecRF8BJeJ^>+X}yX=Z_h{TCV$S z<9$U>r=^S-8HWDFkPEMAhSd~bVglz3$^yAhtakK6glA^i!E%o{YWxFf|JV#{1yS)G zHhdV|#f7UYUA+}@J!aiR7byfZruwxHu8I5uK&v{3NK@6<15+;_cnoZP}JrYya&9 zER6ZrbgTAn5W^8!F;tBsWla$cEPrw18UYMZ%mNY4>8NHi+nTK8qgMG;B(={al>eCq z;K(n3If6P%=(yY;)WVV6@-<9L;CNagYJ-q;f2gqJeg7R&RRI=`S3N&#iUJ%gOA!)G zRRIzT6AbR-)oN>|3-)g<|KmysMha$ZtRyC(qOQYYZsY34!fb47;p%Gh#of%5+16E4 z0~rj~1&+qb0-nao9D~NnJwBLL*O?40bkZ{OC|09r~lgG~zYE4y%iP4EevxF}E;tGPiJH_B3^M_*>3D z;XmZW2h#t45~HIs0o+4`qeRrbwYN09v$y=XHew;c4M9WxrE?PA{}{?l;(#S8!P#=mit{=)fJSHk~KIA{rA|IM}k2grY?CixfSzeW!Fe}WwUfc%@< z{}>|wPEO^&lKU&t{@DtG-WtIF8@c}x^xx@`{58GA&7!~@br`T=7&NedrFR+x0{)_d z!~5GRe}(H`*7e@Ne%|`EV6TuTOBmOZ0!^`)^_J4`|i@%J(n#|7R-* jdZPL7eE(za{&&FujHidgML`5Z1Y?B)18bv&`vCi2rT*GK diff --git a/demo/public/pro.zip b/demo/public/pro.zip index 33ed74d07d39b21e457927d184c70508c7274752..05d6623a0a32f427af9926490478e99266055b8c 100644 GIT binary patch delta 6157 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 IaQOQEKhJ-K(EtDd delta 5862 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 WExip}+G2&0Z{ya?Z1Fh!r2RjifmP}N diff --git a/demo/public/pro/demo-ai-check-frame.html b/demo/public/pro/demo-ai-check-frame.html index 4539830f..9f7ff299 100644 --- a/demo/public/pro/demo-ai-check-frame.html +++ b/demo/public/pro/demo-ai-check-frame.html @@ -79,6 +79,15 @@ />检测到黑屏、绿屏、花屏、马赛克丢弃渲染 +

+
+ 强制识别成flv (播放路径path不是以.flv结尾的,建议勾选上) +
+
输入URL:
@@ -113,6 +122,7 @@ var showOperateBtns = true; // 是否显示按钮 var forceNoOffscreen = true; // var jessibuca = null; + var $isFlv = document.getElementById('isFlv'); function create() { jessibuca = new JessibucaPro({ @@ -128,6 +138,7 @@ useMSE: false, useWCS: false, useSIMD: true, + isFlv: $isFlv.checked === true, showBandwidth: showOperateBtns, // 显示网速 showPerformance: showOperateBtns, // 显示性能 operateBtns: { diff --git a/demo/public/qrcode.jpeg b/demo/public/qrcode.jpeg index 18c28c3f1e77c3cef25786e189539832e0b16ce1..bec8fc17a27fe6c186de3791d4760beb06d15127 100644 GIT binary patch delta 77481 zcmbTec|4Tu|2KR}MJmdYtWyypNm(Kc3L!}gWt&P_lOz$tX;&g46lEl$ER$>{X6%ye zF(ny;WC=6YF=o!WkE!dre&6eRKllASujdc1mzg=|IFIG?dB5ME<(#^)_1%5zA7pdk zi*sIFg7t#w?`S@ajv};~XU``N^cQBY*%fw-TeD5P_@`cWPp}Zyk%qa;y!~QAytF*t z&1Y6$&<--_p0rP zLiTkMcDdQ66lS$}xbUPCtdn`g?tZ?$JtLbBV!+lh3YlxbpTHBnoy;q=TcIPKc4j>< zO6}~1{#Y<0VN2Nb&)h%qS^&b^% z;@-r6{hat1xZ0AwibQ@T&Msh>XCV(ZRL7!qFqezjP>mI$2LHz^7*S7PLws;Ed0}50 z8-lag&~SeI=d0Ilwyxfj7>~8l=vF(`bZqxI$*s-RPym{#LY8Dh9f2t3I@E~Czg{_B zG=hSe1FLKL0-+khwVc_7T#p3DyMwMT}*W>c#TN0fRfwFM~TRuo5RZE4)8SPRKSHoN~M>~}ARg%%F$D%EIm+Y-v& ztsd`e$l)_7OTA^UFj?a}t1pRSst_gN4i5p&v@j>fmjxXrw%HtX`jo~ydUeyL@o@=r{e-2NK85~r9mkRk{jG{d zADWICqayi?4=$>YVyHwNA2y`>3#JOgaktn|8IBpw)MY~sE{G{c$2mlArQ~6o$ELX6 zu5-w)7kKn*dd1M8U!L8TTlEWy^L8|guy)L zwDPzIkTw24?Pz5$@N$*Z_qICbTVwV=*?-Ars?#Qq6vmWH))W3Vd6KDrG0XI&j_1|g zdM=N)X#BeRJ@%TEH{4gfP2gVe`nQjFhBs`{d9(khm2g$@A?}$@9uLREw5eeY;?Pr@ z+>p@L)U6PRDZ=Onnr@E2q~M-uu7-mC(6^kOF)n(AUh3))Z(8;V>RiC>}rV`;0j zW+wC8UuHXRr*z)y8l|k_)clDlNq6+!yEQQCaZxKG%!cCOaR(g2hK$%y<4K-Q+#2S^ zeE*($(NxCB(Vlw$3#Y}eN*L~$Sd^>guWDTipbi#O;x{<KSe(p+rl z*?oc4c@;J!q%V=7^La)M!{g3)nqcMa<|f;fA|?^?VVH0gtZWsmY}$zpg*<0^e9>{D z@zfFaPzkxuT(ztGDl?v6UFs{JkOl4PV&VftxA4~%{TUR@PsLn8X9W5Ccg za)!z4j9yL7O4ygq8N;)cxM{F zvxy#it?>qzWTeb9VXj^)`=V%?Or7mg?zX4d9$UXVT0BkIdt(j!Wo-s$gh^NKpZFM@ zDAR@#FFhGxoVq)!|C?Ii+6ULrYR8(NFp}(v9A}6B@_bu1BubF*CpysY<-6OSxVO9a z$+T#yV(a$JcOFP@bjee%nPNly%=46K^+hQcn^xe?q9n(>jXR! zY^Uo#um9|B>v*O>7P5hPil!2)bBWBY5F6@j=3%Y;_B0JvCiXT3C+x4?-D=RARsHrpYqx)| z)G-6eaP)rem%>~h{tc_@3#17Ai_c7zZ1VSHP0?G|J9b)yzI$$cNUD-l*IXD>Kcup< z6^mv=7ruG1giEa>CFfAlj<{%(~dpsiYT7TzKp7# zutf3dV2w?p<-w)^52c;qDhB(%alRQn-(Sy$xJ>B4jsNpyp9ymh8$!XI@6aq3m{iR3 z->ym=x5pt!Bga$M1GDJhFv1_`1&r_?ug;^Wxy+!yFn0-HZv20Hgt*K9bsd-CIvj18 zwK0hek-re>uWD)Nh($7A%Nh>`HpSxl_9m(13MaAEY({*0$YGZJ2rkY`-R|)17jM3* z(VD(_h8)_;$kY2SzbPWuAuz| z?`W&2Z~Hmvj|$uaSvi(WnA>C{xI@f6ONEw8ZgZdBZOF7-xAt=Pr{`bnOi-nr;$fKs~+ zVa7uAia4Xn<|C?<$V}b<@V6T^>dGxYe`q*F}UsZZXTQudH7-&YW*1yHOAiM#Zs1H9 zO^@L$$N(&87%T|I1T^nwguM$)g*Yt0;t^s)5OA|$AWR}DG#(@zd=hdUrU`Q`eivzD z9_sZ{Cvv+oGM>ZoPyKwaNt@I-v?YCkc!rd+GuIGy)1QJRNi^V=gx<2Dt~iXR4bLm= z4yy6Xmkt=Rn}BlL=R!67(#uqz;+8|3cx)m1QVe4R5sn51%UFX()>{HI><0c4PX~Lf zZvtivR!^^lR<@H$kdL@IEqCG)*x&xUj&Kf8I%o60WILKyj+QIy188KYHMdA{wTy+I1x zZ&`)tk@|Y_Vjn!3Jl}Yeph6?xsdADk4cwFDEAog-!^qs5y6P`!)P73J+`gwg{KGtE-7ow9zM)WSRA%9qVwIBVKXy6!3T&n}c zirqYaKpTEx0oF=-rcl!eVdq!R1M@VgCoX;*0Ul;Xi{A`?sC~hPNCRlbcKjPGX2?>& zzj2z}pdmL=c!c-P;}N)DLTt6*V5f~LO!cePz7p5S%1ERQ^f%0dbM|;N?Yr*bP`SXa z5M7lrEM*mt_J>Ab{iNr>NPRzYOd=GR#NRf&U>TXR1$&`q)(hDozm(ICQ>?u<*|hnN z@vy4&!2G~ih|ZB(%$(LZytJhPoa;Tzjr(x&4@O5Fyx!H;VyWKD5`MmOG4BcdC*2Kkg$7+y@Hswg1_GUy&!su%XwU&B#6Vd4Mwl;0!z6&{RPb zBA4$DZ^wGQawBPoR=zRy^pP-93`!9hDA;doI2tU>Rd>=gD?~dUj>ODaF}2vx#qIFI zPK-OLw%<6%H``sKKQ1CnDgXSobC2?_?$_es33nhe_W|7da|3=9vMXd?a5s7Gj2ys* zV{k$N9172!Ek!Y=fwdqN4?03>hjJQ<0q5szzYQv4qP{1@cdezXI=5nri`2yIlJtzM5 zCbvJ{Br+wvhI%3tP2=$2Z9=W}abuvi^j=wD~Gfqb=vU(cf`w z=xBA&ZF{e1!Ztd(KCMdpMI4+{Ry`_F^=@-ReC*59^{P@EirPc?=HY%N#PkI44Tp>1 z#`%s3=N;v#NcwP)oP)~w(A<)T`Pv)A4xA0=KNJ4>Bv0LE8xn?^9n9IBtpL0az{tLM zx)mD&J~qw^JWmV_w1GZK#tLH(|Jx~HdL^1-!UUgZf|DG&%!Zf_5H`-}D!spsY)*?R zxp)PY>gjQNud1AB|EmVBqz?BcfDja_DDw_MnsfFQNQ^B#;J@F2<}LdxkfYP`NF8d` zVrndnVYgHWp!~2Y_)av^6R`3kL~oip3p4Lky08KOZ)NgzNhuw!C(iAgz%5RRA|Xoc zXjinj2Z6t&3s=7!)?1YQ$n5wYIm5{2K^`efGiWhJX%s_uU_)EraSZ_2JZxyI3CBk6 zpcf=8ncU&vzf6ImJbVKD7gYBDfl6(aIN}!RGuC}Qn`(}u77ppc1K>KPpYi>zh@muC zRFMs;O=;Zm(JV$cxDTG&N}Xlhc#F8{ORG{kRs<%9i^~E?l+w&39Z17DR1Z8ggJNy6 z`TjZeqBYma)crYJ>k?JhCP`n_hkNJcrvWC&3_b=L11z%ZjZKg5|MuQVp8Hlt!jO$6 zH6JmviAMk0DS$*MJu1RcY?u%6{O}h;6pQyHPygb7kqv=xk_BvJG!Njd;{$LTeK8a_ zdNh9=wb*CL5?)+_)v-R*gNPXcpo9ZB+b&Ct(@8FSxJgRlBu${c&C;w}Ij-$TbMlW& zU;E)RPOV$Cxg8>fx#mQfdoW-dxq#*7q3M+)i>z&IsGd>U?}+F5I(wn{@wP?JchG$U znP(!)p4cGTGGf;E4p~4mb}MivQ^&&d=t*bek9Wa^NY`zJOU1KiKR`)faK0%b#q2i? zZvdRY85y_a%Z3v1xiD!Dh*nP9^nK z9yG=Gx1~>jn*%$f$E>W0fmXTy9t+1@3taTh^Z$B{j|a-PxM!G1;7gqn*HSk&;*fk>-U_%4uVr`u!)$&Y|!y~NglwQ8z*>{ea7pkEIl$Fy=3-8 z^uy3H{t*5>RvnDF1PsdYI&kkbA$q{kBb5NjhoDz9ffI-Vfyg;L2&4{L-hw@5ATiJi zHzJI0Krz6ZqXQ_WL%{N{`62uky1`<}urm7BrE!B%oR;kOis0ahLzCL1*PX6hQeiLU zGsTK{5K$Y>RtvzRVCqaGKR?u@EE~GXh7{>i$Z8Pag4;lL;3a+-lEEe zcA%K)V88C+P3TrZUeuU6M)UASHgtKwU1)FLM7Z7p_u8@jUq+W31383f!y!Z<9V1TFY?^KkUYvWT_V6T^^+Kye+zDi`sY&I) z*qBk2?7;e;P9X>UM|;i25eXQC5R}V%q96JfvYsv3FFOwv2)2ESSLN z9EIR;DF9!&)|#Q4Cfju{Hvqbl@MIDmWHY$yrHI^QXxK$Tl2Q=9rUH%iATi1oDKT${={cB*$ZlFQ>E~tG zCHY{8>5qr}AtWcv4x|G&XMGdSCNp+VO-({0z*S>{1*k~A-sAkqroowkP+9PW;^a+Q zXLnFd%$@@?D522U(4)VN8SWqgI2|pVBF`QH<}Xvk7otZ5*7}vYiiDF__5j-9Kz2to zc>!G4@;^RlSqDC;QXVd}C}r`SS#{`){doFA!v4&V6X*43l=AT@=qqe!Wse{T1oSYh z4N8*%5It!ape1@M{KXh%ZFk2tbpW7msGN*ffq>nm_Kq20+VLZ!G>UU*s)pXM>)^@sf6zu6C3t@ux7Yl1yg zR(R-vNaX-5i+7>^WZvuln+0ibe+ObPC->5Zv z9H15u!sB0+CMv13@i0Hud_+a$JjQjKcZb*J#F}68*_ZW}uU@?Kt1d+EMpiWn5yr%W z>qU5wb%6XD0Z{R&Gy|OH3ui-XhJiojaknew($9iuLkX_OEo}kQGZg8B>+W%Oe@!O9 z>9-)n9H5HUlEqyI)w{}+kDQ1(Y-j%VM{?w+tA^o;*ZBedXkrwCLAWt@M*fc$#OF`_ z5a`DsW)W;?aYA5DjVs~5S$6m+4c89}J zDbqJ%PRN|q5lZ-=#`Q6{oj7-PVV3a&jl{S!`UzP2VQNWZhA3?@qp;vyqe!;Z$AZ@D z_YE%ZxXvGt#^4XpQ=x+++r?)myPE#Q} zmcN0takwMOQGuG0qON?ST`3T@PQJLQLVQymkArbSN>KJPY9H&@6^HY$zfR)lVIXFTL; z#|F`ZC@`PDM*pf|cVG99*;CuR)#B%bZ}>aw*5KFSed$v)`Fd$pY9s;1J#%bP|Lk{n zk45Irj# z2+RdrQhIPNZcfe(v$PdNm|prQHJk4QaX`9(zO#5q@|}gEctqF+q*2BG@_>`;Ea?vDE$DGQ zm?{o}q<3Ty{|Y=6rJA z$&2PyzeeF~SivIOckQ zH+S(D=zc@fJn*o5L;=%sc$F(}O0>yRZ|DPU_R9~^ABIp}rj*i{IAeY(5NxLTbCwGb z(jEHZ!6^Dg3QEAeb230LQ5nCZy=85;#(^BmO$|5Y-t+O8DR7UF> z>l|jAi7QG0%d4FL6z@!hfj}yQ?ny1FO=}Ll2?v>c-c>oxiq|&|H@4%!{!E7WC`<{U^B`eK@Q^I1azJkGm<>#kmzV*J<9NPu8~iD5 zFaGC8O)V{XuGa_LXCo1mzf)c1J@UA=*VlcQW9w#r9$PUqklEDWYh~AO{mkptM0tN? zl4yD5UFW-Zb|ha+s9nmx6vC&F6{3Ur?^utJ!pet7Pjth-cCw+;L4sSR!22q#zjbUe zJiew1#w?Yvp$C4^@Kj;*oY_)5Km4Kk1;`6x7!Y2Im8m0C{aThZesZAB9`w?fJt(v~i(0z*ho)QZTFH1TDH4 zU?Yq^8-|MBz~j02;ymtAOuqyO7K@QzD8^1jm9L!05uBGNfbOHoD$|?67d$|k>y`j( zOS0&%RnAKzHdGG$b(a~$KoV03PV|GNoMu! z=th-087kd`9aGlYx2pZTJl55o8#dhkoIAA96)V+OrgFzoDM+Fz^@fM-jc>X&74Lo= zjXAS^L^7m#9;mA1vVr(ResBRuLiudJl`nn(RD@( z5~vH=pNBur%D5?|(%`86uB7i*R#k<$X!0q82ivtFc$ddGntqnR1C*F^GqQpn(HF=3 zUkT3f{BS(VA8$n4m!IQi`{R2~WZXdc64luF%X1UOSBJ)-HI*H3Sn4unE7l+|*MHEj z@7HwUaoQ2zkJ;(Hew&=02%^OyDr2>z9-dQi1I8%;QZL+yh)XDO{CqJm8B02;Er8g7 z+x}&;A|)kwM^)6|pkIu_=h$6JTcDBGz~+=ihEXM6_k3ps9jET%-IK_Bx7J+}d~iz; zbBGxk7z7E!;`G7g;pn);xto@P7{!8EXy6cpb6=eOTG1Hr^DfFkd@0vESh+z?MJ>GK z@cg$gCwblszA_9RaxodgnCK1l5{ilLlONy7N}|Lcv61rEbv z|1d0hbpywbYaQRO>iBEc56Vy@7yHVx?HoHq=8wk1iccbWqosmOi$)p;xvAyhlpq_M z?wjW3y2ef2cK1B))NU5Olam~+Yao^>a7=2C(ufM(mT(BzK+5twih?;3+|fUnJ1nrK z^>)Fa`R(f}IkBcYTlz(KQD7gAWf#H2%8TvkLl!rdnw-PN20xzPl@O4>PIfD14@km) zrZvN?O%>#2z&d;o`A^0O;M4Dnks}6k0=tWfq>gl~H!AY4Yf^SPo#?hpQ&VfN)d^wm z`|HeUUKC*4YF^RW?ay9}Tc?mt8plcIMWm}C#F z`G4m4o;Hh^4OVmVNxQU%@+Waoj>4T-m!Tld25E(!9iJENx^`wvUNHY)ZEWx)KrxhV zjcEco9=e?Y-7gT%c1fyNQ)SLx?=nM(dv|sl-X`M|Mm^1B_rVYPkhkAq|ykA zZW|0}?^((!!T{%L=f7{vgUmCYYIEXpM&QQVvOc|EnzC`9(x5q@UH?z{Q#_dVi^X{m z_fWw^+m8Yjh)OBw8E-Ao1}MD-&gpon0GOR=i0+rI{fFZX}|BPk8

q=t{%@N3FCM&2WGbUM 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Ⓢ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 diff --git a/dist/decoder.js b/dist/decoder.js index 862e87a6..0a9a501f 100644 --- a/dist/decoder.js +++ b/dist/decoder.js @@ -1 +1 @@ -!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(require("path"),require("fs"),require("crypto")):"function"==typeof define&&define.amd?define(["path","fs","crypto"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).path,e.fs,e.crypto$1)}(this,(function(e,r,t){"use strict";function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=n(e),i=n(r),a=n(t);function s(e,r){return e(r={exports:{}},r.exports),r.exports}var l=s((function(e){var r=void 0!==r?r:{},t=(r={print:function(e){console.log("Jessibuca: [worker]:",e)},printErr:function(e){console.warn("Jessibuca: [worker]:",e),postMessage({cmd:"wasmError",message:e})}},Object.assign({},r)),n="./this.program",s="object"==typeof window,l="function"==typeof importScripts,u="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,c=!s&&!u&&!l;if(r.ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)");var d,f,p,m,h,g,v="";if(u){if("object"!=typeof process)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?)");v=l?o.default.dirname(v)+"/":__dirname+"/",g=()=>{h||(m=i.default,h=o.default)},d=function(e,r){return g(),e=h.normalize(e),m.readFileSync(e,r?void 0:"utf8")},p=e=>{var r=d(e,!0);return r.buffer||(r=new Uint8Array(r)),F(r.buffer),r},f=(e,r,t)=>{g(),e=h.normalize(e),m.readFile(e,(function(e,n){e?t(e):r(n.buffer)}))},process.argv.length>1&&(n=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),e.exports=r,process.on("uncaughtException",(function(e){if(!(e instanceof Pt))throw e})),process.on("unhandledRejection",(function(e){throw e})),r.inspect=function(){return"[Emscripten Module object]"}}else if(c){if("object"==typeof process||"object"==typeof 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?)");"undefined"!=typeof read&&(d=function(e){return read(e)}),p=function(e){let r;return"function"==typeof readbuffer?new Uint8Array(readbuffer(e)):(r=read(e,"binary"),F("object"==typeof r),r)},f=function(e,r,t){setTimeout((()=>r(p(e))),0)},"undefined"!=typeof scriptArgs&&scriptArgs,"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)}else{if(!s&&!l)throw new Error("environment detection error");if(l?v=self.location.href:"undefined"!=typeof document&&document.currentScript&&(v=document.currentScript.src),v=0!==v.indexOf("blob:")?v.substr(0,v.replace(/[?#].*/,"").lastIndexOf("/")+1):"","object"!=typeof 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?)");d=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},l&&(p=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),f=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?r(n.response):t()},n.onerror=t,n.send(null)}}var y,E,w,b=r.print||console.log.bind(console),_=r.printErr||console.warn.bind(console);function T(e){T.shown||(T.shown={}),T.shown[e]||(T.shown[e]=1,_(e))}function k(e,t){Object.getOwnPropertyDescriptor(r,e)||Object.defineProperty(r,e,{configurable:!0,get:function(){ge("Module."+e+" has been replaced with plain "+t+" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}})}function S(e,r){var t="'"+e+"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)";return r&&(t+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),t}function C(e,t){Object.getOwnPropertyDescriptor(r,e)||Object.defineProperty(r,e,{configurable:!0,get:function(){ge(S(e,t))}})}function P(e,t){Object.getOwnPropertyDescriptor(r,e)||(r[e]=()=>ge(S(e,t)))}Object.assign(r,t),t=null,y="fetchSettings",Object.getOwnPropertyDescriptor(r,y)&&ge("`Module."+y+"` was supplied but `"+y+"` not included in INCOMING_MODULE_JS_API"),r.arguments&&r.arguments,k("arguments","arguments_"),r.thisProgram&&(n=r.thisProgram),k("thisProgram","thisProgram"),r.quit&&r.quit,k("quit","quit_"),F(void 0===r.memoryInitializerPrefixURL,"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),F(void 0===r.pthreadMainPrefixURL,"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),F(void 0===r.cdInitializerPrefixURL,"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),F(void 0===r.filePackagePrefixURL,"Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),F(void 0===r.read,"Module.read option was removed (modify read_ in JS)"),F(void 0===r.readAsync,"Module.readAsync option was removed (modify readAsync in JS)"),F(void 0===r.readBinary,"Module.readBinary option was removed (modify readBinary in JS)"),F(void 0===r.setWindowTitle,"Module.setWindowTitle option was removed (modify setWindowTitle in JS)"),F(void 0===r.TOTAL_MEMORY,"Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),k("read","read_"),k("readAsync","readAsync"),k("readBinary","readBinary"),k("setWindowTitle","setWindowTitle"),F(!c,"shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable."),r.wasmBinary&&(E=r.wasmBinary),k("wasmBinary","wasmBinary"),r.noExitRuntime,k("noExitRuntime","noExitRuntime"),"object"!=typeof WebAssembly&&ge("no native wasm support detected");var A=!1;function F(e,r){e||ge("Assertion failed"+(r?": "+r:""))}var D="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function O(e,r,t){for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;if(o-r>16&&e.buffer&&D)return D.decode(e.subarray(r,o));for(var i="";r>10,56320|1023&u)}}else i+=String.fromCharCode((31&a)<<6|s)}else i+=String.fromCharCode(a)}return i}function R(e,r){return e?O(U,e,r):""}function M(e,r,t,n){if(!(n>0))return 0;for(var o=t,i=t+n-1,a=0;a=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a);if(s<=127){if(t>=i)break;r[t++]=s}else if(s<=2047){if(t+1>=i)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=i)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=i)break;s>1114111&&T("Invalid Unicode code point 0x"+s.toString(16)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF)."),r[t++]=240|s>>18,r[t++]=128|s>>12&63,r[t++]=128|s>>6&63,r[t++]=128|63&s}}return r[t]=0,t-o}function N(e,r,t){return F("number"==typeof t,"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),M(e,U,r,t)}function I(e){for(var r=0,t=0;t=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++t)),n<=127?++r:r+=n<=2047?2:n<=65535?3:4}return r}var L,x,U,B,j,$,W,z,H,G="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function V(e,r){F(e%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");for(var t=e,n=t>>1,o=n+r/2;!(n>=o)&&j[n];)++n;if((t=n<<1)-e>32&&G)return G.decode(U.subarray(e,t));for(var i="",a=0;!(a>=r/2);++a){var s=B[e+2*a>>1];if(0==s)break;i+=String.fromCharCode(s)}return i}function q(e,r,t){if(F(r%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!"),F("number"==typeof t,"stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),void 0===t&&(t=2147483647),t<2)return 0;for(var n=r,o=(t-=2)<2*e.length?t/2:e.length,i=0;i>1]=a,r+=2}return B[r>>1]=0,r-n}function Y(e){return 2*e.length}function X(e,r){F(e%4==0,"Pointer passed to UTF32ToString must be aligned to four bytes!");for(var t=0,n="";!(t>=r/4);){var o=$[e+4*t>>2];if(0==o)break;if(++t,o>=65536){var i=o-65536;n+=String.fromCharCode(55296|i>>10,56320|1023&i)}else n+=String.fromCharCode(o)}return n}function K(e,r,t){if(F(r%4==0,"Pointer passed to stringToUTF32 must be aligned to four bytes!"),F("number"==typeof t,"stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),void 0===t&&(t=2147483647),t<4)return 0;for(var n=r,o=n+t-4,i=0;i=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++i);if($[r>>2]=a,(r+=4)+4>o)break}return $[r>>2]=0,r-n}function J(e){for(var r=0,t=0;t=55296&&n<=57343&&++t,r+=4}return r}function Q(e){var r=I(e)+1,t=yt(r);return t&&M(e,x,t,r),t}function Z(e){L=e,r.HEAP8=x=new Int8Array(e),r.HEAP16=B=new Int16Array(e),r.HEAP32=$=new Int32Array(e),r.HEAPU8=U=new Uint8Array(e),r.HEAPU16=j=new Uint16Array(e),r.HEAPU32=W=new Uint32Array(e),r.HEAPF32=z=new Float32Array(e),r.HEAPF64=H=new Float64Array(e)}var ee=5242880;r.TOTAL_STACK&&F(ee===r.TOTAL_STACK,"the stack size can no longer be determined at runtime");var re,te=r.INITIAL_MEMORY||67108864;function ne(){var e=Ct();F(0==(3&e)),$[e>>2]=34821223,$[e+4>>2]=2310721022,$[0]=1668509029}function oe(){if(!A){var e=Ct(),r=W[e>>2],t=W[e+4>>2];34821223==r&&2310721022==t||ge("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x2135467, but received 0x"+t.toString(16)+" 0x"+r.toString(16)),1668509029!==$[0]&&ge("Runtime error: The application has corrupted its heap memory area (address zero)!")}}k("INITIAL_MEMORY","INITIAL_MEMORY"),F(te>=ee,"INITIAL_MEMORY should be larger than TOTAL_STACK, was "+te+"! (TOTAL_STACK="+ee+")"),F("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&null!=Int32Array.prototype.subarray&&null!=Int32Array.prototype.set,"JS engine does not provide full typed array support"),F(!r.wasmMemory,"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally"),F(67108864==te,"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically"),function(){var e=new Int16Array(1),r=new Int8Array(e.buffer);if(e[0]=25459,115!==r[0]||99!==r[1])throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"}();var ie=[],ae=[],se=[],le=!1;F(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),F(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),F(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),F(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var ue=0,ce=null,de=null,fe={};function pe(e){for(var r=e;;){if(!fe[e])return e;e=r+Math.random()}}function me(e){ue++,r.monitorRunDependencies&&r.monitorRunDependencies(ue),e?(F(!fe[e]),fe[e]=1,null===ce&&"undefined"!=typeof setInterval&&(ce=setInterval((function(){if(A)return clearInterval(ce),void(ce=null);var e=!1;for(var r in fe)e||(e=!0,_("still waiting on run dependencies:")),_("dependency: "+r);e&&_("(end of list)")}),1e4))):_("warning: run dependency added without ID")}function he(e){if(ue--,r.monitorRunDependencies&&r.monitorRunDependencies(ue),e?(F(fe[e]),delete fe[e]):_("warning: run dependency removed without ID"),0==ue&&(null!==ce&&(clearInterval(ce),ce=null),de)){var t=de;de=null,t()}}function ge(e){throw r.onAbort&&r.onAbort(e),_(e="Aborted("+e+")"),A=!0,new WebAssembly.RuntimeError(e)}var ve,ye,Ee,we="data:application/octet-stream;base64,";function be(e){return e.startsWith(we)}function _e(e){return e.startsWith("file://")}function Te(e,t){return function(){var n=e,o=t;return t||(o=r.asm),F(le,"native function `"+n+"` called before runtime initialization"),o[e]||F(o[e],"exported native function `"+n+"` not found"),o[e].apply(null,arguments)}}function ke(e){try{if(e==ve&&E)return new Uint8Array(E);if(p)return p(e);throw"both async and sync fetching of the wasm failed"}catch(e){ge(e)}}function Se(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var n=t.func;"number"==typeof n?void 0===t.arg?Pe(n)():Pe(n)(t.arg):n(void 0===t.arg?null:t.arg)}else t(r)}}function Ce(e){return e.replace(/\b_Z[\w\d_]+/g,(function(e){var r,t=(r=e,T("warning: build with -sDEMANGLE_SUPPORT to link in libcxxabi demangling"),r);return e===t?e:t+" ["+e+"]"}))}function Pe(e){return re.get(e)}be(ve="decoder.wasm")||(ve=function(e){return r.locateFile?r.locateFile(e,v):v+e}(ve));var Ae={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,r)=>{for(var t=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=Ae.isAbs(e),t="/"===e.substr(-1);return(e=Ae.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=Ae.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=Ae.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===r?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments,0);return Ae.normalize(e.join("/"))},join2:(e,r)=>Ae.normalize(e+"/"+r)};var Fe={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:Ie.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=Ae.isAbs(n)}return(r?"/":"")+(e=Ae.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||"."},relative:(e,r)=>{function t(e){for(var r=0;r=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=Fe.resolve(e).substr(1),r=Fe.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),i=Math.min(n.length,o.length),a=i,s=0;s0?t.slice(0,n).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(r=window.prompt("Input: "))&&(r+="\n"):"function"==typeof readline&&null!==(r=readline())&&(r+="\n");if(!r)return null;e.input=ht(r,!0)}return e.input.shift()},put_char:function(e,r){null===r||10===r?(b(O(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},flush:function(e){e.output&&e.output.length>0&&(b(O(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,r){null===r||10===r?(_(O(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},flush:function(e){e.output&&e.output.length>0&&(_(O(e.output,0)),e.output=[])}}};function Oe(e){e=function(e,r){return F(r,"alignment argument is required"),Math.ceil(e/r)*r}(e,65536);var r=Tt(65536,e);return r?(function(e,r){U.fill(0,e,e+r)}(r,e),r):0}var Re={ops_table:null,mount:function(e){return Re.createNode(null,"/",16895,0)},createNode:function(e,r,t,n){if(Ie.isBlkdev(t)||Ie.isFIFO(t))throw new Ie.ErrnoError(63);Re.ops_table||(Re.ops_table={dir:{node:{getattr:Re.node_ops.getattr,setattr:Re.node_ops.setattr,lookup:Re.node_ops.lookup,mknod:Re.node_ops.mknod,rename:Re.node_ops.rename,unlink:Re.node_ops.unlink,rmdir:Re.node_ops.rmdir,readdir:Re.node_ops.readdir,symlink:Re.node_ops.symlink},stream:{llseek:Re.stream_ops.llseek}},file:{node:{getattr:Re.node_ops.getattr,setattr:Re.node_ops.setattr},stream:{llseek:Re.stream_ops.llseek,read:Re.stream_ops.read,write:Re.stream_ops.write,allocate:Re.stream_ops.allocate,mmap:Re.stream_ops.mmap,msync:Re.stream_ops.msync}},link:{node:{getattr:Re.node_ops.getattr,setattr:Re.node_ops.setattr,readlink:Re.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Re.node_ops.getattr,setattr:Re.node_ops.setattr},stream:Ie.chrdev_stream_ops}});var o=Ie.createNode(e,r,t,n);return Ie.isDir(o.mode)?(o.node_ops=Re.ops_table.dir.node,o.stream_ops=Re.ops_table.dir.stream,o.contents={}):Ie.isFile(o.mode)?(o.node_ops=Re.ops_table.file.node,o.stream_ops=Re.ops_table.file.stream,o.usedBytes=0,o.contents=null):Ie.isLink(o.mode)?(o.node_ops=Re.ops_table.link.node,o.stream_ops=Re.ops_table.link.stream):Ie.isChrdev(o.mode)&&(o.node_ops=Re.ops_table.chrdev.node,o.stream_ops=Re.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){r=Math.max(r,t*(t<1048576?2:1.125)>>>0),0!=t&&(r=Math.max(r,256));var n=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,r){if(e.usedBytes!=r)if(0==r)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr:function(e){var r={};return r.dev=Ie.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,Ie.isDir(e.mode)?r.size=4096:Ie.isFile(e.mode)?r.size=e.usedBytes:Ie.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr:function(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp),void 0!==r.size&&Re.resizeFileStorage(e,r.size)},lookup:function(e,r){throw Ie.genericErrors[44]},mknod:function(e,r,t,n){return Re.createNode(e,r,t,n)},rename:function(e,r,t){if(Ie.isDir(e.mode)){var n;try{n=Ie.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new Ie.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink:function(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir:function(e,r){var t=Ie.lookupNode(e,r);for(var n in t.contents)throw new Ie.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},readdir:function(e){var r=[".",".."];for(var t in e.contents)e.contents.hasOwnProperty(t)&&r.push(t);return r},symlink:function(e,r,t){var n=Re.createNode(e,r,41471,0);return n.link=t,n},readlink:function(e){if(!Ie.isLink(e.mode))throw new Ie.ErrnoError(28);return e.link}},stream_ops:{read:function(e,r,t,n,o){var i=e.node.contents;if(o>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-o,n);if(F(a>=0),a>8&&i.subarray)r.set(i.subarray(o,o+a),t);else for(var s=0;s0||n+t{if(!(e=Fe.resolve(Ie.cwd(),e)))return{path:"",node:null};if((r=Object.assign({follow_mount:!0,recurse_count:0},r)).recurse_count>8)throw new Ie.ErrnoError(32);for(var t=Ae.normalizeArray(e.split("/").filter((e=>!!e)),!1),n=Ie.root,o="/",i=0;i40)throw new Ie.ErrnoError(32)}}return{path:o,node:n}},getPath:e=>{for(var r;;){if(Ie.isRoot(e)){var t=e.mount.mountpoint;return r?"/"!==t[t.length-1]?t+"/"+r:t+r:t}r=r?e.name+"/"+r:e.name,e=e.parent}},hashName:(e,r)=>{for(var t=0,n=0;n>>0)%Ie.nameTable.length},hashAddNode:e=>{var r=Ie.hashName(e.parent.id,e.name);e.name_next=Ie.nameTable[r],Ie.nameTable[r]=e},hashRemoveNode:e=>{var r=Ie.hashName(e.parent.id,e.name);if(Ie.nameTable[r]===e)Ie.nameTable[r]=e.name_next;else for(var t=Ie.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode:(e,r)=>{var t=Ie.mayLookup(e);if(t)throw new Ie.ErrnoError(t,e);for(var n=Ie.hashName(e.id,r),o=Ie.nameTable[n];o;o=o.name_next){var i=o.name;if(o.parent.id===e.id&&i===r)return o}return Ie.lookup(e,r)},createNode:(e,r,t,n)=>{F("object"==typeof e);var o=new Ie.FSNode(e,r,t,n);return Ie.hashAddNode(o),o},destroyNode:e=>{Ie.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var r=Ie.flagModes[e];if(void 0===r)throw new Error("Unknown file open mode: "+e);return r},flagsToPermissionString:e=>{var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>Ie.ignorePermissions||(!r.includes("r")||292&e.mode)&&(!r.includes("w")||146&e.mode)&&(!r.includes("x")||73&e.mode)?0:2,mayLookup:e=>{var r=Ie.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate:(e,r)=>{try{Ie.lookupNode(e,r);return 20}catch(e){}return Ie.nodePermissions(e,"wx")},mayDelete:(e,r,t)=>{var n;try{n=Ie.lookupNode(e,r)}catch(e){return e.errno}var o=Ie.nodePermissions(e,"wx");if(o)return o;if(t){if(!Ie.isDir(n.mode))return 54;if(Ie.isRoot(n)||Ie.getPath(n)===Ie.cwd())return 10}else if(Ie.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?Ie.isLink(e.mode)?32:Ie.isDir(e.mode)&&("r"!==Ie.flagsToPermissionString(r)||512&r)?31:Ie.nodePermissions(e,Ie.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd:(e=0,r=Ie.MAX_OPEN_FDS)=>{for(var t=e;t<=r;t++)if(!Ie.streams[t])return t;throw new Ie.ErrnoError(33)},getStream:e=>Ie.streams[e],createStream:(e,r,t)=>{Ie.FSStream||(Ie.FSStream=function(){this.shared={}},Ie.FSStream.prototype={object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get function(){return this.shared.position},set:function(e){this.shared.position=e}}}),e=Object.assign(new Ie.FSStream,e);var n=Ie.nextfd(r,t);return e.fd=n,Ie.streams[n]=e,e},closeStream:e=>{Ie.streams[e]=null},chrdev_stream_ops:{open:e=>{var r=Ie.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new Ie.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice:(e,r)=>{Ie.devices[e]={stream_ops:r}},getDevice:e=>Ie.devices[e],getMounts:e=>{for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push.apply(t,n.mounts)}return r},syncfs:(e,r)=>{"function"==typeof e&&(r=e,e=!1),Ie.syncFSRequests++,Ie.syncFSRequests>1&&_("warning: "+Ie.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var t=Ie.getMounts(Ie.root.mount),n=0;function o(e){return F(Ie.syncFSRequests>0),Ie.syncFSRequests--,r(e)}function i(e){if(e)return i.errored?void 0:(i.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach((r=>{if(!r.type.syncfs)return i(null);r.type.syncfs(r,e,i)}))},mount:(e,r,t)=>{if("string"==typeof e)throw e;var n,o="/"===t,i=!t;if(o&&Ie.root)throw new Ie.ErrnoError(10);if(!o&&!i){var a=Ie.lookupPath(t,{follow_mount:!1});if(t=a.path,n=a.node,Ie.isMountpoint(n))throw new Ie.ErrnoError(10);if(!Ie.isDir(n.mode))throw new Ie.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},l=e.mount(s);return l.mount=s,s.root=l,o?Ie.root=l:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),l},unmount:e=>{var r=Ie.lookupPath(e,{follow_mount:!1});if(!Ie.isMountpoint(r.node))throw new Ie.ErrnoError(28);var t=r.node,n=t.mounted,o=Ie.getMounts(n);Object.keys(Ie.nameTable).forEach((e=>{for(var r=Ie.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&Ie.destroyNode(r),r=t}})),t.mounted=null;var i=t.mount.mounts.indexOf(n);F(-1!==i),t.mount.mounts.splice(i,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod:(e,r,t)=>{var n=Ie.lookupPath(e,{parent:!0}).node,o=Ae.basename(e);if(!o||"."===o||".."===o)throw new Ie.ErrnoError(28);var i=Ie.mayCreate(n,o);if(i)throw new Ie.ErrnoError(i);if(!n.node_ops.mknod)throw new Ie.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=void 0!==r?r:438,r&=4095,r|=32768,Ie.mknod(e,r,0)),mkdir:(e,r)=>(r=void 0!==r?r:511,r&=1023,r|=16384,Ie.mknod(e,r,0)),mkdirTree:(e,r)=>{for(var t=e.split("/"),n="",o=0;o(void 0===t&&(t=r,r=438),r|=8192,Ie.mknod(e,r,t)),symlink:(e,r)=>{if(!Fe.resolve(e))throw new Ie.ErrnoError(44);var t=Ie.lookupPath(r,{parent:!0}).node;if(!t)throw new Ie.ErrnoError(44);var n=Ae.basename(r),o=Ie.mayCreate(t,n);if(o)throw new Ie.ErrnoError(o);if(!t.node_ops.symlink)throw new Ie.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename:(e,r)=>{var t,n,o=Ae.dirname(e),i=Ae.dirname(r),a=Ae.basename(e),s=Ae.basename(r);if(t=Ie.lookupPath(e,{parent:!0}).node,n=Ie.lookupPath(r,{parent:!0}).node,!t||!n)throw new Ie.ErrnoError(44);if(t.mount!==n.mount)throw new Ie.ErrnoError(75);var l,u=Ie.lookupNode(t,a),c=Fe.relative(e,i);if("."!==c.charAt(0))throw new Ie.ErrnoError(28);if("."!==(c=Fe.relative(r,o)).charAt(0))throw new Ie.ErrnoError(55);try{l=Ie.lookupNode(n,s)}catch(e){}if(u!==l){var d=Ie.isDir(u.mode),f=Ie.mayDelete(t,a,d);if(f)throw new Ie.ErrnoError(f);if(f=l?Ie.mayDelete(n,s,d):Ie.mayCreate(n,s))throw new Ie.ErrnoError(f);if(!t.node_ops.rename)throw new Ie.ErrnoError(63);if(Ie.isMountpoint(u)||l&&Ie.isMountpoint(l))throw new Ie.ErrnoError(10);if(n!==t&&(f=Ie.nodePermissions(t,"w")))throw new Ie.ErrnoError(f);Ie.hashRemoveNode(u);try{t.node_ops.rename(u,n,s)}catch(e){throw e}finally{Ie.hashAddNode(u)}}},rmdir:e=>{var r=Ie.lookupPath(e,{parent:!0}).node,t=Ae.basename(e),n=Ie.lookupNode(r,t),o=Ie.mayDelete(r,t,!0);if(o)throw new Ie.ErrnoError(o);if(!r.node_ops.rmdir)throw new Ie.ErrnoError(63);if(Ie.isMountpoint(n))throw new Ie.ErrnoError(10);r.node_ops.rmdir(r,t),Ie.destroyNode(n)},readdir:e=>{var r=Ie.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new Ie.ErrnoError(54);return r.node_ops.readdir(r)},unlink:e=>{var r=Ie.lookupPath(e,{parent:!0}).node;if(!r)throw new Ie.ErrnoError(44);var t=Ae.basename(e),n=Ie.lookupNode(r,t),o=Ie.mayDelete(r,t,!1);if(o)throw new Ie.ErrnoError(o);if(!r.node_ops.unlink)throw new Ie.ErrnoError(63);if(Ie.isMountpoint(n))throw new Ie.ErrnoError(10);r.node_ops.unlink(r,t),Ie.destroyNode(n)},readlink:e=>{var r=Ie.lookupPath(e).node;if(!r)throw new Ie.ErrnoError(44);if(!r.node_ops.readlink)throw new Ie.ErrnoError(28);return Fe.resolve(Ie.getPath(r.parent),r.node_ops.readlink(r))},stat:(e,r)=>{var t=Ie.lookupPath(e,{follow:!r}).node;if(!t)throw new Ie.ErrnoError(44);if(!t.node_ops.getattr)throw new Ie.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>Ie.stat(e,!0),chmod:(e,r,t)=>{var n;"string"==typeof e?n=Ie.lookupPath(e,{follow:!t}).node:n=e;if(!n.node_ops.setattr)throw new Ie.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod:(e,r)=>{Ie.chmod(e,r,!0)},fchmod:(e,r)=>{var t=Ie.getStream(e);if(!t)throw new Ie.ErrnoError(8);Ie.chmod(t.node,r)},chown:(e,r,t,n)=>{var o;"string"==typeof e?o=Ie.lookupPath(e,{follow:!n}).node:o=e;if(!o.node_ops.setattr)throw new Ie.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(e,r,t)=>{Ie.chown(e,r,t,!0)},fchown:(e,r,t)=>{var n=Ie.getStream(e);if(!n)throw new Ie.ErrnoError(8);Ie.chown(n.node,r,t)},truncate:(e,r)=>{if(r<0)throw new Ie.ErrnoError(28);var t;"string"==typeof e?t=Ie.lookupPath(e,{follow:!0}).node:t=e;if(!t.node_ops.setattr)throw new Ie.ErrnoError(63);if(Ie.isDir(t.mode))throw new Ie.ErrnoError(31);if(!Ie.isFile(t.mode))throw new Ie.ErrnoError(28);var n=Ie.nodePermissions(t,"w");if(n)throw new Ie.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate:(e,r)=>{var t=Ie.getStream(e);if(!t)throw new Ie.ErrnoError(8);if(0==(2097155&t.flags))throw new Ie.ErrnoError(28);Ie.truncate(t.node,r)},utime:(e,r,t)=>{var n=Ie.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open:(e,t,n,o,i)=>{if(""===e)throw new Ie.ErrnoError(44);var a;if(n=void 0===n?438:n,n=64&(t="string"==typeof t?Ie.modeStringToFlags(t):t)?4095&n|32768:0,"object"==typeof e)a=e;else{e=Ae.normalize(e);try{a=Ie.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var s=!1;if(64&t)if(a){if(128&t)throw new Ie.ErrnoError(20)}else a=Ie.mknod(e,n,0),s=!0;if(!a)throw new Ie.ErrnoError(44);if(Ie.isChrdev(a.mode)&&(t&=-513),65536&t&&!Ie.isDir(a.mode))throw new Ie.ErrnoError(54);if(!s){var l=Ie.mayOpen(a,t);if(l)throw new Ie.ErrnoError(l)}512&t&&Ie.truncate(a,0),t&=-131713;var u=Ie.createStream({node:a,path:Ie.getPath(a),flags:t,seekable:!0,position:0,stream_ops:a.stream_ops,ungotten:[],error:!1},o,i);return u.stream_ops.open&&u.stream_ops.open(u),!r.logReadFiles||1&t||(Ie.readFiles||(Ie.readFiles={}),e in Ie.readFiles||(Ie.readFiles[e]=1)),u},close:e=>{if(Ie.isClosed(e))throw new Ie.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Ie.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,r,t)=>{if(Ie.isClosed(e))throw new Ie.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Ie.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new Ie.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read:(e,r,t,n,o)=>{if(n<0||o<0)throw new Ie.ErrnoError(28);if(Ie.isClosed(e))throw new Ie.ErrnoError(8);if(1==(2097155&e.flags))throw new Ie.ErrnoError(8);if(Ie.isDir(e.node.mode))throw new Ie.ErrnoError(31);if(!e.stream_ops.read)throw new Ie.ErrnoError(28);var i=void 0!==o;if(i){if(!e.seekable)throw new Ie.ErrnoError(70)}else o=e.position;var a=e.stream_ops.read(e,r,t,n,o);return i||(e.position+=a),a},write:(e,r,t,n,o,i)=>{if(n<0||o<0)throw new Ie.ErrnoError(28);if(Ie.isClosed(e))throw new Ie.ErrnoError(8);if(0==(2097155&e.flags))throw new Ie.ErrnoError(8);if(Ie.isDir(e.node.mode))throw new Ie.ErrnoError(31);if(!e.stream_ops.write)throw new Ie.ErrnoError(28);e.seekable&&1024&e.flags&&Ie.llseek(e,0,2);var a=void 0!==o;if(a){if(!e.seekable)throw new Ie.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,i);return a||(e.position+=s),s},allocate:(e,r,t)=>{if(Ie.isClosed(e))throw new Ie.ErrnoError(8);if(r<0||t<=0)throw new Ie.ErrnoError(28);if(0==(2097155&e.flags))throw new Ie.ErrnoError(8);if(!Ie.isFile(e.node.mode)&&!Ie.isDir(e.node.mode))throw new Ie.ErrnoError(43);if(!e.stream_ops.allocate)throw new Ie.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap:(e,r,t,n,o,i)=>{if(0!=(2&o)&&0==(2&i)&&2!=(2097155&e.flags))throw new Ie.ErrnoError(2);if(1==(2097155&e.flags))throw new Ie.ErrnoError(2);if(!e.stream_ops.mmap)throw new Ie.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o,i)},msync:(e,r,t,n,o)=>e&&e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,munmap:e=>0,ioctl:(e,r,t)=>{if(!e.stream_ops.ioctl)throw new Ie.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile:(e,r={})=>{if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error('Invalid encoding type "'+r.encoding+'"');var t,n=Ie.open(e,r.flags),o=Ie.stat(e).size,i=new Uint8Array(o);return Ie.read(n,i,0,o,0),"utf8"===r.encoding?t=O(i,0):"binary"===r.encoding&&(t=i),Ie.close(n),t},writeFile:(e,r,t={})=>{t.flags=t.flags||577;var n=Ie.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(I(r)+1),i=M(r,o,0,o.length);Ie.write(n,o,0,i,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(r))throw new Error("Unsupported data type");Ie.write(n,r,0,r.byteLength,void 0,t.canOwn)}Ie.close(n)},cwd:()=>Ie.currentPath,chdir:e=>{var r=Ie.lookupPath(e,{follow:!0});if(null===r.node)throw new Ie.ErrnoError(44);if(!Ie.isDir(r.node.mode))throw new Ie.ErrnoError(54);var t=Ie.nodePermissions(r.node,"x");if(t)throw new Ie.ErrnoError(t);Ie.currentPath=r.path},createDefaultDirectories:()=>{Ie.mkdir("/tmp"),Ie.mkdir("/home"),Ie.mkdir("/home/web_user")},createDefaultDevices:()=>{Ie.mkdir("/dev"),Ie.registerDevice(Ie.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),Ie.mkdev("/dev/null",Ie.makedev(1,3)),De.register(Ie.makedev(5,0),De.default_tty_ops),De.register(Ie.makedev(6,0),De.default_tty1_ops),Ie.mkdev("/dev/tty",Ie.makedev(5,0)),Ie.mkdev("/dev/tty1",Ie.makedev(6,0));var e=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}if(u)try{var r=a.default;return function(){return r.randomBytes(1)[0]}}catch(e){}return function(){ge("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")}}();Ie.createDevice("/dev","random",e),Ie.createDevice("/dev","urandom",e),Ie.mkdir("/dev/shm"),Ie.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{Ie.mkdir("/proc");var e=Ie.mkdir("/proc/self");Ie.mkdir("/proc/self/fd"),Ie.mount({mount:()=>{var r=Ie.createNode(e,"fd",16895,73);return r.node_ops={lookup:(e,r)=>{var t=+r,n=Ie.getStream(t);if(!n)throw new Ie.ErrnoError(8);var o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},r}},{},"/proc/self/fd")},createStandardStreams:()=>{r.stdin?Ie.createDevice("/dev","stdin",r.stdin):Ie.symlink("/dev/tty","/dev/stdin"),r.stdout?Ie.createDevice("/dev","stdout",null,r.stdout):Ie.symlink("/dev/tty","/dev/stdout"),r.stderr?Ie.createDevice("/dev","stderr",null,r.stderr):Ie.symlink("/dev/tty1","/dev/stderr");var e=Ie.open("/dev/stdin",0),t=Ie.open("/dev/stdout",1),n=Ie.open("/dev/stderr",1);F(0===e.fd,"invalid handle for stdin ("+e.fd+")"),F(1===t.fd,"invalid handle for stdout ("+t.fd+")"),F(2===n.fd,"invalid handle for stderr ("+n.fd+")")},ensureErrnoError:()=>{Ie.ErrnoError||(Ie.ErrnoError=function(e,r){this.node=r,this.setErrno=function(e){for(var r in this.errno=e,Ne)if(Ne[r]===e){this.code=r;break}},this.setErrno(e),this.message=Me[e],this.stack&&(Object.defineProperty(this,"stack",{value:(new Error).stack,writable:!0}),this.stack=Ce(this.stack))},Ie.ErrnoError.prototype=new Error,Ie.ErrnoError.prototype.constructor=Ie.ErrnoError,[44].forEach((e=>{Ie.genericErrors[e]=new Ie.ErrnoError(e),Ie.genericErrors[e].stack=""})))},staticInit:()=>{Ie.ensureErrnoError(),Ie.nameTable=new Array(4096),Ie.mount(Re,{},"/"),Ie.createDefaultDirectories(),Ie.createDefaultDevices(),Ie.createSpecialDirectories(),Ie.filesystems={MEMFS:Re}},init:(e,t,n)=>{F(!Ie.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),Ie.init.initialized=!0,Ie.ensureErrnoError(),r.stdin=e||r.stdin,r.stdout=t||r.stdout,r.stderr=n||r.stderr,Ie.createStandardStreams()},quit:()=>{Ie.init.initialized=!1,_t();for(var e=0;e{var t=0;return e&&(t|=365),r&&(t|=146),t},findObject:(e,r)=>{var t=Ie.analyzePath(e,r);return t.exists?t.object:null},analyzePath:(e,r)=>{try{e=(n=Ie.lookupPath(e,{follow:!r})).path}catch(e){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=Ie.lookupPath(e,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=Ae.basename(e),n=Ie.lookupPath(e,{follow:!r}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(e){t.error=e.errno}return t},createPath:(e,r,t,n)=>{e="string"==typeof e?e:Ie.getPath(e);for(var o=r.split("/").reverse();o.length;){var i=o.pop();if(i){var a=Ae.join2(e,i);try{Ie.mkdir(a)}catch(e){}e=a}}return a},createFile:(e,r,t,n,o)=>{var i=Ae.join2("string"==typeof e?e:Ie.getPath(e),r),a=Ie.getMode(n,o);return Ie.create(i,a)},createDataFile:(e,r,t,n,o,i)=>{var a=r;e&&(e="string"==typeof e?e:Ie.getPath(e),a=r?Ae.join2(e,r):e);var s=Ie.getMode(n,o),l=Ie.create(a,s);if(t){if("string"==typeof t){for(var u=new Array(t.length),c=0,d=t.length;c{var o=Ae.join2("string"==typeof e?e:Ie.getPath(e),r),i=Ie.getMode(!!t,!!n);Ie.createDevice.major||(Ie.createDevice.major=64);var a=Ie.makedev(Ie.createDevice.major++,0);return Ie.registerDevice(a,{open:e=>{e.seekable=!1},close:e=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(e,r,n,o,i)=>{for(var a=0,s=0;s{for(var a=0;a{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!d)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=ht(d(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new Ie.ErrnoError(29)}},createLazyFile:(e,r,t,n,o)=>{function i(){this.lengthKnown=!1,this.chunks=[]}if(i.prototype.get=function(e){if(!(e>this.length-1||e<0)){var r=e%this.chunkSize,t=e/this.chunkSize|0;return this.getter(t)[r]}},i.prototype.setDataGetter=function(e){this.getter=e},i.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",t,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+t+". Status: "+e.status);var r,n=Number(e.getResponseHeader("Content-length")),o=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,i=(r=e.getResponseHeader("Content-Encoding"))&&"gzip"===r,a=1048576;o||(a=n);var s=this;s.setDataGetter((e=>{var r=e*a,o=(e+1)*a-1;if(o=Math.min(o,n-1),void 0===s.chunks[e]&&(s.chunks[e]=((e,r)=>{if(e>r)throw new Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==a&&o.setRequestHeader("Range","bytes="+e+"-"+r),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):ht(o.responseText||"",!0)})(r,o)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]})),!i&&n||(a=n=1,n=this.getter(0).length,a=n,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!l)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new i;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:a}}else s={isDevice:!1,url:t};var u=Ie.createFile(e,r,s,n,o);s.contents?u.contents=s.contents:s.url&&(u.contents=null,u.url=s.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var c={};return Object.keys(u.stream_ops).forEach((e=>{var r=u.stream_ops[e];c[e]=function(){return Ie.forceLoadFile(u),r.apply(null,arguments)}})),c.read=(e,r,t,n,o)=>{Ie.forceLoadFile(u);var i=e.node.contents;if(o>=i.length)return 0;var a=Math.min(i.length-o,n);if(F(a>=0),i.slice)for(var s=0;s{var c=r?Fe.resolve(Ae.join2(e,r)):e,d=pe("cp "+c);function p(t){function f(t){u&&u(),s||Ie.createDataFile(e,r,t,n,o,l),i&&i(),he(d)}Browser.handledByPreloadPlugin(t,c,f,(()=>{a&&a(),he(d)}))||f(t)}me(d),"string"==typeof t?function(e,r,t,n){var o=n?"":pe("al "+e);f(e,(function(t){F(t,'Loading data file "'+e+'" failed (no arrayBuffer).'),r(new Uint8Array(t)),o&&he(o)}),(function(r){if(!t)throw'Loading data file "'+e+'" failed.';t()})),o&&me(o)}(t,(e=>p(e)),a):p(t)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,r,t)=>{r=r||(()=>{}),t=t||(()=>{});var n=Ie.indexedDB();try{var o=n.open(Ie.DB_NAME(),Ie.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=()=>{b("creating db"),o.result.createObjectStore(Ie.DB_STORE_NAME)},o.onsuccess=()=>{var n=o.result.transaction([Ie.DB_STORE_NAME],"readwrite"),i=n.objectStore(Ie.DB_STORE_NAME),a=0,s=0,l=e.length;function u(){0==s?r():t()}e.forEach((e=>{var r=i.put(Ie.analyzePath(e).object.contents,e);r.onsuccess=()=>{++a+s==l&&u()},r.onerror=()=>{s++,a+s==l&&u()}})),n.onerror=t},o.onerror=t},loadFilesFromDB:(e,r,t)=>{r=r||(()=>{}),t=t||(()=>{});var n=Ie.indexedDB();try{var o=n.open(Ie.DB_NAME(),Ie.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=t,o.onsuccess=()=>{var n=o.result;try{var i=n.transaction([Ie.DB_STORE_NAME],"readonly")}catch(e){return void t(e)}var a=i.objectStore(Ie.DB_STORE_NAME),s=0,l=0,u=e.length;function c(){0==l?r():t()}e.forEach((e=>{var r=a.get(e);r.onsuccess=()=>{Ie.analyzePath(e).exists&&Ie.unlink(e),Ie.createDataFile(Ae.dirname(e),Ae.basename(e),r.result,!0,!0,!0),++s+l==u&&c()},r.onerror=()=>{l++,s+l==u&&c()}})),i.onerror=t},o.onerror=t},absolutePath:()=>{ge("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder:()=>{ge("FS.createFolder has been removed; use FS.mkdir instead")},createLink:()=>{ge("FS.createLink has been removed; use FS.symlink instead")},joinPath:()=>{ge("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc:()=>{ge("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath:()=>{ge("FS.standardizePath has been removed; use PATH.normalize instead")}},Le={DEFAULT_POLLMASK:5,calculateAt:function(e,r,t){if(Ae.isAbs(r))return r;var n;if(-100===e)n=Ie.cwd();else{var o=Ie.getStream(e);if(!o)throw new Ie.ErrnoError(8);n=o.path}if(0==r.length){if(!t)throw new Ie.ErrnoError(44);return n}return Ae.join2(n,r)},doStat:function(e,r,t){try{var n=e(r)}catch(e){if(e&&e.node&&Ae.normalize(r)!==Ae.normalize(Ie.getPath(e.node)))return-54;throw e}return $[t>>2]=n.dev,$[t+4>>2]=0,$[t+8>>2]=n.ino,$[t+12>>2]=n.mode,$[t+16>>2]=n.nlink,$[t+20>>2]=n.uid,$[t+24>>2]=n.gid,$[t+28>>2]=n.rdev,$[t+32>>2]=0,Ee=[n.size>>>0,(ye=n.size,+Math.abs(ye)>=1?ye>0?(0|Math.min(+Math.floor(ye/4294967296),4294967295))>>>0:~~+Math.ceil((ye-+(~~ye>>>0))/4294967296)>>>0:0)],$[t+40>>2]=Ee[0],$[t+44>>2]=Ee[1],$[t+48>>2]=4096,$[t+52>>2]=n.blocks,$[t+56>>2]=n.atime.getTime()/1e3|0,$[t+60>>2]=0,$[t+64>>2]=n.mtime.getTime()/1e3|0,$[t+68>>2]=0,$[t+72>>2]=n.ctime.getTime()/1e3|0,$[t+76>>2]=0,Ee=[n.ino>>>0,(ye=n.ino,+Math.abs(ye)>=1?ye>0?(0|Math.min(+Math.floor(ye/4294967296),4294967295))>>>0:~~+Math.ceil((ye-+(~~ye>>>0))/4294967296)>>>0:0)],$[t+80>>2]=Ee[0],$[t+84>>2]=Ee[1],0},doMsync:function(e,r,t,n,o){var i=U.slice(e,e+t);Ie.msync(r,i,o,t,n)},doMknod:function(e,r,t){switch(61440&r){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return Ie.mknod(e,r,t),0},doReadlink:function(e,r,t){if(t<=0)return-28;var n=Ie.readlink(e),o=Math.min(t,I(n)),i=x[r+o];return N(n,r,t+1),x[r+o]=i,o},doAccess:function(e,r){if(-8&r)return-28;var t=Ie.lookupPath(e,{follow:!0}).node;if(!t)return-44;var n="";return 4&r&&(n+="r"),2&r&&(n+="w"),1&r&&(n+="x"),n&&Ie.nodePermissions(t,n)?-2:0},doReadv:function(e,r,t,n){for(var o=0,i=0;i>2],s=$[r+4>>2];r+=8;var l=Ie.read(e,x,a,s,n);if(l<0)return-1;if(o+=l,l>2],s=$[r+4>>2];r+=8;var l=Ie.write(e,x,a,s,n);if(l<0)return-1;o+=l}return o},varargs:void 0,get:function(){return F(null!=Le.varargs),Le.varargs+=4,$[Le.varargs-4>>2]},getStr:function(e){return R(e)},getStreamFromFD:function(e){var r=Ie.getStream(e);if(!r)throw new Ie.ErrnoError(8);return r}};function xe(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+e)}}var Ue=void 0;function Be(e){for(var r="",t=e;U[t];)r+=Ue[U[t++]];return r}var je={},$e={},We={},ze=48,He=57;function Ge(e){if(void 0===e)return"_unknown";var r=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return r>=ze&&r<=He?"_"+e:e}function Ve(e,r){return e=Ge(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(r)}function qe(e,r){var t=Ve(r,(function(e){this.name=r,this.message=e;var t=new Error(e).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}));return t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},t}var Ye=void 0;function Xe(e){throw new Ye(e)}var Ke=void 0;function Je(e){throw new Ke(e)}function Qe(e,r,t){function n(r){var n=t(r);n.length!==e.length&&Je("Mismatched type converter count");for(var o=0;o{$e.hasOwnProperty(e)?o[r]=$e[e]:(i.push(e),je.hasOwnProperty(e)||(je[e]=[]),je[e].push((()=>{o[r]=$e[e],++a===i.length&&n(o)})))})),0===i.length&&n(o)}function Ze(e,r,t={}){if(!("argPackAdvance"in r))throw new TypeError("registerType registeredInstance requires argPackAdvance");var n=r.name;if(e||Xe('type "'+n+'" must have a positive integer typeid pointer'),$e.hasOwnProperty(e)){if(t.ignoreDuplicateRegistrations)return;Xe("Cannot register type '"+n+"' twice")}if($e[e]=r,delete We[e],je.hasOwnProperty(e)){var o=je[e];delete je[e],o.forEach((e=>e()))}}function er(e){if(!(this instanceof _r))return!1;if(!(e instanceof _r))return!1;for(var r=this.$$.ptrType.registeredClass,t=this.$$.ptr,n=e.$$.ptrType.registeredClass,o=e.$$.ptr;r.baseClass;)t=r.upcast(t),r=r.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return r===n&&t===o}function rr(e){Xe(e.$$.ptrType.registeredClass.name+" instance already deleted")}var tr=!1;function nr(e){}function or(e){e.count.value-=1,0===e.count.value&&function(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}(e)}function ir(e,r,t){if(r===t)return e;if(void 0===t.baseClass)return null;var n=ir(e,r,t.baseClass);return null===n?null:t.downcast(n)}var ar={};function sr(){return Object.keys(pr).length}function lr(){var e=[];for(var r in pr)pr.hasOwnProperty(r)&&e.push(pr[r]);return e}var ur=[];function cr(){for(;ur.length;){var e=ur.pop();e.$$.deleteScheduled=!1,e.delete()}}var dr=void 0;function fr(e){dr=e,ur.length&&dr&&dr(cr)}var pr={};function mr(e,r){return r=function(e,r){for(void 0===r&&Xe("ptr should not be undefined");e.baseClass;)r=e.upcast(r),e=e.baseClass;return r}(e,r),pr[r]}function hr(e,r){return r.ptrType&&r.ptr||Je("makeClassHandle requires ptr and ptrType"),!!r.smartPtrType!==!!r.smartPtr&&Je("Both smartPtrType and smartPtr must be specified"),r.count={value:1},vr(Object.create(e,{$$:{value:r}}))}function gr(e){var r=this.getPointee(e);if(!r)return this.destructor(e),null;var t=mr(this.registeredClass,r);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=r,t.$$.smartPtr=e,t.clone();var n=t.clone();return this.destructor(e),n}function o(){return this.isSmartPointer?hr(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:r,smartPtrType:this,smartPtr:e}):hr(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var i,a=this.registeredClass.getActualType(r),s=ar[a];if(!s)return o.call(this);i=this.isConst?s.constPointerType:s.pointerType;var l=ir(r,this.registeredClass,i.registeredClass);return null===l?o.call(this):this.isSmartPointer?hr(i.registeredClass.instancePrototype,{ptrType:i,ptr:l,smartPtrType:this,smartPtr:e}):hr(i.registeredClass.instancePrototype,{ptrType:i,ptr:l})}function vr(e){return"undefined"==typeof FinalizationRegistry?(vr=e=>e,e):(tr=new FinalizationRegistry((e=>{console.warn(e.leakWarning.stack.replace(/^Error: /,"")),or(e.$$)})),vr=e=>{var r=e.$$;if(!!r.smartPtr){var t={$$:r},n=r.ptrType.registeredClass;t.leakWarning=new Error("Embind found a leaked C++ instance "+n.name+" <0x"+r.ptr.toString(16)+">.\nWe'll free it automatically in this case, but this functionality is not reliable across various environments.\nMake sure to invoke .delete() manually once you're done with the instance instead.\nOriginally allocated"),"captureStackTrace"in Error&&Error.captureStackTrace(t.leakWarning,gr),tr.register(e,t,e)}return e},nr=e=>tr.unregister(e),vr(e))}function yr(){if(this.$$.ptr||rr(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,r=vr(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return r.$$.count.value+=1,r.$$.deleteScheduled=!1,r}function Er(){this.$$.ptr||rr(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Xe("Object already scheduled for deletion"),nr(this),or(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function wr(){return!this.$$.ptr}function br(){return this.$$.ptr||rr(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Xe("Object already scheduled for deletion"),ur.push(this),1===ur.length&&dr&&dr(cr),this.$$.deleteScheduled=!0,this}function _r(){}function Tr(e,r,t){if(void 0===e[r].overloadTable){var n=e[r];e[r]=function(){return e[r].overloadTable.hasOwnProperty(arguments.length)||Xe("Function '"+t+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[r].overloadTable+")!"),e[r].overloadTable[arguments.length].apply(this,arguments)},e[r].overloadTable=[],e[r].overloadTable[n.argCount]=n}}function kr(e,r,t,n,o,i,a,s){this.name=e,this.constructor=r,this.instancePrototype=t,this.rawDestructor=n,this.baseClass=o,this.getActualType=i,this.upcast=a,this.downcast=s,this.pureVirtualFunctions=[]}function Sr(e,r,t){for(;r!==t;)r.upcast||Xe("Expected null or instance of "+t.name+", got an instance of "+r.name),e=r.upcast(e),r=r.baseClass;return e}function Cr(e,r){if(null===r)return this.isReference&&Xe("null is not a valid "+this.name),0;r.$$||Xe('Cannot pass "'+Kr(r)+'" as a '+this.name),r.$$.ptr||Xe("Cannot pass deleted object as a pointer of type "+this.name);var t=r.$$.ptrType.registeredClass;return Sr(r.$$.ptr,t,this.registeredClass)}function Pr(e,r){var t;if(null===r)return this.isReference&&Xe("null is not a valid "+this.name),this.isSmartPointer?(t=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,t),t):0;r.$$||Xe('Cannot pass "'+Kr(r)+'" as a '+this.name),r.$$.ptr||Xe("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&r.$$.ptrType.isConst&&Xe("Cannot convert argument of type "+(r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name)+" to parameter type "+this.name);var n=r.$$.ptrType.registeredClass;if(t=Sr(r.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===r.$$.smartPtr&&Xe("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:r.$$.smartPtrType===this?t=r.$$.smartPtr:Xe("Cannot convert argument of type "+(r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:t=r.$$.smartPtr;break;case 2:if(r.$$.smartPtrType===this)t=r.$$.smartPtr;else{var o=r.clone();t=this.rawShare(t,Xr.toHandle((function(){o.delete()}))),null!==e&&e.push(this.rawDestructor,t)}break;default:Xe("Unsupporting sharing policy")}return t}function Ar(e,r){if(null===r)return this.isReference&&Xe("null is not a valid "+this.name),0;r.$$||Xe('Cannot pass "'+Kr(r)+'" as a '+this.name),r.$$.ptr||Xe("Cannot pass deleted object as a pointer of type "+this.name),r.$$.ptrType.isConst&&Xe("Cannot convert argument of type "+r.$$.ptrType.name+" to parameter type "+this.name);var t=r.$$.ptrType.registeredClass;return Sr(r.$$.ptr,t,this.registeredClass)}function Fr(e){return this.fromWireType(W[e>>2])}function Dr(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function Or(e){this.rawDestructor&&this.rawDestructor(e)}function Rr(e){null!==e&&e.delete()}function Mr(e,r,t,n,o,i,a,s,l,u,c){this.name=e,this.registeredClass=r,this.isReference=t,this.isConst=n,this.isSmartPointer=o,this.pointeeType=i,this.sharingPolicy=a,this.rawGetPointee=s,this.rawConstructor=l,this.rawShare=u,this.rawDestructor=c,o||void 0!==r.baseClass?this.toWireType=Pr:n?(this.toWireType=Cr,this.destructorFunction=null):(this.toWireType=Ar,this.destructorFunction=null)}function Nr(e,t,n){return e.includes("j")?function(e,t,n){F("dynCall_"+e in r,"bad function pointer type - no table for sig '"+e+"'"),n&&n.length?F(n.length===e.substring(1).replace(/j/g,"--").length):F(1==e.length);var o=r["dynCall_"+e];return n&&n.length?o.apply(null,[t].concat(n)):o.call(null,t)}(e,t,n):(F(Pe(t),"missing table entry in dynCall: "+t),Pe(t).apply(null,n))}function Ir(e,r){var t=(e=Be(e)).includes("j")?function(e,r){F(e.includes("j"),"getDynCaller should only be called with i64 sigs");var t=[];return function(){return t.length=0,Object.assign(t,arguments),Nr(e,r,t)}}(e,r):Pe(r);return"function"!=typeof t&&Xe("unknown function pointer with signature "+e+": "+r),t}var Lr=void 0;function xr(e){var r=bt(e),t=Be(r);return vt(r),t}function Ur(e,r){var t=[],n={};throw r.forEach((function e(r){n[r]||$e[r]||(We[r]?We[r].forEach(e):(t.push(r),n[r]=!0))})),new Lr(e+": "+t.map(xr).join([", "]))}function Br(e,r){for(var t=[],n=0;n>2)+n]);return t}function jr(e){for(;e.length;){var r=e.pop();e.pop()(r)}}function $r(e,r){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+typeof e+" which is not a function");var t=Ve(e.name||"unknownFunctionName",(function(){}));t.prototype=e.prototype;var n=new t,o=e.apply(n,r);return o instanceof Object?o:n}function Wr(e,r,t,n,o){var i=r.length;i<2&&Xe("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var a=null!==r[1]&&null!==t,s=!1,l=1;l0?", ":"")+d),f+=(u?"var rv = ":"")+"invoker(fn"+(d.length>0?", ":"")+d+");\n",s)f+="runDestructors(destructors);\n";else for(l=a?1:2;l4&&0==--Gr[e].refcount&&(Gr[e]=void 0,Hr.push(e))}function qr(){for(var e=0,r=5;r(e||Xe("Cannot use deleted val. handle = "+e),Gr[e].value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var r=Hr.length?Hr.pop():Gr.length;return Gr[r]={refcount:1,value:e},r}}};function Kr(e){if(null===e)return"null";var r=typeof e;return"object"===r||"array"===r||"function"===r?e.toString():""+e}function Jr(e,r){switch(r){case 2:return function(e){return this.fromWireType(z[e>>2])};case 3:return function(e){return this.fromWireType(H[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}function Qr(e,r,t){switch(r){case 0:return t?function(e){return x[e]}:function(e){return U[e]};case 1:return t?function(e){return B[e>>1]}:function(e){return j[e>>1]};case 2:return t?function(e){return $[e>>2]}:function(e){return W[e>>2]};default:throw new TypeError("Unknown integer type: "+e)}}function Zr(e,r){var t=$e[e];return void 0===t&&Xe(r+" has unknown type "+xr(e)),t}var et={};var rt=[];var tt=[];function nt(e,r){return F(r===(0|r)),(e>>>0)+4294967296*r}function ot(e,r){if(e<=0)return e;var t=r<=32?Math.abs(1<=t&&(r<=32||e>t)&&(e=-2*t+e),e}function it(e,r){return e>=0?e:r<=32?2*Math.abs(1<>3]),n+=8):"i64"==e?(r=[$[n>>2],$[n+4>>2]],n+=8):(F(0==(3&n)),e="i32",r=$[n>>2],n+=4),r}for(var i,a,s,l,u,c,d=[];;){var f=t;if(0===(i=x[t>>0]))break;if(a=x[t+1>>0],37==i){var p=!1,m=!1,h=!1,g=!1,v=!1;e:for(;;){switch(a){case 43:p=!0;break;case 45:m=!0;break;case 35:h=!0;break;case 48:if(g)break e;g=!0;break;case 32:v=!0;break;default:break e}t++,a=x[t+1>>0]}var y=0;if(42==a)y=o("i32"),t++,a=x[t+1>>0];else for(;a>=48&&a<=57;)y=10*y+(a-48),t++,a=x[t+1>>0];var E,w=!1,b=-1;if(46==a){if(b=0,w=!0,t++,42==(a=x[t+1>>0]))b=o("i32"),t++;else for(;;){var _=x[t+1>>0];if(_<48||_>57)break;b=10*b+(_-48),t++}a=x[t+1>>0]}switch(b<0&&(b=6,w=!1),String.fromCharCode(a)){case"h":104==x[t+2>>0]?(t++,E=1):E=2;break;case"l":108==x[t+2>>0]?(t++,E=8):E=4;break;case"L":case"q":case"j":E=8;break;case"z":case"t":case"I":E=4;break;default:E=null}switch(E&&t++,a=x[t+1>>0],String.fromCharCode(a)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":var T=100==a||105==a;if(s=o("i"+8*(E=E||4)),8==E&&(s=117==a?(u=s[0],c=s[1],(u>>>0)+4294967296*(c>>>0)):nt(s[0],s[1])),E<=4)s=(T?ot:it)(s&Math.pow(256,E)-1,8*E);var k=Math.abs(s),S="";if(100==a||105==a)A=ot(s,8*E).toString(10);else if(117==a)A=it(s,8*E).toString(10),s=Math.abs(s);else if(111==a)A=(h?"0":"")+k.toString(8);else if(120==a||88==a){if(S=h&&0!=s?"0x":"",s<0){s=-s,A=(k-1).toString(16);for(var C=[],P=0;P=0&&(p?S="+"+S:v&&(S=" "+S)),"-"==A.charAt(0)&&(S="-"+S,A=A.substr(1));S.length+A.lengthR&&R>=-4?(a=(103==a?"f":"F").charCodeAt(0),b-=R+1):(a=(103==a?"e":"E").charCodeAt(0),b--),O=Math.min(b,20)}101==a||69==a?(A=s.toExponential(O),/[eE][-+]\d$/.test(A)&&(A=A.slice(0,-1)+"0"+A.slice(-1))):102!=a&&70!=a||(A=s.toFixed(O),0===s&&((l=s)<0||0===l&&1/l==-1/0)&&(A="-"+A));var M=A.split("e");if(D&&!h)for(;M[0].length>1&&M[0].includes(".")&&("0"==M[0].slice(-1)||"."==M[0].slice(-1));)M[0]=M[0].slice(0,-1);else for(h&&-1==A.indexOf(".")&&(M[0]+=".");b>O++;)M[0]+="0";A=M[0]+(M.length>1?"e"+M[1]:""),69==a&&(A=A.toUpperCase()),s>=0&&(p?A="+"+A:v&&(A=" "+A))}else A=(s<0?"-":"")+"inf",g=!1;for(;A.length>0]);else d=d.concat(ht("(null)".substr(0,I),!0));if(m)for(;I0;)d.push(32);m||d.push(o("i8"));break;case"n":var L=o("i32*");$[L>>2]=d.length;break;case"%":d.push(i);break;default:for(P=f;P>0])}t+=2}else d.push(i),t+=1}return d}function st(e){if(!e||!e.callee||!e.callee.name)return[null,"",""];e.callee.toString();var r=e.callee.name,t="(",n=!0;for(var o in e){var i=e[o];n||(t+=", "),n=!1,t+="number"==typeof i||"string"==typeof i?i:"("+typeof i+")"}t+=")";var a=e.callee.caller;return n&&(t=""),[e=a?a.arguments:[],r,t]}function lt(e){var r=function(){var e=new Error;if(!e.stack){try{throw new Error}catch(r){e=r}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}(),t=r.lastIndexOf("_emscripten_log"),n=r.lastIndexOf("_emscripten_get_callstack"),o=r.indexOf("\n",Math.max(t,n))+1;r=r.slice(o),32&e&&T("EM_LOG_DEMANGLE is deprecated; ignoring"),8&e&&"undefined"==typeof emscripten_source_map&&(T('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'),e^=8,e|=16);var i=null;if(128&e)for(i=st(arguments);i[1].includes("_emscripten_");)i=st(i[0]);var a=r.split("\n");r="";var s=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),l=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),u=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var c in a){var d=a[c],f="",p="",m=0,h=0,g=u.exec(d);if(g&&5==g.length)f=g[1],p=g[2],m=g[3],h=g[4];else{if((g=s.exec(d))||(g=l.exec(d)),!(g&&g.length>=4)){r+=d+"\n";continue}f=g[1],p=g[2],m=g[3],h=0|g[4]}var v=!1;if(8&e){var y=emscripten_source_map.originalPositionFor({line:m,column:h});(v=y&&y.source)&&(64&e&&(y.source=y.source.substring(y.source.replace(/\\/g,"/").lastIndexOf("/")+1)),r+=" at "+f+" ("+y.source+":"+y.line+":"+y.column+")\n")}(16&e||!v)&&(64&e&&(p=p.substring(p.replace(/\\/g,"/").lastIndexOf("/")+1)),r+=(v?" = "+f:" at "+f)+" ("+p+":"+m+":"+h+")\n"),128&e&&i[0]&&(i[1]==f&&i[2].length>0&&(r=r.replace(/\s+$/,""),r+=" with values: "+i[1]+i[2]+"\n"),i=st(i[0]))}return r=r.replace(/\s+$/,"")}function ut(e){try{return w.grow(e-L.byteLength+65535>>>16),Z(w.buffer),1}catch(r){_("emscripten_realloc_buffer: Attempted to grow heap from "+L.byteLength+" bytes to "+e+" bytes, but got error: "+r)}}var ct={};function dt(){if(!dt.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:n||"./this.program"};for(var r in ct)void 0===ct[r]?delete e[r]:e[r]=ct[r];var t=[];for(var r in e)t.push(r+"="+e[r]);dt.strings=t}return dt.strings}var ft=function(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Ie.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n},pt=365,mt=146;function ht(e,r,t){var n=t>0?t:I(e)+1,o=new Array(n),i=M(e,o,0,o.length);return r&&(o.length=i),o}Object.defineProperties(ft.prototype,{read:{get:function(){return(this.mode&pt)===pt},set:function(e){e?this.mode|=pt:this.mode&=-366}},write:{get:function(){return(this.mode&mt)===mt},set:function(e){e?this.mode|=mt:this.mode&=-147}},isFolder:{get:function(){return Ie.isDir(this.mode)}},isDevice:{get:function(){return Ie.isChrdev(this.mode)}}}),Ie.FSNode=ft,Ie.staticInit(),Ne={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},function(){for(var e=new Array(256),r=0;r<256;++r)e[r]=String.fromCharCode(r);Ue=e}(),Ye=r.BindingError=qe(Error,"BindingError"),Ke=r.InternalError=qe(Error,"InternalError"),_r.prototype.isAliasOf=er,_r.prototype.clone=yr,_r.prototype.delete=Er,_r.prototype.isDeleted=wr,_r.prototype.deleteLater=br,r.getInheritedInstanceCount=sr,r.getLiveInheritedInstances=lr,r.flushPendingDeletes=cr,r.setDelayFunction=fr,Mr.prototype.getPointee=Dr,Mr.prototype.destructor=Or,Mr.prototype.argPackAdvance=8,Mr.prototype.readValueFromPointer=Fr,Mr.prototype.deleteObject=Rr,Mr.prototype.fromWireType=gr,Lr=r.UnboundTypeError=qe(Error,"UnboundTypeError"),r.count_emval_handles=qr,r.get_first_emval=Yr;var gt={__syscall_fcntl64:function(e,r,t){Le.varargs=t;try{var n=Le.getStreamFromFD(e);switch(r){case 0:return(o=Le.get())<0?-28:Ie.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=Le.get();return n.flags|=o,0;case 5:o=Le.get();return B[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return i=28,$[wt()>>2]=i,-1}}catch(e){if(void 0===Ie||!(e instanceof Ie.ErrnoError))throw e;return-e.errno}var i},__syscall_openat:function(e,r,t,n){Le.varargs=n;try{r=Le.getStr(r),r=Le.calculateAt(e,r);var o=n?Le.get():0;return Ie.open(r,t,o).fd}catch(e){if(void 0===Ie||!(e instanceof Ie.ErrnoError))throw e;return-e.errno}},_embind_register_bigint:function(e,r,t,n,o){},_embind_register_bool:function(e,r,t,n,o){var i=xe(t);Ze(e,{name:r=Be(r),fromWireType:function(e){return!!e},toWireType:function(e,r){return r?n:o},argPackAdvance:8,readValueFromPointer:function(e){var n;if(1===t)n=x;else if(2===t)n=B;else{if(4!==t)throw new TypeError("Unknown boolean type size: "+r);n=$}return this.fromWireType(n[e>>i])},destructorFunction:null})},_embind_register_class:function(e,t,n,o,i,a,s,l,u,c,d,f,p){d=Be(d),a=Ir(i,a),l&&(l=Ir(s,l)),c&&(c=Ir(u,c)),p=Ir(f,p);var m=Ge(d);!function(e,t,n){r.hasOwnProperty(e)?((void 0===n||void 0!==r[e].overloadTable&&void 0!==r[e].overloadTable[n])&&Xe("Cannot register public name '"+e+"' twice"),Tr(r,e,e),r.hasOwnProperty(n)&&Xe("Cannot register multiple overloads of a function with the same number of arguments ("+n+")!"),r[e].overloadTable[n]=t):(r[e]=t,void 0!==n&&(r[e].numArguments=n))}(m,(function(){Ur("Cannot construct "+d+" due to unbound types",[o])})),Qe([e,t,n],o?[o]:[],(function(t){var n,i;t=t[0],i=o?(n=t.registeredClass).instancePrototype:_r.prototype;var s=Ve(m,(function(){if(Object.getPrototypeOf(this)!==u)throw new Ye("Use 'new' to construct "+d);if(void 0===f.constructor_body)throw new Ye(d+" has no accessible constructor");var e=f.constructor_body[arguments.length];if(void 0===e)throw new Ye("Tried to invoke ctor of "+d+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(f.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),u=Object.create(i,{constructor:{value:s}});s.prototype=u;var f=new kr(d,s,u,p,n,a,l,c),h=new Mr(d,f,!0,!1,!1),g=new Mr(d+"*",f,!1,!1,!1),v=new Mr(d+" const*",f,!1,!0,!1);return ar[e]={pointerType:g,constPointerType:v},function(e,t,n){r.hasOwnProperty(e)||Je("Replacing nonexistant public symbol"),void 0!==r[e].overloadTable&&void 0!==n?r[e].overloadTable[n]=t:(r[e]=t,r[e].argCount=n)}(m,s),[h,g,v]}))},_embind_register_class_constructor:function(e,r,t,n,o,i){F(r>0);var a=Br(r,t);o=Ir(n,o),Qe([],[e],(function(e){var t="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[r-1])throw new Ye("Cannot register multiple constructors with identical number of parameters ("+(r-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[r-1]=()=>{Ur("Cannot construct "+e.name+" due to unbound types",a)},Qe([],a,(function(n){return n.splice(1,0,null),e.registeredClass.constructor_body[r-1]=Wr(t,n,null,o,i),[]})),[]}))},_embind_register_class_function:function(e,r,t,n,o,i,a,s){var l=Br(t,n);r=Be(r),i=Ir(o,i),Qe([],[e],(function(e){var n=(e=e[0]).name+"."+r;function o(){Ur("Cannot call "+n+" due to unbound types",l)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(r);var u=e.registeredClass.instancePrototype,c=u[r];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===t-2?(o.argCount=t-2,o.className=e.name,u[r]=o):(Tr(u,r,n),u[r].overloadTable[t-2]=o),Qe([],l,(function(o){var s=Wr(n,o,e,i,a);return void 0===u[r].overloadTable?(s.argCount=t-2,u[r]=s):u[r].overloadTable[t-2]=s,[]})),[]}))},_embind_register_class_property:function(e,r,t,n,o,i,a,s,l,u){r=Be(r),o=Ir(n,o),Qe([],[e],(function(e){var n=(e=e[0]).name+"."+r,c={get:function(){Ur("Cannot access "+n+" due to unbound types",[t,a])},enumerable:!0,configurable:!0};return c.set=l?()=>{Ur("Cannot access "+n+" due to unbound types",[t,a])}:e=>{Xe(n+" is a read-only property")},Object.defineProperty(e.registeredClass.instancePrototype,r,c),Qe([],l?[t,a]:[t],(function(t){var a=t[0],c={get:function(){var r=zr(this,e,n+" getter");return a.fromWireType(o(i,r))},enumerable:!0};if(l){l=Ir(s,l);var d=t[1];c.set=function(r){var t=zr(this,e,n+" setter"),o=[];l(u,t,d.toWireType(o,r)),jr(o)}}return Object.defineProperty(e.registeredClass.instancePrototype,r,c),[]})),[]}))},_embind_register_emval:function(e,r){Ze(e,{name:r=Be(r),fromWireType:function(e){var r=Xr.toValue(e);return Vr(e),r},toWireType:function(e,r){return Xr.toHandle(r)},argPackAdvance:8,readValueFromPointer:Fr,destructorFunction:null})},_embind_register_float:function(e,r,t){var n=xe(t);Ze(e,{name:r=Be(r),fromWireType:function(e){return e},toWireType:function(e,r){if("number"!=typeof r&&"boolean"!=typeof r)throw new TypeError('Cannot convert "'+Kr(r)+'" to '+this.name);return r},argPackAdvance:8,readValueFromPointer:Jr(r,n),destructorFunction:null})},_embind_register_integer:function(e,r,t,n,o){r=Be(r),-1===o&&(o=4294967295);var i=xe(t),a=e=>e;if(0===n){var s=32-8*t;a=e=>e<>>s}var l=r.includes("unsigned"),u=(e,t)=>{if("number"!=typeof e&&"boolean"!=typeof e)throw new TypeError('Cannot convert "'+Kr(e)+'" to '+t);if(eo)throw new TypeError('Passing a number "'+Kr(e)+'" from JS side to C/C++ side to an argument of type "'+r+'", which is outside the valid range ['+n+", "+o+"]!")};Ze(e,{name:r,fromWireType:a,toWireType:l?function(e,r){return u(r,this.name),r>>>0}:function(e,r){return u(r,this.name),r},argPackAdvance:8,readValueFromPointer:Qr(r,i,0!==n),destructorFunction:null})},_embind_register_memory_view:function(e,r,t){var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][r];function o(e){var r=W,t=r[e>>=2],o=r[e+1];return new n(L,o,t)}Ze(e,{name:t=Be(t),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},_embind_register_std_string:function(e,r){var t="std::string"===(r=Be(r));Ze(e,{name:r,fromWireType:function(e){var r,n=W[e>>2];if(t)for(var o=e+4,i=0;i<=n;++i){var a=e+4+i;if(i==n||0==U[a]){var s=R(o,a-o);void 0===r?r=s:(r+=String.fromCharCode(0),r+=s),o=a+1}}else{var l=new Array(n);for(i=0;iI(r):()=>r.length)(),i=yt(4+o+1);if(W[i>>2]=o,t&&n)N(r,i+4,o+1);else if(n)for(var a=0;a255&&(vt(i),Xe("String has UTF-16 code units that do not fit in 8 bits")),U[i+4+a]=s}else for(a=0;aj,s=1):4===r&&(n=X,o=K,a=J,i=()=>W,s=2),Ze(e,{name:t,fromWireType:function(e){for(var t,o=W[e>>2],a=i(),l=e+4,u=0;u<=o;++u){var c=e+4+u*r;if(u==o||0==a[c>>s]){var d=n(l,c-l);void 0===t?t=d:(t+=String.fromCharCode(0),t+=d),l=c+r}}return vt(e),t},toWireType:function(e,n){"string"!=typeof n&&Xe("Cannot pass non-string to C++ string type "+t);var i=a(n),l=yt(4+i+r);return W[l>>2]=i>>s,o(n,l+4,i+r),null!==e&&e.push(vt,l),l},argPackAdvance:8,readValueFromPointer:Fr,destructorFunction:function(e){vt(e)}})},_embind_register_void:function(e,r){Ze(e,{isVoid:!0,name:r=Be(r),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,r){}})},_emscripten_date_now:function(){return Date.now()},_emval_as:function(e,r,t){e=Xr.toValue(e),r=Zr(r,"emval::as");var n=[],o=Xr.toHandle(n);return $[t>>2]=o,r.toWireType(n,e)},_emval_call_void_method:function(e,r,t,n){var o,i;(e=rt[e])(r=Xr.toValue(r),t=void 0===(i=et[o=t])?Be(o):i,null,n)},_emval_decref:Vr,_emval_get_method_caller:function(e,r){var t=function(e,r){for(var t=new Array(e),n=0;n>2)+n],"parameter "+n);return t}(e,r),n=t[0],o=n.name+"_$"+t.slice(1).map((function(e){return e.name})).join("_")+"$",i=tt[o];if(void 0!==i)return i;for(var a=["retType"],s=[n],l="",u=0;u4&&(Gr[e].refcount+=1)},_emval_run_destructors:function(e){jr(Xr.toValue(e)),Vr(e)},_emval_take_value:function(e,r){var t=(e=Zr(e,"_emval_take_value")).readValueFromPointer(r);return Xr.toHandle(t)},_gmtime_js:function(e,r){var t=new Date(1e3*$[e>>2]);$[r>>2]=t.getUTCSeconds(),$[r+4>>2]=t.getUTCMinutes(),$[r+8>>2]=t.getUTCHours(),$[r+12>>2]=t.getUTCDate(),$[r+16>>2]=t.getUTCMonth(),$[r+20>>2]=t.getUTCFullYear()-1900,$[r+24>>2]=t.getUTCDay();var n=Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0),o=(t.getTime()-n)/864e5|0;$[r+28>>2]=o},_localtime_js:function(e,r){var t=new Date(1e3*$[e>>2]);$[r>>2]=t.getSeconds(),$[r+4>>2]=t.getMinutes(),$[r+8>>2]=t.getHours(),$[r+12>>2]=t.getDate(),$[r+16>>2]=t.getMonth(),$[r+20>>2]=t.getFullYear()-1900,$[r+24>>2]=t.getDay();var n=new Date(t.getFullYear(),0,1),o=(t.getTime()-n.getTime())/864e5|0;$[r+28>>2]=o,$[r+36>>2]=-60*t.getTimezoneOffset();var i=new Date(t.getFullYear(),6,1).getTimezoneOffset(),a=n.getTimezoneOffset(),s=0|(i!=a&&t.getTimezoneOffset()==Math.min(a,i));$[r+32>>2]=s},_mktime_js:function(e){var r=new Date($[e+20>>2]+1900,$[e+16>>2],$[e+12>>2],$[e+8>>2],$[e+4>>2],$[e>>2],0),t=$[e+32>>2],n=r.getTimezoneOffset(),o=new Date(r.getFullYear(),0,1),i=new Date(r.getFullYear(),6,1).getTimezoneOffset(),a=o.getTimezoneOffset(),s=Math.min(a,i);if(t<0)$[e+32>>2]=Number(i!=a&&s==n);else if(t>0!=(s==n)){var l=Math.max(a,i),u=t>0?s:l;r.setTime(r.getTime()+6e4*(u-n))}$[e+24>>2]=r.getDay();var c=(r.getTime()-o.getTime())/864e5|0;return $[e+28>>2]=c,$[e>>2]=r.getSeconds(),$[e+4>>2]=r.getMinutes(),$[e+8>>2]=r.getHours(),$[e+12>>2]=r.getDate(),$[e+16>>2]=r.getMonth(),r.getTime()/1e3|0},_tzset_js:function e(r,t,n){e.called||(e.called=!0,function(e,r,t){var n=(new Date).getFullYear(),o=new Date(n,0,1),i=new Date(n,6,1),a=o.getTimezoneOffset(),s=i.getTimezoneOffset(),l=Math.max(a,s);function u(e){var r=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return r?r[1]:"GMT"}$[e>>2]=60*l,$[r>>2]=Number(a!=s);var c=u(o),d=u(i),f=Q(c),p=Q(d);s>2]=f,$[t+4>>2]=p):($[t>>2]=p,$[t+4>>2]=f)}(r,t,n))},abort:function(){ge("native code called abort()")},emscripten_log:function(e,r,t){!function(e,r){24&e&&(r=r.replace(/\s+$/,""),r+=(r.length>0?"\n":"")+lt(e)),1&e?4&e?console.error(r):2&e?console.warn(r):512&e?console.info(r):256&e?console.debug(r):console.log(r):6&e?_(r):b(r)}(e,O(at(r,t),0))},emscripten_resize_heap:function(e){var r=U.length;F((e>>>=0)>r);var t,n,o=2147483648;if(e>o)return _("Cannot enlarge memory, asked to go up to "+e+" bytes, but the limit is "+o+" bytes!"),!1;for(var i=1;i<=4;i*=2){var a=r*(1+.2/i);a=Math.min(a,e+100663296);var s=Math.min(o,(t=Math.max(e,a))+((n=65536)-t%n)%n);if(ut(s))return!0}return _("Failed to grow the heap from "+r+" bytes to "+s+" bytes, not enough memory!"),!1},environ_get:function(e,r){var t=0;return dt().forEach((function(n,o){var i=r+t;$[e+4*o>>2]=i,function(e,r,t){for(var n=0;n>0]=e.charCodeAt(n);t||(x[r>>0]=0)}(n,i),t+=n.length+1})),0},environ_sizes_get:function(e,r){var t=dt();$[e>>2]=t.length;var n=0;return t.forEach((function(e){n+=e.length+1})),$[r>>2]=n,0},fd_close:function(e){try{var r=Le.getStreamFromFD(e);return Ie.close(r),0}catch(e){if(void 0===Ie||!(e instanceof Ie.ErrnoError))throw e;return e.errno}},fd_fdstat_get:function(e,r){try{var t=Le.getStreamFromFD(e),n=t.tty?2:Ie.isDir(t.mode)?3:Ie.isLink(t.mode)?7:4;return x[r>>0]=n,0}catch(e){if(void 0===Ie||!(e instanceof Ie.ErrnoError))throw e;return e.errno}},fd_read:function(e,r,t,n){try{var o=Le.getStreamFromFD(e),i=Le.doReadv(o,r,t);return $[n>>2]=i,0}catch(e){if(void 0===Ie||!(e instanceof Ie.ErrnoError))throw e;return e.errno}},fd_seek:function(e,r,t,n,o){try{var i=Le.getStreamFromFD(e),a=4294967296*t+(r>>>0),s=9007199254740992;return a<=-s||a>=s?-61:(Ie.llseek(i,a,n),Ee=[i.position>>>0,(ye=i.position,+Math.abs(ye)>=1?ye>0?(0|Math.min(+Math.floor(ye/4294967296),4294967295))>>>0:~~+Math.ceil((ye-+(~~ye>>>0))/4294967296)>>>0:0)],$[o>>2]=Ee[0],$[o+4>>2]=Ee[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0)}catch(e){if(void 0===Ie||!(e instanceof Ie.ErrnoError))throw e;return e.errno}},fd_write:function(e,r,t,n){try{var o=Le.getStreamFromFD(e),i=Le.doWritev(o,r,t);return $[n>>2]=i,0}catch(e){if(void 0===Ie||!(e instanceof Ie.ErrnoError))throw e;return e.errno}},setTempRet0:function(e){}};!function(){var e={env:gt,wasi_snapshot_preview1:gt};function t(e,t){var n,o=e.exports;r.asm=o,F(w=r.asm.memory,"memory not found in wasm exports"),Z(w.buffer),F(re=r.asm.__indirect_function_table,"table not found in wasm exports"),n=r.asm.__wasm_call_ctors,ae.unshift(n),he("wasm-instantiate")}me("wasm-instantiate");var n=r;function o(e){F(r===n,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),n=null,t(e.instance)}function i(r){return function(){if(!E&&(s||l)){if("function"==typeof fetch&&!_e(ve))return fetch(ve,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+ve+"'";return e.arrayBuffer()})).catch((function(){return ke(ve)}));if(f)return new Promise((function(e,r){f(ve,(function(r){e(new Uint8Array(r))}),r)}))}return Promise.resolve().then((function(){return ke(ve)}))}().then((function(r){return WebAssembly.instantiate(r,e)})).then((function(e){return e})).then(r,(function(e){_("failed to asynchronously prepare wasm: "+e),_e(ve)&&_("warning: Loading from a file URI ("+ve+") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing"),ge(e)}))}if(r.instantiateWasm)try{return r.instantiateWasm(e,t)}catch(e){return _("Module.instantiateWasm callback failed with error: "+e),!1}E||"function"!=typeof WebAssembly.instantiateStreaming||be(ve)||_e(ve)||"function"!=typeof fetch?i(o):fetch(ve,{credentials:"same-origin"}).then((function(r){return WebAssembly.instantiateStreaming(r,e).then(o,(function(e){return _("wasm streaming compile failed: "+e),_("falling back to ArrayBuffer instantiation"),i(o)}))}))}(),r.___wasm_call_ctors=Te("__wasm_call_ctors");var vt=r._free=Te("free"),yt=r._malloc=Te("malloc"),Et=r._strlen=Te("strlen"),wt=r.___errno_location=Te("__errno_location"),bt=r.___getTypeName=Te("__getTypeName");r.___embind_register_native_and_builtin_types=Te("__embind_register_native_and_builtin_types");var _t=r.___stdio_exit=Te("__stdio_exit"),Tt=r._emscripten_builtin_memalign=Te("emscripten_builtin_memalign"),kt=r._emscripten_stack_init=function(){return(kt=r._emscripten_stack_init=r.asm.emscripten_stack_init).apply(null,arguments)};r._emscripten_stack_get_free=function(){return(r._emscripten_stack_get_free=r.asm.emscripten_stack_get_free).apply(null,arguments)},r._emscripten_stack_get_base=function(){return(r._emscripten_stack_get_base=r.asm.emscripten_stack_get_base).apply(null,arguments)};var St,Ct=r._emscripten_stack_get_end=function(){return(Ct=r._emscripten_stack_get_end=r.asm.emscripten_stack_get_end).apply(null,arguments)};function Pt(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function At(e){function t(){St||(St=!0,r.calledRun=!0,A||(oe(),F(!le),le=!0,r.noFSInit||Ie.init.initialized||Ie.init(),Ie.ignorePermissions=!1,Se(ae),r.onRuntimeInitialized&&r.onRuntimeInitialized(),F(!r._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'),function(){if(oe(),r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;)e=r.postRun.shift(),se.unshift(e);var e;Se(se)}()))}ue>0||(kt(),ne(),function(){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;)e=r.preRun.shift(),ie.unshift(e);var e;Se(ie)}(),ue>0||(r.setStatus?(r.setStatus("Running..."),setTimeout((function(){setTimeout((function(){r.setStatus("")}),1),t()}),1)):t(),oe()))}if(r.stackSave=Te("stackSave"),r.stackRestore=Te("stackRestore"),r.stackAlloc=Te("stackAlloc"),r.dynCall_ijiii=Te("dynCall_ijiii"),r.dynCall_viiijj=Te("dynCall_viiijj"),r.dynCall_jij=Te("dynCall_jij"),r.dynCall_jii=Te("dynCall_jii"),r.dynCall_jiji=Te("dynCall_jiji"),r._ff_h264_cabac_tables=112940,P("intArrayFromString",!1),P("intArrayToString",!1),P("ccall",!1),P("cwrap",!1),P("setValue",!1),P("getValue",!1),P("allocate",!1),P("UTF8ArrayToString",!1),P("UTF8ToString",!1),P("stringToUTF8Array",!1),P("stringToUTF8",!1),P("lengthBytesUTF8",!1),P("stackTrace",!1),P("addOnPreRun",!1),P("addOnInit",!1),P("addOnPreMain",!1),P("addOnExit",!1),P("addOnPostRun",!1),P("writeStringToMemory",!1),P("writeArrayToMemory",!1),P("writeAsciiToMemory",!1),P("addRunDependency",!0),P("removeRunDependency",!0),P("FS_createFolder",!1),P("FS_createPath",!0),P("FS_createDataFile",!0),P("FS_createPreloadedFile",!0),P("FS_createLazyFile",!0),P("FS_createLink",!1),P("FS_createDevice",!0),P("FS_unlink",!0),P("getLEB",!1),P("getFunctionTables",!1),P("alignFunctionTables",!1),P("registerFunctions",!1),P("addFunction",!1),P("removeFunction",!1),P("prettyPrint",!1),P("dynCall",!1),P("getCompilerSetting",!1),P("print",!1),P("printErr",!1),P("getTempRet0",!1),P("setTempRet0",!1),P("callMain",!1),P("abort",!1),P("keepRuntimeAlive",!1),P("ptrToString",!1),P("zeroMemory",!1),P("stringToNewUTF8",!1),P("emscripten_realloc_buffer",!1),P("ENV",!1),P("ERRNO_CODES",!1),P("ERRNO_MESSAGES",!1),P("setErrNo",!1),P("inetPton4",!1),P("inetNtop4",!1),P("inetPton6",!1),P("inetNtop6",!1),P("readSockaddr",!1),P("writeSockaddr",!1),P("DNS",!1),P("getHostByName",!1),P("Protocols",!1),P("Sockets",!1),P("getRandomDevice",!1),P("traverseStack",!1),P("UNWIND_CACHE",!1),P("convertPCtoSourceLocation",!1),P("readAsmConstArgsArray",!1),P("readAsmConstArgs",!1),P("mainThreadEM_ASM",!1),P("jstoi_q",!1),P("jstoi_s",!1),P("getExecutableName",!1),P("listenOnce",!1),P("autoResumeAudioContext",!1),P("dynCallLegacy",!1),P("getDynCaller",!1),P("dynCall",!1),P("setWasmTableEntry",!1),P("getWasmTableEntry",!1),P("handleException",!1),P("runtimeKeepalivePush",!1),P("runtimeKeepalivePop",!1),P("callUserCallback",!1),P("maybeExit",!1),P("safeSetTimeout",!1),P("asmjsMangle",!1),P("asyncLoad",!1),P("alignMemory",!1),P("mmapAlloc",!1),P("reallyNegative",!1),P("unSign",!1),P("reSign",!1),P("formatString",!1),P("PATH",!1),P("PATH_FS",!1),P("SYSCALLS",!1),P("getSocketFromFD",!1),P("getSocketAddress",!1),P("JSEvents",!1),P("registerKeyEventCallback",!1),P("specialHTMLTargets",!1),P("maybeCStringToJsString",!1),P("findEventTarget",!1),P("findCanvasEventTarget",!1),P("getBoundingClientRect",!1),P("fillMouseEventData",!1),P("registerMouseEventCallback",!1),P("registerWheelEventCallback",!1),P("registerUiEventCallback",!1),P("registerFocusEventCallback",!1),P("fillDeviceOrientationEventData",!1),P("registerDeviceOrientationEventCallback",!1),P("fillDeviceMotionEventData",!1),P("registerDeviceMotionEventCallback",!1),P("screenOrientation",!1),P("fillOrientationChangeEventData",!1),P("registerOrientationChangeEventCallback",!1),P("fillFullscreenChangeEventData",!1),P("registerFullscreenChangeEventCallback",!1),P("registerRestoreOldStyle",!1),P("hideEverythingExceptGivenElement",!1),P("restoreHiddenElements",!1),P("setLetterbox",!1),P("currentFullscreenStrategy",!1),P("restoreOldWindowedStyle",!1),P("softFullscreenResizeWebGLRenderTarget",!1),P("doRequestFullscreen",!1),P("fillPointerlockChangeEventData",!1),P("registerPointerlockChangeEventCallback",!1),P("registerPointerlockErrorEventCallback",!1),P("requestPointerLock",!1),P("fillVisibilityChangeEventData",!1),P("registerVisibilityChangeEventCallback",!1),P("registerTouchEventCallback",!1),P("fillGamepadEventData",!1),P("registerGamepadEventCallback",!1),P("registerBeforeUnloadEventCallback",!1),P("fillBatteryEventData",!1),P("battery",!1),P("registerBatteryEventCallback",!1),P("setCanvasElementSize",!1),P("getCanvasElementSize",!1),P("demangle",!1),P("demangleAll",!1),P("jsStackTrace",!1),P("stackTrace",!1),P("getEnvStrings",!1),P("checkWasiClock",!1),P("writeI53ToI64",!1),P("writeI53ToI64Clamped",!1),P("writeI53ToI64Signaling",!1),P("writeI53ToU64Clamped",!1),P("writeI53ToU64Signaling",!1),P("readI53FromI64",!1),P("readI53FromU64",!1),P("convertI32PairToI53",!1),P("convertU32PairToI53",!1),P("dlopenMissingError",!1),P("setImmediateWrapped",!1),P("clearImmediateWrapped",!1),P("polyfillSetImmediate",!1),P("uncaughtExceptionCount",!1),P("exceptionLast",!1),P("exceptionCaught",!1),P("ExceptionInfo",!1),P("exception_addRef",!1),P("exception_decRef",!1),P("Browser",!1),P("setMainLoop",!1),P("wget",!1),P("FS",!1),P("MEMFS",!1),P("TTY",!1),P("PIPEFS",!1),P("SOCKFS",!1),P("_setNetworkCallback",!1),P("tempFixedLengthArray",!1),P("miniTempWebGLFloatBuffers",!1),P("heapObjectForWebGLType",!1),P("heapAccessShiftForWebGLHeap",!1),P("GL",!1),P("emscriptenWebGLGet",!1),P("computeUnpackAlignedImageSize",!1),P("emscriptenWebGLGetTexPixelData",!1),P("emscriptenWebGLGetUniform",!1),P("webglGetUniformLocation",!1),P("webglPrepareUniformLocationsBeforeFirstUse",!1),P("webglGetLeftBracePos",!1),P("emscriptenWebGLGetVertexAttrib",!1),P("writeGLArray",!1),P("AL",!1),P("SDL_unicode",!1),P("SDL_ttfContext",!1),P("SDL_audio",!1),P("SDL",!1),P("SDL_gfx",!1),P("GLUT",!1),P("EGL",!1),P("GLFW_Window",!1),P("GLFW",!1),P("GLEW",!1),P("IDBStore",!1),P("runAndAbortIfError",!1),P("InternalError",!1),P("BindingError",!1),P("UnboundTypeError",!1),P("PureVirtualError",!1),P("init_embind",!1),P("throwInternalError",!1),P("throwBindingError",!1),P("throwUnboundTypeError",!1),P("ensureOverloadTable",!1),P("exposePublicSymbol",!1),P("replacePublicSymbol",!1),P("extendError",!1),P("createNamedFunction",!1),P("registeredInstances",!1),P("getBasestPointer",!1),P("registerInheritedInstance",!1),P("unregisterInheritedInstance",!1),P("getInheritedInstance",!1),P("getInheritedInstanceCount",!1),P("getLiveInheritedInstances",!1),P("registeredTypes",!1),P("awaitingDependencies",!1),P("typeDependencies",!1),P("registeredPointers",!1),P("registerType",!1),P("whenDependentTypesAreResolved",!1),P("embind_charCodes",!1),P("embind_init_charCodes",!1),P("readLatin1String",!1),P("getTypeName",!1),P("heap32VectorToArray",!1),P("requireRegisteredType",!1),P("getShiftFromSize",!1),P("integerReadValueFromPointer",!1),P("enumReadValueFromPointer",!1),P("floatReadValueFromPointer",!1),P("simpleReadValueFromPointer",!1),P("runDestructors",!1),P("new_",!1),P("craftInvokerFunction",!1),P("embind__requireFunction",!1),P("tupleRegistrations",!1),P("structRegistrations",!1),P("genericPointerToWireType",!1),P("constNoSmartPtrRawPointerToWireType",!1),P("nonConstNoSmartPtrRawPointerToWireType",!1),P("init_RegisteredPointer",!1),P("RegisteredPointer",!1),P("RegisteredPointer_getPointee",!1),P("RegisteredPointer_destructor",!1),P("RegisteredPointer_deleteObject",!1),P("RegisteredPointer_fromWireType",!1),P("runDestructor",!1),P("releaseClassHandle",!1),P("finalizationRegistry",!1),P("detachFinalizer_deps",!1),P("detachFinalizer",!1),P("attachFinalizer",!1),P("makeClassHandle",!1),P("init_ClassHandle",!1),P("ClassHandle",!1),P("ClassHandle_isAliasOf",!1),P("throwInstanceAlreadyDeleted",!1),P("ClassHandle_clone",!1),P("ClassHandle_delete",!1),P("deletionQueue",!1),P("ClassHandle_isDeleted",!1),P("ClassHandle_deleteLater",!1),P("flushPendingDeletes",!1),P("delayFunction",!1),P("setDelayFunction",!1),P("RegisteredClass",!1),P("shallowCopyInternalPointer",!1),P("downcastPointer",!1),P("upcastPointer",!1),P("validateThis",!1),P("char_0",!1),P("char_9",!1),P("makeLegalFunctionName",!1),P("emval_handle_array",!1),P("emval_free_list",!1),P("emval_symbols",!1),P("init_emval",!1),P("count_emval_handles",!1),P("get_first_emval",!1),P("getStringOrSymbol",!1),P("Emval",!1),P("emval_newers",!1),P("craftEmvalAllocator",!1),P("emval_get_global",!1),P("emval_methodCallers",!1),P("emval_registeredMethods",!1),P("warnOnce",!1),P("stackSave",!1),P("stackRestore",!1),P("stackAlloc",!1),P("AsciiToString",!1),P("stringToAscii",!1),P("UTF16ToString",!1),P("stringToUTF16",!1),P("lengthBytesUTF16",!1),P("UTF32ToString",!1),P("stringToUTF32",!1),P("lengthBytesUTF32",!1),P("allocateUTF8",!1),P("allocateUTF8OnStack",!1),r.writeStackCookie=ne,r.checkStackCookie=oe,C("ALLOC_NORMAL",!1),C("ALLOC_STACK",!1),de=function e(){St||At(),St||(de=e)},r.run=At,r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();At(),e.exports=r}));const u=1e3,c=1e3,d=!1,f=!1,p=!1,m=!1,h="initVideo",g="render",v="playAudio",y="initAudio",E="audioCode",w="videoCode",b=1,_=2,T="init",k="decode",S="audioDecode",C="videoDecode",P="close",A="updateConfig",F="key",D="delta";s((function(e){!function(){var r="undefined"!=typeof window&&void 0!==window.document?window.document:{},t=e.exports,n=function(){for(var e,t=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],n=0,o=t.length,i={};n{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const 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(e){}})(),Date.now||(Date.now=function(){return(new Date).getTime()}),l.postRun=function(){var e=[],r=[],t={};"VideoEncoder"in self&&(t={hasInit:!1,isEmitInfo:!1,offscreenCanvas:null,offscreenCanvasCtx:null,decoder:new VideoDecoder({output:function(e){if(n.isDestroyed)return;t.isEmitInfo||(n.opt.debug&&console.log("Jb: [worker] Webcodecs Video Decoder initSize"),postMessage({cmd:h,w:e.codedWidth,h:e.codedHeight}),t.isEmitInfo=!0,t.offscreenCanvas=new OffscreenCanvas(e.codedWidth,e.codedHeight),t.offscreenCanvasCtx=t.offscreenCanvas.getContext("2d")),t.offscreenCanvasCtx.drawImage(e,0,0,e.codedWidth,e.codedHeight);let r=t.offscreenCanvas.transferToImageBitmap();postMessage({cmd:g,buffer:r,delay:n.delay,ts:0},[r]),setTimeout((function(){e.close?e.close():e.destroy()}),100)},error:function(e){console.error(e)}}),decode:function(e,r){const o=e[0]>>4==1;if(t.hasInit){const n=new EncodedVideoChunk({data:e.slice(5),timestamp:r,type:o?F:D});t.decoder.decode(n)}else if(o&&0===e[1]){const r=15&e[0];n.setVideoCodec(r);const o=function(e){let r=e.subarray(1,4),t="avc1.";for(let e=0;e<3;e++){let n=r[e].toString(16);n.length<2&&(n="0"+n),t+=n}return{codec:t,description:e}}(e.slice(5));t.decoder.configure(o),t.hasInit=!0}},reset(){t.hasInit=!1,t.isEmitInfo=!1,t.offscreenCanvas=null,t.offscreenCanvasCtx=null}});var n={isDestroyed:!1,opt:{debug:d,useOffscreen:p,useWCS:f,videoBuffer:u,openWebglAlignment:m,videoBufferDelay:c},useOffscreen:function(){return n.opt.useOffscreen&&"undefined"!=typeof OffscreenCanvas},initAudioPlanar:function(e,t){postMessage({cmd:y,sampleRate:t,channels:e});var n=[],o=0;this.playAudioPlanar=function(t,i,a){for(var s=i,u=[],c=0,d=0;d<2;d++){var f=l.HEAPU32[(t>>2)+d]>>2;u[d]=l.HEAPF32.subarray(f,f+s)}if(o){if(!(s>=(i=1024-o)))return o+=s,r[0]=Float32Array.of(...r[0],...u[0]),void(2==e&&(r[1]=Float32Array.of(...r[1],...u[1])));n[0]=Float32Array.of(...r[0],...u[0].subarray(0,i)),2==e&&(n[1]=Float32Array.of(...r[1],...u[1].subarray(0,i))),postMessage({cmd:v,buffer:n,ts:a},n.map((e=>e.buffer))),c=i,s-=i}for(o=s;o>=1024;o-=1024)n[0]=u[0].slice(c,c+=1024),2==e&&(n[1]=u[1].slice(c-1024,c)),postMessage({cmd:v,buffer:n,ts:a},n.map((e=>e.buffer)));o&&(r[0]=u[0].slice(c),2==e&&(r[1]=u[1].slice(c)))}},setVideoCodec:function(e){postMessage({cmd:w,code:e})},setAudioCodec:function(e){postMessage({cmd:E,code:e})},setVideoSize:function(e,r){postMessage({cmd:h,w:e,h:r});var t=e*r,o=t>>2;n.useOffscreen()?(this.offscreenCanvas=new OffscreenCanvas(e,r),this.offscreenCanvasGL=this.offscreenCanvas.getContext("webgl"),this.webglObj=((e,r)=>{var t=["attribute vec4 vertexPos;","attribute vec4 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos.xy;","}"].join("\n"),n=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join("\n");r&&e.pixelStorei(e.UNPACK_ALIGNMENT,1);var o=e.createShader(e.VERTEX_SHADER);e.shaderSource(o,t),e.compileShader(o),e.getShaderParameter(o,e.COMPILE_STATUS)||console.log("Vertex shader failed to compile: "+e.getShaderInfoLog(o));var i=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(i,n),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)||console.log("Fragment shader failed to compile: "+e.getShaderInfoLog(i));var a=e.createProgram();e.attachShader(a,o),e.attachShader(a,i),e.linkProgram(a),e.getProgramParameter(a,e.LINK_STATUS)||console.log("Program failed to compile: "+e.getProgramInfoLog(a)),e.useProgram(a);var s=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,s),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),e.STATIC_DRAW);var l=e.getAttribLocation(a,"vertexPos");e.enableVertexAttribArray(l),e.vertexAttribPointer(l,2,e.FLOAT,!1,0,0);var u=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,u),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),e.STATIC_DRAW);var c=e.getAttribLocation(a,"texturePos");function d(r,t){var n=e.createTexture();return e.bindTexture(e.TEXTURE_2D,n),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),e.uniform1i(e.getUniformLocation(a,r),t),n}e.enableVertexAttribArray(c),e.vertexAttribPointer(c,2,e.FLOAT,!1,0,0);var f=d("ySampler",0),p=d("uSampler",1),m=d("vSampler",2);return{render:function(r,t,n,o,i){e.viewport(0,0,r,t),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,f),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,r,t,0,e.LUMINANCE,e.UNSIGNED_BYTE,n),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,p),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,r/2,t/2,0,e.LUMINANCE,e.UNSIGNED_BYTE,o),e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,m),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,r/2,t/2,0,e.LUMINANCE,e.UNSIGNED_BYTE,i),e.drawArrays(e.TRIANGLE_STRIP,0,4)},destroy:function(){try{e.deleteProgram(a),e.deleteBuffer(s),e.deleteBuffer(u),e.deleteTexture(f),e.deleteTexture(p),e.deleteTexture(m)}catch(e){}}}})(this.offscreenCanvasGL,n.opt.openWebglAlignment),this.draw=function(n,i,a,s){const u=l.HEAPU8.subarray(i,i+t),c=l.HEAPU8.subarray(a,a+o),d=l.HEAPU8.subarray(s,s+o);this.webglObj.render(e,r,u,c,d);let f=this.offscreenCanvas.transferToImageBitmap();postMessage({cmd:g,buffer:f,delay:this.delay,ts:n},[f])}):this.draw=function(e,r,n,i){const a=[Uint8Array.from(l.HEAPU8.subarray(r,r+t)),Uint8Array.from(l.HEAPU8.subarray(n,n+o)),Uint8Array.from(l.HEAPU8.subarray(i,i+o))];postMessage({cmd:g,output:a,delay:this.delay,ts:e},a.map((e=>e.buffer)))}},getDelay:function(e){if(!e)return-1;if(this.firstTimestamp){if(e){const r=Date.now()-this.startTimestamp,t=e-this.firstTimestamp;this.delay=r>=t?r-t:t-r}}else this.firstTimestamp=e,this.startTimestamp=Date.now(),this.delay=-1;return this.delay},resetDelay:function(){this.firstTimestamp=null,this.startTimestamp=null,this.delay=-1},init:function(){n.opt.debug&&console.log("Jb: [worker] init");const r=e=>{n.opt.useWCS&&n.useOffscreen()&&e.type===_&&t.decode?t.decode(e.payload,e.ts):e.decoder.decode(e.payload,e.ts)};this.stopId=setInterval((()=>{if(!n.isDestroyed&&e.length)if(this.dropping){for((t=e.shift()).type===b&&0===t.payload[1]&&r(t);!t.isIFrame&&e.length;)(t=e.shift()).type===b&&0===t.payload[1]&&r(t);t.isIFrame&&(this.dropping=!1,r(t))}else{var t=e[0];if(-1===this.getDelay(t.ts))e.shift(),r(t);else if(this.delay>n.opt.videoBuffer+n.opt.videoBufferDelay)this.resetDelay(),this.dropping=!0;else for(;e.length&&(t=e[0],this.getDelay(t.ts)>n.opt.videoBuffer);)e.shift(),r(t)}}),10)},close:function(){n.isDestroyed=!0,n.opt.debug&&console.log("Jb: [worker]: close"),clearInterval(this.stopId),this.stopId=null,o.clear&&o.clear(),i.clear&&i.clear(),t.reset&&t.reset(),this.firstTimestamp=null,this.startTimestamp=null,this.delay=-1,this.dropping=!1,this.webglObj&&(this.webglObj.destroy(),this.offscreenCanvas=null,this.offscreenCanvasGL=null,this.offscreenCanvasCtx=null),e=[],r=[],delete this.playAudioPlanar,delete this.draw},pushBuffer:function(r,t){t.type===b?e.push({ts:t.ts,payload:r,decoder:o,type:b}):t.type===_&&e.push({ts:t.ts,payload:r,decoder:i,type:_,isIFrame:t.isIFrame})}},o=new l.AudioDecoder(n),i=new l.VideoDecoder(n);postMessage({cmd:T}),self.onmessage=function(e){var r=e.data;switch(r.cmd){case T:try{n.opt=Object.assign(n.opt,JSON.parse(r.opt))}catch(e){}o.sample_rate=r.sampleRate,n.init();break;case k:n.pushBuffer(r.buffer,r.options);break;case S:o.decode(r.buffer,r.ts);break;case C:i.decode(r.buffer,r.ts);break;case P:n.close();break;case A:n.opt[r.key]=r.value}}}})); +!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(require("path"),require("fs"),require("crypto")):"function"==typeof define&&define.amd?define(["path","fs","crypto"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).path,e.fs,e.crypto$1)}(this,(function(e,r,t){"use strict";function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=n(e),i=n(r),a=n(t);function s(e,r){return e(r={exports:{}},r.exports),r.exports}var l=s((function(e){var r=void 0!==r?r:{},t=(r={print:function(e){console.log("Jessibuca: [worker]:",e)},printErr:function(e){console.warn("Jessibuca: [worker]:",e),postMessage({cmd:"wasmError",message:e})}},Object.assign({},r)),n="./this.program",s="object"==typeof window,l="function"==typeof importScripts,u="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,c=!s&&!u&&!l;if(r.ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)");var d,f,p,m,h,g,v="";if(u){if("object"!=typeof process)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?)");v=l?o.default.dirname(v)+"/":__dirname+"/",g=()=>{h||(m=i.default,h=o.default)},d=function(e,r){return g(),e=h.normalize(e),m.readFileSync(e,r?void 0:"utf8")},p=e=>{var r=d(e,!0);return r.buffer||(r=new Uint8Array(r)),F(r.buffer),r},f=(e,r,t)=>{g(),e=h.normalize(e),m.readFile(e,(function(e,n){e?t(e):r(n.buffer)}))},process.argv.length>1&&(n=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),e.exports=r,process.on("uncaughtException",(function(e){if(!(e instanceof St))throw e})),process.on("unhandledRejection",(function(e){throw e})),r.inspect=function(){return"[Emscripten Module object]"}}else if(c){if("object"==typeof process||"object"==typeof 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?)");"undefined"!=typeof read&&(d=function(e){return read(e)}),p=function(e){let r;return"function"==typeof readbuffer?new Uint8Array(readbuffer(e)):(r=read(e,"binary"),F("object"==typeof r),r)},f=function(e,r,t){setTimeout((()=>r(p(e))),0)},"undefined"!=typeof scriptArgs&&scriptArgs,"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)}else{if(!s&&!l)throw new Error("environment detection error");if(l?v=self.location.href:"undefined"!=typeof document&&document.currentScript&&(v=document.currentScript.src),v=0!==v.indexOf("blob:")?v.substr(0,v.replace(/[?#].*/,"").lastIndexOf("/")+1):"","object"!=typeof 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?)");d=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},l&&(p=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),f=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?r(n.response):t()},n.onerror=t,n.send(null)}}var y,E,w,b=r.print||console.log.bind(console),_=r.printErr||console.warn.bind(console);function T(e){T.shown||(T.shown={}),T.shown[e]||(T.shown[e]=1,_(e))}function k(e,t){Object.getOwnPropertyDescriptor(r,e)||Object.defineProperty(r,e,{configurable:!0,get:function(){ge("Module."+e+" has been replaced with plain "+t+" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}})}function S(e,r){var t="'"+e+"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)";return r&&(t+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),t}function C(e,t){Object.getOwnPropertyDescriptor(r,e)||Object.defineProperty(r,e,{configurable:!0,get:function(){ge(S(e,t))}})}function P(e,t){Object.getOwnPropertyDescriptor(r,e)||(r[e]=()=>ge(S(e,t)))}Object.assign(r,t),t=null,y="fetchSettings",Object.getOwnPropertyDescriptor(r,y)&&ge("`Module."+y+"` was supplied but `"+y+"` not included in INCOMING_MODULE_JS_API"),r.arguments,k("arguments","arguments_"),r.thisProgram&&(n=r.thisProgram),k("thisProgram","thisProgram"),r.quit,k("quit","quit_"),F(void 0===r.memoryInitializerPrefixURL,"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),F(void 0===r.pthreadMainPrefixURL,"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),F(void 0===r.cdInitializerPrefixURL,"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),F(void 0===r.filePackagePrefixURL,"Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),F(void 0===r.read,"Module.read option was removed (modify read_ in JS)"),F(void 0===r.readAsync,"Module.readAsync option was removed (modify readAsync in JS)"),F(void 0===r.readBinary,"Module.readBinary option was removed (modify readBinary in JS)"),F(void 0===r.setWindowTitle,"Module.setWindowTitle option was removed (modify setWindowTitle in JS)"),F(void 0===r.TOTAL_MEMORY,"Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),k("read","read_"),k("readAsync","readAsync"),k("readBinary","readBinary"),k("setWindowTitle","setWindowTitle"),F(!c,"shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable."),r.wasmBinary&&(E=r.wasmBinary),k("wasmBinary","wasmBinary"),r.noExitRuntime,k("noExitRuntime","noExitRuntime"),"object"!=typeof WebAssembly&&ge("no native wasm support detected");var A=!1;function F(e,r){e||ge("Assertion failed"+(r?": "+r:""))}var D="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function O(e,r,t){for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;if(o-r>16&&e.buffer&&D)return D.decode(e.subarray(r,o));for(var i="";r>10,56320|1023&u)}}else i+=String.fromCharCode((31&a)<<6|s)}else i+=String.fromCharCode(a)}return i}function R(e,r){return e?O(U,e,r):""}function M(e,r,t,n){if(!(n>0))return 0;for(var o=t,i=t+n-1,a=0;a=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a);if(s<=127){if(t>=i)break;r[t++]=s}else if(s<=2047){if(t+1>=i)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=i)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=i)break;s>1114111&&T("Invalid Unicode code point 0x"+s.toString(16)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF)."),r[t++]=240|s>>18,r[t++]=128|s>>12&63,r[t++]=128|s>>6&63,r[t++]=128|63&s}}return r[t]=0,t-o}function N(e,r,t){return F("number"==typeof t,"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),M(e,U,r,t)}function I(e){for(var r=0,t=0;t=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++t)),n<=127?++r:r+=n<=2047?2:n<=65535?3:4}return r}var L,x,U,B,j,$,W,z,H,G="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function V(e,r){F(e%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");for(var t=e,n=t>>1,o=n+r/2;!(n>=o)&&j[n];)++n;if((t=n<<1)-e>32&&G)return G.decode(U.subarray(e,t));for(var i="",a=0;!(a>=r/2);++a){var s=B[e+2*a>>1];if(0==s)break;i+=String.fromCharCode(s)}return i}function Y(e,r,t){if(F(r%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!"),F("number"==typeof t,"stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),void 0===t&&(t=2147483647),t<2)return 0;for(var n=r,o=(t-=2)<2*e.length?t/2:e.length,i=0;i>1]=a,r+=2}return B[r>>1]=0,r-n}function q(e){return 2*e.length}function X(e,r){F(e%4==0,"Pointer passed to UTF32ToString must be aligned to four bytes!");for(var t=0,n="";!(t>=r/4);){var o=$[e+4*t>>2];if(0==o)break;if(++t,o>=65536){var i=o-65536;n+=String.fromCharCode(55296|i>>10,56320|1023&i)}else n+=String.fromCharCode(o)}return n}function K(e,r,t){if(F(r%4==0,"Pointer passed to stringToUTF32 must be aligned to four bytes!"),F("number"==typeof t,"stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),void 0===t&&(t=2147483647),t<4)return 0;for(var n=r,o=n+t-4,i=0;i=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++i);if($[r>>2]=a,(r+=4)+4>o)break}return $[r>>2]=0,r-n}function J(e){for(var r=0,t=0;t=55296&&n<=57343&&++t,r+=4}return r}function Q(e){var r=I(e)+1,t=gt(r);return t&&M(e,x,t,r),t}function Z(e){L=e,r.HEAP8=x=new Int8Array(e),r.HEAP16=B=new Int16Array(e),r.HEAP32=$=new Int32Array(e),r.HEAPU8=U=new Uint8Array(e),r.HEAPU16=j=new Uint16Array(e),r.HEAPU32=W=new Uint32Array(e),r.HEAPF32=z=new Float32Array(e),r.HEAPF64=H=new Float64Array(e)}var ee=5242880;r.TOTAL_STACK&&F(ee===r.TOTAL_STACK,"the stack size can no longer be determined at runtime");var re,te=r.INITIAL_MEMORY||67108864;function ne(){var e=kt();F(0==(3&e)),$[e>>2]=34821223,$[e+4>>2]=2310721022,$[0]=1668509029}function oe(){if(!A){var e=kt(),r=W[e>>2],t=W[e+4>>2];34821223==r&&2310721022==t||ge("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x2135467, but received 0x"+t.toString(16)+" 0x"+r.toString(16)),1668509029!==$[0]&&ge("Runtime error: The application has corrupted its heap memory area (address zero)!")}}k("INITIAL_MEMORY","INITIAL_MEMORY"),F(te>=ee,"INITIAL_MEMORY should be larger than TOTAL_STACK, was "+te+"! (TOTAL_STACK="+"5242880)"),F("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&null!=Int32Array.prototype.subarray&&null!=Int32Array.prototype.set,"JS engine does not provide full typed array support"),F(!r.wasmMemory,"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally"),F(67108864==te,"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically"),function(){var e=new Int16Array(1),r=new Int8Array(e.buffer);if(e[0]=25459,115!==r[0]||99!==r[1])throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"}();var ie=[],ae=[],se=[],le=!1;F(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),F(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),F(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),F(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var ue=0,ce=null,de=null,fe={};function pe(e){for(var r=e;;){if(!fe[e])return e;e=r+Math.random()}}function me(e){ue++,r.monitorRunDependencies&&r.monitorRunDependencies(ue),e?(F(!fe[e]),fe[e]=1,null===ce&&"undefined"!=typeof setInterval&&(ce=setInterval((function(){if(A)return clearInterval(ce),void(ce=null);var e=!1;for(var r in fe)e||(e=!0,_("still waiting on run dependencies:")),_("dependency: "+r);e&&_("(end of list)")}),1e4))):_("warning: run dependency added without ID")}function he(e){if(ue--,r.monitorRunDependencies&&r.monitorRunDependencies(ue),e?(F(fe[e]),delete fe[e]):_("warning: run dependency removed without ID"),0==ue&&(null!==ce&&(clearInterval(ce),ce=null),de)){var t=de;de=null,t()}}function ge(e){throw r.onAbort&&r.onAbort(e),_(e="Aborted("+e+")"),A=!0,new WebAssembly.RuntimeError(e)}var ve,ye,Ee;function we(e){return e.startsWith("data:application/octet-stream;base64,")}function be(e){return e.startsWith("file://")}function _e(e,t){return function(){var n=e,o=t;return t||(o=r.asm),F(le,"native function `"+n+"` called before runtime initialization"),o[e]||F(o[e],"exported native function `"+n+"` not found"),o[e].apply(null,arguments)}}function Te(e){try{if(e==ve&&E)return new Uint8Array(E);if(p)return p(e);throw"both async and sync fetching of the wasm failed"}catch(e){ge(e)}}function ke(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var n=t.func;"number"==typeof n?void 0===t.arg?Ce(n)():Ce(n)(t.arg):n(void 0===t.arg?null:t.arg)}else t(r)}}function Se(e){return e.replace(/\b_Z[\w\d_]+/g,(function(e){var r,t=(r=e,T("warning: build with -sDEMANGLE_SUPPORT to link in libcxxabi demangling"),r);return e===t?e:t+" ["+e+"]"}))}function Ce(e){return re.get(e)}function Pe(){var e=new Error;if(!e.stack){try{throw new Error}catch(r){e=r}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}we(ve="decoder.wasm")||(ve=function(e){return r.locateFile?r.locateFile(e,v):v+e}(ve));var Ae={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,r)=>{for(var t=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=Ae.isAbs(e),t="/"===e.substr(-1);return(e=Ae.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=Ae.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=Ae.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===r?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments,0);return Ae.normalize(e.join("/"))},join2:(e,r)=>Ae.normalize(e+"/"+r)};var Fe={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:Ie.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=Ae.isAbs(n)}return(r?"/":"")+(e=Ae.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||"."},relative:(e,r)=>{function t(e){for(var r=0;r=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=Fe.resolve(e).substr(1),r=Fe.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),i=Math.min(n.length,o.length),a=i,s=0;s0?t.slice(0,n).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(r=window.prompt("Input: "))&&(r+="\n"):"function"==typeof readline&&null!==(r=readline())&&(r+="\n");if(!r)return null;e.input=pt(r,!0)}return e.input.shift()},put_char:function(e,r){null===r||10===r?(b(O(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},flush:function(e){e.output&&e.output.length>0&&(b(O(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,r){null===r||10===r?(_(O(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},flush:function(e){e.output&&e.output.length>0&&(_(O(e.output,0)),e.output=[])}}};function Oe(e){e=function(e,r){return F(r,"alignment argument is required"),Math.ceil(e/r)*r}(e,65536);var r=bt(65536,e);return r?(function(e,r){U.fill(0,e,e+r)}(r,e),r):0}var Re={ops_table:null,mount:function(e){return Re.createNode(null,"/",16895,0)},createNode:function(e,r,t,n){if(Ie.isBlkdev(t)||Ie.isFIFO(t))throw new Ie.ErrnoError(63);Re.ops_table||(Re.ops_table={dir:{node:{getattr:Re.node_ops.getattr,setattr:Re.node_ops.setattr,lookup:Re.node_ops.lookup,mknod:Re.node_ops.mknod,rename:Re.node_ops.rename,unlink:Re.node_ops.unlink,rmdir:Re.node_ops.rmdir,readdir:Re.node_ops.readdir,symlink:Re.node_ops.symlink},stream:{llseek:Re.stream_ops.llseek}},file:{node:{getattr:Re.node_ops.getattr,setattr:Re.node_ops.setattr},stream:{llseek:Re.stream_ops.llseek,read:Re.stream_ops.read,write:Re.stream_ops.write,allocate:Re.stream_ops.allocate,mmap:Re.stream_ops.mmap,msync:Re.stream_ops.msync}},link:{node:{getattr:Re.node_ops.getattr,setattr:Re.node_ops.setattr,readlink:Re.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Re.node_ops.getattr,setattr:Re.node_ops.setattr},stream:Ie.chrdev_stream_ops}});var o=Ie.createNode(e,r,t,n);return Ie.isDir(o.mode)?(o.node_ops=Re.ops_table.dir.node,o.stream_ops=Re.ops_table.dir.stream,o.contents={}):Ie.isFile(o.mode)?(o.node_ops=Re.ops_table.file.node,o.stream_ops=Re.ops_table.file.stream,o.usedBytes=0,o.contents=null):Ie.isLink(o.mode)?(o.node_ops=Re.ops_table.link.node,o.stream_ops=Re.ops_table.link.stream):Ie.isChrdev(o.mode)&&(o.node_ops=Re.ops_table.chrdev.node,o.stream_ops=Re.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){r=Math.max(r,t*(t<1048576?2:1.125)>>>0),0!=t&&(r=Math.max(r,256));var n=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,r){if(e.usedBytes!=r)if(0==r)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr:function(e){var r={};return r.dev=Ie.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,Ie.isDir(e.mode)?r.size=4096:Ie.isFile(e.mode)?r.size=e.usedBytes:Ie.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr:function(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp),void 0!==r.size&&Re.resizeFileStorage(e,r.size)},lookup:function(e,r){throw Ie.genericErrors[44]},mknod:function(e,r,t,n){return Re.createNode(e,r,t,n)},rename:function(e,r,t){if(Ie.isDir(e.mode)){var n;try{n=Ie.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new Ie.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink:function(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir:function(e,r){var t=Ie.lookupNode(e,r);for(var n in t.contents)throw new Ie.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},readdir:function(e){var r=[".",".."];for(var t in e.contents)e.contents.hasOwnProperty(t)&&r.push(t);return r},symlink:function(e,r,t){var n=Re.createNode(e,r,41471,0);return n.link=t,n},readlink:function(e){if(!Ie.isLink(e.mode))throw new Ie.ErrnoError(28);return e.link}},stream_ops:{read:function(e,r,t,n,o){var i=e.node.contents;if(o>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-o,n);if(F(a>=0),a>8&&i.subarray)r.set(i.subarray(o,o+a),t);else for(var s=0;s0||n+t1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=Fe.resolve(Ie.cwd(),e)))return{path:"",node:null};var t={follow_mount:!0,recurse_count:0};if(r=Object.assign(t,r),r.recurse_count>8)throw new Ie.ErrnoError(32);for(var n=Ae.normalizeArray(e.split("/").filter((e=>!!e)),!1),o=Ie.root,i="/",a=0;a40)throw new Ie.ErrnoError(32)}}return{path:i,node:o}},getPath:e=>{for(var r;;){if(Ie.isRoot(e)){var t=e.mount.mountpoint;return r?"/"!==t[t.length-1]?t+"/"+r:t+r:t}r=r?e.name+"/"+r:e.name,e=e.parent}},hashName:(e,r)=>{for(var t=0,n=0;n>>0)%Ie.nameTable.length},hashAddNode:e=>{var r=Ie.hashName(e.parent.id,e.name);e.name_next=Ie.nameTable[r],Ie.nameTable[r]=e},hashRemoveNode:e=>{var r=Ie.hashName(e.parent.id,e.name);if(Ie.nameTable[r]===e)Ie.nameTable[r]=e.name_next;else for(var t=Ie.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode:(e,r)=>{var t=Ie.mayLookup(e);if(t)throw new Ie.ErrnoError(t,e);for(var n=Ie.hashName(e.id,r),o=Ie.nameTable[n];o;o=o.name_next){var i=o.name;if(o.parent.id===e.id&&i===r)return o}return Ie.lookup(e,r)},createNode:(e,r,t,n)=>{F("object"==typeof e);var o=new Ie.FSNode(e,r,t,n);return Ie.hashAddNode(o),o},destroyNode:e=>{Ie.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var r=Ie.flagModes[e];if(void 0===r)throw new Error("Unknown file open mode: "+e);return r},flagsToPermissionString:e=>{var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>Ie.ignorePermissions||(!r.includes("r")||292&e.mode)&&(!r.includes("w")||146&e.mode)&&(!r.includes("x")||73&e.mode)?0:2,mayLookup:e=>{var r=Ie.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate:(e,r)=>{try{Ie.lookupNode(e,r);return 20}catch(e){}return Ie.nodePermissions(e,"wx")},mayDelete:(e,r,t)=>{var n;try{n=Ie.lookupNode(e,r)}catch(e){return e.errno}var o=Ie.nodePermissions(e,"wx");if(o)return o;if(t){if(!Ie.isDir(n.mode))return 54;if(Ie.isRoot(n)||Ie.getPath(n)===Ie.cwd())return 10}else if(Ie.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?Ie.isLink(e.mode)?32:Ie.isDir(e.mode)&&("r"!==Ie.flagsToPermissionString(r)||512&r)?31:Ie.nodePermissions(e,Ie.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ie.MAX_OPEN_FDS;for(var t=e;t<=r;t++)if(!Ie.streams[t])return t;throw new Ie.ErrnoError(33)},getStream:e=>Ie.streams[e],createStream:(e,r,t)=>{Ie.FSStream||(Ie.FSStream=function(){this.shared={}},Ie.FSStream.prototype={object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get function(){return this.shared.position},set:function(e){this.shared.position=e}}}),e=Object.assign(new Ie.FSStream,e);var n=Ie.nextfd(r,t);return e.fd=n,Ie.streams[n]=e,e},closeStream:e=>{Ie.streams[e]=null},chrdev_stream_ops:{open:e=>{var r=Ie.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new Ie.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice:(e,r)=>{Ie.devices[e]={stream_ops:r}},getDevice:e=>Ie.devices[e],getMounts:e=>{for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push.apply(t,n.mounts)}return r},syncfs:(e,r)=>{"function"==typeof e&&(r=e,e=!1),Ie.syncFSRequests++,Ie.syncFSRequests>1&&_("warning: "+Ie.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var t=Ie.getMounts(Ie.root.mount),n=0;function o(e){return F(Ie.syncFSRequests>0),Ie.syncFSRequests--,r(e)}function i(e){if(e)return i.errored?void 0:(i.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach((r=>{if(!r.type.syncfs)return i(null);r.type.syncfs(r,e,i)}))},mount:(e,r,t)=>{if("string"==typeof e)throw e;var n,o="/"===t,i=!t;if(o&&Ie.root)throw new Ie.ErrnoError(10);if(!o&&!i){var a=Ie.lookupPath(t,{follow_mount:!1});if(t=a.path,n=a.node,Ie.isMountpoint(n))throw new Ie.ErrnoError(10);if(!Ie.isDir(n.mode))throw new Ie.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},l=e.mount(s);return l.mount=s,s.root=l,o?Ie.root=l:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),l},unmount:e=>{var r=Ie.lookupPath(e,{follow_mount:!1});if(!Ie.isMountpoint(r.node))throw new Ie.ErrnoError(28);var t=r.node,n=t.mounted,o=Ie.getMounts(n);Object.keys(Ie.nameTable).forEach((e=>{for(var r=Ie.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&Ie.destroyNode(r),r=t}})),t.mounted=null;var i=t.mount.mounts.indexOf(n);F(-1!==i),t.mount.mounts.splice(i,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod:(e,r,t)=>{var n=Ie.lookupPath(e,{parent:!0}).node,o=Ae.basename(e);if(!o||"."===o||".."===o)throw new Ie.ErrnoError(28);var i=Ie.mayCreate(n,o);if(i)throw new Ie.ErrnoError(i);if(!n.node_ops.mknod)throw new Ie.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=void 0!==r?r:438,r&=4095,r|=32768,Ie.mknod(e,r,0)),mkdir:(e,r)=>(r=void 0!==r?r:511,r&=1023,r|=16384,Ie.mknod(e,r,0)),mkdirTree:(e,r)=>{for(var t=e.split("/"),n="",o=0;o(void 0===t&&(t=r,r=438),r|=8192,Ie.mknod(e,r,t)),symlink:(e,r)=>{if(!Fe.resolve(e))throw new Ie.ErrnoError(44);var t=Ie.lookupPath(r,{parent:!0}).node;if(!t)throw new Ie.ErrnoError(44);var n=Ae.basename(r),o=Ie.mayCreate(t,n);if(o)throw new Ie.ErrnoError(o);if(!t.node_ops.symlink)throw new Ie.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename:(e,r)=>{var t,n,o=Ae.dirname(e),i=Ae.dirname(r),a=Ae.basename(e),s=Ae.basename(r);if(t=Ie.lookupPath(e,{parent:!0}).node,n=Ie.lookupPath(r,{parent:!0}).node,!t||!n)throw new Ie.ErrnoError(44);if(t.mount!==n.mount)throw new Ie.ErrnoError(75);var l,u=Ie.lookupNode(t,a),c=Fe.relative(e,i);if("."!==c.charAt(0))throw new Ie.ErrnoError(28);if("."!==(c=Fe.relative(r,o)).charAt(0))throw new Ie.ErrnoError(55);try{l=Ie.lookupNode(n,s)}catch(e){}if(u!==l){var d=Ie.isDir(u.mode),f=Ie.mayDelete(t,a,d);if(f)throw new Ie.ErrnoError(f);if(f=l?Ie.mayDelete(n,s,d):Ie.mayCreate(n,s))throw new Ie.ErrnoError(f);if(!t.node_ops.rename)throw new Ie.ErrnoError(63);if(Ie.isMountpoint(u)||l&&Ie.isMountpoint(l))throw new Ie.ErrnoError(10);if(n!==t&&(f=Ie.nodePermissions(t,"w")))throw new Ie.ErrnoError(f);Ie.hashRemoveNode(u);try{t.node_ops.rename(u,n,s)}catch(e){throw e}finally{Ie.hashAddNode(u)}}},rmdir:e=>{var r=Ie.lookupPath(e,{parent:!0}).node,t=Ae.basename(e),n=Ie.lookupNode(r,t),o=Ie.mayDelete(r,t,!0);if(o)throw new Ie.ErrnoError(o);if(!r.node_ops.rmdir)throw new Ie.ErrnoError(63);if(Ie.isMountpoint(n))throw new Ie.ErrnoError(10);r.node_ops.rmdir(r,t),Ie.destroyNode(n)},readdir:e=>{var r=Ie.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new Ie.ErrnoError(54);return r.node_ops.readdir(r)},unlink:e=>{var r=Ie.lookupPath(e,{parent:!0}).node;if(!r)throw new Ie.ErrnoError(44);var t=Ae.basename(e),n=Ie.lookupNode(r,t),o=Ie.mayDelete(r,t,!1);if(o)throw new Ie.ErrnoError(o);if(!r.node_ops.unlink)throw new Ie.ErrnoError(63);if(Ie.isMountpoint(n))throw new Ie.ErrnoError(10);r.node_ops.unlink(r,t),Ie.destroyNode(n)},readlink:e=>{var r=Ie.lookupPath(e).node;if(!r)throw new Ie.ErrnoError(44);if(!r.node_ops.readlink)throw new Ie.ErrnoError(28);return Fe.resolve(Ie.getPath(r.parent),r.node_ops.readlink(r))},stat:(e,r)=>{var t=Ie.lookupPath(e,{follow:!r}).node;if(!t)throw new Ie.ErrnoError(44);if(!t.node_ops.getattr)throw new Ie.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>Ie.stat(e,!0),chmod:(e,r,t)=>{var n;"string"==typeof e?n=Ie.lookupPath(e,{follow:!t}).node:n=e;if(!n.node_ops.setattr)throw new Ie.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod:(e,r)=>{Ie.chmod(e,r,!0)},fchmod:(e,r)=>{var t=Ie.getStream(e);if(!t)throw new Ie.ErrnoError(8);Ie.chmod(t.node,r)},chown:(e,r,t,n)=>{var o;"string"==typeof e?o=Ie.lookupPath(e,{follow:!n}).node:o=e;if(!o.node_ops.setattr)throw new Ie.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(e,r,t)=>{Ie.chown(e,r,t,!0)},fchown:(e,r,t)=>{var n=Ie.getStream(e);if(!n)throw new Ie.ErrnoError(8);Ie.chown(n.node,r,t)},truncate:(e,r)=>{if(r<0)throw new Ie.ErrnoError(28);var t;"string"==typeof e?t=Ie.lookupPath(e,{follow:!0}).node:t=e;if(!t.node_ops.setattr)throw new Ie.ErrnoError(63);if(Ie.isDir(t.mode))throw new Ie.ErrnoError(31);if(!Ie.isFile(t.mode))throw new Ie.ErrnoError(28);var n=Ie.nodePermissions(t,"w");if(n)throw new Ie.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate:(e,r)=>{var t=Ie.getStream(e);if(!t)throw new Ie.ErrnoError(8);if(0==(2097155&t.flags))throw new Ie.ErrnoError(28);Ie.truncate(t.node,r)},utime:(e,r,t)=>{var n=Ie.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open:(e,t,n,o,i)=>{if(""===e)throw new Ie.ErrnoError(44);var a;if(n=void 0===n?438:n,n=64&(t="string"==typeof t?Ie.modeStringToFlags(t):t)?4095&n|32768:0,"object"==typeof e)a=e;else{e=Ae.normalize(e);try{a=Ie.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var s=!1;if(64&t)if(a){if(128&t)throw new Ie.ErrnoError(20)}else a=Ie.mknod(e,n,0),s=!0;if(!a)throw new Ie.ErrnoError(44);if(Ie.isChrdev(a.mode)&&(t&=-513),65536&t&&!Ie.isDir(a.mode))throw new Ie.ErrnoError(54);if(!s){var l=Ie.mayOpen(a,t);if(l)throw new Ie.ErrnoError(l)}512&t&&Ie.truncate(a,0),t&=-131713;var u=Ie.createStream({node:a,path:Ie.getPath(a),flags:t,seekable:!0,position:0,stream_ops:a.stream_ops,ungotten:[],error:!1},o,i);return u.stream_ops.open&&u.stream_ops.open(u),!r.logReadFiles||1&t||(Ie.readFiles||(Ie.readFiles={}),e in Ie.readFiles||(Ie.readFiles[e]=1)),u},close:e=>{if(Ie.isClosed(e))throw new Ie.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Ie.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,r,t)=>{if(Ie.isClosed(e))throw new Ie.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Ie.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new Ie.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read:(e,r,t,n,o)=>{if(n<0||o<0)throw new Ie.ErrnoError(28);if(Ie.isClosed(e))throw new Ie.ErrnoError(8);if(1==(2097155&e.flags))throw new Ie.ErrnoError(8);if(Ie.isDir(e.node.mode))throw new Ie.ErrnoError(31);if(!e.stream_ops.read)throw new Ie.ErrnoError(28);var i=void 0!==o;if(i){if(!e.seekable)throw new Ie.ErrnoError(70)}else o=e.position;var a=e.stream_ops.read(e,r,t,n,o);return i||(e.position+=a),a},write:(e,r,t,n,o,i)=>{if(n<0||o<0)throw new Ie.ErrnoError(28);if(Ie.isClosed(e))throw new Ie.ErrnoError(8);if(0==(2097155&e.flags))throw new Ie.ErrnoError(8);if(Ie.isDir(e.node.mode))throw new Ie.ErrnoError(31);if(!e.stream_ops.write)throw new Ie.ErrnoError(28);e.seekable&&1024&e.flags&&Ie.llseek(e,0,2);var a=void 0!==o;if(a){if(!e.seekable)throw new Ie.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,i);return a||(e.position+=s),s},allocate:(e,r,t)=>{if(Ie.isClosed(e))throw new Ie.ErrnoError(8);if(r<0||t<=0)throw new Ie.ErrnoError(28);if(0==(2097155&e.flags))throw new Ie.ErrnoError(8);if(!Ie.isFile(e.node.mode)&&!Ie.isDir(e.node.mode))throw new Ie.ErrnoError(43);if(!e.stream_ops.allocate)throw new Ie.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap:(e,r,t,n,o,i)=>{if(0!=(2&o)&&0==(2&i)&&2!=(2097155&e.flags))throw new Ie.ErrnoError(2);if(1==(2097155&e.flags))throw new Ie.ErrnoError(2);if(!e.stream_ops.mmap)throw new Ie.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o,i)},msync:(e,r,t,n,o)=>e&&e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,munmap:e=>0,ioctl:(e,r,t)=>{if(!e.stream_ops.ioctl)throw new Ie.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile:function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error('Invalid encoding type "'+r.encoding+'"');var t,n=Ie.open(e,r.flags),o=Ie.stat(e),i=o.size,a=new Uint8Array(i);return Ie.read(n,a,0,i,0),"utf8"===r.encoding?t=O(a,0):"binary"===r.encoding&&(t=a),Ie.close(n),t},writeFile:function(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t.flags=t.flags||577;var n=Ie.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(I(r)+1),i=M(r,o,0,o.length);Ie.write(n,o,0,i,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(r))throw new Error("Unsupported data type");Ie.write(n,r,0,r.byteLength,void 0,t.canOwn)}Ie.close(n)},cwd:()=>Ie.currentPath,chdir:e=>{var r=Ie.lookupPath(e,{follow:!0});if(null===r.node)throw new Ie.ErrnoError(44);if(!Ie.isDir(r.node.mode))throw new Ie.ErrnoError(54);var t=Ie.nodePermissions(r.node,"x");if(t)throw new Ie.ErrnoError(t);Ie.currentPath=r.path},createDefaultDirectories:()=>{Ie.mkdir("/tmp"),Ie.mkdir("/home"),Ie.mkdir("/home/web_user")},createDefaultDevices:()=>{Ie.mkdir("/dev"),Ie.registerDevice(Ie.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),Ie.mkdev("/dev/null",Ie.makedev(1,3)),De.register(Ie.makedev(5,0),De.default_tty_ops),De.register(Ie.makedev(6,0),De.default_tty1_ops),Ie.mkdev("/dev/tty",Ie.makedev(5,0)),Ie.mkdev("/dev/tty1",Ie.makedev(6,0));var e=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}if(u)try{var r=a.default;return function(){return r.randomBytes(1)[0]}}catch(e){}return function(){ge("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")}}();Ie.createDevice("/dev","random",e),Ie.createDevice("/dev","urandom",e),Ie.mkdir("/dev/shm"),Ie.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{Ie.mkdir("/proc");var e=Ie.mkdir("/proc/self");Ie.mkdir("/proc/self/fd"),Ie.mount({mount:()=>{var r=Ie.createNode(e,"fd",16895,73);return r.node_ops={lookup:(e,r)=>{var t=+r,n=Ie.getStream(t);if(!n)throw new Ie.ErrnoError(8);var o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},r}},{},"/proc/self/fd")},createStandardStreams:()=>{r.stdin?Ie.createDevice("/dev","stdin",r.stdin):Ie.symlink("/dev/tty","/dev/stdin"),r.stdout?Ie.createDevice("/dev","stdout",null,r.stdout):Ie.symlink("/dev/tty","/dev/stdout"),r.stderr?Ie.createDevice("/dev","stderr",null,r.stderr):Ie.symlink("/dev/tty1","/dev/stderr");var e=Ie.open("/dev/stdin",0),t=Ie.open("/dev/stdout",1),n=Ie.open("/dev/stderr",1);F(0===e.fd,"invalid handle for stdin ("+e.fd+")"),F(1===t.fd,"invalid handle for stdout ("+t.fd+")"),F(2===n.fd,"invalid handle for stderr ("+n.fd+")")},ensureErrnoError:()=>{Ie.ErrnoError||(Ie.ErrnoError=function(e,r){this.node=r,this.setErrno=function(e){for(var r in this.errno=e,Ne)if(Ne[r]===e){this.code=r;break}},this.setErrno(e),this.message=Me[e],this.stack&&(Object.defineProperty(this,"stack",{value:(new Error).stack,writable:!0}),this.stack=Se(this.stack))},Ie.ErrnoError.prototype=new Error,Ie.ErrnoError.prototype.constructor=Ie.ErrnoError,[44].forEach((e=>{Ie.genericErrors[e]=new Ie.ErrnoError(e),Ie.genericErrors[e].stack=""})))},staticInit:()=>{Ie.ensureErrnoError(),Ie.nameTable=new Array(4096),Ie.mount(Re,{},"/"),Ie.createDefaultDirectories(),Ie.createDefaultDevices(),Ie.createSpecialDirectories(),Ie.filesystems={MEMFS:Re}},init:(e,t,n)=>{F(!Ie.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),Ie.init.initialized=!0,Ie.ensureErrnoError(),r.stdin=e||r.stdin,r.stdout=t||r.stdout,r.stderr=n||r.stderr,Ie.createStandardStreams()},quit:()=>{Ie.init.initialized=!1,wt();for(var e=0;e{var t=0;return e&&(t|=365),r&&(t|=146),t},findObject:(e,r)=>{var t=Ie.analyzePath(e,r);return t.exists?t.object:null},analyzePath:(e,r)=>{try{e=(n=Ie.lookupPath(e,{follow:!r})).path}catch(e){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=Ie.lookupPath(e,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=Ae.basename(e),n=Ie.lookupPath(e,{follow:!r}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(e){t.error=e.errno}return t},createPath:(e,r,t,n)=>{e="string"==typeof e?e:Ie.getPath(e);for(var o=r.split("/").reverse();o.length;){var i=o.pop();if(i){var a=Ae.join2(e,i);try{Ie.mkdir(a)}catch(e){}e=a}}return a},createFile:(e,r,t,n,o)=>{var i=Ae.join2("string"==typeof e?e:Ie.getPath(e),r),a=Ie.getMode(n,o);return Ie.create(i,a)},createDataFile:(e,r,t,n,o,i)=>{var a=r;e&&(e="string"==typeof e?e:Ie.getPath(e),a=r?Ae.join2(e,r):e);var s=Ie.getMode(n,o),l=Ie.create(a,s);if(t){if("string"==typeof t){for(var u=new Array(t.length),c=0,d=t.length;c{var o=Ae.join2("string"==typeof e?e:Ie.getPath(e),r),i=Ie.getMode(!!t,!!n);Ie.createDevice.major||(Ie.createDevice.major=64);var a=Ie.makedev(Ie.createDevice.major++,0);return Ie.registerDevice(a,{open:e=>{e.seekable=!1},close:e=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(e,r,n,o,i)=>{for(var a=0,s=0;s{for(var a=0;a{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!d)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=pt(d(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new Ie.ErrnoError(29)}},createLazyFile:(e,r,t,n,o)=>{function i(){this.lengthKnown=!1,this.chunks=[]}if(i.prototype.get=function(e){if(!(e>this.length-1||e<0)){var r=e%this.chunkSize,t=e/this.chunkSize|0;return this.getter(t)[r]}},i.prototype.setDataGetter=function(e){this.getter=e},i.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",t,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+t+". Status: "+e.status);var r,n=Number(e.getResponseHeader("Content-length")),o=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,i=(r=e.getResponseHeader("Content-Encoding"))&&"gzip"===r,a=1048576;o||(a=n);var s=this;s.setDataGetter((e=>{var r=e*a,o=(e+1)*a-1;if(o=Math.min(o,n-1),void 0===s.chunks[e]&&(s.chunks[e]=((e,r)=>{if(e>r)throw new Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==a&&o.setRequestHeader("Range","bytes="+e+"-"+r),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):pt(o.responseText||"",!0)})(r,o)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]})),!i&&n||(a=n=1,n=this.getter(0).length,a=n,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!l)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new i;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:a}}else s={isDevice:!1,url:t};var u=Ie.createFile(e,r,s,n,o);s.contents?u.contents=s.contents:s.url&&(u.contents=null,u.url=s.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var c={};return Object.keys(u.stream_ops).forEach((e=>{var r=u.stream_ops[e];c[e]=function(){return Ie.forceLoadFile(u),r.apply(null,arguments)}})),c.read=(e,r,t,n,o)=>{Ie.forceLoadFile(u);var i=e.node.contents;if(o>=i.length)return 0;var a=Math.min(i.length-o,n);if(F(a>=0),i.slice)for(var s=0;s{var c=r?Fe.resolve(Ae.join2(e,r)):e,d=pe("cp "+c);function p(t){function f(t){u&&u(),s||Ie.createDataFile(e,r,t,n,o,l),i&&i(),he(d)}Browser.handledByPreloadPlugin(t,c,f,(()=>{a&&a(),he(d)}))||f(t)}me(d),"string"==typeof t?function(e,r,t,n){var o=n?"":pe("al "+e);f(e,(function(t){F(t,'Loading data file "'+e+'" failed (no arrayBuffer).'),r(new Uint8Array(t)),o&&he(o)}),(function(r){if(!t)throw'Loading data file "'+e+'" failed.';t()})),o&&me(o)}(t,(e=>p(e)),a):p(t)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,r,t)=>{r=r||(()=>{}),t=t||(()=>{});var n=Ie.indexedDB();try{var o=n.open(Ie.DB_NAME(),Ie.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=()=>{b("creating db"),o.result.createObjectStore(Ie.DB_STORE_NAME)},o.onsuccess=()=>{var n=o.result.transaction([Ie.DB_STORE_NAME],"readwrite"),i=n.objectStore(Ie.DB_STORE_NAME),a=0,s=0,l=e.length;function u(){0==s?r():t()}e.forEach((e=>{var r=i.put(Ie.analyzePath(e).object.contents,e);r.onsuccess=()=>{++a+s==l&&u()},r.onerror=()=>{s++,a+s==l&&u()}})),n.onerror=t},o.onerror=t},loadFilesFromDB:(e,r,t)=>{r=r||(()=>{}),t=t||(()=>{});var n=Ie.indexedDB();try{var o=n.open(Ie.DB_NAME(),Ie.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=t,o.onsuccess=()=>{var n=o.result;try{var i=n.transaction([Ie.DB_STORE_NAME],"readonly")}catch(e){return void t(e)}var a=i.objectStore(Ie.DB_STORE_NAME),s=0,l=0,u=e.length;function c(){0==l?r():t()}e.forEach((e=>{var r=a.get(e);r.onsuccess=()=>{Ie.analyzePath(e).exists&&Ie.unlink(e),Ie.createDataFile(Ae.dirname(e),Ae.basename(e),r.result,!0,!0,!0),++s+l==u&&c()},r.onerror=()=>{l++,s+l==u&&c()}})),i.onerror=t},o.onerror=t},absolutePath:()=>{ge("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder:()=>{ge("FS.createFolder has been removed; use FS.mkdir instead")},createLink:()=>{ge("FS.createLink has been removed; use FS.symlink instead")},joinPath:()=>{ge("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc:()=>{ge("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath:()=>{ge("FS.standardizePath has been removed; use PATH.normalize instead")}},Le={DEFAULT_POLLMASK:5,calculateAt:function(e,r,t){if(Ae.isAbs(r))return r;var n;if(-100===e)n=Ie.cwd();else{var o=Ie.getStream(e);if(!o)throw new Ie.ErrnoError(8);n=o.path}if(0==r.length){if(!t)throw new Ie.ErrnoError(44);return n}return Ae.join2(n,r)},doStat:function(e,r,t){try{var n=e(r)}catch(e){if(e&&e.node&&Ae.normalize(r)!==Ae.normalize(Ie.getPath(e.node)))return-54;throw e}return $[t>>2]=n.dev,$[t+4>>2]=0,$[t+8>>2]=n.ino,$[t+12>>2]=n.mode,$[t+16>>2]=n.nlink,$[t+20>>2]=n.uid,$[t+24>>2]=n.gid,$[t+28>>2]=n.rdev,$[t+32>>2]=0,Ee=[n.size>>>0,(ye=n.size,+Math.abs(ye)>=1?ye>0?(0|Math.min(+Math.floor(ye/4294967296),4294967295))>>>0:~~+Math.ceil((ye-+(~~ye>>>0))/4294967296)>>>0:0)],$[t+40>>2]=Ee[0],$[t+44>>2]=Ee[1],$[t+48>>2]=4096,$[t+52>>2]=n.blocks,$[t+56>>2]=n.atime.getTime()/1e3|0,$[t+60>>2]=0,$[t+64>>2]=n.mtime.getTime()/1e3|0,$[t+68>>2]=0,$[t+72>>2]=n.ctime.getTime()/1e3|0,$[t+76>>2]=0,Ee=[n.ino>>>0,(ye=n.ino,+Math.abs(ye)>=1?ye>0?(0|Math.min(+Math.floor(ye/4294967296),4294967295))>>>0:~~+Math.ceil((ye-+(~~ye>>>0))/4294967296)>>>0:0)],$[t+80>>2]=Ee[0],$[t+84>>2]=Ee[1],0},doMsync:function(e,r,t,n,o){var i=U.slice(e,e+t);Ie.msync(r,i,o,t,n)},doMknod:function(e,r,t){switch(61440&r){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return Ie.mknod(e,r,t),0},doReadlink:function(e,r,t){if(t<=0)return-28;var n=Ie.readlink(e),o=Math.min(t,I(n)),i=x[r+o];return N(n,r,t+1),x[r+o]=i,o},doAccess:function(e,r){if(-8&r)return-28;var t=Ie.lookupPath(e,{follow:!0}).node;if(!t)return-44;var n="";return 4&r&&(n+="r"),2&r&&(n+="w"),1&r&&(n+="x"),n&&Ie.nodePermissions(t,n)?-2:0},doReadv:function(e,r,t,n){for(var o=0,i=0;i>2],s=$[r+4>>2];r+=8;var l=Ie.read(e,x,a,s,n);if(l<0)return-1;if(o+=l,l>2],s=$[r+4>>2];r+=8;var l=Ie.write(e,x,a,s,n);if(l<0)return-1;o+=l}return o},varargs:void 0,get:function(){return F(null!=Le.varargs),Le.varargs+=4,$[Le.varargs-4>>2]},getStr:function(e){return R(e)},getStreamFromFD:function(e){var r=Ie.getStream(e);if(!r)throw new Ie.ErrnoError(8);return r}};function xe(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+e)}}var Ue=void 0;function Be(e){for(var r="",t=e;U[t];)r+=Ue[U[t++]];return r}var je={},$e={},We={};function ze(e){if(void 0===e)return"_unknown";var r=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return r>=48&&r<=57?"_"+e:e}function He(e,r){return e=ze(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(r)}function Ge(e,r){var t=He(r,(function(e){this.name=r,this.message=e;var t=new Error(e).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}));return t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},t}var Ve=void 0;function Ye(e){throw new Ve(e)}var qe=void 0;function Xe(e){throw new qe(e)}function Ke(e,r,t){function n(r){var n=t(r);n.length!==e.length&&Xe("Mismatched type converter count");for(var o=0;o{$e.hasOwnProperty(e)?o[r]=$e[e]:(i.push(e),je.hasOwnProperty(e)||(je[e]=[]),je[e].push((()=>{o[r]=$e[e],++a===i.length&&n(o)})))})),0===i.length&&n(o)}function Je(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in r))throw new TypeError("registerType registeredInstance requires argPackAdvance");var n=r.name;if(e||Ye('type "'+n+'" must have a positive integer typeid pointer'),$e.hasOwnProperty(e)){if(t.ignoreDuplicateRegistrations)return;Ye("Cannot register type '"+n+"' twice")}if($e[e]=r,delete We[e],je.hasOwnProperty(e)){var o=je[e];delete je[e],o.forEach((e=>e()))}}function Qe(e){if(!(this instanceof wr))return!1;if(!(e instanceof wr))return!1;for(var r=this.$$.ptrType.registeredClass,t=this.$$.ptr,n=e.$$.ptrType.registeredClass,o=e.$$.ptr;r.baseClass;)t=r.upcast(t),r=r.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return r===n&&t===o}function Ze(e){Ye(e.$$.ptrType.registeredClass.name+" instance already deleted")}var er=!1;function rr(e){}function tr(e){e.count.value-=1,0===e.count.value&&function(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}(e)}function nr(e,r,t){if(r===t)return e;if(void 0===t.baseClass)return null;var n=nr(e,r,t.baseClass);return null===n?null:t.downcast(n)}var or={};function ir(){return Object.keys(dr).length}function ar(){var e=[];for(var r in dr)dr.hasOwnProperty(r)&&e.push(dr[r]);return e}var sr=[];function lr(){for(;sr.length;){var e=sr.pop();e.$$.deleteScheduled=!1,e.delete()}}var ur=void 0;function cr(e){ur=e,sr.length&&ur&&ur(lr)}var dr={};function fr(e,r){return r=function(e,r){for(void 0===r&&Ye("ptr should not be undefined");e.baseClass;)r=e.upcast(r),e=e.baseClass;return r}(e,r),dr[r]}function pr(e,r){return r.ptrType&&r.ptr||Xe("makeClassHandle requires ptr and ptrType"),!!r.smartPtrType!==!!r.smartPtr&&Xe("Both smartPtrType and smartPtr must be specified"),r.count={value:1},hr(Object.create(e,{$$:{value:r}}))}function mr(e){var r=this.getPointee(e);if(!r)return this.destructor(e),null;var t=fr(this.registeredClass,r);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=r,t.$$.smartPtr=e,t.clone();var n=t.clone();return this.destructor(e),n}function o(){return this.isSmartPointer?pr(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:r,smartPtrType:this,smartPtr:e}):pr(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var i,a=this.registeredClass.getActualType(r),s=or[a];if(!s)return o.call(this);i=this.isConst?s.constPointerType:s.pointerType;var l=nr(r,this.registeredClass,i.registeredClass);return null===l?o.call(this):this.isSmartPointer?pr(i.registeredClass.instancePrototype,{ptrType:i,ptr:l,smartPtrType:this,smartPtr:e}):pr(i.registeredClass.instancePrototype,{ptrType:i,ptr:l})}function hr(e){return"undefined"==typeof FinalizationRegistry?(hr=e=>e,e):(er=new FinalizationRegistry((e=>{console.warn(e.leakWarning.stack.replace(/^Error: /,"")),tr(e.$$)})),hr=e=>{var r=e.$$;if(!!r.smartPtr){var t={$$:r},n=r.ptrType.registeredClass;t.leakWarning=new Error("Embind found a leaked C++ instance "+n.name+" <0x"+r.ptr.toString(16)+">.\nWe'll free it automatically in this case, but this functionality is not reliable across various environments.\nMake sure to invoke .delete() manually once you're done with the instance instead.\nOriginally allocated"),"captureStackTrace"in Error&&Error.captureStackTrace(t.leakWarning,mr),er.register(e,t,e)}return e},rr=e=>er.unregister(e),hr(e))}function gr(){if(this.$$.ptr||Ze(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,r=hr(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return r.$$.count.value+=1,r.$$.deleteScheduled=!1,r}function vr(){this.$$.ptr||Ze(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ye("Object already scheduled for deletion"),rr(this),tr(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function yr(){return!this.$$.ptr}function Er(){return this.$$.ptr||Ze(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ye("Object already scheduled for deletion"),sr.push(this),1===sr.length&&ur&&ur(lr),this.$$.deleteScheduled=!0,this}function wr(){}function br(e,r,t){if(void 0===e[r].overloadTable){var n=e[r];e[r]=function(){return e[r].overloadTable.hasOwnProperty(arguments.length)||Ye("Function '"+t+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[r].overloadTable+")!"),e[r].overloadTable[arguments.length].apply(this,arguments)},e[r].overloadTable=[],e[r].overloadTable[n.argCount]=n}}function _r(e,r,t,n,o,i,a,s){this.name=e,this.constructor=r,this.instancePrototype=t,this.rawDestructor=n,this.baseClass=o,this.getActualType=i,this.upcast=a,this.downcast=s,this.pureVirtualFunctions=[]}function Tr(e,r,t){for(;r!==t;)r.upcast||Ye("Expected null or instance of "+t.name+", got an instance of "+r.name),e=r.upcast(e),r=r.baseClass;return e}function kr(e,r){if(null===r)return this.isReference&&Ye("null is not a valid "+this.name),0;r.$$||Ye('Cannot pass "'+qr(r)+'" as a '+this.name),r.$$.ptr||Ye("Cannot pass deleted object as a pointer of type "+this.name);var t=r.$$.ptrType.registeredClass;return Tr(r.$$.ptr,t,this.registeredClass)}function Sr(e,r){var t;if(null===r)return this.isReference&&Ye("null is not a valid "+this.name),this.isSmartPointer?(t=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,t),t):0;r.$$||Ye('Cannot pass "'+qr(r)+'" as a '+this.name),r.$$.ptr||Ye("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&r.$$.ptrType.isConst&&Ye("Cannot convert argument of type "+(r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name)+" to parameter type "+this.name);var n=r.$$.ptrType.registeredClass;if(t=Tr(r.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===r.$$.smartPtr&&Ye("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:r.$$.smartPtrType===this?t=r.$$.smartPtr:Ye("Cannot convert argument of type "+(r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:t=r.$$.smartPtr;break;case 2:if(r.$$.smartPtrType===this)t=r.$$.smartPtr;else{var o=r.clone();t=this.rawShare(t,Yr.toHandle((function(){o.delete()}))),null!==e&&e.push(this.rawDestructor,t)}break;default:Ye("Unsupporting sharing policy")}return t}function Cr(e,r){if(null===r)return this.isReference&&Ye("null is not a valid "+this.name),0;r.$$||Ye('Cannot pass "'+qr(r)+'" as a '+this.name),r.$$.ptr||Ye("Cannot pass deleted object as a pointer of type "+this.name),r.$$.ptrType.isConst&&Ye("Cannot convert argument of type "+r.$$.ptrType.name+" to parameter type "+this.name);var t=r.$$.ptrType.registeredClass;return Tr(r.$$.ptr,t,this.registeredClass)}function Pr(e){return this.fromWireType(W[e>>2])}function Ar(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function Fr(e){this.rawDestructor&&this.rawDestructor(e)}function Dr(e){null!==e&&e.delete()}function Or(e,r,t,n,o,i,a,s,l,u,c){this.name=e,this.registeredClass=r,this.isReference=t,this.isConst=n,this.isSmartPointer=o,this.pointeeType=i,this.sharingPolicy=a,this.rawGetPointee=s,this.rawConstructor=l,this.rawShare=u,this.rawDestructor=c,o||void 0!==r.baseClass?this.toWireType=Sr:n?(this.toWireType=kr,this.destructorFunction=null):(this.toWireType=Cr,this.destructorFunction=null)}function Rr(e,t,n){return e.includes("j")?function(e,t,n){F("dynCall_"+e in r,"bad function pointer type - no table for sig '"+e+"'"),n&&n.length?F(n.length===e.substring(1).replace(/j/g,"--").length):F(1==e.length);var o=r["dynCall_"+e];return n&&n.length?o.apply(null,[t].concat(n)):o.call(null,t)}(e,t,n):(F(Ce(t),"missing table entry in dynCall: "+t),Ce(t).apply(null,n))}function Mr(e,r){var t=(e=Be(e)).includes("j")?function(e,r){F(e.includes("j"),"getDynCaller should only be called with i64 sigs");var t=[];return function(){return t.length=0,Object.assign(t,arguments),Rr(e,r,t)}}(e,r):Ce(r);return"function"!=typeof t&&Ye("unknown function pointer with signature "+e+": "+r),t}var Nr=void 0;function Ir(e){var r=Et(e),t=Be(r);return ht(r),t}function Lr(e,r){var t=[],n={};throw r.forEach((function e(r){n[r]||$e[r]||(We[r]?We[r].forEach(e):(t.push(r),n[r]=!0))})),new Nr(e+": "+t.map(Ir).join([", "]))}function xr(e,r){for(var t=[],n=0;n>2)+n]);return t}function Ur(e){for(;e.length;){var r=e.pop();e.pop()(r)}}function Br(e,r){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+typeof e+" which is not a function");var t=He(e.name||"unknownFunctionName",(function(){}));t.prototype=e.prototype;var n=new t,o=e.apply(n,r);return o instanceof Object?o:n}function jr(e,r,t,n,o){var i=r.length;i<2&&Ye("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var a=null!==r[1]&&null!==t,s=!1,l=1;l0?", ":"")+d),f+=(u?"var rv = ":"")+"invoker(fn"+(d.length>0?", ":"")+d+");\n",s)f+="runDestructors(destructors);\n";else for(l=a?1:2;l4&&0==--zr[e].refcount&&(zr[e]=void 0,Wr.push(e))}function Gr(){for(var e=0,r=5;r(e||Ye("Cannot use deleted val. handle = "+e),zr[e].value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var r=Wr.length?Wr.pop():zr.length;return zr[r]={refcount:1,value:e},r}}};function qr(e){if(null===e)return"null";var r=typeof e;return"object"===r||"array"===r||"function"===r?e.toString():""+e}function Xr(e,r){switch(r){case 2:return function(e){return this.fromWireType(z[e>>2])};case 3:return function(e){return this.fromWireType(H[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}function Kr(e,r,t){switch(r){case 0:return t?function(e){return x[e]}:function(e){return U[e]};case 1:return t?function(e){return B[e>>1]}:function(e){return j[e>>1]};case 2:return t?function(e){return $[e>>2]}:function(e){return W[e>>2]};default:throw new TypeError("Unknown integer type: "+e)}}function Jr(e,r){var t=$e[e];return void 0===t&&Ye(r+" has unknown type "+Ir(e)),t}var Qr={};var Zr=[];var et=[];function rt(e,r){return F(r===(0|r)),(e>>>0)+4294967296*r}function tt(e,r){if(e<=0)return e;var t=r<=32?Math.abs(1<=t&&(r<=32||e>t)&&(e=-2*t+e),e}function nt(e,r){return e>=0?e:r<=32?2*Math.abs(1<>3]),n+=8):"i64"==e?(r=[$[n>>2],$[n+4>>2]],n+=8):(F(0==(3&n)),e="i32",r=$[n>>2],n+=4),r}for(var i,a,s,l,u,c,d=[];;){var f=t;if(0===(i=x[t>>0]))break;if(a=x[t+1>>0],37==i){var p=!1,m=!1,h=!1,g=!1,v=!1;e:for(;;){switch(a){case 43:p=!0;break;case 45:m=!0;break;case 35:h=!0;break;case 48:if(g)break e;g=!0;break;case 32:v=!0;break;default:break e}t++,a=x[t+1>>0]}var y=0;if(42==a)y=o("i32"),t++,a=x[t+1>>0];else for(;a>=48&&a<=57;)y=10*y+(a-48),t++,a=x[t+1>>0];var E,w=!1,b=-1;if(46==a){if(b=0,w=!0,t++,42==(a=x[t+1>>0]))b=o("i32"),t++;else for(;;){var _=x[t+1>>0];if(_<48||_>57)break;b=10*b+(_-48),t++}a=x[t+1>>0]}switch(b<0&&(b=6,w=!1),String.fromCharCode(a)){case"h":104==x[t+2>>0]?(t++,E=1):E=2;break;case"l":108==x[t+2>>0]?(t++,E=8):E=4;break;case"L":case"q":case"j":E=8;break;case"z":case"t":case"I":E=4;break;default:E=null}switch(E&&t++,a=x[t+1>>0],String.fromCharCode(a)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":var T=100==a||105==a;if(s=o("i"+8*(E=E||4)),8==E&&(s=117==a?(u=s[0],c=s[1],(u>>>0)+4294967296*(c>>>0)):rt(s[0],s[1])),E<=4)s=(T?tt:nt)(s&Math.pow(256,E)-1,8*E);var k=Math.abs(s),S="";if(100==a||105==a)A=tt(s,8*E).toString(10);else if(117==a)A=nt(s,8*E).toString(10),s=Math.abs(s);else if(111==a)A=(h?"0":"")+k.toString(8);else if(120==a||88==a){if(S=h&&0!=s?"0x":"",s<0){s=-s,A=(k-1).toString(16);for(var C=[],P=0;P=0&&(p?S="+"+S:v&&(S=" "+S)),"-"==A.charAt(0)&&(S="-"+S,A=A.substr(1));S.length+A.lengthR&&R>=-4?(a=(103==a?"f":"F").charCodeAt(0),b-=R+1):(a=(103==a?"e":"E").charCodeAt(0),b--),O=Math.min(b,20)}101==a||69==a?(A=s.toExponential(O),/[eE][-+]\d$/.test(A)&&(A=A.slice(0,-1)+"0"+A.slice(-1))):102!=a&&70!=a||(A=s.toFixed(O),0===s&&((l=s)<0||0===l&&1/l==-1/0)&&(A="-"+A));var M=A.split("e");if(D&&!h)for(;M[0].length>1&&M[0].includes(".")&&("0"==M[0].slice(-1)||"."==M[0].slice(-1));)M[0]=M[0].slice(0,-1);else for(h&&-1==A.indexOf(".")&&(M[0]+=".");b>O++;)M[0]+="0";A=M[0]+(M.length>1?"e"+M[1]:""),69==a&&(A=A.toUpperCase()),s>=0&&(p?A="+"+A:v&&(A=" "+A))}else A=(s<0?"-":"")+"inf",g=!1;for(;A.length>0]);else d=d.concat(pt("(null)".substr(0,I),!0));if(m)for(;I0;)d.push(32);m||d.push(o("i8"));break;case"n":var L=o("i32*");$[L>>2]=d.length;break;case"%":d.push(i);break;default:for(P=f;P>0])}t+=2}else d.push(i),t+=1}return d}function it(e){if(!e||!e.callee||!e.callee.name)return[null,"",""];e.callee.toString();var r=e.callee.name,t="(",n=!0;for(var o in e){var i=e[o];n||(t+=", "),n=!1,t+="number"==typeof i||"string"==typeof i?i:"("+typeof i+")"}t+=")";var a=e.callee.caller;return n&&(t=""),[e=a?a.arguments:[],r,t]}function at(e,r){24&e&&(r=r.replace(/\s+$/,""),r+=(r.length>0?"\n":"")+function(e){var r=Pe(),t=r.lastIndexOf("_emscripten_log"),n=r.lastIndexOf("_emscripten_get_callstack"),o=r.indexOf("\n",Math.max(t,n))+1;r=r.slice(o),32&e&&T("EM_LOG_DEMANGLE is deprecated; ignoring"),8&e&&"undefined"==typeof emscripten_source_map&&(T('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'),e^=8,e|=16);var i=null;if(128&e)for(i=it(arguments);i[1].includes("_emscripten_");)i=it(i[0]);var a=r.split("\n");r="";var s=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),l=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),u=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var c in a){var d=a[c],f="",p="",m=0,h=0,g=u.exec(d);if(g&&5==g.length)f=g[1],p=g[2],m=g[3],h=g[4];else{if((g=s.exec(d))||(g=l.exec(d)),!(g&&g.length>=4)){r+=d+"\n";continue}f=g[1],p=g[2],m=g[3],h=0|g[4]}var v=!1;if(8&e){var y=emscripten_source_map.originalPositionFor({line:m,column:h});(v=y&&y.source)&&(64&e&&(y.source=y.source.substring(y.source.replace(/\\/g,"/").lastIndexOf("/")+1)),r+=" at "+f+" ("+y.source+":"+y.line+":"+y.column+")\n")}(16&e||!v)&&(64&e&&(p=p.substring(p.replace(/\\/g,"/").lastIndexOf("/")+1)),r+=(v?" = "+f:" at "+f)+" ("+p+":"+m+":"+h+")\n"),128&e&&i[0]&&(i[1]==f&&i[2].length>0&&(r=r.replace(/\s+$/,""),r+=" with values: "+i[1]+i[2]+"\n"),i=it(i[0]))}return r.replace(/\s+$/,"")}(e)),1&e?4&e?console.error(r):2&e?console.warn(r):512&e?console.info(r):256&e?console.debug(r):console.log(r):6&e?_(r):b(r)}function st(e){try{return w.grow(e-L.byteLength+65535>>>16),Z(w.buffer),1}catch(r){_("emscripten_realloc_buffer: Attempted to grow heap from "+L.byteLength+" bytes to "+e+" bytes, but got error: "+r)}}var lt={};function ut(){if(!ut.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:n||"./this.program"};for(var r in lt)void 0===lt[r]?delete e[r]:e[r]=lt[r];var t=[];for(var r in e)t.push(r+"="+e[r]);ut.strings=t}return ut.strings}var ct=function(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Ie.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n},dt=365,ft=146;function pt(e,r,t){var n=t>0?t:I(e)+1,o=new Array(n),i=M(e,o,0,o.length);return r&&(o.length=i),o}Object.defineProperties(ct.prototype,{read:{get:function(){return(this.mode&dt)===dt},set:function(e){e?this.mode|=dt:this.mode&=-366}},write:{get:function(){return(this.mode&ft)===ft},set:function(e){e?this.mode|=ft:this.mode&=-147}},isFolder:{get:function(){return Ie.isDir(this.mode)}},isDevice:{get:function(){return Ie.isChrdev(this.mode)}}}),Ie.FSNode=ct,Ie.staticInit(),Ne={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},function(){for(var e=new Array(256),r=0;r<256;++r)e[r]=String.fromCharCode(r);Ue=e}(),Ve=r.BindingError=Ge(Error,"BindingError"),qe=r.InternalError=Ge(Error,"InternalError"),wr.prototype.isAliasOf=Qe,wr.prototype.clone=gr,wr.prototype.delete=vr,wr.prototype.isDeleted=yr,wr.prototype.deleteLater=Er,r.getInheritedInstanceCount=ir,r.getLiveInheritedInstances=ar,r.flushPendingDeletes=lr,r.setDelayFunction=cr,Or.prototype.getPointee=Ar,Or.prototype.destructor=Fr,Or.prototype.argPackAdvance=8,Or.prototype.readValueFromPointer=Pr,Or.prototype.deleteObject=Dr,Or.prototype.fromWireType=mr,Nr=r.UnboundTypeError=Ge(Error,"UnboundTypeError"),r.count_emval_handles=Gr,r.get_first_emval=Vr;var mt={__syscall_fcntl64:function(e,r,t){Le.varargs=t;try{var n=Le.getStreamFromFD(e);switch(r){case 0:return(o=Le.get())<0?-28:Ie.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=Le.get();return n.flags|=o,0;case 5:o=Le.get();return B[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return i=28,$[yt()>>2]=i,-1}}catch(e){if(void 0===Ie||!(e instanceof Ie.ErrnoError))throw e;return-e.errno}var i},__syscall_openat:function(e,r,t,n){Le.varargs=n;try{r=Le.getStr(r),r=Le.calculateAt(e,r);var o=n?Le.get():0;return Ie.open(r,t,o).fd}catch(e){if(void 0===Ie||!(e instanceof Ie.ErrnoError))throw e;return-e.errno}},_embind_register_bigint:function(e,r,t,n,o){},_embind_register_bool:function(e,r,t,n,o){var i=xe(t);Je(e,{name:r=Be(r),fromWireType:function(e){return!!e},toWireType:function(e,r){return r?n:o},argPackAdvance:8,readValueFromPointer:function(e){var n;if(1===t)n=x;else if(2===t)n=B;else{if(4!==t)throw new TypeError("Unknown boolean type size: "+r);n=$}return this.fromWireType(n[e>>i])},destructorFunction:null})},_embind_register_class:function(e,t,n,o,i,a,s,l,u,c,d,f,p){d=Be(d),a=Mr(i,a),l&&(l=Mr(s,l)),c&&(c=Mr(u,c)),p=Mr(f,p);var m=ze(d);!function(e,t,n){r.hasOwnProperty(e)?((void 0===n||void 0!==r[e].overloadTable&&void 0!==r[e].overloadTable[n])&&Ye("Cannot register public name '"+e+"' twice"),br(r,e,e),r.hasOwnProperty(n)&&Ye("Cannot register multiple overloads of a function with the same number of arguments ("+n+")!"),r[e].overloadTable[n]=t):(r[e]=t,void 0!==n&&(r[e].numArguments=n))}(m,(function(){Lr("Cannot construct "+d+" due to unbound types",[o])})),Ke([e,t,n],o?[o]:[],(function(t){var n,i;t=t[0],i=o?(n=t.registeredClass).instancePrototype:wr.prototype;var s=He(m,(function(){if(Object.getPrototypeOf(this)!==u)throw new Ve("Use 'new' to construct "+d);if(void 0===f.constructor_body)throw new Ve(d+" has no accessible constructor");var e=f.constructor_body[arguments.length];if(void 0===e)throw new Ve("Tried to invoke ctor of "+d+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(f.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),u=Object.create(i,{constructor:{value:s}});s.prototype=u;var f=new _r(d,s,u,p,n,a,l,c),h=new Or(d,f,!0,!1,!1),g=new Or(d+"*",f,!1,!1,!1),v=new Or(d+" const*",f,!1,!0,!1);return or[e]={pointerType:g,constPointerType:v},function(e,t,n){r.hasOwnProperty(e)||Xe("Replacing nonexistant public symbol"),void 0!==r[e].overloadTable&&void 0!==n?r[e].overloadTable[n]=t:(r[e]=t,r[e].argCount=n)}(m,s),[h,g,v]}))},_embind_register_class_constructor:function(e,r,t,n,o,i){F(r>0);var a=xr(r,t);o=Mr(n,o),Ke([],[e],(function(e){var t="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[r-1])throw new Ve("Cannot register multiple constructors with identical number of parameters ("+(r-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[r-1]=()=>{Lr("Cannot construct "+e.name+" due to unbound types",a)},Ke([],a,(function(n){return n.splice(1,0,null),e.registeredClass.constructor_body[r-1]=jr(t,n,null,o,i),[]})),[]}))},_embind_register_class_function:function(e,r,t,n,o,i,a,s){var l=xr(t,n);r=Be(r),i=Mr(o,i),Ke([],[e],(function(e){var n=(e=e[0]).name+"."+r;function o(){Lr("Cannot call "+n+" due to unbound types",l)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(r);var u=e.registeredClass.instancePrototype,c=u[r];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===t-2?(o.argCount=t-2,o.className=e.name,u[r]=o):(br(u,r,n),u[r].overloadTable[t-2]=o),Ke([],l,(function(o){var s=jr(n,o,e,i,a);return void 0===u[r].overloadTable?(s.argCount=t-2,u[r]=s):u[r].overloadTable[t-2]=s,[]})),[]}))},_embind_register_class_property:function(e,r,t,n,o,i,a,s,l,u){r=Be(r),o=Mr(n,o),Ke([],[e],(function(e){var n=(e=e[0]).name+"."+r,c={get:function(){Lr("Cannot access "+n+" due to unbound types",[t,a])},enumerable:!0,configurable:!0};return c.set=l?()=>{Lr("Cannot access "+n+" due to unbound types",[t,a])}:e=>{Ye(n+" is a read-only property")},Object.defineProperty(e.registeredClass.instancePrototype,r,c),Ke([],l?[t,a]:[t],(function(t){var a=t[0],c={get:function(){var r=$r(this,e,n+" getter");return a.fromWireType(o(i,r))},enumerable:!0};if(l){l=Mr(s,l);var d=t[1];c.set=function(r){var t=$r(this,e,n+" setter"),o=[];l(u,t,d.toWireType(o,r)),Ur(o)}}return Object.defineProperty(e.registeredClass.instancePrototype,r,c),[]})),[]}))},_embind_register_emval:function(e,r){Je(e,{name:r=Be(r),fromWireType:function(e){var r=Yr.toValue(e);return Hr(e),r},toWireType:function(e,r){return Yr.toHandle(r)},argPackAdvance:8,readValueFromPointer:Pr,destructorFunction:null})},_embind_register_float:function(e,r,t){var n=xe(t);Je(e,{name:r=Be(r),fromWireType:function(e){return e},toWireType:function(e,r){if("number"!=typeof r&&"boolean"!=typeof r)throw new TypeError('Cannot convert "'+qr(r)+'" to '+this.name);return r},argPackAdvance:8,readValueFromPointer:Xr(r,n),destructorFunction:null})},_embind_register_integer:function(e,r,t,n,o){r=Be(r),-1===o&&(o=4294967295);var i=xe(t),a=e=>e;if(0===n){var s=32-8*t;a=e=>e<>>s}var l=r.includes("unsigned"),u=(e,t)=>{if("number"!=typeof e&&"boolean"!=typeof e)throw new TypeError('Cannot convert "'+qr(e)+'" to '+t);if(eo)throw new TypeError('Passing a number "'+qr(e)+'" from JS side to C/C++ side to an argument of type "'+r+'", which is outside the valid range ['+n+", "+o+"]!")};Je(e,{name:r,fromWireType:a,toWireType:l?function(e,r){return u(r,this.name),r>>>0}:function(e,r){return u(r,this.name),r},argPackAdvance:8,readValueFromPointer:Kr(r,i,0!==n),destructorFunction:null})},_embind_register_memory_view:function(e,r,t){var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][r];function o(e){var r=W,t=r[e>>=2],o=r[e+1];return new n(L,o,t)}Je(e,{name:t=Be(t),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},_embind_register_std_string:function(e,r){var t="std::string"===(r=Be(r));Je(e,{name:r,fromWireType:function(e){var r,n=W[e>>2];if(t)for(var o=e+4,i=0;i<=n;++i){var a=e+4+i;if(i==n||0==U[a]){var s=R(o,a-o);void 0===r?r=s:(r+=String.fromCharCode(0),r+=s),o=a+1}}else{var l=new Array(n);for(i=0;iI(r):()=>r.length)(),i=gt(4+o+1);if(W[i>>2]=o,t&&n)N(r,i+4,o+1);else if(n)for(var a=0;a255&&(ht(i),Ye("String has UTF-16 code units that do not fit in 8 bits")),U[i+4+a]=s}else for(a=0;aj,s=1):4===r&&(n=X,o=K,a=J,i=()=>W,s=2),Je(e,{name:t,fromWireType:function(e){for(var t,o=W[e>>2],a=i(),l=e+4,u=0;u<=o;++u){var c=e+4+u*r;if(u==o||0==a[c>>s]){var d=n(l,c-l);void 0===t?t=d:(t+=String.fromCharCode(0),t+=d),l=c+r}}return ht(e),t},toWireType:function(e,n){"string"!=typeof n&&Ye("Cannot pass non-string to C++ string type "+t);var i=a(n),l=gt(4+i+r);return W[l>>2]=i>>s,o(n,l+4,i+r),null!==e&&e.push(ht,l),l},argPackAdvance:8,readValueFromPointer:Pr,destructorFunction:function(e){ht(e)}})},_embind_register_void:function(e,r){Je(e,{isVoid:!0,name:r=Be(r),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,r){}})},_emscripten_date_now:function(){return Date.now()},_emval_as:function(e,r,t){e=Yr.toValue(e),r=Jr(r,"emval::as");var n=[],o=Yr.toHandle(n);return $[t>>2]=o,r.toWireType(n,e)},_emval_call_void_method:function(e,r,t,n){var o,i;(e=Zr[e])(r=Yr.toValue(r),t=void 0===(i=Qr[o=t])?Be(o):i,null,n)},_emval_decref:Hr,_emval_get_method_caller:function(e,r){var t=function(e,r){for(var t=new Array(e),n=0;n>2)+n],"parameter "+n);return t}(e,r),n=t[0],o=n.name+"_$"+t.slice(1).map((function(e){return e.name})).join("_")+"$",i=et[o];if(void 0!==i)return i;for(var a=["retType"],s=[n],l="",u=0;u4&&(zr[e].refcount+=1)},_emval_run_destructors:function(e){Ur(Yr.toValue(e)),Hr(e)},_emval_take_value:function(e,r){var t=(e=Jr(e,"_emval_take_value")).readValueFromPointer(r);return Yr.toHandle(t)},_gmtime_js:function(e,r){var t=new Date(1e3*$[e>>2]);$[r>>2]=t.getUTCSeconds(),$[r+4>>2]=t.getUTCMinutes(),$[r+8>>2]=t.getUTCHours(),$[r+12>>2]=t.getUTCDate(),$[r+16>>2]=t.getUTCMonth(),$[r+20>>2]=t.getUTCFullYear()-1900,$[r+24>>2]=t.getUTCDay();var n=Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0),o=(t.getTime()-n)/864e5|0;$[r+28>>2]=o},_localtime_js:function(e,r){var t=new Date(1e3*$[e>>2]);$[r>>2]=t.getSeconds(),$[r+4>>2]=t.getMinutes(),$[r+8>>2]=t.getHours(),$[r+12>>2]=t.getDate(),$[r+16>>2]=t.getMonth(),$[r+20>>2]=t.getFullYear()-1900,$[r+24>>2]=t.getDay();var n=new Date(t.getFullYear(),0,1),o=(t.getTime()-n.getTime())/864e5|0;$[r+28>>2]=o,$[r+36>>2]=-60*t.getTimezoneOffset();var i=new Date(t.getFullYear(),6,1).getTimezoneOffset(),a=n.getTimezoneOffset(),s=0|(i!=a&&t.getTimezoneOffset()==Math.min(a,i));$[r+32>>2]=s},_mktime_js:function(e){var r=new Date($[e+20>>2]+1900,$[e+16>>2],$[e+12>>2],$[e+8>>2],$[e+4>>2],$[e>>2],0),t=$[e+32>>2],n=r.getTimezoneOffset(),o=new Date(r.getFullYear(),0,1),i=new Date(r.getFullYear(),6,1).getTimezoneOffset(),a=o.getTimezoneOffset(),s=Math.min(a,i);if(t<0)$[e+32>>2]=Number(i!=a&&s==n);else if(t>0!=(s==n)){var l=Math.max(a,i),u=t>0?s:l;r.setTime(r.getTime()+6e4*(u-n))}$[e+24>>2]=r.getDay();var c=(r.getTime()-o.getTime())/864e5|0;return $[e+28>>2]=c,$[e>>2]=r.getSeconds(),$[e+4>>2]=r.getMinutes(),$[e+8>>2]=r.getHours(),$[e+12>>2]=r.getDate(),$[e+16>>2]=r.getMonth(),r.getTime()/1e3|0},_tzset_js:function e(r,t,n){e.called||(e.called=!0,function(e,r,t){var n=(new Date).getFullYear(),o=new Date(n,0,1),i=new Date(n,6,1),a=o.getTimezoneOffset(),s=i.getTimezoneOffset(),l=Math.max(a,s);function u(e){var r=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return r?r[1]:"GMT"}$[e>>2]=60*l,$[r>>2]=Number(a!=s);var c=u(o),d=u(i),f=Q(c),p=Q(d);s>2]=f,$[t+4>>2]=p):($[t>>2]=p,$[t+4>>2]=f)}(r,t,n))},abort:function(){ge("native code called abort()")},emscripten_log:function(e,r,t){at(e,O(ot(r,t),0))},emscripten_resize_heap:function(e){var r=U.length;F((e>>>=0)>r);var t,n,o=2147483648;if(e>o)return _("Cannot enlarge memory, asked to go up to "+e+" bytes, but the limit is "+"2147483648 bytes!"),!1;for(var i=1;i<=4;i*=2){var a=r*(1+.2/i);a=Math.min(a,e+100663296);var s=Math.min(o,(t=Math.max(e,a))+((n=65536)-t%n)%n);if(st(s))return!0}return _("Failed to grow the heap from "+r+" bytes to "+s+" bytes, not enough memory!"),!1},environ_get:function(e,r){var t=0;return ut().forEach((function(n,o){var i=r+t;$[e+4*o>>2]=i,function(e,r,t){for(var n=0;n>0]=e.charCodeAt(n);t||(x[r>>0]=0)}(n,i),t+=n.length+1})),0},environ_sizes_get:function(e,r){var t=ut();$[e>>2]=t.length;var n=0;return t.forEach((function(e){n+=e.length+1})),$[r>>2]=n,0},fd_close:function(e){try{var r=Le.getStreamFromFD(e);return Ie.close(r),0}catch(e){if(void 0===Ie||!(e instanceof Ie.ErrnoError))throw e;return e.errno}},fd_fdstat_get:function(e,r){try{var t=Le.getStreamFromFD(e),n=t.tty?2:Ie.isDir(t.mode)?3:Ie.isLink(t.mode)?7:4;return x[r>>0]=n,0}catch(e){if(void 0===Ie||!(e instanceof Ie.ErrnoError))throw e;return e.errno}},fd_read:function(e,r,t,n){try{var o=Le.getStreamFromFD(e),i=Le.doReadv(o,r,t);return $[n>>2]=i,0}catch(e){if(void 0===Ie||!(e instanceof Ie.ErrnoError))throw e;return e.errno}},fd_seek:function(e,r,t,n,o){try{var i=Le.getStreamFromFD(e),a=4294967296*t+(r>>>0),s=9007199254740992;return a<=-s||a>=s?-61:(Ie.llseek(i,a,n),Ee=[i.position>>>0,(ye=i.position,+Math.abs(ye)>=1?ye>0?(0|Math.min(+Math.floor(ye/4294967296),4294967295))>>>0:~~+Math.ceil((ye-+(~~ye>>>0))/4294967296)>>>0:0)],$[o>>2]=Ee[0],$[o+4>>2]=Ee[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0)}catch(e){if(void 0===Ie||!(e instanceof Ie.ErrnoError))throw e;return e.errno}},fd_write:function(e,r,t,n){try{var o=Le.getStreamFromFD(e),i=Le.doWritev(o,r,t);return $[n>>2]=i,0}catch(e){if(void 0===Ie||!(e instanceof Ie.ErrnoError))throw e;return e.errno}},setTempRet0:function(e){}};!function(){var e={env:mt,wasi_snapshot_preview1:mt};function t(e,t){var n,o=e.exports;r.asm=o,F(w=r.asm.memory,"memory not found in wasm exports"),Z(w.buffer),F(re=r.asm.__indirect_function_table,"table not found in wasm exports"),n=r.asm.__wasm_call_ctors,ae.unshift(n),he("wasm-instantiate")}me("wasm-instantiate");var n=r;function o(e){F(r===n,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),n=null,t(e.instance)}function i(r){return function(){if(!E&&(s||l)){if("function"==typeof fetch&&!be(ve))return fetch(ve,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+ve+"'";return e.arrayBuffer()})).catch((function(){return Te(ve)}));if(f)return new Promise((function(e,r){f(ve,(function(r){e(new Uint8Array(r))}),r)}))}return Promise.resolve().then((function(){return Te(ve)}))}().then((function(r){return WebAssembly.instantiate(r,e)})).then((function(e){return e})).then(r,(function(e){_("failed to asynchronously prepare wasm: "+e),be(ve)&&_("warning: Loading from a file URI ("+ve+") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing"),ge(e)}))}if(r.instantiateWasm)try{return r.instantiateWasm(e,t)}catch(e){return _("Module.instantiateWasm callback failed with error: "+e),!1}E||"function"!=typeof WebAssembly.instantiateStreaming||we(ve)||be(ve)||"function"!=typeof fetch?i(o):fetch(ve,{credentials:"same-origin"}).then((function(r){return WebAssembly.instantiateStreaming(r,e).then(o,(function(e){return _("wasm streaming compile failed: "+e),_("falling back to ArrayBuffer instantiation"),i(o)}))}))}(),r.___wasm_call_ctors=_e("__wasm_call_ctors");var ht=r._free=_e("free"),gt=r._malloc=_e("malloc"),vt=r._strlen=_e("strlen"),yt=r.___errno_location=_e("__errno_location"),Et=r.___getTypeName=_e("__getTypeName");r.___embind_register_native_and_builtin_types=_e("__embind_register_native_and_builtin_types");var wt=r.___stdio_exit=_e("__stdio_exit"),bt=r._emscripten_builtin_memalign=_e("emscripten_builtin_memalign"),_t=r._emscripten_stack_init=function(){return(_t=r._emscripten_stack_init=r.asm.emscripten_stack_init).apply(null,arguments)};r._emscripten_stack_get_free=function(){return(r._emscripten_stack_get_free=r.asm.emscripten_stack_get_free).apply(null,arguments)},r._emscripten_stack_get_base=function(){return(r._emscripten_stack_get_base=r.asm.emscripten_stack_get_base).apply(null,arguments)};var Tt,kt=r._emscripten_stack_get_end=function(){return(kt=r._emscripten_stack_get_end=r.asm.emscripten_stack_get_end).apply(null,arguments)};function St(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Ct(e){function t(){Tt||(Tt=!0,r.calledRun=!0,A||(oe(),F(!le),le=!0,r.noFSInit||Ie.init.initialized||Ie.init(),Ie.ignorePermissions=!1,ke(ae),r.onRuntimeInitialized&&r.onRuntimeInitialized(),F(!r._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'),function(){if(oe(),r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;)e=r.postRun.shift(),se.unshift(e);var e;ke(se)}()))}ue>0||(_t(),ne(),function(){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;)e=r.preRun.shift(),ie.unshift(e);var e;ke(ie)}(),ue>0||(r.setStatus?(r.setStatus("Running..."),setTimeout((function(){setTimeout((function(){r.setStatus("")}),1),t()}),1)):t(),oe()))}if(r.stackSave=_e("stackSave"),r.stackRestore=_e("stackRestore"),r.stackAlloc=_e("stackAlloc"),r.dynCall_ijiii=_e("dynCall_ijiii"),r.dynCall_viiijj=_e("dynCall_viiijj"),r.dynCall_jij=_e("dynCall_jij"),r.dynCall_jii=_e("dynCall_jii"),r.dynCall_jiji=_e("dynCall_jiji"),r._ff_h264_cabac_tables=112940,P("intArrayFromString",!1),P("intArrayToString",!1),P("ccall",!1),P("cwrap",!1),P("setValue",!1),P("getValue",!1),P("allocate",!1),P("UTF8ArrayToString",!1),P("UTF8ToString",!1),P("stringToUTF8Array",!1),P("stringToUTF8",!1),P("lengthBytesUTF8",!1),P("stackTrace",!1),P("addOnPreRun",!1),P("addOnInit",!1),P("addOnPreMain",!1),P("addOnExit",!1),P("addOnPostRun",!1),P("writeStringToMemory",!1),P("writeArrayToMemory",!1),P("writeAsciiToMemory",!1),P("addRunDependency",!0),P("removeRunDependency",!0),P("FS_createFolder",!1),P("FS_createPath",!0),P("FS_createDataFile",!0),P("FS_createPreloadedFile",!0),P("FS_createLazyFile",!0),P("FS_createLink",!1),P("FS_createDevice",!0),P("FS_unlink",!0),P("getLEB",!1),P("getFunctionTables",!1),P("alignFunctionTables",!1),P("registerFunctions",!1),P("addFunction",!1),P("removeFunction",!1),P("prettyPrint",!1),P("dynCall",!1),P("getCompilerSetting",!1),P("print",!1),P("printErr",!1),P("getTempRet0",!1),P("setTempRet0",!1),P("callMain",!1),P("abort",!1),P("keepRuntimeAlive",!1),P("ptrToString",!1),P("zeroMemory",!1),P("stringToNewUTF8",!1),P("emscripten_realloc_buffer",!1),P("ENV",!1),P("ERRNO_CODES",!1),P("ERRNO_MESSAGES",!1),P("setErrNo",!1),P("inetPton4",!1),P("inetNtop4",!1),P("inetPton6",!1),P("inetNtop6",!1),P("readSockaddr",!1),P("writeSockaddr",!1),P("DNS",!1),P("getHostByName",!1),P("Protocols",!1),P("Sockets",!1),P("getRandomDevice",!1),P("traverseStack",!1),P("UNWIND_CACHE",!1),P("convertPCtoSourceLocation",!1),P("readAsmConstArgsArray",!1),P("readAsmConstArgs",!1),P("mainThreadEM_ASM",!1),P("jstoi_q",!1),P("jstoi_s",!1),P("getExecutableName",!1),P("listenOnce",!1),P("autoResumeAudioContext",!1),P("dynCallLegacy",!1),P("getDynCaller",!1),P("dynCall",!1),P("setWasmTableEntry",!1),P("getWasmTableEntry",!1),P("handleException",!1),P("runtimeKeepalivePush",!1),P("runtimeKeepalivePop",!1),P("callUserCallback",!1),P("maybeExit",!1),P("safeSetTimeout",!1),P("asmjsMangle",!1),P("asyncLoad",!1),P("alignMemory",!1),P("mmapAlloc",!1),P("reallyNegative",!1),P("unSign",!1),P("reSign",!1),P("formatString",!1),P("PATH",!1),P("PATH_FS",!1),P("SYSCALLS",!1),P("getSocketFromFD",!1),P("getSocketAddress",!1),P("JSEvents",!1),P("registerKeyEventCallback",!1),P("specialHTMLTargets",!1),P("maybeCStringToJsString",!1),P("findEventTarget",!1),P("findCanvasEventTarget",!1),P("getBoundingClientRect",!1),P("fillMouseEventData",!1),P("registerMouseEventCallback",!1),P("registerWheelEventCallback",!1),P("registerUiEventCallback",!1),P("registerFocusEventCallback",!1),P("fillDeviceOrientationEventData",!1),P("registerDeviceOrientationEventCallback",!1),P("fillDeviceMotionEventData",!1),P("registerDeviceMotionEventCallback",!1),P("screenOrientation",!1),P("fillOrientationChangeEventData",!1),P("registerOrientationChangeEventCallback",!1),P("fillFullscreenChangeEventData",!1),P("registerFullscreenChangeEventCallback",!1),P("registerRestoreOldStyle",!1),P("hideEverythingExceptGivenElement",!1),P("restoreHiddenElements",!1),P("setLetterbox",!1),P("currentFullscreenStrategy",!1),P("restoreOldWindowedStyle",!1),P("softFullscreenResizeWebGLRenderTarget",!1),P("doRequestFullscreen",!1),P("fillPointerlockChangeEventData",!1),P("registerPointerlockChangeEventCallback",!1),P("registerPointerlockErrorEventCallback",!1),P("requestPointerLock",!1),P("fillVisibilityChangeEventData",!1),P("registerVisibilityChangeEventCallback",!1),P("registerTouchEventCallback",!1),P("fillGamepadEventData",!1),P("registerGamepadEventCallback",!1),P("registerBeforeUnloadEventCallback",!1),P("fillBatteryEventData",!1),P("battery",!1),P("registerBatteryEventCallback",!1),P("setCanvasElementSize",!1),P("getCanvasElementSize",!1),P("demangle",!1),P("demangleAll",!1),P("jsStackTrace",!1),P("stackTrace",!1),P("getEnvStrings",!1),P("checkWasiClock",!1),P("writeI53ToI64",!1),P("writeI53ToI64Clamped",!1),P("writeI53ToI64Signaling",!1),P("writeI53ToU64Clamped",!1),P("writeI53ToU64Signaling",!1),P("readI53FromI64",!1),P("readI53FromU64",!1),P("convertI32PairToI53",!1),P("convertU32PairToI53",!1),P("dlopenMissingError",!1),P("setImmediateWrapped",!1),P("clearImmediateWrapped",!1),P("polyfillSetImmediate",!1),P("uncaughtExceptionCount",!1),P("exceptionLast",!1),P("exceptionCaught",!1),P("ExceptionInfo",!1),P("exception_addRef",!1),P("exception_decRef",!1),P("Browser",!1),P("setMainLoop",!1),P("wget",!1),P("FS",!1),P("MEMFS",!1),P("TTY",!1),P("PIPEFS",!1),P("SOCKFS",!1),P("_setNetworkCallback",!1),P("tempFixedLengthArray",!1),P("miniTempWebGLFloatBuffers",!1),P("heapObjectForWebGLType",!1),P("heapAccessShiftForWebGLHeap",!1),P("GL",!1),P("emscriptenWebGLGet",!1),P("computeUnpackAlignedImageSize",!1),P("emscriptenWebGLGetTexPixelData",!1),P("emscriptenWebGLGetUniform",!1),P("webglGetUniformLocation",!1),P("webglPrepareUniformLocationsBeforeFirstUse",!1),P("webglGetLeftBracePos",!1),P("emscriptenWebGLGetVertexAttrib",!1),P("writeGLArray",!1),P("AL",!1),P("SDL_unicode",!1),P("SDL_ttfContext",!1),P("SDL_audio",!1),P("SDL",!1),P("SDL_gfx",!1),P("GLUT",!1),P("EGL",!1),P("GLFW_Window",!1),P("GLFW",!1),P("GLEW",!1),P("IDBStore",!1),P("runAndAbortIfError",!1),P("InternalError",!1),P("BindingError",!1),P("UnboundTypeError",!1),P("PureVirtualError",!1),P("init_embind",!1),P("throwInternalError",!1),P("throwBindingError",!1),P("throwUnboundTypeError",!1),P("ensureOverloadTable",!1),P("exposePublicSymbol",!1),P("replacePublicSymbol",!1),P("extendError",!1),P("createNamedFunction",!1),P("registeredInstances",!1),P("getBasestPointer",!1),P("registerInheritedInstance",!1),P("unregisterInheritedInstance",!1),P("getInheritedInstance",!1),P("getInheritedInstanceCount",!1),P("getLiveInheritedInstances",!1),P("registeredTypes",!1),P("awaitingDependencies",!1),P("typeDependencies",!1),P("registeredPointers",!1),P("registerType",!1),P("whenDependentTypesAreResolved",!1),P("embind_charCodes",!1),P("embind_init_charCodes",!1),P("readLatin1String",!1),P("getTypeName",!1),P("heap32VectorToArray",!1),P("requireRegisteredType",!1),P("getShiftFromSize",!1),P("integerReadValueFromPointer",!1),P("enumReadValueFromPointer",!1),P("floatReadValueFromPointer",!1),P("simpleReadValueFromPointer",!1),P("runDestructors",!1),P("new_",!1),P("craftInvokerFunction",!1),P("embind__requireFunction",!1),P("tupleRegistrations",!1),P("structRegistrations",!1),P("genericPointerToWireType",!1),P("constNoSmartPtrRawPointerToWireType",!1),P("nonConstNoSmartPtrRawPointerToWireType",!1),P("init_RegisteredPointer",!1),P("RegisteredPointer",!1),P("RegisteredPointer_getPointee",!1),P("RegisteredPointer_destructor",!1),P("RegisteredPointer_deleteObject",!1),P("RegisteredPointer_fromWireType",!1),P("runDestructor",!1),P("releaseClassHandle",!1),P("finalizationRegistry",!1),P("detachFinalizer_deps",!1),P("detachFinalizer",!1),P("attachFinalizer",!1),P("makeClassHandle",!1),P("init_ClassHandle",!1),P("ClassHandle",!1),P("ClassHandle_isAliasOf",!1),P("throwInstanceAlreadyDeleted",!1),P("ClassHandle_clone",!1),P("ClassHandle_delete",!1),P("deletionQueue",!1),P("ClassHandle_isDeleted",!1),P("ClassHandle_deleteLater",!1),P("flushPendingDeletes",!1),P("delayFunction",!1),P("setDelayFunction",!1),P("RegisteredClass",!1),P("shallowCopyInternalPointer",!1),P("downcastPointer",!1),P("upcastPointer",!1),P("validateThis",!1),P("char_0",!1),P("char_9",!1),P("makeLegalFunctionName",!1),P("emval_handle_array",!1),P("emval_free_list",!1),P("emval_symbols",!1),P("init_emval",!1),P("count_emval_handles",!1),P("get_first_emval",!1),P("getStringOrSymbol",!1),P("Emval",!1),P("emval_newers",!1),P("craftEmvalAllocator",!1),P("emval_get_global",!1),P("emval_methodCallers",!1),P("emval_registeredMethods",!1),P("warnOnce",!1),P("stackSave",!1),P("stackRestore",!1),P("stackAlloc",!1),P("AsciiToString",!1),P("stringToAscii",!1),P("UTF16ToString",!1),P("stringToUTF16",!1),P("lengthBytesUTF16",!1),P("UTF32ToString",!1),P("stringToUTF32",!1),P("lengthBytesUTF32",!1),P("allocateUTF8",!1),P("allocateUTF8OnStack",!1),r.writeStackCookie=ne,r.checkStackCookie=oe,C("ALLOC_NORMAL",!1),C("ALLOC_STACK",!1),de=function e(){Tt||Ct(),Tt||(de=e)},r.run=Ct,r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();Ct(),e.exports=r}));const u=1e3,c=1e3,d=!1,f=!1,p=!1,m=!1,h="initVideo",g="render",v="playAudio",y="initAudio",E="audioCode",w="videoCode",b=1,_=2,T="init",k="decode",S="audioDecode",C="videoDecode",P="close",A="updateConfig",F="key",D="delta";s((function(e){!function(){var r="undefined"!=typeof window&&void 0!==window.document?window.document:{},t=e.exports,n=function(){for(var e,t=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],n=0,o=t.length,i={};n{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const 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(e){}})(),Date.now||(Date.now=function(){return(new Date).getTime()}),l.postRun=function(){var e=[],r=[],t={};"VideoEncoder"in self&&(t={hasInit:!1,isEmitInfo:!1,offscreenCanvas:null,offscreenCanvasCtx:null,decoder:new VideoDecoder({output:function(e){if(n.isDestroyed)return;t.isEmitInfo||(n.opt.debug&&console.log("Jb: [worker] Webcodecs Video Decoder initSize"),postMessage({cmd:h,w:e.codedWidth,h:e.codedHeight}),t.isEmitInfo=!0,t.offscreenCanvas=new OffscreenCanvas(e.codedWidth,e.codedHeight),t.offscreenCanvasCtx=t.offscreenCanvas.getContext("2d")),t.offscreenCanvasCtx.drawImage(e,0,0,e.codedWidth,e.codedHeight);let r=t.offscreenCanvas.transferToImageBitmap();postMessage({cmd:g,buffer:r,delay:n.delay,ts:0},[r]),setTimeout((function(){e.close?e.close():e.destroy()}),100)},error:function(e){console.error(e)}}),decode:function(e,r){const o=e[0]>>4==1;if(t.hasInit){const n=new EncodedVideoChunk({data:e.slice(5),timestamp:r,type:o?F:D});t.decoder.decode(n)}else if(o&&0===e[1]){const r=15&e[0];n.setVideoCodec(r);const o=function(e){let r=e.subarray(1,4),t="avc1.";for(let e=0;e<3;e++){let n=r[e].toString(16);n.length<2&&(n="0"+n),t+=n}return{codec:t,description:e}}(e.slice(5));t.decoder.configure(o),t.hasInit=!0}},reset(){t.hasInit=!1,t.isEmitInfo=!1,t.offscreenCanvas=null,t.offscreenCanvasCtx=null}});var n={isDestroyed:!1,opt:{debug:d,useOffscreen:p,useWCS:f,videoBuffer:u,openWebglAlignment:m,videoBufferDelay:c},useOffscreen:function(){return n.opt.useOffscreen&&"undefined"!=typeof OffscreenCanvas},initAudioPlanar:function(e,t){postMessage({cmd:y,sampleRate:t,channels:e});var n=[],o=0;this.playAudioPlanar=function(t,i,a){for(var s=i,u=[],c=0,d=0;d<2;d++){var f=l.HEAPU32[(t>>2)+d]>>2;u[d]=l.HEAPF32.subarray(f,f+s)}if(o){if(!(s>=(i=1024-o)))return o+=s,r[0]=Float32Array.of(...r[0],...u[0]),void(2==e&&(r[1]=Float32Array.of(...r[1],...u[1])));n[0]=Float32Array.of(...r[0],...u[0].subarray(0,i)),2==e&&(n[1]=Float32Array.of(...r[1],...u[1].subarray(0,i))),postMessage({cmd:v,buffer:n,ts:a},n.map((e=>e.buffer))),c=i,s-=i}for(o=s;o>=1024;o-=1024)n[0]=u[0].slice(c,c+=1024),2==e&&(n[1]=u[1].slice(c-1024,c)),postMessage({cmd:v,buffer:n,ts:a},n.map((e=>e.buffer)));o&&(r[0]=u[0].slice(c),2==e&&(r[1]=u[1].slice(c)))}},setVideoCodec:function(e){postMessage({cmd:w,code:e})},setAudioCodec:function(e){postMessage({cmd:E,code:e})},setVideoSize:function(e,r){postMessage({cmd:h,w:e,h:r});var t=e*r,o=t>>2;n.useOffscreen()?(this.offscreenCanvas=new OffscreenCanvas(e,r),this.offscreenCanvasGL=this.offscreenCanvas.getContext("webgl"),this.webglObj=((e,r)=>{var t=["attribute vec4 vertexPos;","attribute vec4 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos.xy;","}"].join("\n"),n=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join("\n");r&&e.pixelStorei(e.UNPACK_ALIGNMENT,1);var o=e.createShader(e.VERTEX_SHADER);e.shaderSource(o,t),e.compileShader(o),e.getShaderParameter(o,e.COMPILE_STATUS)||console.log("Vertex shader failed to compile: "+e.getShaderInfoLog(o));var i=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(i,n),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)||console.log("Fragment shader failed to compile: "+e.getShaderInfoLog(i));var a=e.createProgram();e.attachShader(a,o),e.attachShader(a,i),e.linkProgram(a),e.getProgramParameter(a,e.LINK_STATUS)||console.log("Program failed to compile: "+e.getProgramInfoLog(a)),e.useProgram(a);var s=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,s),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),e.STATIC_DRAW);var l=e.getAttribLocation(a,"vertexPos");e.enableVertexAttribArray(l),e.vertexAttribPointer(l,2,e.FLOAT,!1,0,0);var u=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,u),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),e.STATIC_DRAW);var c=e.getAttribLocation(a,"texturePos");function d(r,t){var n=e.createTexture();return e.bindTexture(e.TEXTURE_2D,n),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),e.uniform1i(e.getUniformLocation(a,r),t),n}e.enableVertexAttribArray(c),e.vertexAttribPointer(c,2,e.FLOAT,!1,0,0);var f=d("ySampler",0),p=d("uSampler",1),m=d("vSampler",2);return{render:function(r,t,n,o,i){e.viewport(0,0,r,t),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,f),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,r,t,0,e.LUMINANCE,e.UNSIGNED_BYTE,n),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,p),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,r/2,t/2,0,e.LUMINANCE,e.UNSIGNED_BYTE,o),e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,m),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,r/2,t/2,0,e.LUMINANCE,e.UNSIGNED_BYTE,i),e.drawArrays(e.TRIANGLE_STRIP,0,4)},destroy:function(){try{e.deleteProgram(a),e.deleteBuffer(s),e.deleteBuffer(u),e.deleteTexture(f),e.deleteTexture(p),e.deleteTexture(m)}catch(e){}}}})(this.offscreenCanvasGL,n.opt.openWebglAlignment),this.draw=function(n,i,a,s){const u=l.HEAPU8.subarray(i,i+t),c=l.HEAPU8.subarray(a,a+o),d=l.HEAPU8.subarray(s,s+o);this.webglObj.render(e,r,u,c,d);let f=this.offscreenCanvas.transferToImageBitmap();postMessage({cmd:g,buffer:f,delay:this.delay,ts:n},[f])}):this.draw=function(e,r,n,i){const a=[Uint8Array.from(l.HEAPU8.subarray(r,r+t)),Uint8Array.from(l.HEAPU8.subarray(n,n+o)),Uint8Array.from(l.HEAPU8.subarray(i,i+o))];postMessage({cmd:g,output:a,delay:this.delay,ts:e},a.map((e=>e.buffer)))}},getDelay:function(e){if(!e)return-1;if(this.firstTimestamp){if(e){const r=Date.now()-this.startTimestamp,t=e-this.firstTimestamp;this.delay=r>=t?r-t:t-r}}else this.firstTimestamp=e,this.startTimestamp=Date.now(),this.delay=-1;return this.delay},resetDelay:function(){this.firstTimestamp=null,this.startTimestamp=null,this.delay=-1},init:function(){n.opt.debug&&console.log("Jb: [worker] init");const r=e=>{n.opt.useWCS&&n.useOffscreen()&&e.type===_&&t.decode?t.decode(e.payload,e.ts):e.decoder.decode(e.payload,e.ts)};this.stopId=setInterval((()=>{if(!n.isDestroyed&&e.length)if(this.dropping){for((t=e.shift()).type===b&&0===t.payload[1]&&r(t);!t.isIFrame&&e.length;)(t=e.shift()).type===b&&0===t.payload[1]&&r(t);t.isIFrame&&(this.dropping=!1,r(t))}else{var t=e[0];if(-1===this.getDelay(t.ts))e.shift(),r(t);else if(this.delay>n.opt.videoBuffer+n.opt.videoBufferDelay)this.resetDelay(),this.dropping=!0;else for(;e.length&&(t=e[0],this.getDelay(t.ts)>n.opt.videoBuffer);)e.shift(),r(t)}}),10)},close:function(){n.isDestroyed=!0,n.opt.debug&&console.log("Jb: [worker]: close"),clearInterval(this.stopId),this.stopId=null,o.clear&&o.clear(),i.clear&&i.clear(),t.reset&&t.reset(),this.firstTimestamp=null,this.startTimestamp=null,this.delay=-1,this.dropping=!1,this.webglObj&&(this.webglObj.destroy(),this.offscreenCanvas=null,this.offscreenCanvasGL=null,this.offscreenCanvasCtx=null),e=[],r=[],delete this.playAudioPlanar,delete this.draw},pushBuffer:function(r,t){t.type===b?e.push({ts:t.ts,payload:r,decoder:o,type:b}):t.type===_&&e.push({ts:t.ts,payload:r,decoder:i,type:_,isIFrame:t.isIFrame})}},o=new l.AudioDecoder(n),i=new l.VideoDecoder(n);postMessage({cmd:T}),self.onmessage=function(e){var r=e.data;switch(r.cmd){case T:try{n.opt=Object.assign(n.opt,JSON.parse(r.opt))}catch(e){}o.sample_rate=r.sampleRate,n.init();break;case k:n.pushBuffer(r.buffer,r.options);break;case S:o.decode(r.buffer,r.ts);break;case C:i.decode(r.buffer,r.ts);break;case P:n.close();break;case A:n.opt[r.key]=r.value}}}})); diff --git a/dist/jessibuca.js b/dist/jessibuca.js index acbdde68..21fb054e 100644 --- a/dist/jessibuca.js +++ b/dist/jessibuca.js @@ -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).jessibuca=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}function i(e,t){return e(t={exports:{}},t.exports),t.exports}var o=i((function(e){function t(i){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(i)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports}));t(o);var r=i((function(e){var t=o.default;e.exports=function(e,i){if("object"!==t(e)||null===e)return e;var o=e[Symbol.toPrimitive];if(void 0!==o){var r=o.call(e,i||"default");if("object"!==t(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===i?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports}));t(r);var s=i((function(e){var t=o.default;e.exports=function(e){var i=r(e,"string");return"symbol"===t(i)?i:String(i)},e.exports.__esModule=!0,e.exports.default=e.exports}));t(s);var a=t(i((function(e){e.exports=function(e,t,i){return(t=s(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e},e.exports.__esModule=!0,e.exports.default=e.exports})));const n=0,A=1,d="flv",c="m7s",l="mp4",u="webm",h="jessibuca",p='"3.3.15"',m={videoBuffer:1e3,videoBufferDelay:1e3,isResize:!0,isFullResize:!1,isFlv:!1,debug:!1,hotKey:!1,loadingTimeout:10,heartTimeout:5,timeout:10,loadingTimeoutReplay:!0,heartTimeoutReplay:!0,loadingTimeoutReplayTimes:3,heartTimeoutReplayTimes:3,supportDblclickFullscreen:!1,showBandwidth:!1,keepScreenOn:!1,isNotMute:!1,hasAudio:!0,hasVideo:!0,operateBtns:{fullscreen:!1,screenshot:!1,play:!1,audio:!1,record:!1},controlAutoHide:!1,hasControl:!1,loadingText:"",background:"",decoder:"decoder.js",url:"",rotate:0,forceNoOffscreen:!0,hiddenAutoPause:!1,protocol:A,demuxType:d,useWCS:!1,wcsUseVideoRender:!1,useMSE:!1,useOffscreen:!1,autoWasm:!0,wasmDecodeErrorReplay:!0,openWebglAlignment:!1,wasmDecodeAudioSyncVideo:!1,recordType:u,useWebFullScreen:!1,loadingDecoderWorkerTimeout:10,autoUseSystemFullScreen:!0},g="init",f="initVideo",b="render",y="playAudio",v="initAudio",w="audioCode",S="videoCode",E="wasmError",B="Invalid NAL unit size",C=1,R=2,k=8,T=9,I="init",x="decode",D="audioDecode",j="close",L="updateConfig",F={fullscreen:"fullscreen$2",webFullscreen:"webFullscreen",decoderWorkerInit:"decoderWorkerInit",play:"play",playing:"playing",pause:"pause",mute:"mute",load:"load",loading:"loading",videoInfo:"videoInfo",timeUpdate:"timeUpdate",audioInfo:"audioInfo",log:"log",error:"error",kBps:"kBps",timeout:"timeout",delayTimeout:"delayTimeout",loadingTimeout:"loadingTimeout",stats:"stats",performance:"performance",record:"record",recording:"recording",recordingTimestamp:"recordingTimestamp",recordStart:"recordStart",recordEnd:"recordEnd",recordCreateError:"recordCreateError",buffer:"buffer",videoFrame:"videoFrame",start:"start",metadata:"metadata",resize:"resize",streamEnd:"streamEnd",streamSuccess:"streamSuccess",streamMessage:"streamMessage",streamError:"streamError",volumechange:"volumechange",volume:"volume",destroy:"destroy",mseSourceOpen:"mseSourceOpen",mseSourceClose:"mseSourceClose",mseSourceBufferError:"mseSourceBufferError",mseSourceBufferBusy:"mseSourceBufferBusy",mseSourceBufferFull:"mseSourceBufferFull",videoWaiting:"videoWaiting",videoTimeUpdate:"videoTimeUpdate",videoSyncAudio:"videoSyncAudio",playToRenderTimes:"playToRenderTimes"},O={load:F.load,timeUpdate:F.timeUpdate,videoInfo:F.videoInfo,audioInfo:F.audioInfo,error:F.error,kBps:F.kBps,log:F.log,start:F.start,timeout:F.timeout,loadingTimeout:F.loadingTimeout,delayTimeout:F.delayTimeout,fullscreen:"fullscreen",webFullscreen:F.webFullscreen,play:F.play,pause:F.pause,mute:F.mute,stats:F.stats,volumechange:F.volumechange,performance:F.performance,recordingTimestamp:F.recordingTimestamp,recordStart:F.recordStart,recordEnd:F.recordEnd,playToRenderTimes:F.playToRenderTimes,volume:F.volume},V={playError:"playIsNotPauseOrUrlIsNull",fetchError:"fetchError",websocketError:"websocketError",webcodecsH265NotSupport:"webcodecsH265NotSupport",webcodecsConfigureError:"webcodecsConfigureError",webcodecsDecodeError:"webcodecsDecodeError",webcodecsWidthOrHeightChange:"webcodecsWidthOrHeightChange",mediaSourceH265NotSupport:"mediaSourceH265NotSupport",mediaSourceFull:F.mseSourceBufferFull,mseSourceBufferError:F.mseSourceBufferError,mediaSourceAppendBufferError:"mediaSourceAppendBufferError",mediaSourceBufferListLarge:"mediaSourceBufferListLarge",mediaSourceAppendBufferEndTimeout:"mediaSourceAppendBufferEndTimeout",wasmDecodeError:"wasmDecodeError",webglAlignmentError:"webglAlignmentError",webglContextLostError:"webglContextLostError",webglInitError:"webglInitError"},M="notConnect",U="open",Q="close",W="error",J={download:"download",base64:"base64",blob:"blob"},P={7:"H264(AVC)",12:"H265(HEVC)"},G=12,N={10:"AAC",7:"ALAW",8:"MULAW"},H=38,z=0,Y=1,X=2,q="webcodecs",Z="webgl",K="offscreen",_="key",$="delta",ee='video/mp4; codecs="avc1.64002A"',te="ended",ie="open",oe="closed",re=1e3,se=27,ae=38,ne=40,Ae="A key frame is required after configure() or flush()",de="Cannot call 'decode' on a closed codec",ce="The user aborted a request",le="AbortError",ue="AbortError",he=0,pe=1,me=3,ge=16;class fe{constructor(e){this.log=(t,...i)=>{e._opt&&e._opt.debug&&console.log(`Jb: [${t}]`,...i)},this.warn=(t,...i)=>{e._opt&&e._opt.debug&&console.warn(`Jb: [${t}]`,...i)},this.error=(e,...t)=>{console.error(`Jb: [${e}]`,...t)}}}class be{constructor(e){this.destroys=[],this.proxy=this.proxy.bind(this),this.master=e}proxy(e,t,i,o={}){if(!e)return;if(Array.isArray(t))return t.map((t=>this.proxy(e,t,i,o)));e.addEventListener(t,i,o);const r=()=>e.removeEventListener(t,i,o);return this.destroys.push(r),r}destroy(){this.master.debug&&this.master.debug.log("Events","destroy"),this.destroys.forEach((e=>e()))}}var ye=i((function(e){!function(){var t="undefined"!=typeof window&&void 0!==window.document?window.document:{},i=e.exports,o=function(){for(var e,i=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],o=0,r=i.length,s={};o{Be(e,i,t[i])})),e.style[t]=i,e}function Ce(e,t,i=!0){if(!e)return 0;const o=getComputedStyle(e,null).getPropertyValue(t);return i?parseFloat(o):o}function Re(){return performance&&"function"==typeof performance.now?performance.now():Date.now()}function ke(e){let t=0,i=Re();return o=>{t+=o;const r=Re(),s=r-i;s>=1e3&&(e(t/s*1e3),i=r,t=0)}}function Te(){return/iphone|ipod|android.*mobile|windows.*phone|blackberry.*mobile/i.test(window.navigator.userAgent.toLowerCase())}function Ie(e){if(null==e||""===e||0===parseInt(e)||isNaN(parseInt(e)))return"0KB/s";let t=parseFloat(e);return t=t.toFixed(2),t+"KB/s"}function xe(e){return null==e}function De(e){return!0===e||!1===e}function je(e){return!xe(e)}function Le(e){var t;if(e>-1){var i=Math.floor(e/3600),o=Math.floor(e/60)%60,r=e%60;t=i<10?"0"+i+":":i+":",o<10&&(t+="0"),t+=o+":",(r=Math.round(r))<10&&(t+="0"),t+=r.toFixed(0)}return t}function Fe(e){const t=e||window.event;return t.target||t.srcElement}function Oe(e){let t=!1;return e&&e.parentNode&&(e.parentNode.removeChild(e),t=!0),t}function Ve(e,t){let i=[];i[0]=t?28:44,i[1]=1,i[2]=0,i[3]=0,i[4]=0;const o=new Uint8Array(i.length+e.byteLength);return o.set(i,0),o.set(e,i.length),o}function Me(e){return!0!==e&&"true"!==e}ye.isEnabled,(()=>{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const 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(e){}})();class Ue{on(e,t,i){const o=this.e||(this.e={});return(o[e]||(o[e]=[])).push({fn:t,ctx:i}),this}once(e,t,i){const o=this;function r(...s){o.off(e,r),t.apply(i,s)}return r._=t,this.on(e,r,i)}emit(e,...t){const i=((this.e||(this.e={}))[e]||[]).slice();for(let e=0;e{delete i[e]})),void delete this.e;const o=i[e],r=[];if(o&&t)for(let e=0,i=o.length;e=200&&t.status<=299}function Ge(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(i){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var Ne=We.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),He="object"!=typeof window||window!==We?function(){}:"download"in HTMLAnchorElement.prototype&&!Ne?function(e,t,i){var o=We.URL||We.webkitURL,r=document.createElementNS("http://www.w3.org/1999/xhtml","a");t=t||e.name||"download",r.download=t,r.rel="noopener","string"==typeof e?(r.href=e,r.origin!==location.origin?Pe(r.href)?Je(e,t,i):Ge(r,r.target="_blank"):Ge(r)):(r.href=o.createObjectURL(e),setTimeout((function(){o.revokeObjectURL(r.href)}),4e4),setTimeout((function(){Ge(r)}),0))}:"msSaveOrOpenBlob"in navigator?function(e,t,i){if(t=t||e.name||"download","string"==typeof e)if(Pe(e))Je(e,t,i);else{var o=document.createElement("a");o.href=e,o.target="_blank",setTimeout((function(){Ge(o)}))}else navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=typeof t&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([String.fromCharCode(65279),e],{type:e.type}):e}(e,i),t)}:function(e,t,i,o){if((o=o||open("","_blank"))&&(o.document.title=o.document.body.innerText="downloading..."),"string"==typeof e)return Je(e,t,i);var r="application/octet-stream"===e.type,s=/constructor/i.test(We.HTMLElement)||We.safari,a=/CriOS\/[\d]+/.test(navigator.userAgent);if((a||r&&s||Ne)&&"undefined"!=typeof FileReader){var n=new FileReader;n.onloadend=function(){var e=n.result;e=a?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),o?o.location.href=e:location=e,o=null},n.readAsDataURL(e)}else{var A=We.URL||We.webkitURL,d=A.createObjectURL(e);o?o.location=d:location.href=d,o=null,setTimeout((function(){A.revokeObjectURL(d)}),4e4)}};class ze extends Qe{constructor(e){super(),this.player=e;const t=document.createElement("canvas");t.style.position="absolute",t.style.top=0,t.style.left=0,this.$videoElement=t,e.$container.appendChild(this.$videoElement),this.context2D=null,this.contextGl=null,this.contextGlRender=null,this.contextGlDestroy=null,this.bitmaprenderer=null,this.renderType=null,this.isContextGlRenderLost=!1,this.videoInfo={width:"",height:"",encType:""},this._initCanvasRender(),this.player.debug.log("CanvasVideo","init")}async destroy(){super.destroy(),this.contextGl&&(this.contextGl=null),this.context2D&&(this.context2D=null),this.contextGlRender&&(this.contextGlDestroy&&this.contextGlDestroy(),this.contextGlDestroy=null,this.contextGlRender=null),this.bitmaprenderer&&(this.bitmaprenderer=null),this.renderType=null,this.isContextGlRenderLost=!1,this.player.debug.log("CanvasVideoLoader","destroy")}_initContextGl(){if(this.contextGl=function(e){let t=null;const i=["webgl","experimental-webgl","moz-webgl","webkit-3d"];let o=0;for(;!t&&o{var i=["attribute vec4 vertexPos;","attribute vec4 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos.xy;","}"].join("\n"),o=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join("\n");t&&e.pixelStorei(e.UNPACK_ALIGNMENT,1);var r=e.createShader(e.VERTEX_SHADER);e.shaderSource(r,i),e.compileShader(r),e.getShaderParameter(r,e.COMPILE_STATUS)||console.log("Vertex shader failed to compile: "+e.getShaderInfoLog(r));var s=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(s,o),e.compileShader(s),e.getShaderParameter(s,e.COMPILE_STATUS)||console.log("Fragment shader failed to compile: "+e.getShaderInfoLog(s));var a=e.createProgram();e.attachShader(a,r),e.attachShader(a,s),e.linkProgram(a),e.getProgramParameter(a,e.LINK_STATUS)||console.log("Program failed to compile: "+e.getProgramInfoLog(a)),e.useProgram(a);var n=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,n),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),e.STATIC_DRAW);var A=e.getAttribLocation(a,"vertexPos");e.enableVertexAttribArray(A),e.vertexAttribPointer(A,2,e.FLOAT,!1,0,0);var d=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,d),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),e.STATIC_DRAW);var c=e.getAttribLocation(a,"texturePos");function l(t,i){var o=e.createTexture();return e.bindTexture(e.TEXTURE_2D,o),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),e.uniform1i(e.getUniformLocation(a,t),i),o}e.enableVertexAttribArray(c),e.vertexAttribPointer(c,2,e.FLOAT,!1,0,0);var u=l("ySampler",0),h=l("uSampler",1),p=l("vSampler",2);return{render:function(t,i,o,r,s){e.viewport(0,0,t,i),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,u),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,t,i,0,e.LUMINANCE,e.UNSIGNED_BYTE,o),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,h),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,t/2,i/2,0,e.LUMINANCE,e.UNSIGNED_BYTE,r),e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,p),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,t/2,i/2,0,e.LUMINANCE,e.UNSIGNED_BYTE,s),e.drawArrays(e.TRIANGLE_STRIP,0,4)},destroy:function(){try{e.deleteProgram(a),e.deleteBuffer(n),e.deleteBuffer(d),e.deleteTexture(u),e.deleteTexture(h),e.deleteTexture(p)}catch(e){}}}})(this.contextGl,this.player._opt.openWebglAlignment);this.contextGlRender=e.render,this.contextGlDestroy=e.destroy}else this.player.debug.error("CanvasVideoLoader","init webgl fail"),this.player.emitError(V.webglInitError)}_initContext2D(){this.context2D=this.$videoElement.getContext("2d")}_initCanvasRender(){this.player._opt.useWCS&&!this._supportOffscreen()?(this.renderType=q,this._initContext2D()):this._supportOffscreen()?(this.renderType=K,this._bindOffscreen()):(this.renderType=Z,this._initContextGl())}_supportOffscreen(){return"function"==typeof this.$videoElement.transferControlToOffscreen&&this.player._opt.useOffscreen}_bindOffscreen(){this.bitmaprenderer=this.$videoElement.getContext("bitmaprenderer")}initCanvasViewSize(){this.$videoElement.width=this.videoInfo.width,this.$videoElement.height=this.videoInfo.height,this.resize()}render(e){switch(this.player.videoTimestamp=e.ts,this.renderType){case K:this.bitmaprenderer.transferFromImageBitmap(e.buffer);break;case Z:if(this.isContextGlRenderLost)return;try{this.contextGlRender(this.$videoElement.width,this.$videoElement.height,e.output[0],e.output[1],e.output[2])}catch(e){this.player.debug.error("CanvasVideoLoader","webgl render error and emit webglContextLostError",e),this.isContextGlRenderLost=!0,this.player.emitError(V.webglContextLostError)}break;case q:this.context2D.drawImage(e.videoFrame,0,0,this.$videoElement.width,this.$videoElement.height),(t=e.videoFrame).close?t.close():t.destroy&&t.destroy()}var t}screenshot(e,t,i,o){e=e||Se(),o=o||J.download;const r={png:"image/png",jpeg:"image/jpeg",webp:"image/webp"};let s=.92;!r[t]&&J[t]&&(o=t,t="png",i=void 0),"string"==typeof i&&(o=i,i=void 0),void 0!==i&&(s=Number(i));const a=this.$videoElement.toDataURL(r[t]||r.png,s);if(o===J.base64)return a;{const t=we(a);if(o===J.blob)return t;o===J.download&&He(t,e)}}clearView(){switch(this.renderType){case K:(function(e,t){const i=document.createElement("canvas");return i.width=e,i.height=t,window.createImageBitmap(i,0,0,e,t)})(this.$videoElement.width,this.$videoElement.height).then((e=>{this.bitmaprenderer.transferFromImageBitmap(e)}));break;case Z:this.contextGl.clear(this.contextGl.COLOR_BUFFER_BIT);break;case q:this.context2D.clearRect(0,0,this.$videoElement.width,this.$videoElement.height)}}resize(){this.player.debug.log("canvasVideo","resize");const e=this.player._opt;let t=this.player.width,i=this.player.height;this.player.isControlBarShow()&&(Te()&&this.player.fullscreen&&e.useWebFullScreen?t-=H:i-=H);let o=this.$videoElement.width,r=this.$videoElement.height;const s=e.rotate;let a=(t-o)/2,n=(i-r)/2;270!==s&&90!==s||(o=this.$videoElement.height,r=this.$videoElement.width);const A=t/o,d=i/r;let c=A>d?d:A;e.isResize||A!==d&&(c=A+","+d),e.isFullResize&&(c=A>d?A:d);let l="scale("+c+")";s&&(l+=" rotate("+s+"deg)"),this.$videoElement.style.transform=l,this.$videoElement.style.left=a+"px",this.$videoElement.style.top=n+"px"}}class Ye extends Qe{constructor(e){super(),this.player=e;const t=document.createElement("video"),i=document.createElement("canvas");t.muted=!0,t.disablePictureInPicture=!0,function(){const e=window.navigator.userAgent.toLowerCase();return/android/i.test(e)}()&&(t.poster="noposter"),t.style.position="absolute",t.style.top=0,t.style.left=0,this._delayPlay=!1,e.$container.appendChild(t),this.videoInfo={width:"",height:"",encType:""};const o=this.player._opt;o.useWCS&&o.wcsUseVideoRender&&(this.trackGenerator=new MediaStreamTrackGenerator({kind:"video"}),t.srcObject=new MediaStream([this.trackGenerator]),this.vwriter=this.trackGenerator.writable.getWriter()),this.$videoElement=t,this.$canvasElement=i,this.canvasContext=i.getContext("2d"),this.fixChromeVideoFlashBug(),this.resize();const{proxy:r}=this.player.events;r(this.$videoElement,"canplay",(()=>{this.player.debug.log("Video","canplay"),this._delayPlay&&(this.player.debug.log("Video","canplay and _delayPlay is true and next play()"),this._play())})),r(this.$videoElement,"waiting",(()=>{this.player.debug.log("Video","waiting")})),r(this.$videoElement,"timeupdate",(e=>{const t=parseInt(e.timeStamp,10);this.player.emit(F.timeUpdate,t),!this.isPlaying()&&this.init&&(this.player.debug.log("Video","timeupdate and this.isPlaying is false and retry play"),this.$videoElement.play())})),this.player.debug.log("Video","init")}async destroy(){super.destroy(),this.$canvasElement=null,this.canvasContext=null,this.$videoElement&&(this.$videoElement.pause(),this.$videoElement.currentTime=0,this.$videoElement.src="",this.$videoElement.removeAttribute("src"),this.$videoElement=null),this.trackGenerator&&(this.trackGenerator.stop(),this.trackGenerator=null),this.vwriter&&(await this.vwriter.close(),this.vwriter=null),this.player.debug.log("Video","destroy")}fixChromeVideoFlashBug(){const e=function(){const e=navigator.userAgent.toLowerCase(),t={},i={IE:window.ActiveXObject||"ActiveXObject"in window,Chrome:e.indexOf("chrome")>-1&&e.indexOf("safari")>-1,Firefox:e.indexOf("firefox")>-1,Opera:e.indexOf("opera")>-1,Safari:e.indexOf("safari")>-1&&-1==e.indexOf("chrome"),Edge:e.indexOf("edge")>-1,QQBrowser:/qqbrowser/.test(e),WeixinBrowser:/MicroMessenger/i.test(e)};for(let o in i)if(i[o]){let i="";if("IE"===o)i=e.match(/(msie\s|trident.*rv:)([\w.]+)/)[2];else if("Chrome"===o){for(let e in navigator.mimeTypes)"application/360softmgrplugin"===navigator.mimeTypes[e].type&&(o="360");i=e.match(/chrome\/([\d.]+)/)[1]}else"Firefox"===o?i=e.match(/firefox\/([\d.]+)/)[1]:"Opera"===o?i=e.match(/opera\/([\d.]+)/)[1]:"Safari"===o?i=e.match(/version\/([\d.]+)/)[1]:"Edge"===o?i=e.match(/edge\/([\d.]+)/)[1]:"QQBrowser"===o&&(i=e.match(/qqbrowser\/([\d.]+)/)[1]);t.type=o,t.version=parseInt(i)}return t}().type.toLowerCase();if("chrome"===e||"edge"===e){const e=this.player.$container;e.style.backdropFilter="blur(0px)",e.style.translateZ="0"}}play(){if(this.$videoElement){const e=this._getVideoReadyState();if(this.player.debug.log("Video",`play and readyState: ${e}`),0===e)return this.player.debug.warn("Video","readyState is 0 and set _delayPlay to true"),void(this._delayPlay=!0);this._play()}}_getVideoReadyState(){let e=0;return this.$videoElement&&(e=this.$videoElement.readyState),e}_play(){this.$videoElement&&this.$videoElement.play().then((()=>{this._delayPlay=!1,this.player.debug.log("Video","_play success"),setTimeout((()=>{this.isPlaying()||(this.player.debug.warn("Video","play failed and retry play"),this._play())}),100)})).catch((e=>{this.player.debug.error("Video","_play error",e)}))}pause(e){e?this.$videoElement&&this.$videoElement.pause():setTimeout((()=>{this.$videoElement&&this.$videoElement.pause()}),100)}clearView(){}screenshot(e,t,i,o){e=e||Se(),o=o||J.download;const r={png:"image/png",jpeg:"image/jpeg",webp:"image/webp"};let s=.92;!r[t]&&J[t]&&(o=t,t="png",i=void 0),"string"==typeof i&&(o=i,i=void 0),void 0!==i&&(s=Number(i));const a=this.$videoElement;let n=this.$canvasElement;n.width=a.videoWidth,n.height=a.videoHeight,this.canvasContext.drawImage(a,0,0,n.width,n.height);const A=n.toDataURL(r[t]||r.png,s);if(this.canvasContext.clearRect(0,0,n.width,n.height),n.width=0,n.height=0,o===J.base64)return A;{const t=we(A);if(o===J.blob)return t;o===J.download&&He(t,e)}}initCanvasViewSize(){this.resize()}render(e){this.vwriter&&(this.vwriter.write(e.videoFrame),e.videoFrame.close())}resize(){let e=this.player.width,t=this.player.height;const i=this.player._opt,o=i.rotate;this.player.isControlBarShow()&&(Te()&&this.player.fullscreen&&i.useWebFullScreen?e-=H:t-=H),this.$videoElement.width=e,this.$videoElement.height=t,270!==o&&90!==o||(this.$videoElement.width=t,this.$videoElement.height=e);let r=(e-this.$videoElement.width)/2,s=(t-this.$videoElement.height)/2,a="contain";i.isResize||(a="fill"),i.isFullResize&&(a="none"),this.$videoElement.style.objectFit=a,this.$videoElement.style.transform="rotate("+o+"deg)",this.$videoElement.style.left=r+"px",this.$videoElement.style.top=s+"px"}isPlaying(){return this.$videoElement&&!this.$videoElement.paused}}class Xe{constructor(e){return new(Xe.getLoaderFactory(e._opt))(e)}static getLoaderFactory(e){return e.useMSE||e.useWCS&&!e.useOffscreen&&e.wcsUseVideoRender?Ye:ze}}class qe extends Ue{constructor(e){super(),this.bufferList=[],this.player=e,this.scriptNode=null,this.hasInitScriptNode=!1,this.audioContextChannel=null,this.audioContext=new(window.AudioContext||window.webkitAudioContext),this.gainNode=this.audioContext.createGain();const t=this.audioContext.createBufferSource();t.buffer=this.audioContext.createBuffer(1,1,22050),t.connect(this.audioContext.destination),t.noteOn?t.noteOn(0):t.start(0),this.audioBufferSourceNode=t,this.mediaStreamAudioDestinationNode=this.audioContext.createMediaStreamDestination(),this.audioEnabled(!0),this.gainNode.gain.value=0,this._prevVolume=null,this.playing=!1,this.audioSyncVideoOption={diff:null},this.audioInfo={encType:"",channels:"",sampleRate:""},this.init=!1,this.hasAudio=!1,this.on(F.videoSyncAudio,(e=>{this.audioSyncVideoOption=e})),this.player.debug.log("AudioContext","init")}resetInit(){this.init=!1,this.audioInfo={encType:"",channels:"",sampleRate:""}}async destroy(){this.closeAudio(),this.resetInit(),this.audioContext&&(await this.audioContext.close(),this.audioContext=null),this.gainNode=null,this.hasAudio=!1,this.playing=!1,this.scriptNode&&(this.scriptNode.onaudioprocess=ve,this.scriptNode=null),this.audioBufferSourceNode=null,this.mediaStreamAudioDestinationNode=null,this.hasInitScriptNode=!1,this.audioSyncVideoOption={diff:null},this._prevVolume=null,this.off(),this.player.debug.log("AudioContext","destroy")}updateAudioInfo(e){e.encTypeCode&&(this.audioInfo.encType=N[e.encTypeCode],this.audioInfo.encTypeCode=e.encTypeCode),e.channels&&(this.audioInfo.channels=e.channels),e.sampleRate&&(this.audioInfo.sampleRate=e.sampleRate),this.audioInfo.sampleRate&&this.audioInfo.channels&&this.audioInfo.encType&&!this.init&&(this.player.emit(F.audioInfo,this.audioInfo),this.init=!0)}get isPlaying(){return this.playing}get isMute(){return 0===this.gainNode.gain.value}get volume(){return this.gainNode.gain.value}get bufferSize(){return this.bufferList.length}initScriptNode(){if(this.playing=!0,this.hasInitScriptNode)return;const e=this.audioInfo.channels,t=this.audioContext.createScriptProcessor(1024,0,e);t.onaudioprocess=t=>{const i=t.outputBuffer;if(this.bufferList.length&&this.playing){if(!this.player._opt.useWCS&&!this.player._opt.useMSE&&this.player._opt.wasmDecodeAudioSyncVideo){if(this.audioSyncVideoOption.diff>re)return void this.player.debug.warn("AudioContext",`audioSyncVideoOption more than diff :${this.audioSyncVideoOption.diff}, waiting`);if(this.audioSyncVideoOption.diff<-1e3){this.player.debug.warn("AudioContext",`audioSyncVideoOption less than diff :${this.audioSyncVideoOption.diff}, dropping`);let e=this.bufferList.shift();for(;e.ts-this.player.videoTimestamp<-1e3&&this.bufferList.length>0;)e=this.bufferList.shift();if(0===this.bufferList.length)return}}if(0===this.bufferList.length)return;const t=this.bufferList.shift();t&&t.ts&&(this.player.audioTimestamp=t.ts);for(let o=0;o0?this.player.emit(F.mute,!1):this._prevVolume>0&&0===e&&this.player.emit(F.mute,!0),this.gainNode.gain.value=e,this.gainNode.gain.setValueAtTime(e,this.audioContext.currentTime),this.player.emit(F.volumechange,this.player.volume),this.player.emit(F.volume,this.player.volume),this._prevVolume=e)}closeAudio(){this.hasInitScriptNode&&(this.scriptNode&&this.scriptNode.disconnect(this.gainNode),this.gainNode&&this.gainNode.disconnect(this.audioContext.destination),this.gainNode&&this.gainNode.disconnect(this.mediaStreamAudioDestinationNode)),this.clear()}audioEnabled(e){e?"suspended"===this.audioContext.state&&this.audioContext.resume():"running"===this.audioContext.state&&this.audioContext.suspend()}isStateRunning(){return"running"===this.audioContext.state}isStateSuspended(){return"suspended"===this.audioContext.state}clear(){this.bufferList=[]}play(e,t){this.isMute||(this.hasAudio=!0,this.bufferList.push({buffer:e,ts:t}),this.bufferList.length>20&&(this.player.debug.warn("AudioContext",`bufferList is large: ${this.bufferList.length}`),this.bufferList.length>50&&this.bufferList.shift()))}pause(){this.audioSyncVideoOption={diff:null},this.playing=!1,this.clear()}resume(){this.playing=!0}getLastVolume(){return this._prevVolume}}class Ze{constructor(e){return new(Ze.getLoaderFactory())(e)}static getLoaderFactory(){return qe}}class Ke extends Ue{constructor(e){super(),this.player=e,this.playing=!1,this.abortController=new AbortController,this.streamRate=ke((t=>{e.emit(F.kBps,(t/1024).toFixed(2))})),e.debug.log("FetchStream","init")}async destroy(){this.abort(),this.off(),this.streamRate=null,this.player.debug.log("FetchStream","destroy")}fetchStream(e,t={}){const{demux:i}=this.player;this.player.debug.log("FetchStream","fetchStream",e,JSON.stringify(t)),this.player._times.streamStart=Se();const o=Object.assign({signal:this.abortController.signal},{headers:t.headers||{}});fetch(e,o).then((e=>{const t=e.body.getReader();this.emit(F.streamSuccess);const o=()=>{t.read().then((({done:e,value:t})=>{e?i.close():(this.streamRate&&this.streamRate(t.byteLength),i.dispatch(t),o())})).catch((e=>{i.close();const t=e.toString();-1===t.indexOf(ce)&&-1===t.indexOf(le)&&e.name!==ue&&(this.abort(),this.emit(V.fetchError,e),this.player.emit(F.error,V.fetchError))}))};o()})).catch((e=>{"AbortError"!==e.name&&(i.close(),this.abort(),this.emit(V.fetchError,e),this.player.emit(F.error,V.fetchError))}))}abort(){this.abortController&&(this.abortController.abort(),this.abortController=null)}}class _e extends Ue{constructor(e){super(),this.player=e,this.socket=null,this.socketStatus=M,this.wsUrl=null,this.streamRate=ke((t=>{e.emit(F.kBps,(t/1024).toFixed(2))})),e.debug.log("WebsocketLoader","init")}async destroy(){this.socket&&(this.socket.close(1e3,"Client disconnecting"),this.socket=null),this.socketStatus=M,this.streamRate=null,this.wsUrl=null,this.off(),this.player.debug.log("websocketLoader","destroy")}_createWebSocket(){const e=this.player,{debug:t,events:{proxy:i},demux:o}=e;this.socket=new WebSocket(this.wsUrl),this.socket.binaryType="arraybuffer",i(this.socket,"open",(()=>{this.emit(F.streamSuccess),t.log("websocketLoader","socket open"),this.socketStatus=U})),i(this.socket,"message",(e=>{this.streamRate&&this.streamRate(e.data.byteLength),this._handleMessage(e.data)})),i(this.socket,"close",(()=>{t.log("websocketLoader","socket close"),this.emit(F.streamEnd),this.socketStatus=Q})),i(this.socket,"error",(e=>{t.log("websocketLoader","socket error"),this.emit(V.websocketError,e),this.player.emit(F.error,V.websocketError),this.socketStatus=W,o.close(),t.log("websocketLoader","socket error:",e)}))}_handleMessage(e){const{demux:t}=this.player;t?t.dispatch(e):this.player.debug.warn("websocketLoader","websocket handle message demux is null")}fetchStream(e,t){this.player._times.streamStart=Se(),this.wsUrl=e,this._createWebSocket()}}class $e{constructor(e){return new($e.getLoaderFactory(e._opt.protocol))(e)}static getLoaderFactory(e){return e===A?Ke:e===n?_e:void 0}}var et=i((function(t){function i(e,t){if(!e)throw"First parameter is required.";t=new o(e,t=t||{type:"video"});var s=this;function a(i){i&&(t.initCallback=function(){i(),i=t.initCallback=null});var o=new r(e,t);(h=new o(e,t)).record(),u("recording"),t.disableLogs||console.log("Initialized recorderType:",h.constructor.name,"for output-type:",t.type)}function n(e){if(e=e||function(){},h){if("paused"===s.state)return s.resumeRecording(),void setTimeout((function(){n(e)}),1);"recording"===s.state||t.disableLogs||console.warn('Recording state should be: "recording", however current state is: ',s.state),t.disableLogs||console.log("Stopped recording "+t.type+" stream."),"gif"!==t.type?h.stop(i):(h.stop(),i()),u("stopped")}else m();function i(i){if(h){Object.keys(h).forEach((function(e){"function"!=typeof h[e]&&(s[e]=h[e])}));var o=h.blob;if(!o){if(!i)throw"Recording failed.";h.blob=o=i}if(o&&!t.disableLogs&&console.log(o.type,"->",b(o.size)),e){var r;try{r=l.createObjectURL(o)}catch(e){}"function"==typeof e.call?e.call(s,r):e(r)}t.autoWriteToDisk&&d((function(e){var i={};i[t.type+"Blob"]=e,x.Store(i)}))}else"function"==typeof e.call?e.call(s,""):e("")}}function A(e){postMessage((new FileReaderSync).readAsDataURL(e))}function d(e,i){if(!e)throw"Pass a callback function over getDataURL.";var o=i?i.blob:(h||{}).blob;if(!o)return t.disableLogs||console.warn("Blob encoder did not finish its job yet."),void setTimeout((function(){d(e,i)}),1e3);if("undefined"==typeof Worker||navigator.mozGetUserMedia){var r=new FileReader;r.readAsDataURL(o),r.onload=function(t){e(t.target.result)}}else{var s=function(e){try{var t=l.createObjectURL(new Blob([e.toString(),"this.onmessage = function (eee) {"+e.name+"(eee.data);}"],{type:"application/javascript"})),i=new Worker(t);return l.revokeObjectURL(t),i}catch(e){}}(A);s.onmessage=function(t){e(t.data)},s.postMessage(o)}}function c(e){e=e||0,"paused"!==s.state?"stopped"!==s.state&&(e>=s.recordingDuration?n(s.onRecordingStopped):(e+=1e3,setTimeout((function(){c(e)}),1e3))):setTimeout((function(){c(e)}),1e3)}function u(e){s&&(s.state=e,"function"==typeof s.onStateChanged.call?s.onStateChanged.call(s,e):s.onStateChanged(e))}var h,p='It seems that recorder is destroyed or "startRecording" is not invoked for '+t.type+" recorder.";function m(){!0!==t.disableLogs&&console.warn(p)}var g={startRecording:function(i){return t.disableLogs||console.log("RecordRTC version: ",s.version),i&&(t=new o(e,i)),t.disableLogs||console.log("started recording "+t.type+" stream."),h?(h.clearRecordedData(),h.record(),u("recording"),s.recordingDuration&&c(),s):(a((function(){s.recordingDuration&&c()})),s)},stopRecording:n,pauseRecording:function(){h?"recording"===s.state?(u("paused"),h.pause(),t.disableLogs||console.log("Paused recording.")):t.disableLogs||console.warn("Unable to pause the recording. Recording state: ",s.state):m()},resumeRecording:function(){h?"paused"===s.state?(u("recording"),h.resume(),t.disableLogs||console.log("Resumed recording.")):t.disableLogs||console.warn("Unable to resume the recording. Recording state: ",s.state):m()},initRecorder:a,setRecordingDuration:function(e,t){if(void 0===e)throw"recordingDuration is required.";if("number"!=typeof e)throw"recordingDuration must be a number.";return s.recordingDuration=e,s.onRecordingStopped=t||function(){},{onRecordingStopped:function(e){s.onRecordingStopped=e}}},clearRecordedData:function(){h?(h.clearRecordedData(),t.disableLogs||console.log("Cleared old recorded data.")):m()},getBlob:function(){if(h)return h.blob;m()},getDataURL:d,toURL:function(){if(h)return l.createObjectURL(h.blob);m()},getInternalRecorder:function(){return h},save:function(e){h?y(h.blob,e):m()},getFromDisk:function(e){h?i.getFromDisk(t.type,e):m()},setAdvertisementArray:function(e){t.advertisement=[];for(var i=e.length,o=0;o-1&&"netscape"in window&&/ rv:/.test(navigator.userAgent),m=!h&&!u&&!!navigator.webkitGetUserMedia||v()||-1!==navigator.userAgent.toLowerCase().indexOf("chrome/"),g=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);g&&!m&&-1!==navigator.userAgent.indexOf("CriOS")&&(g=!1,m=!0);var f=window.MediaStream;function b(e){if(0===e)return"0 Bytes";var t=parseInt(Math.floor(Math.log(e)/Math.log(1e3)),10);return(e/Math.pow(1e3,t)).toPrecision(3)+" "+["Bytes","KB","MB","GB","TB"][t]}function y(e,t){if(!e)throw"Blob object is required.";if(!e.type)try{e.type="video/webm"}catch(e){}var i=(e.type||"video/webm").split("/")[1];if(-1!==i.indexOf(";")&&(i=i.split(";")[0]),t&&-1!==t.indexOf(".")){var o=t.split(".");t=o[0],i=o[1]}var r=(t||Math.round(9999999999*Math.random())+888888888)+"."+i;if(void 0!==navigator.msSaveOrOpenBlob)return navigator.msSaveOrOpenBlob(e,r);if(void 0!==navigator.msSaveBlob)return navigator.msSaveBlob(e,r);var s=document.createElement("a");s.href=l.createObjectURL(e),s.download=r,s.style="display:none;opacity:0;color:transparent;",(document.body||document.documentElement).appendChild(s),"function"==typeof s.click?s.click():(s.target="_blank",s.dispatchEvent(new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0}))),l.revokeObjectURL(s.href)}function v(){return"undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||(!("undefined"==typeof process||"object"!=typeof process.versions||!process.versions.electron)||"object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent.indexOf("Electron")>=0)}function w(e,t){return e&&e.getTracks?e.getTracks().filter((function(e){return e.kind===(t||"audio")})):[]}function S(e,t){"srcObject"in t?t.srcObject=e:"mozSrcObject"in t?t.mozSrcObject=e:t.srcObject=e}void 0===f&&"undefined"!=typeof webkitMediaStream&&(f=webkitMediaStream),void 0!==f&&void 0===f.prototype.stop&&(f.prototype.stop=function(){this.getTracks().forEach((function(e){e.stop()}))}),void 0!==i&&(i.invokeSaveAsDialog=y,i.getTracks=w,i.getSeekableBlob=function(e,t){if("undefined"==typeof EBML)throw new Error("Please link: https://www.webrtc-experiment.com/EBML.js");var i=new EBML.Reader,o=new EBML.Decoder,r=EBML.tools,s=new FileReader;s.onload=function(e){o.decode(this.result).forEach((function(e){i.read(e)})),i.stop();var s=r.makeMetadataSeekable(i.metadatas,i.duration,i.cues),a=this.result.slice(i.metadataSize),n=new Blob([s,a],{type:"video/webm"});t(n)},s.readAsArrayBuffer(e)},i.bytesToSize=b,i.isElectron=v);var E={};function B(){if(p||g||u)return!0;var e,t,i=navigator.userAgent,o=""+parseFloat(navigator.appVersion),r=parseInt(navigator.appVersion,10);return(m||h)&&(e=i.indexOf("Chrome"),o=i.substring(e+7)),-1!==(t=o.indexOf(";"))&&(o=o.substring(0,t)),-1!==(t=o.indexOf(" "))&&(o=o.substring(0,t)),r=parseInt(""+o,10),isNaN(r)&&(o=""+parseFloat(navigator.appVersion),r=parseInt(navigator.appVersion,10)),r>=49}function C(e,t){var i=this;if(void 0===e)throw'First argument "MediaStream" is required.';if("undefined"==typeof MediaRecorder)throw"Your browser does not support the Media Recorder API. Please try other modules e.g. WhammyRecorder or StereoAudioRecorder.";if("audio"===(t=t||{mimeType:"video/webm"}).type){var o;if(w(e,"video").length&&w(e,"audio").length)navigator.mozGetUserMedia?(o=new f).addTrack(w(e,"audio")[0]):o=new f(w(e,"audio")),e=o;t.mimeType&&-1!==t.mimeType.toString().toLowerCase().indexOf("audio")||(t.mimeType=m?"audio/webm":"audio/ogg"),t.mimeType&&"audio/ogg"!==t.mimeType.toString().toLowerCase()&&navigator.mozGetUserMedia&&(t.mimeType="audio/ogg")}var r,s=[];function a(){i.timestamps.push((new Date).getTime()),"function"==typeof t.onTimeStamp&&t.onTimeStamp(i.timestamps[i.timestamps.length-1],i.timestamps)}function n(e){return r&&r.mimeType?r.mimeType:e.mimeType||"video/webm"}function A(){s=[],r=null,i.timestamps=[]}this.getArrayOfBlobs=function(){return s},this.record=function(){i.blob=null,i.clearRecordedData(),i.timestamps=[],d=[],s=[];var o=t;t.disableLogs||console.log("Passing following config over MediaRecorder API.",o),r&&(r=null),m&&!B()&&(o="video/vp8"),"function"==typeof MediaRecorder.isTypeSupported&&o.mimeType&&(MediaRecorder.isTypeSupported(o.mimeType)||(t.disableLogs||console.warn("MediaRecorder API seems unable to record mimeType:",o.mimeType),o.mimeType="audio"===t.type?"audio/webm":"video/webm"));try{r=new MediaRecorder(e,o),t.mimeType=o.mimeType}catch(t){r=new MediaRecorder(e)}o.mimeType&&!MediaRecorder.isTypeSupported&&"canRecordMimeType"in r&&!1===r.canRecordMimeType(o.mimeType)&&(t.disableLogs||console.warn("MediaRecorder API seems unable to record mimeType:",o.mimeType)),r.ondataavailable=function(e){if(e.data&&d.push("ondataavailable: "+b(e.data.size)),"number"!=typeof t.timeSlice)!e.data||!e.data.size||e.data.size<100||i.blob?i.recordingCallback&&(i.recordingCallback(new Blob([],{type:n(o)})),i.recordingCallback=null):(i.blob=t.getNativeBlob?e.data:new Blob([e.data],{type:n(o)}),i.recordingCallback&&(i.recordingCallback(i.blob),i.recordingCallback=null));else if(e.data&&e.data.size&&(s.push(e.data),a(),"function"==typeof t.ondataavailable)){var r=t.getNativeBlob?e.data:new Blob([e.data],{type:n(o)});t.ondataavailable(r)}},r.onstart=function(){d.push("started")},r.onpause=function(){d.push("paused")},r.onresume=function(){d.push("resumed")},r.onstop=function(){d.push("stopped")},r.onerror=function(e){e&&(e.name||(e.name="UnknownError"),d.push("error: "+e),t.disableLogs||(-1!==e.name.toString().toLowerCase().indexOf("invalidstate")?console.error("The MediaRecorder is not in a state in which the proposed operation is allowed to be executed.",e):-1!==e.name.toString().toLowerCase().indexOf("notsupported")?console.error("MIME type (",o.mimeType,") is not supported.",e):-1!==e.name.toString().toLowerCase().indexOf("security")?console.error("MediaRecorder security error",e):"OutOfMemory"===e.name?console.error("The UA has exhaused the available memory. User agents SHOULD provide as much additional information as possible in the message attribute.",e):"IllegalStreamModification"===e.name?console.error("A modification to the stream has occurred that makes it impossible to continue recording. An example would be the addition of a Track while recording is occurring. User agents SHOULD provide as much additional information as possible in the message attribute.",e):"OtherRecordingError"===e.name?console.error("Used for an fatal error other than those listed above. User agents SHOULD provide as much additional information as possible in the message attribute.",e):"GenericError"===e.name?console.error("The UA cannot provide the codec or recording option that has been requested.",e):console.error("MediaRecorder Error",e)),function(e){if(!i.manuallyStopped&&r&&"inactive"===r.state)return delete t.timeslice,void r.start(6e5);setTimeout(void 0,1e3)}(),"inactive"!==r.state&&"stopped"!==r.state&&r.stop())},"number"==typeof t.timeSlice?(a(),r.start(t.timeSlice)):r.start(36e5),t.initCallback&&t.initCallback()},this.timestamps=[],this.stop=function(e){e=e||function(){},i.manuallyStopped=!0,r&&(this.recordingCallback=e,"recording"===r.state&&r.stop(),"number"==typeof t.timeSlice&&setTimeout((function(){i.blob=new Blob(s,{type:n(t)}),i.recordingCallback(i.blob)}),100))},this.pause=function(){r&&"recording"===r.state&&r.pause()},this.resume=function(){r&&"paused"===r.state&&r.resume()},this.clearRecordedData=function(){r&&"recording"===r.state&&i.stop(A),A()},this.getInternalRecorder=function(){return r},this.blob=null,this.getState=function(){return r&&r.state||"inactive"};var d=[];this.getAllStates=function(){return d},void 0===t.checkForInactiveTracks&&(t.checkForInactiveTracks=!1);i=this;!function o(){if(r&&!1!==t.checkForInactiveTracks)return!1===function(){if("active"in e){if(!e.active)return!1}else if("ended"in e&&e.ended)return!1;return!0}()?(t.disableLogs||console.log("MediaStream seems stopped."),void i.stop()):void setTimeout(o,1e3)}(),this.name="MediaStreamRecorder",this.toString=function(){return this.name}}function R(e,t){if(!w(e,"audio").length)throw"Your stream has no audio tracks.";var o,r=this,s=[],a=[],n=!1,A=0,d=2,c=(t=t||{}).desiredSampRate;function u(){if(!1===t.checkForInactiveTracks)return!0;if("active"in e){if(!e.active)return!1}else if("ended"in e&&e.ended)return!1;return!0}function h(e,t){function i(e,t){var i,o=e.numberOfAudioChannels,r=e.leftBuffers.slice(0),s=e.rightBuffers.slice(0),a=e.sampleRate,n=e.internalInterleavedLength,A=e.desiredSampRate;function d(e,t,i){var o=Math.round(e.length*(t/i)),r=[],s=Number((e.length-1)/(o-1));r[0]=e[0];for(var a=1;a96e3)&&(t.disableLogs||console.log("sample-rate must be under range 22050 and 96000.")),t.disableLogs||t.desiredSampRate&&console.log("Desired sample-rate: "+t.desiredSampRate);var y=!1;function v(){s=[],a=[],A=0,E=!1,n=!1,y=!1,p=null,r.leftchannel=s,r.rightchannel=a,r.numberOfAudioChannels=d,r.desiredSampRate=c,r.sampleRate=b,r.recordingLength=A,B={left:[],right:[],recordingLength:0}}function S(){o&&(o.onaudioprocess=null,o.disconnect(),o=null),m&&(m.disconnect(),m=null),v()}this.pause=function(){y=!0},this.resume=function(){if(!1===u())throw"Please make sure MediaStream is active.";if(!n)return t.disableLogs||console.log("Seems recording has been restarted."),void this.record();y=!1},this.clearRecordedData=function(){t.checkForInactiveTracks=!1,n&&this.stop(S),S()},this.name="StereoAudioRecorder",this.toString=function(){return this.name};var E=!1;o.onaudioprocess=function(e){if(!y)if(!1===u()&&(t.disableLogs||console.log("MediaStream seems stopped."),o.disconnect(),n=!1),n){E||(E=!0,t.onAudioProcessStarted&&t.onAudioProcessStarted(),t.initCallback&&t.initCallback());var i=e.inputBuffer.getChannelData(0),c=new Float32Array(i);if(s.push(c),2===d){var l=e.inputBuffer.getChannelData(1),h=new Float32Array(l);a.push(h)}A+=f,r.recordingLength=A,void 0!==t.timeSlice&&(B.recordingLength+=f,B.left.push(c),2===d&&B.right.push(h))}else m&&(m.disconnect(),m=null)},p.createMediaStreamDestination?o.connect(p.createMediaStreamDestination()):o.connect(p.destination),this.leftchannel=s,this.rightchannel=a,this.numberOfAudioChannels=d,this.desiredSampRate=c,this.sampleRate=b,r.recordingLength=A;var B={left:[],right:[],recordingLength:0};function C(){n&&"function"==typeof t.ondataavailable&&void 0!==t.timeSlice&&(B.left.length?(h({desiredSampRate:c,sampleRate:b,numberOfAudioChannels:d,internalInterleavedLength:B.recordingLength,leftBuffers:B.left,rightBuffers:1===d?[]:B.right},(function(e,i){var o=new Blob([i],{type:"audio/wav"});t.ondataavailable(o),setTimeout(C,t.timeSlice)})),B={left:[],right:[],recordingLength:0}):setTimeout(C,t.timeSlice))}}function k(e,t){if("undefined"==typeof html2canvas)throw"Please link: https://www.webrtc-experiment.com/screenshot.js";(t=t||{}).frameInterval||(t.frameInterval=10);var i=!1;["captureStream","mozCaptureStream","webkitCaptureStream"].forEach((function(e){e in document.createElement("canvas")&&(i=!0)}));var o,r,s,a=!(!window.webkitRTCPeerConnection&&!window.webkitGetUserMedia||!window.chrome),n=50,A=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);if(a&&A&&A[2]&&(n=parseInt(A[2],10)),a&&n<52&&(i=!1),t.useWhammyRecorder&&(i=!1),i)if(t.disableLogs||console.log("Your browser supports both MediRecorder API and canvas.captureStream!"),e instanceof HTMLCanvasElement)o=e;else{if(!(e instanceof CanvasRenderingContext2D))throw"Please pass either HTMLCanvasElement or CanvasRenderingContext2D.";o=e.canvas}else navigator.mozGetUserMedia&&(t.disableLogs||console.error("Canvas recording is NOT supported in Firefox."));this.record=function(){if(s=!0,i&&!t.useWhammyRecorder){var e;"captureStream"in o?e=o.captureStream(25):"mozCaptureStream"in o?e=o.mozCaptureStream(25):"webkitCaptureStream"in o&&(e=o.webkitCaptureStream(25));try{var a=new f;a.addTrack(w(e,"video")[0]),e=a}catch(e){}if(!e)throw"captureStream API are NOT available.";(r=new C(e,{mimeType:t.mimeType||"video/webm"})).record()}else h.frames=[],u=(new Date).getTime(),l();t.initCallback&&t.initCallback()},this.getWebPImages=function(i){if("canvas"===e.nodeName.toLowerCase()){var o=h.frames.length;h.frames.forEach((function(e,i){var r=o-i;t.disableLogs||console.log(r+"/"+o+" frames remaining"),t.onEncodingCallback&&t.onEncodingCallback(r,o);var s=e.image.toDataURL("image/webp",1);h.frames[i].image=s})),t.disableLogs||console.log("Generating WebM"),i()}else i()},this.stop=function(e){s=!1;var o=this;i&&r?r.stop(e):this.getWebPImages((function(){h.compile((function(i){t.disableLogs||console.log("Recording finished!"),o.blob=i,o.blob.forEach&&(o.blob=new Blob([],{type:"video/webm"})),e&&e(o.blob),h.frames=[]}))}))};var d=!1;function c(){h.frames=[],s=!1,d=!1}function l(){if(d)return u=(new Date).getTime(),setTimeout(l,500);if("canvas"===e.nodeName.toLowerCase()){var i=(new Date).getTime()-u;return u=(new Date).getTime(),h.frames.push({image:(o=document.createElement("canvas"),r=o.getContext("2d"),o.width=e.width,o.height=e.height,r.drawImage(e,0,0),o),duration:i}),void(s&&setTimeout(l,t.frameInterval))}var o,r;html2canvas(e,{grabMouse:void 0===t.showMousePointer||t.showMousePointer,onrendered:function(e){var i=(new Date).getTime()-u;if(!i)return setTimeout(l,t.frameInterval);u=(new Date).getTime(),h.frames.push({image:e.toDataURL("image/webp",1),duration:i}),s&&setTimeout(l,t.frameInterval)}})}this.pause=function(){d=!0,r instanceof C&&r.pause()},this.resume=function(){d=!1,r instanceof C?r.resume():s||this.record()},this.clearRecordedData=function(){s&&this.stop(c),c()},this.name="CanvasRecorder",this.toString=function(){return this.name};var u=(new Date).getTime(),h=new I.Video(100)}function T(e,t){function i(e){e=void 0!==e?e:10;var t=(new Date).getTime()-A;return t?s?(A=(new Date).getTime(),setTimeout(i,100)):(A=(new Date).getTime(),n.paused&&n.play(),l.drawImage(n,0,0,c.width,c.height),d.frames.push({duration:t,image:c.toDataURL("image/webp")}),void(r||setTimeout(i,e,e))):setTimeout(i,e,e)}function o(e,t,i,o,r){var s=document.createElement("canvas");s.width=c.width,s.height=c.height;var a,n,A,d=s.getContext("2d"),l=[],u=-1===t,h=t&&t>0&&t<=e.length?t:e.length,p=0,m=0,g=0,f=Math.sqrt(Math.pow(255,2)+Math.pow(255,2)+Math.pow(255,2)),b=i&&i>=0&&i<=1?i:0,y=o&&o>=0&&o<=1?o:0,v=!1;n=-1,A=(a={length:h,functionToLoop:function(t,i){var o,r,s,a=function(){!v&&s-o<=s*y||(u&&(v=!0),l.push(e[i])),t()};if(v)a();else{var n=new Image;n.onload=function(){d.drawImage(n,0,0,c.width,c.height);var e=d.getImageData(0,0,c.width,c.height);o=0,r=e.data.length,s=e.data.length/4;for(var t=0;t127)throw"TrackNumber > 127 not supported";return[128|e.trackNum,e.timecode>>8,255&e.timecode,t].map((function(e){return String.fromCharCode(e)})).join("")+e.frame}({discardable:0,frame:e.data.slice(4),invisible:0,keyframe:1,lacing:0,trackNum:1,timecode:Math.round(t)});return t+=e.duration,{data:i,id:163}})))}function i(e){for(var t=[];e>0;)t.push(255&e),e>>=8;return new Uint8Array(t.reverse())}function o(e){var t=[];e=(e.length%8?new Array(9-e.length%8).join("0"):"")+e;for(var i=0;i1?2*i[0].width:i[0].width;var o=1;3!==e&&4!==e||(o=2),5!==e&&6!==e||(o=3),7!==e&&8!==e||(o=4),9!==e&&10!==e||(o=5),a.height=i[0].height*o}else a.width=A.width||360,a.height=A.height||240;t&&t instanceof HTMLVideoElement&&p(t),i.forEach((function(e,t){p(e,t)})),setTimeout(h,A.frameInterval)}}function p(e,t){if(!s){var i=0,o=0,r=e.width,a=e.height;1===t&&(i=e.width),2===t&&(o=e.height),3===t&&(i=e.width,o=e.height),4===t&&(o=2*e.height),5===t&&(i=e.width,o=2*e.height),6===t&&(o=3*e.height),7===t&&(i=e.width,o=3*e.height),void 0!==e.stream.left&&(i=e.stream.left),void 0!==e.stream.top&&(o=e.stream.top),void 0!==e.stream.width&&(r=e.stream.width),void 0!==e.stream.height&&(a=e.stream.height),n.drawImage(e,i,o,r,a),"function"==typeof e.stream.onRender&&e.stream.onRender(n,i,o,r,a,t)}}function m(e){var t=document.createElement("video");return function(e,t){"srcObject"in t?t.srcObject=e:"mozSrcObject"in t?t.mozSrcObject=e:t.srcObject=e}(e,t),t.className=o,t.muted=!0,t.volume=0,t.width=e.width||A.width||360,t.height=e.height||A.height||240,t.play(),t}function g(e){r=[],(e=e||t).forEach((function(e){if(e.getTracks().filter((function(e){return"video"===e.kind})).length){var t=m(e);t.stream=e,r.push(t)}}))}void 0!==d?u.AudioContext=d:"undefined"!=typeof webkitAudioContext&&(u.AudioContext=webkitAudioContext),this.startDrawingFrames=function(){h()},this.appendStreams=function(e){if(!e)throw"First parameter is required.";e instanceof Array||(e=[e]),e.forEach((function(e){var i=new l;if(e.getTracks().filter((function(e){return"video"===e.kind})).length){var o=m(e);o.stream=e,r.push(o),i.addTrack(e.getTracks().filter((function(e){return"video"===e.kind}))[0])}if(e.getTracks().filter((function(e){return"audio"===e.kind})).length){var s=A.audioContext.createMediaStreamSource(e);A.audioDestination=A.audioContext.createMediaStreamDestination(),s.connect(A.audioDestination),i.addTrack(A.audioDestination.stream.getTracks().filter((function(e){return"audio"===e.kind}))[0])}t.push(i)}))},this.releaseStreams=function(){r=[],s=!0,A.gainNode&&(A.gainNode.disconnect(),A.gainNode=null),A.audioSources.length&&(A.audioSources.forEach((function(e){e.disconnect()})),A.audioSources=[]),A.audioDestination&&(A.audioDestination.disconnect(),A.audioDestination=null),A.audioContext&&A.audioContext.close(),A.audioContext=null,n.clearRect(0,0,a.width,a.height),a.stream&&(a.stream.stop(),a.stream=null)},this.resetVideoStreams=function(e){!e||e instanceof Array||(e=[e]),g(e)},this.name="MultiStreamsMixer",this.toString=function(){return this.name},this.getMixedStream=function(){s=!1;var e=function(){var e;g(),"captureStream"in a?e=a.captureStream():"mozCaptureStream"in a?e=a.mozCaptureStream():A.disableLogs||console.error("Upgrade to latest Chrome or otherwise enable this flag: chrome://flags/#enable-experimental-web-platform-features");var t=new l;return e.getTracks().filter((function(e){return"video"===e.kind})).forEach((function(e){t.addTrack(e)})),a.stream=t,t}(),i=function(){u.AudioContextConstructor||(u.AudioContextConstructor=new u.AudioContext);A.audioContext=u.AudioContextConstructor,A.audioSources=[],!0===A.useGainNode&&(A.gainNode=A.audioContext.createGain(),A.gainNode.connect(A.audioContext.destination),A.gainNode.gain.value=0);var e=0;if(t.forEach((function(t){if(t.getTracks().filter((function(e){return"audio"===e.kind})).length){e++;var i=A.audioContext.createMediaStreamSource(t);!0===A.useGainNode&&i.connect(A.gainNode),A.audioSources.push(i)}})),!e)return;return A.audioDestination=A.audioContext.createMediaStreamDestination(),A.audioSources.forEach((function(e){e.connect(A.audioDestination)})),A.audioDestination.stream}();return i&&i.getTracks().filter((function(e){return"audio"===e.kind})).forEach((function(t){e.addTrack(t)})),t.forEach((function(e){e.fullcanvas})),e}}function L(e,t){e=e||[];var i,o,r=this;(t=t||{elementClass:"multi-streams-mixer",mimeType:"video/webm",video:{width:360,height:240}}).frameInterval||(t.frameInterval=10),t.video||(t.video={}),t.video.width||(t.video.width=360),t.video.height||(t.video.height=240),this.record=function(){var r;i=new j(e,t.elementClass||"multi-streams-mixer"),(r=[],e.forEach((function(e){w(e,"video").forEach((function(e){r.push(e)}))})),r).length&&(i.frameInterval=t.frameInterval||10,i.width=t.video.width||360,i.height=t.video.height||240,i.startDrawingFrames()),t.previewStream&&"function"==typeof t.previewStream&&t.previewStream(i.getMixedStream()),(o=new C(i.getMixedStream(),t)).record()},this.stop=function(e){o&&o.stop((function(t){r.blob=t,e(t),r.clearRecordedData()}))},this.pause=function(){o&&o.pause()},this.resume=function(){o&&o.resume()},this.clearRecordedData=function(){o&&(o.clearRecordedData(),o=null),i&&(i.releaseStreams(),i=null)},this.addStreams=function(r){if(!r)throw"First parameter is required.";r instanceof Array||(r=[r]),e.concat(r),o&&i&&(i.appendStreams(r),t.previewStream&&"function"==typeof t.previewStream&&t.previewStream(i.getMixedStream()))},this.resetVideoStreams=function(e){i&&(!e||e instanceof Array||(e=[e]),i.resetVideoStreams(e))},this.getMixer=function(){return i},this.name="MultiStreamRecorder",this.toString=function(){return this.name}}function F(e,t){var i,o,r;function s(){return new ReadableStream({start:function(o){var r=document.createElement("canvas"),s=document.createElement("video"),a=!0;s.srcObject=e,s.muted=!0,s.height=t.height,s.width=t.width,s.volume=0,s.onplaying=function(){r.width=t.width,r.height=t.height;var e=r.getContext("2d"),n=1e3/t.frameRate,A=setInterval((function(){if(i&&(clearInterval(A),o.close()),a&&(a=!1,t.onVideoProcessStarted&&t.onVideoProcessStarted()),e.drawImage(s,0,0),"closed"!==o._controlledReadableStream.state)try{o.enqueue(e.getImageData(0,0,t.width,t.height))}catch(e){}}),n)},s.play()}})}function a(e,A){if(!t.workerPath&&!A)return i=!1,void fetch("https://unpkg.com/webm-wasm@latest/dist/webm-worker.js").then((function(t){t.arrayBuffer().then((function(t){a(e,t)}))}));if(!t.workerPath&&A instanceof ArrayBuffer){var d=new Blob([A],{type:"text/javascript"});t.workerPath=l.createObjectURL(d)}t.workerPath||console.error("workerPath parameter is missing."),(o=new Worker(t.workerPath)).postMessage(t.webAssemblyPath||"https://unpkg.com/webm-wasm@latest/dist/webm-wasm.wasm"),o.addEventListener("message",(function(e){"READY"===e.data?(o.postMessage({width:t.width,height:t.height,bitrate:t.bitrate||1200,timebaseDen:t.frameRate||30,realtime:t.realtime}),s().pipeTo(new WritableStream({write:function(e){i?console.error("Got image, but recorder is finished!"):o.postMessage(e.data.buffer,[e.data.buffer])}}))):e.data&&(r||n.push(e.data))}))}"undefined"!=typeof ReadableStream&&"undefined"!=typeof WritableStream||console.error("Following polyfill is strongly recommended: https://unpkg.com/@mattiasbuelens/web-streams-polyfill/dist/polyfill.min.js"),(t=t||{}).width=t.width||640,t.height=t.height||480,t.frameRate=t.frameRate||30,t.bitrate=t.bitrate||1200,t.realtime=t.realtime||!0,this.record=function(){n=[],r=!1,this.blob=null,a(e),"function"==typeof t.initCallback&&t.initCallback()},this.pause=function(){r=!0},this.resume=function(){r=!1};var n=[];this.stop=function(e){i=!0;var t=this;!function(e){o?(o.addEventListener("message",(function(t){null===t.data&&(o.terminate(),o=null,e&&e())})),o.postMessage(null)):e&&e()}((function(){t.blob=new Blob(n,{type:"video/webm"}),e(t.blob)}))},this.name="WebAssemblyRecorder",this.toString=function(){return this.name},this.clearRecordedData=function(){n=[],r=!1,this.blob=null},this.blob=null}void 0!==i&&(i.DiskStorage=x),void 0!==i&&(i.GifRecorder=D),void 0===i&&(t.exports=j),void 0!==i&&(i.MultiStreamRecorder=L),void 0!==i&&(i.RecordRTCPromisesHandler=function(e,t){if(!this)throw'Use "new RecordRTCPromisesHandler()"';if(void 0===e)throw'First argument "MediaStream" is required.';var o=this;o.recordRTC=new i(e,t),this.startRecording=function(){return new Promise((function(e,t){try{o.recordRTC.startRecording(),e()}catch(e){t(e)}}))},this.stopRecording=function(){return new Promise((function(e,t){try{o.recordRTC.stopRecording((function(i){o.blob=o.recordRTC.getBlob(),o.blob&&o.blob.size?e(i):t("Empty blob.",o.blob)}))}catch(e){t(e)}}))},this.pauseRecording=function(){return new Promise((function(e,t){try{o.recordRTC.pauseRecording(),e()}catch(e){t(e)}}))},this.resumeRecording=function(){return new Promise((function(e,t){try{o.recordRTC.resumeRecording(),e()}catch(e){t(e)}}))},this.getDataURL=function(e){return new Promise((function(e,t){try{o.recordRTC.getDataURL((function(t){e(t)}))}catch(e){t(e)}}))},this.getBlob=function(){return new Promise((function(e,t){try{e(o.recordRTC.getBlob())}catch(e){t(e)}}))},this.getInternalRecorder=function(){return new Promise((function(e,t){try{e(o.recordRTC.getInternalRecorder())}catch(e){t(e)}}))},this.reset=function(){return new Promise((function(e,t){try{e(o.recordRTC.reset())}catch(e){t(e)}}))},this.destroy=function(){return new Promise((function(e,t){try{e(o.recordRTC.destroy())}catch(e){t(e)}}))},this.getState=function(){return new Promise((function(e,t){try{e(o.recordRTC.getState())}catch(e){t(e)}}))},this.blob=null,this.version="5.6.2"}),void 0!==i&&(i.WebAssemblyRecorder=F)}));class tt extends Ue{constructor(e){super(),this.player=e,this.fileName="",this.fileType=e._opt.recordType||u,this.isRecording=!1,this.recordingTimestamp=0,this.recordingInterval=null,e.debug.log("Recorder","init")}destroy(){this._reset(),this.player.debug.log("Recorder","destroy")}setFileName(e,t){this.fileName=e,l!==t&&u!==t||(this.fileType=t)}get recording(){return this.isRecording}get recordTime(){return this.recordingTimestamp}startRecord(){const e=this.player.debug,t={type:"video",mimeType:"video/webm;codecs=h264",onTimeStamp:t=>{e.log("Recorder","record timestamp :"+t)},disableLogs:!this.player._opt.debug};try{const e=this.player.video.$videoElement.captureStream(25);if(this.player.audio&&this.player.audio.mediaStreamAudioDestinationNode&&this.player.audio.mediaStreamAudioDestinationNode.stream&&!this.player.audio.isStateSuspended()&&this.player.audio.hasAudio&&this.player._opt.hasAudio){const t=this.player.audio.mediaStreamAudioDestinationNode.stream;if(t.getAudioTracks().length>0){const i=t.getAudioTracks()[0];i&&i.enabled&&e.addTrack(i)}}this.recorder=et(e,t)}catch(t){e.error("Recorder","startRecord error",t),this.emit(F.recordCreateError)}this.recorder&&(this.isRecording=!0,this.player.emit(F.recording,!0),this.recorder.startRecording(),e.log("Recorder","start recording"),this.player.emit(F.recordStart),this.recordingInterval=window.setInterval((()=>{this.recordingTimestamp+=1,this.player.emit(F.recordingTimestamp,this.recordingTimestamp)}),1e3))}stopRecordAndSave(){this.recorder&&this.isRecording&&this.recorder.stopRecording((()=>{this.player.debug.log("Recorder","stop recording"),this.player.emit(F.recordEnd);const e=(this.fileName||Se())+"."+(this.fileType||u);He(this.recorder.getBlob(),e),this._reset(),this.player.emit(F.recording,!1)}))}_reset(){this.isRecording=!1,this.recordingTimestamp=0,this.recorder&&(this.recorder.destroy(),this.recorder=null),this.fileName=null,this.recordingInterval&&clearInterval(this.recordingInterval),this.recordingInterval=null}}class it{constructor(e){return new(it.getLoaderFactory())(e)}static getLoaderFactory(){return tt}}class ot{constructor(e){this.player=e,this.decoderWorker=new Worker(e._opt.decoder),this._initDecoderWorker(),e.debug.log("decoderWorker","init")}async destroy(){this.decoderWorker.postMessage({cmd:j}),this.decoderWorker.terminate(),this.decoderWorker=null,this.player.debug.log("decoderWorker","destroy")}_initDecoderWorker(){const{debug:e,events:{proxy:t}}=this.player;this.decoderWorker.onmessage=t=>{const i=t.data;switch(i.cmd){case g:e.log("decoderWorker","onmessage:",g),this.player.loaded||this.player.emit(F.load),this.player.emit(F.decoderWorkerInit),this._initWork();break;case S:e.log("decoderWorker","onmessage:",S,i.code),this.player._times.decodeStart||(this.player._times.decodeStart=Se()),this.player.video.updateVideoInfo({encTypeCode:i.code});break;case w:e.log("decoderWorker","onmessage:",w,i.code),this.player.audio&&this.player.audio.updateAudioInfo({encTypeCode:i.code});break;case f:if(e.log("decoderWorker","onmessage:",f,`width:${i.w},height:${i.h}`),this.player.video.updateVideoInfo({width:i.w,height:i.h}),!this.player._opt.openWebglAlignment&&i.w/2%4!=0)return void this.player.emit(V.webglAlignmentError);this.player.video.initCanvasViewSize();break;case v:e.log("decoderWorker","onmessage:",v,`channels:${i.channels},sampleRate:${i.sampleRate}`),this.player.audio&&(this.player.audio.updateAudioInfo(i),this.player.audio.initScriptNode(i));break;case b:this.player.handleRender(),this.player.video.render(i),this.player.emit(F.timeUpdate,i.ts),this.player.updateStats({fps:!0,ts:i.ts,buf:i.delay}),this.player._times.videoStart||(this.player._times.videoStart=Se(),this.player.handlePlayToRenderTimes());break;case y:this.player.playing&&this.player.audio&&this.player.audio.play(i.buffer,i.ts);break;case E:i.message&&-1!==i.message.indexOf(B)&&this.player.emitError(V.wasmDecodeError);break;default:this.player[i.cmd]&&this.player[i.cmd](i)}}}_initWork(){const e={debug:this.player._opt.debug,useOffscreen:this.player._opt.useOffscreen,useWCS:this.player._opt.useWCS,videoBuffer:this.player._opt.videoBuffer,videoBufferDelay:this.player._opt.videoBufferDelay,openWebglAlignment:this.player._opt.openWebglAlignment};this.decoderWorker.postMessage({cmd:I,opt:JSON.stringify(e),sampleRate:this.player.audio&&this.player.audio.audioContext.sampleRate||0})}decodeVideo(e,t,i){const o={type:R,ts:Math.max(t,0),isIFrame:i};this.decoderWorker.postMessage({cmd:x,buffer:e,options:o},[e.buffer])}decodeAudio(e,t){this.player._opt.useWCS||this.player._opt.useMSE?this._decodeAudioNoDelay(e,t):this._decodeAudio(e,t)}_decodeAudio(e,t){const i={type:C,ts:Math.max(t,0)};this.decoderWorker.postMessage({cmd:x,buffer:e,options:i},[e.buffer])}_decodeAudioNoDelay(e,t){this.decoderWorker.postMessage({cmd:D,buffer:e,ts:Math.max(t,0)},[e.buffer])}updateWorkConfig(e){this.decoderWorker.postMessage({cmd:L,key:e.key,value:e.value})}}class rt extends Ue{constructor(e){super(),this.player=e,this.stopId=null,this.firstTimestamp=null,this.startTimestamp=null,this.delay=-1,this.bufferList=[],this.dropping=!1,this.initInterval()}destroy(){this.stopId&&(clearInterval(this.stopId),this.stopId=null),this.firstTimestamp=null,this.startTimestamp=null,this.delay=-1,this.bufferList=[],this.dropping=!1,this.off(),this.player.debug.log("CommonDemux","destroy")}getDelay(e){if(!e)return-1;if(this.firstTimestamp){if(e){const t=Date.now()-this.startTimestamp,i=e-this.firstTimestamp;this.delay=t>=i?t-i:i-t}}else this.firstTimestamp=e,this.startTimestamp=Date.now(),this.delay=-1;return this.delay}resetDelay(){this.firstTimestamp=null,this.startTimestamp=null,this.delay=-1,this.dropping=!1}initInterval(){this.player.debug.log("common dumex","init Interval");let e=()=>{let e;const t=this.player._opt.videoBuffer,i=this.player._opt.videoBufferDelay;if(!this.player.isDestroyedOrClosed())if(this.player._opt.useMSE&&this.player.mseDecoder&&this.player.mseDecoder.getSourceBufferUpdating())this.player.debug.warn("CommonDemux",`_loop getSourceBufferUpdating is true and bufferList length is ${this.bufferList.length}`);else if(this.bufferList.length)if(this.dropping){for(e=this.bufferList.shift(),e.type===C&&0===e.payload[1]&&this._doDecoderDecode(e);!e.isIFrame&&this.bufferList.length;)e=this.bufferList.shift(),e.type===C&&0===e.payload[1]&&this._doDecoderDecode(e);e.isIFrame&&this.getDelay(e.ts)<=Math.min(t,200)&&(this.dropping=!1,this._doDecoderDecode(e))}else e=this.bufferList[0],-1===this.getDelay(e.ts)?(this.bufferList.shift(),this._doDecoderDecode(e)):this.delay>t+i?(this.resetDelay(),this.dropping=!0):(e=this.bufferList[0],this.getDelay(e.ts)>t&&(this.bufferList.shift(),this._doDecoderDecode(e)))};e(),this.stopId=setInterval(e,10)}_doDecode(e,t,i,o,r){const s=this.player;let a={ts:i,cts:r,type:t,isIFrame:!1};s._opt.useWCS&&!s._opt.useOffscreen||s._opt.useMSE?(t===R&&(a.isIFrame=o),this.pushBuffer(e,a)):t===R?s.decoderWorker&&s.decoderWorker.decodeVideo(e,i,o):t===C&&s._opt.hasAudio&&s.decoderWorker&&s.decoderWorker.decodeAudio(e,i)}_doDecoderDecode(e){const t=this.player,{webcodecsDecoder:i,mseDecoder:o}=t;e.type===C?t._opt.hasAudio&&t.decoderWorker&&t.decoderWorker.decodeAudio(e.payload,e.ts):e.type===R&&(t._opt.useWCS&&!t._opt.useOffscreen?i.decodeVideo(e.payload,e.ts,e.isIFrame):t._opt.useMSE&&o.decodeVideo(e.payload,e.ts,e.isIFrame,e.cts))}pushBuffer(e,t){t.type===C?this.bufferList.push({ts:t.ts,payload:e,type:C}):t.type===R&&this.bufferList.push({ts:t.ts,cts:t.cts,payload:e,type:R,isIFrame:t.isIFrame})}close(){}_decodeEnhancedH265Video(e,t){const i=e[0],o=48&i,r=15&i,s=e.slice(1,5),a=new ArrayBuffer(4),n=new Uint32Array(a),A="a"==String.fromCharCode(s[0]);if(r===he){if(o===ge){const t=e.slice(5);if(!A){const e=new Uint8Array(5+t.length);e.set([28,0,0,0,0],0),e.set(t,5),this._doDecode(e,R,0,!0,0)}}}else if(r===pe){let i=e,r=0;const s=o===ge;if(!A){n[0]=e[4],n[1]=e[3],n[2]=e[2],n[3]=0,r=n[0];i=Ve(e.slice(8),s),this._doDecode(i,R,t,s,r)}}else if(r===me){const i=o===ge;let r=Ve(e.slice(5),i);this._doDecode(r,R,t,i,0)}}_isEnhancedH265Header(e){return 128==(128&e)}}class st extends rt{constructor(e){super(e),this.input=this._inputFlv(),this.flvDemux=this.dispatchFlvData(this.input),e.debug.log("FlvDemux","init")}destroy(){super.destroy(),this.input=null,this.flvDemux=null,this.player.debug.log("FlvDemux","destroy")}dispatch(e){this.flvDemux(e)}*_inputFlv(){yield 9;const e=new ArrayBuffer(4),t=new Uint8Array(e),i=new Uint32Array(e),o=this.player;for(;;){t[3]=0;const e=yield 15,r=e[4];t[0]=e[7],t[1]=e[6],t[2]=e[5];const s=i[0];t[0]=e[10],t[1]=e[9],t[2]=e[8];let a=i[0];16777215===a&&(t[3]=e[11],a=i[0]);const n=yield s;switch(r){case k:o._opt.hasAudio&&(o.updateStats({abps:n.byteLength}),n.byteLength>0&&this._doDecode(n,C,a));break;case T:if(o._times.demuxStart||(o._times.demuxStart=Se()),o._opt.hasVideo){o.updateStats({vbps:n.byteLength});const e=n[0];if(this._isEnhancedH265Header(e))this._decodeEnhancedH265Video(n,a);else{const e=n[0]>>4==1;if(n.byteLength>0){i[0]=n[4],i[1]=n[3],i[2]=n[2],i[3]=0;let t=i[0];this._doDecode(n,R,a,e,t)}}}}}}dispatchFlvData(e){let t=e.next(),i=null;return o=>{let r=new Uint8Array(o);if(i){let e=new Uint8Array(i.length+r.length);e.set(i),e.set(r,i.length),r=e,i=null}for(;r.length>=t.value;){let i=r.slice(t.value);t=e.next(r.slice(0,t.value)),r=i}r.length>0&&(i=r)}}close(){this.input&&this.input.return(null)}}class at extends rt{constructor(e){super(e),e.debug.log("M7sDemux","init")}destroy(){super.destroy(),this.player.debug.log("M7sDemux","destroy"),this.player=null}dispatch(e){const t=this.player,i=new DataView(e),o=i.getUint8(0),r=i.getUint32(1,!1),s=new ArrayBuffer(4),a=new Uint32Array(s);switch(o){case C:if(t._opt.hasAudio){const i=new Uint8Array(e,5);t.updateStats({abps:i.byteLength}),i.byteLength>0&&this._doDecode(i,o,r)}break;case R:if(t._opt.hasVideo)if(t._times.demuxStart||(t._times.demuxStart=Se()),i.byteLength>5){const s=new Uint8Array(e,5),n=s[0];if(this._isEnhancedH265Header(n))this._decodeEnhancedH265Video(s,r);else{const e=i.getUint8(5)>>4==1;t.updateStats({vbps:s.byteLength}),a[0]=s[4],a[1]=s[3],a[2]=s[2],a[3]=0;let n=a[0];this._doDecode(s,o,r,e,n)}}else this.player.debug.warn("M7sDemux","dispatch","dv byteLength is",i.byteLength)}}}class nt{constructor(e){return new(nt.getLoaderFactory(e._opt.demuxType))(e)}static getLoaderFactory(e){return e===c?at:e===d?st:void 0}}class At{constructor(e){this.TAG="ExpGolomb",this._buffer=e,this._buffer_index=0,this._total_bytes=e.byteLength,this._total_bits=8*e.byteLength,this._current_word=0,this._current_word_bits_left=0}destroy(){this._buffer=null}_fillCurrentWord(){let e=this._total_bytes-this._buffer_index,t=Math.min(4,e),i=new Uint8Array(4);i.set(this._buffer.subarray(this._buffer_index,this._buffer_index+t)),this._current_word=new DataView(i.buffer).getUint32(0,!1),this._buffer_index+=t,this._current_word_bits_left=8*t}readBits(e){if(e<=this._current_word_bits_left){let t=this._current_word>>>32-e;return this._current_word<<=e,this._current_word_bits_left-=e,t}let t=this._current_word_bits_left?this._current_word:0;t>>>=32-this._current_word_bits_left;let i=e-this._current_word_bits_left;this._fillCurrentWord();let o=Math.min(i,this._current_word_bits_left),r=this._current_word>>>32-o;return this._current_word<<=o,this._current_word_bits_left-=o,t=t<>>e))return this._current_word<<=e,this._current_word_bits_left-=e,e;return this._fillCurrentWord(),e+this._skipLeadingZero()}readUEG(){let e=this._skipLeadingZero();return this.readBits(e+1)-1}readSEG(){let e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)}}class dt{static _ebsp2rbsp(e){let t=e,i=t.byteLength,o=new Uint8Array(i),r=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(o[r]=t[e],r++);return new Uint8Array(o.buffer,0,r)}static parseSPS(e){let t=dt._ebsp2rbsp(e),i=new At(t);i.readByte();let o=i.readByte();i.readByte();let r=i.readByte();i.readUEG();let s=dt.getProfileString(o),a=dt.getLevelString(r),n=1,A=420,d=[0,420,422,444],c=8;if((100===o||110===o||122===o||244===o||44===o||83===o||86===o||118===o||128===o||138===o||144===o)&&(n=i.readUEG(),3===n&&i.readBits(1),n<=3&&(A=d[n]),c=i.readUEG()+8,i.readUEG(),i.readBits(1),i.readBool())){let e=3!==n?8:12;for(let t=0;t0&&e<16?(v=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2][e-1],w=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1][e-1]):255===e&&(v=i.readByte()<<8|i.readByte(),w=i.readByte()<<8|i.readByte())}if(i.readBool()&&i.readBool(),i.readBool()&&(i.readBits(4),i.readBool()&&i.readBits(24)),i.readBool()&&(i.readUEG(),i.readUEG()),i.readBool()){let e=i.readBits(32),t=i.readBits(32);E=i.readBool(),B=t,C=2*e,S=B/C}}let R=1;1===v&&1===w||(R=v/w);let k=0,T=0;if(0===n)k=1,T=2-m;else{k=3===n?1:2,T=(1===n?2:1)*(2-m)}let I=16*(h+1),x=16*(p+1)*(2-m);I-=(g+f)*k,x-=(b+y)*T;let D=Math.ceil(I*R);return i.destroy(),i=null,{profile_string:s,level_string:a,bit_depth:c,ref_frames:u,chroma_format:A,chroma_format_string:dt.getChromaFormatString(A),frame_rate:{fixed:E,fps:S,fps_den:C,fps_num:B},sar_ratio:{width:v,height:w},codec_size:{width:I,height:x},present_size:{width:D,height:x}}}static _skipScalingList(e,t){let i=8,o=8,r=0;for(let s=0;s ${t.codecWidth}, height ${i.height}-> ${t.codecHeight}`),void this.player.emit(V.webcodecsWidthOrHeightChange)}if(!this.isDecodeFirstIIframe&&i&&(this.isDecodeFirstIIframe=!0),this.isDecodeFirstIIframe){const o=new EncodedVideoChunk({data:e.slice(5),timestamp:t,type:i?_:$});this.player.emit(F.timeUpdate,t);try{if(this.isDecodeStateClosed())return void this.player.debug.warn("Webcodecs","VideoDecoder isDecodeStateClosed true");this.decoder.decode(o)}catch(e){this.player.debug.error("Webcodecs","VideoDecoder",e),(-1!==e.toString().indexOf(Ae)||-1!==e.toString().indexOf(de))&&this.player.emitError(V.webcodecsDecodeError)}}else this.player.debug.warn("Webcodecs","VideoDecoder isDecodeFirstIIframe false")}else if(i&&0===e[1]){const t=15&e[0];if(this.player.video.updateVideoInfo({encTypeCode:t}),t===G)return void this.emit(V.webcodecsH265NotSupport);this.player._times.decodeStart||(this.player._times.decodeStart=Se());const i=function(e){let t=e.subarray(1,4),i="avc1.";for(let e=0;e<3;e++){let o=t[e].toString(16);o.length<2&&(o="0"+o),i+=o}return{codec:i,description:e}}(e.slice(5));this.player.debug.log("Webcodecs","VideoDecoder configure",i);try{this.decoder.configure(i)}catch(e){return this.player.debug.error("Webcodecs","VideoDecoder configure",e),void this.player.emit(V.webcodecsConfigureError)}this.hasInit=!0}}isDecodeStateClosed(){return"closed"===this.decoder.state}}const ut={play:"播放",pause:"暂停",audio:"",mute:"",screenshot:"截图",loading:"加载",fullscreen:"全屏",fullscreenExit:"退出全屏",record:"录制",recordStop:"停止录制"};var ht=Object.keys(ut).reduce(((e,t)=>(e[t]=`\n \n ${ut[t]?`${ut[t]}`:""}\n`,e)),{}),pt=(e,t)=>{const{events:{proxy:i}}=e,o=document.createElement("object");o.setAttribute("aria-hidden","true"),o.setAttribute("tabindex",-1),o.type="text/html",o.data="about:blank",Be(o,{display:"block",position:"absolute",top:"0",left:"0",height:"100%",width:"100%",overflow:"hidden",pointerEvents:"none",zIndex:"-1"});let r=e.width,s=e.height;i(o,"load",(()=>{i(o.contentDocument.defaultView,"resize",(()=>{e.width===r&&e.height===s||(r=e.width,s=e.height,e.emit(F.resize),n())}))})),e.$container.appendChild(o),e.on(F.destroy,(()=>{e.$container.removeChild(o)})),e.on(F.volumechange,(()=>{!function(e){if(0===e)Be(t.$volumeOn,"display","none"),Be(t.$volumeOff,"display","flex"),Be(t.$volumeHandle,"top","48px");else if(t.$volumeHandle&&t.$volumePanel){const i=Ce(t.$volumePanel,"height")||60,o=Ce(t.$volumeHandle,"height"),r=i-(i-o)*e-o;Be(t.$volumeHandle,"top",`${r}px`),Be(t.$volumeOn,"display","flex"),Be(t.$volumeOff,"display","none")}t.$volumePanelText&&(t.$volumePanelText.innerHTML=parseInt(100*e))}(e.volume)})),e.on(F.loading,(e=>{Be(t.$loading,"display",e?"flex":"none"),Be(t.$poster,"display","none"),e&&Be(t.$playBig,"display","none")}));const a=i=>{let o=De(i)?i:e.fullscreen;Be(t.$fullscreenExit,"display",o?"flex":"none"),Be(t.$fullscreen,"display",o?"none":"flex")},n=()=>{Te()&&t.$controls&&e._opt.useWebFullScreen&&setTimeout((()=>{if(e.fullscreen){let i=e.height/2-e.width+19,o=e.height/2-19;t.$controls.style.transform=`translateX(${-i}px) translateY(-${o}px) rotate(-90deg)`}else t.$controls.style.transform="translateX(0) translateY(0) rotate(0)"}),10)};try{ye.on("change",a),e.events.destroys.push((()=>{ye.off("change",a)}))}catch(e){}e.on(F.webFullscreen,(e=>{a(e),n()})),e.on(F.recording,(()=>{Be(t.$record,"display",e.recording?"none":"flex"),Be(t.$recordStop,"display",e.recording?"flex":"none"),Be(t.$recording,"display",e.recording?"flex":"none"),!e.recording&&t.$recordingTime&&(t.$recordingTime.innerHTML=Le(0))})),e.on(F.recordingTimestamp,(e=>{t.$recordingTime&&(t.$recordingTime.innerHTML=Le(e))})),e.on(F.playing,(e=>{Be(t.$play,"display",e?"none":"flex"),Be(t.$playBig,"display",e?"none":"block"),Be(t.$pause,"display",e?"flex":"none"),Be(t.$screenshot,"display",e?"flex":"none"),Be(t.$record,"display",e?"flex":"none"),Be(t.$qualityMenu,"display",e?"flex":"none"),Be(t.$volume,"display",e?"flex":"none"),a(),e||t.$speed&&(t.$speed.innerHTML=Ie(""))})),e.on(F.kBps,(e=>{const i=Ie(e);t.$speed&&(t.$speed.innerHTML=i)}))};function mt(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===i&&o.firstChild?o.insertBefore(r,o.firstChild):o.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}mt('@keyframes rotation{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes magentaPulse{0%{background-color:#630030;-webkit-box-shadow:0 0 9px #333}50%{background-color:#a9014b;-webkit-box-shadow:0 0 18px #a9014b}to{background-color:#630030;-webkit-box-shadow:0 0 9px #333}}.jessibuca-container .jessibuca-icon{cursor:pointer;width:16px;height:16px}.jessibuca-container .jessibuca-poster{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;height:100%;width:100%;background-position:50%;background-repeat:no-repeat;background-size:contain;pointer-events:none}.jessibuca-container .jessibuca-play-big{position:absolute;display:none;height:100%;width:100%;background:rgba(0,0,0,.4)}.jessibuca-container .jessibuca-play-big:after{cursor:pointer;content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;width:48px;height:48px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACgklEQVRoQ+3ZPYsTQRjA8eeZZCFlWttAwCIkZOaZJt8hlvkeHrlccuAFT6wEG0FQOeQQLCIWih6chQgKgkkKIyqKCVYip54IWmiQkTmyYhFvd3Zn3yDb7szu/7cv7GaDkPEFM94PK0DSZ9DzDAyHw7uI2HRDlVJX5/N5r9FoHCYdr/fvCRiNRmpJ6AEidoUQ15NG+AH8BgD2n9AHANAmohdJQfwAfgGA4xF4bjabnW21Whob62ILoKNfAsAGEd2PU2ATcNSNiDf0/cE5/xAHxDpgEf0NADaJ6HLUiKgAbvcjpdSGlPJZVJCoAUfdSqkLxWLxTLlc/mkbEgtgET1TSnWklLdtIuIEuN23crlcp16vv7cBSQKgu38AwBYRXQyLSArg3hsjRDxNRE+CQhIF/BN9qVAobFYqle+mkLQAdLd+8K0T0U0TRJoAbvc9fVkJId75gaQRoLv1C2STiPTb7rFLWgE6+g0RncwyYEJEtawCvjDGmpzzp5kD6NfxfD7frtVqB17xen2a7oG3ALBm+oMoFQBEPD+dTvtBfpImDXjIGFvjnD/3c7ksG5MU4HDxWeZa0HB3XhKAXcdxOn5vUi9gnIDXSqm2lHLPK8pkfVyAbSLqm4T5HRs1YB8RO0KIid8g03FRAT4rpbpSyh3TINPxUQB2GGM9zvkn05gg420CJovLZT9ISNA5tgB9ItoOGhFmnh/AcZ/X9xhj65zzV2Eiwsz1A1j2B8dHAOgS0W6YnduY6wkYj8d3lFKn/j66Ea84jtOrVqtfbQSE3YYnYDAY5Eql0hYAnNDv6kKIx2F3anO+J8DmzqLY1goQxVE12ebqDJgcrSjGrs5AFEfVZJt/AF0m+jHzUTtnAAAAAElFTkSuQmCC");background-repeat:no-repeat;background-position:50%}.jessibuca-container .jessibuca-play-big:hover:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACEElEQVRoQ+2ZXStEQRjH/3/yIXwDdz7J+i7kvdisXCk3SiFJW27kglBcSFFKbqwQSa4krykuKB09Naf2Yndn5jgzc06d53Znd36/mWfeniVyHsw5PwqB0DOonYEoijYBlOpAFwCMkHwLDS/9mwhEDUCfAAyTXA4tYSLwC6CtCegegH6S56FETAR+AHRoACcBTJAUWa+RloBAXwAYIrnt0yBNgZi7qtbHgw8RFwLC/QFglOScawlXAjH3gUqrE1cirgVi7mkAYyS/0xbxJSDcdwAGSa6nKeFTIOZeUyL3aYiEEBDuLwDjJGf+KxFKIOY+BdBL8iipSGiBmHtWbbuftiJZERBuOfgGSK7aSGRJIObeUml1ayKSRQHhlgtkiaTcdltGVgUE+ppkV54FaiS78yrwqlLoOI8Cch2XV548W7WRpTVwA6DP9kGUFYEpAOUkT9LQAvtq1M+0udKkQSgBqSlJWWYxKXj8vRACK+o6bbRIdYI+Ba7U7rKjg7L53JdAhWTZBsy0rWuBXZUuNVMg23auBF7UIl2yBbJt70JAoKV6/WwLk6R9mgKSJlJ1kLTxFmkJyCla8UZd15GJQKvyumyJ8gy8DAEvfZoINPqD41EtUjmUgoaJwAaAnjrKebVI34OSq85NBNqlCAWgE0CV5GEWwI3vQlmCbcSinYFCwPEIFDPgeIC1P1/MgHaIHDf4Aydx2TF7wnKeAAAAAElFTkSuQmCC")}.jessibuca-container .jessibuca-recording{display:none;position:absolute;left:50%;top:0;padding:0 3px;transform:translateX(-50%);justify-content:space-around;align-items:center;width:95px;height:20px;background:#000;opacity:1;border-radius:0 0 8px 8px;z-index:1}.jessibuca-container .jessibuca-recording .jessibuca-recording-red-point{width:8px;height:8px;background:#ff1f1f;border-radius:50%;animation:magentaPulse 1s linear infinite}.jessibuca-container .jessibuca-recording .jessibuca-recording-time{font-size:14px;font-weight:500;color:#ddd}.jessibuca-container .jessibuca-recording .jessibuca-icon-recordStop{width:16px;height:16px;cursor:pointer}.jessibuca-container .jessibuca-loading{display:none;flex-direction:column;justify-content:center;align-items:center;position:absolute;z-index:20;left:0;top:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none}.jessibuca-container .jessibuca-loading-text{line-height:20px;font-size:13px;color:#fff;margin-top:10px}.jessibuca-container .jessibuca-controls{background-color:#161616;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-end;position:absolute;z-index:40;left:0;right:0;bottom:0;height:38px;width:100%;padding-left:13px;padding-right:13px;font-size:14px;color:#fff;opacity:0;visibility:hidden;-webkit-user-select:none;user-select:none}.jessibuca-container .jessibuca-controls .jessibuca-controls-item{position:relative;display:flex;justify-content:center;padding:0 8px}.jessibuca-container .jessibuca-controls .jessibuca-controls-item:hover .icon-title-tips{visibility:visible;opacity:1}.jessibuca-container .jessibuca-controls .jessibuca-fullscreen,.jessibuca-container .jessibuca-controls .jessibuca-fullscreen-exit,.jessibuca-container .jessibuca-controls .jessibuca-icon-audio,.jessibuca-container .jessibuca-controls .jessibuca-microphone-close,.jessibuca-container .jessibuca-controls .jessibuca-pause,.jessibuca-container .jessibuca-controls .jessibuca-play,.jessibuca-container .jessibuca-controls .jessibuca-record,.jessibuca-container .jessibuca-controls .jessibuca-record-stop,.jessibuca-container .jessibuca-controls .jessibuca-screenshot{display:none}.jessibuca-container .jessibuca-controls .jessibuca-icon-audio,.jessibuca-container .jessibuca-controls .jessibuca-icon-mute{z-index:1}.jessibuca-container .jessibuca-controls .jessibuca-controls-bottom{display:flex;justify-content:space-between;height:100%}.jessibuca-container .jessibuca-controls .jessibuca-controls-bottom .jessibuca-controls-left,.jessibuca-container .jessibuca-controls .jessibuca-controls-bottom .jessibuca-controls-right{display:flex;align-items:center}.jessibuca-container.jessibuca-controls-show .jessibuca-controls{opacity:1;visibility:visible}.jessibuca-container.jessibuca-controls-show-auto-hide .jessibuca-controls{opacity:.8;visibility:visible;display:none}.jessibuca-container.jessibuca-hide-cursor *{cursor:none!important}.jessibuca-container .jessibuca-icon-loading{width:50px;height:50px;background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%;animation:rotation 1s linear infinite}.jessibuca-container .jessibuca-icon-screenshot{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAE5UlEQVRoQ+1YW2sdVRT+1s7JxbsoVkEUrIIX0ouz15zYNA+N1RdtQfCltlUfvLbqL/BCwZ8grbHtizQqPojgBSr0JkiMmT2nxgapqBURtPVCq7HxJCeZJVPmxDlzZubMmXOSEsnAvOy917fXt9e39tp7E5b4R0vcfywTuNgRbBgBx3HuJqLVzPzmYjprjHkcwAlmLqXNm4XAISLaSESPaq2HF4OE67rbRGRYRA7btn1fbgLGmKsA/Azg0gBkGzO/vZAkHMd5hIiqc5wHcCMz/5k0Z2oExsfHV1QqldPAf8lORNu11m8tBAljzFYAYWxRSl1vWdZvuQj4RsYYF4AVBlgIOVVlE55HRIxt23ZuCfmGjuOsJ6LPoiAistW27XfaEYmIbOYhPc9bXywWR1oiEJDYQkR1zrYjEjGyqfqbKd8a7kJVtLgQ+30i8pht2wfyRKIdmJkJBPkQTbILfudJ7CTZNBvVpggEcgpvc/ML38zESbLJsxBNE/A9biX0rdjGyTQXgbxyapdsarb0PMlXtWnGoXbKpm0Essqp3bJpK4E0OXmed3+hUBDP8w5FI91M0rdcyLLILElOCbaZilSWeXMncRx4klTCY1spfG3dhZJWx3GcDUR0EEB3ZMw0ET2gtT6SZWWzjmlrBIJCl0hAKfWgZVmHszqXZVxbCSxpCS2JJA6umIhe8ZKKVLPbaBJ+S9toqVRa53nedgAbAKwIwH4FcAzAa0R0l4i8F7PPz189k6RFRA+LyNcAXojDV0oNW5b1eW4Cxpg9AHZkSaaa6hhzb065uDSCH2LmRB8Sk9gY4293g43Qo/1pV80m8yQMfZSZ781cB1zXHRKRZ2IMpgD8A+DamL4ZItqitX4/jbQx5iEA7wLoihn3V/ACckWMJN/QWj9b1x5tGBsbW6uUOh5pPy0iL3Z2dn6ilJqanp5ep5TaJSLhF4NppdRNaU8gPmapVLrO87yfIoXuWyJ6uVKp+HmFjo6OQSJ6FcBtYT+UUmstyxqvkWuUgDFmP4AnQu2/e563qlgs+u9DNZ8xZhRAX7VRRPbath0XuXk7Y8xeAE+FgL6fnJzsHRwcLIfBR0ZGLunq6poAsDLUvp+Zw7b1r9PGmJMAbg8Z7WDmoThZuK67WkS+DD18fcPMdzSQUBR/EzN/nIC/SUQ+DPXV4dclsTHmHAD/SfHCNzc3t7Kvr++HJKeMMacA3BL0nyuXyzcPDAxMxo0fHR29slAo/Ajg6qD/fE9Pzw29vb1/x42fmJi4vFwu+5G/LOg/y8zXNJLQ2dAES5JANMQ7mfn1jBI6ycx3NiMhItqstf4oAX+ziHwQ6qvDj5NQNIn/ALCKmX+JSeIvABRD7fuY+ekGBPYBeDI05tTMzExvf3+/vz2Hk91/ET8RSeI6/DoCpVJpjed5fmKGvzMAXpqdnT3oed5Ud3d3v4jsAqBr9Ei0Rmv9VRqBBPzvROQVETnq2xJRdRu9tRF+bCVOKWT+Kvl/TSIFk6SW/LAjKfjV5K8rZABi8dOOEv7FI7Z8x6zwEWbemLbyMfJr5qiSiJ96oclymBOR3bZtP9+M89WxxpjdAHY2sN3DzM8ljWl4I3Nd9x7/OE1ENcdpETnmH3e11n41zv0l4J8RkU+J6AAz+xtF4teQQG7PFslwmcAiLfSyhC72Qv9/I/Avns2OT7QJskoAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-screenshot:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAED0lEQVRoQ+2ZycsdRRTFf2ejqHFAMQqiYBTUoElUHLNx3GgCgpuYRF2o0UT9CxwQ/BMkMSbZSKLiQgQHUDCJgjiAxiEiESdEcJbEedgcKaj3UV+/6q7u/jovPPkK3qbr1ql76p5bt6qemPKmKfefeQKHOoLFCNg+H1gi6fFJOmv7VmCvpD1N87Yh8ApwNXCzpB2TIGF7DRDm2inpmt4EbB8LfAMcGUHWSHryYJKwfRMwmuMP4BRJv9TN2RgB2wuB72BWsq+V9MTBIGF7NZBiGzhJ0o+9CIRBtt8FLqgADC6nRDbpVO9Iuqi3hCKB5cDrGZDVkp4aIhIV2aSQyyW9MScCkcQqIOfsnCORkc3I31b5VtyFRmg1IQ7dt0ja3icSQ2C2JhAjUU2ykd+dE7tBNp2i2olAJJFuc+nCt564QTadF6IzgUhiVGiqyinKaQjZpJP2ItBXTkPJZhACXeU0pGwGI9BWTkPLZlACBTldG4o5EA6E1dY66edcyNrs8Q36zg1vVaTazNs7iXPgDVJJzYs7VRvHRzaDEohyugJ4CTi84sg/wHWSdnVxsGQ7aQLXS9pZcqpL/6AEplpCU5HE8YpJ9YrXUKQ6baN1+HPaRm1fBqwFQnKGK2ZoPwCvAo8Ai4FnMpPMHMwapHUj8DFwbw3+Dklv9iZgexOwvktSRduxU2VDlErwmyXV+lCbxLbDdndlCT3TX3vV7JgnKfRuSVflfMkSsL0ZuDMz4E/gL+CETN+/wCpJzzaRtn0D8DRwWMbu1/gCcnSm7zFJd1W/jxGwvQx4r2IYnlbuA14GAomQFw8B6YtBKFSnNj2BxEJ3IvB1pdB9CjwQ8yqYhcg/DJxZ8WOZpA/SbzkC24DbEqOfgPMkBRKzmu23gEuSj1sk5SI3Y2J7C3BHMuZz4FxJf6fgto8APgIWJd+3SUrHjr9O294HnJUMWi8pSGqs2V4CvJ88fH0i6eyChKr4KyS9WIO/Ang+6RvDz0XgABCeFEdtkaQv65yy/QVweuwPY0+T9FuNQ8cAXwHHxf7wdHiypN9r7BfEl8GjYv9+SceXJLQ/mSDYTh2Baog3SHq0pYT2STqno4RWSnqhBn8l8FzSN4bfJol/jkn8bXUS228DFyfft0paVyCwFbg9sQkSDEkctueZZju8iO+tJPEYfo7A0piYKd73wP3xnB+20cvjNnphxdmlkj4sEMjhfwY8COyOY0fb6Bkl/K6FLKxS+M1KpDhJY8mvrG5doRwlf66QZfGbjhLh4pEt35kV3iUp/IvTunU8qtTil/7gaHOY2yjpntaez9b5RmBDYewmSXfX2RRvZLYvbThOh+NuqMa9Ww1+yLnXgO2SwkZR24oEens2oYHzBCa00PMSOtQL/f+NwH+Hg8hAnbrYgQAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-play{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACgklEQVRoQ+3ZPYsTQRjA8eeZZCFlWttAwCIkZOaZJt8hlvkeHrlccuAFT6wEG0FQOeQQLCIWih6chQgKgkkKIyqKCVYip54IWmiQkTmyYhFvd3Zn3yDb7szu/7cv7GaDkPEFM94PK0DSZ9DzDAyHw7uI2HRDlVJX5/N5r9FoHCYdr/fvCRiNRmpJ6AEidoUQ15NG+AH8BgD2n9AHANAmohdJQfwAfgGA4xF4bjabnW21Whob62ILoKNfAsAGEd2PU2ATcNSNiDf0/cE5/xAHxDpgEf0NADaJ6HLUiKgAbvcjpdSGlPJZVJCoAUfdSqkLxWLxTLlc/mkbEgtgET1TSnWklLdtIuIEuN23crlcp16vv7cBSQKgu38AwBYRXQyLSArg3hsjRDxNRE+CQhIF/BN9qVAobFYqle+mkLQAdLd+8K0T0U0TRJoAbvc9fVkJId75gaQRoLv1C2STiPTb7rFLWgE6+g0RncwyYEJEtawCvjDGmpzzp5kD6NfxfD7frtVqB17xen2a7oG3ALBm+oMoFQBEPD+dTvtBfpImDXjIGFvjnD/3c7ksG5MU4HDxWeZa0HB3XhKAXcdxOn5vUi9gnIDXSqm2lHLPK8pkfVyAbSLqm4T5HRs1YB8RO0KIid8g03FRAT4rpbpSyh3TINPxUQB2GGM9zvkn05gg420CJovLZT9ISNA5tgB9ItoOGhFmnh/AcZ/X9xhj65zzV2Eiwsz1A1j2B8dHAOgS0W6YnduY6wkYj8d3lFKn/j66Ea84jtOrVqtfbQSE3YYnYDAY5Eql0hYAnNDv6kKIx2F3anO+J8DmzqLY1goQxVE12ebqDJgcrSjGrs5AFEfVZJt/AF0m+jHzUTtnAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-play:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACEElEQVRoQ+2ZXStEQRjH/3/yIXwDdz7J+i7kvdisXCk3SiFJW27kglBcSFFKbqwQSa4krykuKB09Naf2Yndn5jgzc06d53Znd36/mWfeniVyHsw5PwqB0DOonYEoijYBlOpAFwCMkHwLDS/9mwhEDUCfAAyTXA4tYSLwC6CtCegegH6S56FETAR+AHRoACcBTJAUWa+RloBAXwAYIrnt0yBNgZi7qtbHgw8RFwLC/QFglOScawlXAjH3gUqrE1cirgVi7mkAYyS/0xbxJSDcdwAGSa6nKeFTIOZeUyL3aYiEEBDuLwDjJGf+KxFKIOY+BdBL8iipSGiBmHtWbbuftiJZERBuOfgGSK7aSGRJIObeUml1ayKSRQHhlgtkiaTcdltGVgUE+ppkV54FaiS78yrwqlLoOI8Cch2XV548W7WRpTVwA6DP9kGUFYEpAOUkT9LQAvtq1M+0udKkQSgBqSlJWWYxKXj8vRACK+o6bbRIdYI+Ba7U7rKjg7L53JdAhWTZBsy0rWuBXZUuNVMg23auBF7UIl2yBbJt70JAoKV6/WwLk6R9mgKSJlJ1kLTxFmkJyCla8UZd15GJQKvyumyJ8gy8DAEvfZoINPqD41EtUjmUgoaJwAaAnjrKebVI34OSq85NBNqlCAWgE0CV5GEWwI3vQlmCbcSinYFCwPEIFDPgeIC1P1/MgHaIHDf4Aydx2TF7wnKeAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-pause{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAABA0lEQVRoQ+1YwQqCUBAcfWXXsLr2AXWTPXno8yVB8AP6Aa3oHI+kCDqYaawJljSe133uzO44bx0M/HEG/v1gAd9mkAyQgY4I/F8LJUlyrQFtD2AtIkcNoFEU+Z7n7QD4DfFHEVlocrVmgAUAIAOl3mILPcDgEFcUhyrUKMGUUcroc3NQRimj9XJBGaWMvvPydKN0o6/9QTdKN6rZANxj6EbpRulGuZnjYqs8BbyR8Ub2Izeys+u6yyAIDpo/ehzHM2NMDsA0xFsRmWhyfTIDWSXxCEBmrd2EYXjSHJqm6bQoii2AOYBL5Z0xgFxEVppcrQvQJO0zhgX0iXbdWWSADHRE4AZQ731AhEUeNwAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-pause:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAA7klEQVRoQ+2YSwrCQBBEX6HiVvxsPYDewfN7By/gD9ciQkvERQwJdBSiYs0mEDo96aruombEjy/9+P/jAj7NoBkwA28i8H8tFBFRA9oeWEo6ZgCNiDGwAYpn3TpKmmVytWbABQBmoNRbbqEHGB7iiuJYhRol2DJqGX1uDsuoZdRmLuNZSzGWUcuoZdRHSp/IylNgK2ErYSthK3FHwLcSvpXIjoLt9Jfa6TMwl3TIMBkRE2AH9BriL5KGmVyvWIltJXEfKN6tJJ0ym0bECFgDU+Ba+WZQFCdpkcnVuoBM0i5jXECXaNftZQbMwJsI3AAPN3dAQflHegAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-record{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAC+UlEQVRoQ+1ZS2sTURT+zlDJYE3XSq219QHVuEjnJDT+Bff9Abqw2voAEfGxqygUqWhVFHGl/yMLu9BwByxk5SNI66ML6U7axjhHbmhgWiftncxoOiV3FcI53z3f/e65594zhIQPSnj86BBot4IdBToKRFyBnbeFlFIScVEiuYvIWC6Xe2YK8pcC7SYA4CMzH4mDQBXAqilQBDsLQLfPf9FxnF4i8kwwmypARI+Wl5dvmIBEsUmlUkNE9NaHsVCpVAZGR0d/m+A2JSAid3K53E0TkCg2pVKpz7KseR/GfKVSGYxMAMA0M1+JEpyJb6lUOm5ZVnkrAsVisaunp+esiByr1Wp3R0ZGvmifzZK4XQQWHMc52MgBpdQuAOcAXABwuB400ZTjONdaIjA7O5u2bVsnWU1EujzP+5nP5xdMVjvIJkCBD8x8VCm1G8AYgAkAAxt8Z5j5YmgCSqlTAJ4D2OcD/AXgATNfbYVEAIFPIvKKiE4D6GuCea8xX6gtpJT6DmBvECgRFRzHeROWRAABE4iWCbwHEFhkPM/L5vP5dyaz+23+KwHXdR3P854S0YG1ILSCuthNMfNM2OC1/RYENLY+ygcBnPfht6ZAA6BYLNr6dyqVokKhsGpaNQ2TWJstreXaE2aed133sojcj41AKyvdzCdAgSXLsk4MDw9/a/i4rntbRPxFNZoC/5jAV2be759DKTUJ4FZSFFi0bbs/k8noy2R9dAjEuWU2YgXkQOK3kD6BMsysi2Z9JC2Jdcw/ALzwPO+xvmcl7Rj177JVEbkO4BARjSflFDJJuW1dBxJPoCIiL4noDIB1BS0pW6j+oJmbm+uuVqvjRKQfLr0bZHnIzJf0f6HeAybahrUJqAPruhLlcnnPysqKfpXp11n/Gv62zoHAroS+AafT6QkiGrIsazKbzX7eVIHEt1US39gCkOzWYthkjNE+tuZujDGZQ8XRXn8N4KT5lLFZ6uaYPt+nwyDuvC80YdhvB9uOAu1WoaNAR4GIK/AHvdr+QAexB7EAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-record:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACfUlEQVRoQ+2ZSYsUQRCFvycK4nJXXEbHBdwO4kn/gv9CD467ICIutxEFkREdFUU86T/xojcPntyQcT2INw+uISFVkD1Wd2dWlU7nUHlqisiX+fJFZGREi8yHMt8/HYG5VrBToFOg4QnMPxcyM2t4KE2nT0i6EwvylwIjQOCFpE1tEPgGfI0FamC3AFgazP8IrJL0KwZzkAI3gLMxIA1ttgCPA4w3wHpJP2NwBxG4KOlcDEgTGzNbA8wEGP57vA0CU5JONtlczFwz2wY8HUbAzBYCB4CtwCVJb33OIAXmioC70LoyBsxsEXAQOApsLIhelnS6FgEzW+5BBvwA/FS+SPJFa40KBZ5L2mxmS4AJ4IjHxCzwaUnHkgmY2V7gLrAyAPwOXJN0qg6DCgIvgQfAPsDjo2pcKddLciEz+wCs6AO6W9KjVBIVBGIgahN4BvRLMjslPYlZPbT53wR2AbeBtcUmXEFPdh5U06mbd/shBBzbr/Jx4FCAX0+BEsDMFocEYrNmFcE+BD4XsXZL0oyZnQCutkagzkn3m1NBwDe/Q9L74MAuFEqUn5op8I8JvJO0elacTALnc1HAH3Njkvwx+WeYWUegTa/pwaqIgexdyIN4uyRPmqULZRXEvulPwD3gpr+zcrtGQxfzRHYG2AAczuUWiom3kc4D2RN4BdwH9gM9CS0XFyoLGu9UuN974eIFVDiuSzruH5LqgRhtU20q8kBPV8LMlhVVmVdnYwX+SMdAZVeieAF7eeltmElJr4cpkH1bJfvGVvatxdR4bMu+teZuWxtKxWncXn8I7EldtQV7vz79fp9KwZp//9CksB8F206BuVahU6BToOEJ/Ab7+KdABdTt8AAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-recordStop{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-recordStop:hover{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-fullscreen{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-fullscreen:hover{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-fullscreenExit{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAADd0lEQVRoQ+2Zz2sdVRTHv+fJBDW6anDVXen6wZszYxYBiYgtFGst3VSDunKjpS0GpUlqfjVpsVVs6aaL0or4YxMVFCJZ2ZLdPUP+gq5bQnTxtNAkfTnlhnnlkmQy9yV9780rudt77tzv5/y4v4bQ4Y06XD/2ANodwec/AiJygJnvtdvTWfPnRkBEJAiCN8rl8kMfiPn5+Ve7u7v3rays0Orq6lJfX99/PuN2auMDoAD+BvA2M6/mTWSMOUtE48D6AjHGzN/kjdlNvy+AnWOOmQ/lTSYiEwDOWzsimgrDcCRvzG76GwGw8/zJzO9sN6GInAMwbW1UdSSKoqndCMwb6wNwGsB39Q+p6h/M/C4R2dTa1AoHYBWKyCkA1+pqiWi2Wq0e7e/vf7yRoJAAKcQggMtuJKIoOtoxACnE0/xOi/SXMAxPuhCFjUBdpIjYVWXSEf0TM3/g9BeriDMKdSPEz8z8vrU1xgwT0YXCrEJZy1iSJKOqOub0/8jMA0mSfKKqNwoPkHp7ioiGHIhRIvpHVa93BEBa2JcAfOlALAHo6RgAKzRJkk9V1S6xL7kpV4idOM31taxaIKJHqmpPnMMA9hcOQES2PDJkAT1XAAC+ZebPfWB3auNzmLObVsNRUNUXVHUujuM7OxXnMy4XwOcj29mIyOuq+lapVGrYCelKpkEQ3CyXy4tbzdN0AGPMxr2iYZ+sra3FcRybtgCIiK2BKw2rdgaUSqWoUqlIkQAepFDdAF7cBq5ERI9rtdr1OI7tmE2t6SmUEYFHAEaexYW/1QC2EF+ru5GIvg7D0D2GNJxprQY4o6qv1I/b6SpzOYqiLxpWng5oOQAzXxWRWwA+dkRfYOb1p5hGW6sBJpn5KytSRG4D+KguWFXHoyhy7xdeLC0F2ChSRL4H8OFuINoKYIUbY34gogHH3eeZef1K6tPaDpCm068A3nMEDzHzxY4BUNWSiPxORO6z5aDPPlGICNQ9bYyZIaLjjudzIQoFkKbTbwCO+UI0HcB9J/LdeY0xs0R02IGYYObRrWqiFQCfEZEtSHsfmGZm+4qxbbM/hQD8BeBNa0hEM2EYnmgLgP3lFARBT1dXly4vL//b29tbzQNIU+llAHeJaLFSqRzJes5vegR8xGbZLCwsHKzVav8z8/0sm0ID+MDvAfh4qZk2exFopnd9vv0ELrXBQO7fD10AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-fullscreenExit:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAC/ElEQVRoQ+2Zy49NQRCHvx+ReK6IlZ34E7CUiCAR4xEbTLCyQRATYswwb2IQZDYWgojHZpCQECts+ResiQwLj0RClNSkb9Lu3HtPz7mZc8+V6eXt6tP1VVV3VdcVbT7U5vozC9BqD/7/HjCzlZLet9rS9fbP9ICZvQPWSfqRAmFmS4ClMHm+JiR9S1mXVyYFwIBXwEZJv7I2MrPjQH8A6JN0OWtNM/OpAL7HS0mbsjYzswGgN8gNS+rJWtPM/HQAfJ9nkrY22tDMTgMjQaZH0nAzCmatTQE4ClyNPvQU2CbJQ2vKKB2Aa2hmR4DrkbbPgQ5Jv6sJSgkQILqA0dgTkjraBiBAxPHtPz2UtDuGKK0HKkqamd8qg5HS9yXtjebLdYjrHNRqiAeS9gQvnQGGSnML1bvGzOwc0BfN35PUaWYHgRulBwjW9ju+O4JwqM/AWFsABIgLwKkIYgJY1jYAAeJQuGIXVIVcKTKxh8WfBin9J+AVpx/eFWUEqFkyNACKp0rhgWYArkg6kQibSyylmPOklQdibijBX+fSLHFRJkDid+qKmdlaYENOI0zeEcBNSZ9qbVIEQHWuyGOTNZLetgrAz8ClPFpHa1ZL8rf5lFGEB2oBfAxQi4D5DeDmAP7mGJPka0oD4LnDr9imH/xFe8AP4vLIjBclxWXItCOtaIBjwOKo3HaFRyWdnLbmYUHhAJKumdkt4ECk9JCkSitmWixFAwxKOjt5uZvdBvZH2vZLit8XSSBFA/yjpJndAfY1A9FSgOCJu0BnBNErqfIkzfRCywECxCNgR6Rtt6TzmdqHBmyKXG4ZM4sTWc04NzNPWE+AuG3ZlZInSuGBinXMbBzYGVkrE6JUACGcHgPbUyGKAIj7REmZ18y897o5ghiQ5E/bltRChwE/kF7Xj0jyLkbDYWbzgBfA+iA4LmlXqwD8LydvszjAF0lfswBCKC0E3gBeP22p186f8RBKUbaejJmtAr5L+lBPptQAKfCzAClWmkmZWQ/MpHVTvv0X9iFAQGQyevIAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-audio{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACrUlEQVRoQ+2ZPYgTURCAZzbBXJnCeL2Cnb87b9MEtPBUrrMQFAtrtT5/ClGs9LBWWz0RtbBUFCF4oJDsbO68wsLA2YqQSmLlvpEHu7IuMdlLcus+yUKKhJfZ+ebnvZl5CJY/aLn+MAP41x7M1QPMfFtr/crzvHfTAs8FoNPp1LTWzwHgqIg0lFLvrQHwfX8BER8DwC6jNCIecF13wwoA3/dvIuKNpLJa60Oe560XGoCZd4rICiKeTCtaeABmPg4AJmRqg6xcaABmvg4At4aFRyEBhoVM4UMoCplHADCfJTEL5YEsIVNID5iQAYCHALCYxeq5b6PMfF5EBAAEESthGK7W6/XPRpFWq7W3VCqtZg2ZcT3g+/6i4zjzIlLSWn/yPO/DIGMNLCWY2Sj/+xGRK0qpZfNDEASnROTFVi0fr8+aA8z8Ld6KEfGt67oLYwMAwEUium8EREn7OgeAjwCwPyo/nrque3YSgAtE9GDaAM1mc65arc4Zuf1+P2w0Gt9jJZl5DQAORt+fENG5wgEw8zUAMB/zbBBRwyqAIAjuiMjlSOlNItpjFUCqWl0josMzgChR/9hGAWBbknjmAdPhDdqa0gfZzAMJKyVP4v8hhJYRcSni+0JEu63ahZj5anyQici6UuqIVQDdbrfS6/UqRulyufyTiH5sF8AlIro37VpoWEHIzGZ2tM+sEZFnSqkzk9RCS0R01wjIsZz+mug53hDRia0AnI4bGgDYISItz/M2jYC8Gpp2u30MEWuO4zha665Sqp0ZYFStX/iWchRAItFGzoHSsrJ2ZFl1mHg6bfVYJeGJv85CC++BpIJZ5kSFC6G0ha0e7mYJqcJ7IOkRay84UhD2XjHFIFZf8iW9YcYoYRi+tO6aNeupOs66iU/icV46zf/MAKZpzXFk/QL+JG1PUPhRiQAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-audio:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACSElEQVRoQ+2Zu4sUQRCHf5+C+gf4yBXMfMYHGvjCzEBQDIzV+HwEohipGKupD0QNDE8UEwUFTe68wEDhTMVUMFJ+0tArzbjs9u3Ojt0wBR0M9MzUV1XdXVWNKhcq1189wP/2YKcesH1d0nPgdVvgnQDY3iTpqaT9kuaAt9UA2D4o6aGkzVHpXcByFQC2r0q60lB2D7BUNIDtjZIeSDoyRNGyAWwfiiET4n6YlAtg+7Kka2PCozyAMSHT5CkLIIbMfUlbMhdmOQCZIVOeB2LI3JN0NNPq6bTZe8D2aUmOY72kN8DnoIXt7eF5FSEzkQdsB+OEsFwr6RPwbpixhqYStoPyqVwAbkaAY5KeTWD5wStZHrD9XdJgK34FhBP9H8kFOAvciQBhn3/RAcBHSTvjfx4DJ6cBOAPcbRvA9gZJYQT5DfwYKGl7UdLu+PwIOFUiwCVJYQRZBuZqA7gh6XxUegXYVhtAmq0uAnt7gLhQm9vorBZx74Hcc6D3QLKH/z2JGyVnlYs4pCfzEe4rsLW2XehicpAtAftqAwiZbhhBfgE/ZwVwDrjddi40KiG0HXpHO+KcJ8CJaXKheeBWBOgqnf6W1BwvgcOrATieFDTrJL0HViJAVwXNgVgPrJH0BfiQDTDKtREiNK7KLSnHASQLLacP1PxcVkWWq8PU3emq2yqJJ0b1Qsv2QKpdZp+orBBqmrfq5m5mSJXtgUZI1XnB0YCo94opCal6L/ka3ghtlIXqrllzT9VJ5k19Ek/y0zbf6QHatOYk3/oDujC8QMWgjf4AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-mute{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-mute:hover{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-text{font-size:14px;width:30px}.jessibuca-container .jessibuca-speed{font-size:14px;color:#fff}.jessibuca-container .jessibuca-quality-menu-list{position:absolute;left:50%;bottom:100%;visibility:hidden;opacity:0;transform:translateX(-50%);transition:visibility .3s,opacity .3s;background-color:rgba(0,0,0,.5);border-radius:4px}.jessibuca-container .jessibuca-quality-menu-list.jessibuca-quality-menu-shown{visibility:visible;opacity:1}.jessibuca-container .icon-title-tips{pointer-events:none;position:absolute;left:50%;bottom:100%;visibility:hidden;opacity:0;transform:translateX(-50%);transition:visibility .3s ease 0s,opacity .3s ease 0s;background-color:rgba(0,0,0,.5);border-radius:4px}.jessibuca-container .icon-title{display:inline-block;padding:5px 10px;font-size:12px;white-space:nowrap;color:#fff}.jessibuca-container .jessibuca-quality-menu{padding:8px 0}.jessibuca-container .jessibuca-quality-menu-item{display:block;height:25px;margin:0;padding:0 10px;cursor:pointer;font-size:14px;text-align:center;width:50px;color:hsla(0,0%,100%,.5);transition:color .3s,background-color .3s}.jessibuca-container .jessibuca-quality-menu-item:hover{background-color:hsla(0,0%,100%,.2)}.jessibuca-container .jessibuca-quality-menu-item:focus{outline:none}.jessibuca-container .jessibuca-quality-menu-item.jessibuca-quality-menu-item-active{color:#2298fc}.jessibuca-container .jessibuca-volume-panel-wrap{position:absolute;left:50%;bottom:100%;visibility:hidden;opacity:0;transform:translateX(-50%) translateY(22%);transition:visibility .3s,opacity .3s;background-color:rgba(0,0,0,.5);border-radius:4px;height:120px;width:50px;overflow:hidden}.jessibuca-container .jessibuca-volume-panel-wrap.jessibuca-volume-panel-wrap-show{visibility:visible;opacity:1}.jessibuca-container .jessibuca-volume-panel{cursor:pointer;position:absolute;top:21px;height:60px;width:50px;overflow:hidden}.jessibuca-container .jessibuca-volume-panel-text{position:absolute;left:0;top:0;width:50px;height:20px;line-height:20px;text-align:center;color:#fff;font-size:12px}.jessibuca-container .jessibuca-volume-panel-handle{position:absolute;top:48px;left:50%;width:12px;height:12px;border-radius:12px;margin-left:-6px;background:#fff}.jessibuca-container .jessibuca-volume-panel-handle:before{bottom:-54px;background:#fff}.jessibuca-container .jessibuca-volume-panel-handle:after{bottom:6px;background:hsla(0,0%,100%,.2)}.jessibuca-container .jessibuca-volume-panel-handle:after,.jessibuca-container .jessibuca-volume-panel-handle:before{content:"";position:absolute;display:block;left:50%;width:3px;margin-left:-1px;height:60px}.jessibuca-container.jessibuca-fullscreen-web .jessibuca-controls{width:100vh}.jessibuca-container.jessibuca-fullscreen-web .jessibuca-play-big:after{transform:translate(-50%,-50%) rotate(270deg)}.jessibuca-container.jessibuca-fullscreen-web .jessibuca-loading{flex-direction:row}.jessibuca-container.jessibuca-fullscreen-web .jessibuca-loading-text{transform:rotate(270deg)}');class gt{constructor(e){var t;this.player=e,((e,t)=>{e._opt.hasControl&&e._opt.controlAutoHide?e.$container.classList.add("jessibuca-controls-show-auto-hide"):e.$container.classList.add("jessibuca-controls-show");const i=e._opt,o=i.operateBtns;e.$container.insertAdjacentHTML("beforeend",`\n ${i.background?`
`:""}\n
\n ${ht.loading}\n ${i.loadingText?`
${i.loadingText}
`:""}\n
\n ${i.hasControl&&o.play?'
':""}\n ${i.hasControl?`\n
\n
\n
00:00:01
\n
${ht.recordStop}
\n
\n `:""}\n ${i.hasControl?`\n
\n
\n
\n ${i.showBandwidth?'
':""}\n
\n
\n ${o.audio?`\n
\n ${ht.audio}\n ${ht.mute}\n
\n
\n
\n
\n
\n
\n
\n `:""}\n ${o.play?`
${ht.play}
${ht.pause}
`:""}\n ${o.screenshot?`
${ht.screenshot}
`:""}\n ${o.record?`
${ht.record}
${ht.recordStop}
`:""}\n ${o.fullscreen?`
${ht.fullscreen}
${ht.fullscreenExit}
`:""}\n
\n
\n
\n `:""}\n\n `),Object.defineProperty(t,"$poster",{value:e.$container.querySelector(".jessibuca-poster")}),Object.defineProperty(t,"$loading",{value:e.$container.querySelector(".jessibuca-loading")}),Object.defineProperty(t,"$play",{value:e.$container.querySelector(".jessibuca-play")}),Object.defineProperty(t,"$playBig",{value:e.$container.querySelector(".jessibuca-play-big")}),Object.defineProperty(t,"$recording",{value:e.$container.querySelector(".jessibuca-recording")}),Object.defineProperty(t,"$recordingTime",{value:e.$container.querySelector(".jessibuca-recording-time")}),Object.defineProperty(t,"$recordingStop",{value:e.$container.querySelector(".jessibuca-recording-stop")}),Object.defineProperty(t,"$pause",{value:e.$container.querySelector(".jessibuca-pause")}),Object.defineProperty(t,"$controls",{value:e.$container.querySelector(".jessibuca-controls")}),Object.defineProperty(t,"$fullscreen",{value:e.$container.querySelector(".jessibuca-fullscreen")}),Object.defineProperty(t,"$fullscreen",{value:e.$container.querySelector(".jessibuca-fullscreen")}),Object.defineProperty(t,"$volume",{value:e.$container.querySelector(".jessibuca-volume")}),Object.defineProperty(t,"$volumePanelWrap",{value:e.$container.querySelector(".jessibuca-volume-panel-wrap")}),Object.defineProperty(t,"$volumePanelText",{value:e.$container.querySelector(".jessibuca-volume-panel-text")}),Object.defineProperty(t,"$volumePanel",{value:e.$container.querySelector(".jessibuca-volume-panel")}),Object.defineProperty(t,"$volumeHandle",{value:e.$container.querySelector(".jessibuca-volume-panel-handle")}),Object.defineProperty(t,"$volumeOn",{value:e.$container.querySelector(".jessibuca-icon-audio")}),Object.defineProperty(t,"$volumeOff",{value:e.$container.querySelector(".jessibuca-icon-mute")}),Object.defineProperty(t,"$fullscreen",{value:e.$container.querySelector(".jessibuca-fullscreen")}),Object.defineProperty(t,"$fullscreenExit",{value:e.$container.querySelector(".jessibuca-fullscreen-exit")}),Object.defineProperty(t,"$record",{value:e.$container.querySelector(".jessibuca-record")}),Object.defineProperty(t,"$recordStop",{value:e.$container.querySelector(".jessibuca-record-stop")}),Object.defineProperty(t,"$screenshot",{value:e.$container.querySelector(".jessibuca-screenshot")}),Object.defineProperty(t,"$speed",{value:e.$container.querySelector(".jessibuca-speed")})})(e,this),t=this,Object.defineProperty(t,"controlsRect",{get:()=>t.$controls.getBoundingClientRect()}),pt(e,this),((e,t)=>{const{events:{proxy:i},debug:o}=e;function r(e){const{bottom:i,height:o}=t.$volumePanel.getBoundingClientRect(),{height:r}=t.$volumeHandle.getBoundingClientRect();return Ee(i-e.y-r/2,0,o-r/2)/(o-r)}if(i(window,["click","contextmenu"],(i=>{i.composedPath().indexOf(e.$container)>-1?t.isFocus=!0:t.isFocus=!1})),i(window,"orientationchange",(()=>{setTimeout((()=>{e.resize()}),300)})),i(t.$controls,"click",(e=>{e.stopPropagation()})),i(t.$pause,"click",(t=>{e.pause()})),i(t.$play,"click",(t=>{e.play(),e.resumeAudioAfterPause()})),i(t.$playBig,"click",(t=>{e.play(),e.resumeAudioAfterPause()})),i(t.$volume,"mouseover",(()=>{t.$volumePanelWrap.classList.add("jessibuca-volume-panel-wrap-show")})),i(t.$volume,"mouseout",(()=>{t.$volumePanelWrap.classList.remove("jessibuca-volume-panel-wrap-show")})),i(t.$volumeOn,"click",(i=>{i.stopPropagation(),Be(t.$volumeOn,"display","none"),Be(t.$volumeOff,"display","block");const o=e.volume;e.volume=0,e._lastVolume=o})),i(t.$volumeOff,"click",(i=>{i.stopPropagation(),Be(t.$volumeOn,"display","block"),Be(t.$volumeOff,"display","none"),e.volume=e.lastVolume||.5})),i(t.$screenshot,"click",(t=>{t.stopPropagation(),e.video.screenshot()})),i(t.$volumePanel,"click",(t=>{t.stopPropagation(),e.volume=r(t)})),i(t.$volumeHandle,"mousedown",(()=>{t.isVolumeDroging=!0})),i(t.$volumeHandle,"mousemove",(i=>{t.isVolumeDroging&&(e.volume=r(i))})),i(document,"mouseup",(()=>{t.isVolumeDroging&&(t.isVolumeDroging=!1)})),i(t.$record,"click",(t=>{t.stopPropagation(),e.recording=!0})),i(t.$recordStop,"click",(t=>{t.stopPropagation(),e.recording=!1})),i(t.$recordingStop,"click",(t=>{t.stopPropagation(),e.recording=!1})),i(t.$fullscreen,"click",(t=>{t.stopPropagation(),e.fullscreen=!0})),i(t.$fullscreenExit,"click",(t=>{t.stopPropagation(),e.fullscreen=!1})),e._opt.hasControl&&e._opt.controlAutoHide){i(e.$container,"mouseover",(()=>{e.fullscreen||(Be(t.$controls,"display","block"),r())})),i(e.$container,"mousemove",(()=>{e.$container&&t.$controls&&(e.fullscreen,"none"===t.$controls.style.display&&(Be(t.$controls,"display","block"),r()))})),i(e.$container,"mouseout",(()=>{s(),Be(t.$controls,"display","none")}));let o=null;const r=()=>{s(),o=setTimeout((()=>{Be(t.$controls,"display","none")}),5e3)},s=()=>{o&&(clearTimeout(o),o=null)}}})(e,this),e._opt.hotKey&&((e,t)=>{const{events:{proxy:i}}=e,o={};function r(e,t){o[e]?o[e].push(t):o[e]=[t]}r(se,(()=>{e.fullscreen&&(e.fullscreen=!1)})),r(ae,(()=>{e.volume+=.05})),r(ne,(()=>{e.volume-=.05})),i(window,"keydown",(e=>{if(t.isFocus){const t=document.activeElement.tagName.toUpperCase(),i=document.activeElement.getAttribute("contenteditable");if("INPUT"!==t&&"TEXTAREA"!==t&&""!==i&&"true"!==i){const t=o[e.keyCode];t&&(e.preventDefault(),t.forEach((e=>e())))}}}))})(e,this),this.player.debug.log("Control","init")}destroy(){if(this.$poster){if(!Oe(this.$poster)){const e=this.player.$container.querySelector(".jessibuca-poster");e&&this.player.$container&&this.player.$container.removeChild(e)}}if(this.$loading){if(!Oe(this.$loading)){const e=this.player.$container.querySelector(".jessibuca-loading");e&&this.player.$container&&this.player.$container.removeChild(e)}}if(this.$controls){if(!Oe(this.$controls)){const e=this.player.$container.querySelector(".jessibuca-controls");e&&this.player.$container&&this.player.$container.removeChild(e)}}if(this.$recording){if(!Oe(this.$recording)){const e=this.player.$container.querySelector(".jessibuca-recording");e&&this.player.$container&&this.player.$container.removeChild(e)}}if(this.$playBig){if(!Oe(this.$playBig)){const e=this.player.$container.querySelector(".jessibuca-play-big");e&&this.player.$container&&this.player.$container.removeChild(e)}}this.player.$container&&(this.player.$container.classList.remove("jessibuca-controls-show-auto-hide"),this.player.$container.classList.remove("jessibuca-controls-show")),this.player.debug.log("control","destroy")}autoSize(){const e=this.player;e.$container.style.padding="0 0";const t=e.width,i=e.height,o=t/i,r=e.video.$videoElement.width/e.video.$videoElement.height;if(o>r){const o=(t-i*r)/2;e.$container.style.padding=`0 ${o}px`}else{const o=(i-t/r)/2;e.$container.style.padding=`${o}px 0`}}toggleBar(e){this.$controls&&(De(e)||(e="none"===Ce(this.$controls,"display",!1)),Be(this.$controls,"display",e?"flex":"none"))}getBarIsShow(){let e=!1;return this.$controls&&(e="none"!==Ce(this.$controls,"display",!1)),e}}mt(".jessibuca-container{position:relative;display:block;width:100%;height:100%;overflow:hidden}.jessibuca-container.jessibuca-fullscreen-web{position:fixed;z-index:9999;left:0;top:0;right:0;bottom:0;width:100vw!important;height:100vh!important;background:#000}");class ft{static init(){ft.types={avc1:[],avcC:[],hvc1:[],hvcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};for(let e in ft.types)ft.types.hasOwnProperty(e)&&(ft.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let e=ft.constants={};e.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),e.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),e.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),e.STSC=e.STCO=e.STTS,e.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e.HDLR_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]),e.HDLR_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]),e.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),e.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),e.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static box(e){let t=8,i=null,o=Array.prototype.slice.call(arguments,1),r=o.length;for(let e=0;e>>24&255,i[1]=t>>>16&255,i[2]=t>>>8&255,i[3]=255&t,i.set(e,4);let s=8;for(let e=0;e>>24&255,e>>>16&255,e>>>8&255,255&e,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]))}static trak(e){return ft.box(ft.types.trak,ft.tkhd(e),ft.mdia(e))}static tkhd(e){let t=e.id,i=e.duration,o=e.presentWidth,r=e.presentHeight;return ft.box(ft.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,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,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,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,o>>>8&255,255&o,0,0,r>>>8&255,255&r,0,0]))}static mdia(e){return ft.box(ft.types.mdia,ft.mdhd(e),ft.hdlr(e),ft.minf(e))}static mdhd(e){let t=e.timescale,i=e.duration;return ft.box(ft.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,i>>>24&255,i>>>16&255,i>>>8&255,255&i,85,196,0,0]))}static hdlr(e){let t=null;return t="audio"===e.type?ft.constants.HDLR_AUDIO:ft.constants.HDLR_VIDEO,ft.box(ft.types.hdlr,t)}static minf(e){let t=null;return t="audio"===e.type?ft.box(ft.types.smhd,ft.constants.SMHD):ft.box(ft.types.vmhd,ft.constants.VMHD),ft.box(ft.types.minf,t,ft.dinf(),ft.stbl(e))}static dinf(){return ft.box(ft.types.dinf,ft.box(ft.types.dref,ft.constants.DREF))}static stbl(e){return ft.box(ft.types.stbl,ft.stsd(e),ft.box(ft.types.stts,ft.constants.STTS),ft.box(ft.types.stsc,ft.constants.STSC),ft.box(ft.types.stsz,ft.constants.STSZ),ft.box(ft.types.stco,ft.constants.STCO))}static stsd(e){return"audio"===e.type?ft.box(ft.types.stsd,ft.constants.STSD_PREFIX,ft.mp4a(e)):"avc"===e.videoType?ft.box(ft.types.stsd,ft.constants.STSD_PREFIX,ft.avc1(e)):ft.box(ft.types.stsd,ft.constants.STSD_PREFIX,ft.hvc1(e))}static mp4a(e){let t=e.channelCount,i=e.audioSampleRate,o=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return ft.box(ft.types.mp4a,o,ft.esds(e))}static esds(e){let t=e.config||[],i=t.length,o=new Uint8Array([0,0,0,0,3,23+i,0,1,0,4,15+i,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([i]).concat(t).concat([6,1,2]));return ft.box(ft.types.esds,o)}static avc1(e){let t=e.avcc;const i=e.codecWidth,o=e.codecHeight;let r=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,i>>>8&255,255&i,o>>>8&255,255&o,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,255,255]);return ft.box(ft.types.avc1,r,ft.box(ft.types.avcC,t))}static hvc1(e){let t=e.avcc;const i=e.codecWidth,o=e.codecHeight;let r=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,i>>>8&255,255&i,o>>>8&255,255&o,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,255,255]);return ft.box(ft.types.hvc1,r,ft.box(ft.types.hvcC,t))}static mvex(e){return ft.box(ft.types.mvex,ft.trex(e))}static trex(e){let t=e.id,i=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return ft.box(ft.types.trex,i)}static moof(e,t){return ft.box(ft.types.moof,ft.mfhd(e.sequenceNumber),ft.traf(e,t))}static mfhd(e){let t=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e]);return ft.box(ft.types.mfhd,t)}static traf(e,t){let i=e.id,o=ft.box(ft.types.tfhd,new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i])),r=ft.box(ft.types.tfdt,new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t])),s=ft.sdtp(e),a=ft.trun(e,s.byteLength+16+16+8+16+8+8);return ft.box(ft.types.traf,o,r,a,s)}static sdtp(e){let t=new Uint8Array(5),i=e.flags;return t[4]=i.isLeading<<6|i.dependsOn<<4|i.isDependedOn<<2|i.hasRedundancy,ft.box(ft.types.sdtp,t)}static trun(e,t){let i=new Uint8Array(28);t+=36,i.set([0,0,15,1,0,0,0,1,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);let o=e.duration,r=e.size,s=e.flags,a=e.cts;return i.set([o>>>24&255,o>>>16&255,o>>>8&255,255&o,r>>>24&255,r>>>16&255,r>>>8&255,255&r,s.isLeading<<2|s.dependsOn,s.isDependedOn<<6|s.hasRedundancy<<4|s.isNonSync,0,0,a>>>24&255,a>>>16&255,a>>>8&255,255&a],12),ft.box(ft.types.trun,i)}static mdat(e){return ft.box(ft.types.mdat,e)}}ft.init();class bt extends Ue{constructor(e){super(),this.player=e,this.isAvc=!0,this.mediaSource=new window.MediaSource,this.sourceBuffer=null,this.hasInit=!1,this.isInitInfo=!1,this.cacheTrack={},this.timeInit=!1,this.sequenceNumber=0,this.mediaSourceOpen=!1,this.dropping=!1,this.firstRenderTime=null,this.mediaSourceAppendBufferError=!1,this.mediaSourceAppendBufferFull=!1,this.isDecodeFirstIIframe=!1,this.player.video.$videoElement.src=window.URL.createObjectURL(this.mediaSource);const{debug:t,events:{proxy:i}}=e;i(this.mediaSource,"sourceopen",(()=>{this.mediaSourceOpen=!0,this.player.emit(F.mseSourceOpen)})),i(this.mediaSource,"sourceclose",(()=>{this.player.emit(F.mseSourceClose)})),e.debug.log("MediaSource","init")}destroy(){this.stop(),this.mediaSource=null,this.mediaSourceOpen=!1,this.sourceBuffer=null,this.hasInit=!1,this.isInitInfo=!1,this.sequenceNumber=0,this.cacheTrack=null,this.timeInit=!1,this.mediaSourceAppendBufferError=!1,this.mediaSourceAppendBufferFull=!1,this.isDecodeFirstIIframe=!1,this.off(),this.player.debug.log("MediaSource","destroy")}get state(){return this.mediaSource&&this.mediaSource.readyState}get isStateOpen(){return this.state===ie}get isStateClosed(){return this.state===oe}get isStateEnded(){return this.state===te}get duration(){return this.mediaSource&&this.mediaSource.duration}set duration(e){this.mediaSource.duration=e}decodeVideo(e,t,i,o){const r=this.player;if(!(!r||r&&r.isDestroyedOrClosed()))if(this.hasInit){if(i&&0===e[1]){let t=ct(e.slice(5));const i=this.player.video.videoInfo;i&&i.width&&i.height&&t&&t.codecWidth&&t.codecHeight&&(t.codecWidth!==i.width||t.codecHeight!==i.height)&&(this.player.debug.warn("MediaSource",`width or height is update, width ${i.width}-> ${t.codecWidth}, height ${i.height}-> ${t.codecHeight}`),this.isInitInfo=!1,this.player.video.init=!1)}if(!this.isDecodeFirstIIframe&&i&&(this.isDecodeFirstIIframe=!0),this.isDecodeFirstIIframe){null===this.firstRenderTime&&(this.firstRenderTime=t);const r=t-this.firstRenderTime;this._decodeVideo(e,r,i,o)}else this.player.debug.warn("MediaSource","decodeVideo isDecodeFirstIIframe false")}else if(i&&0===e[1]){const o=15&e[0];if(r.video.updateVideoInfo({encTypeCode:o}),o===G)return void this.emit(V.mediaSourceH265NotSupport);r._times.decodeStart||(r._times.decodeStart=Se()),this._decodeConfigurationRecord(e,t,i,o),this.hasInit=!0}}_decodeConfigurationRecord(e,t,i,o){let r=e.slice(5),s={};s=ct(r);const a={id:1,type:"video",timescale:1e3,duration:0,avcc:r,codecWidth:s.codecWidth,codecHeight:s.codecHeight,videoType:s.videoType},n=ft.generateInitSegment(a);this.isAvc=!0,this.appendBuffer(n.buffer),this.sequenceNumber=0,this.cacheTrack=null,this.timeInit=!1}_decodeVideo(e,t,i,o){const r=this.player;let s=e.slice(5),a=s.byteLength;const n=r.video.$videoElement,A=r._opt.videoBufferDelay;if(n.buffered.length>1&&(this.removeBuffer(n.buffered.start(0),n.buffered.end(0)),this.timeInit=!1),this.dropping&&t-this.cacheTrack.dts>A)this.dropping=!1,this.cacheTrack={};else if(this.cacheTrack&&t>=this.cacheTrack.dts){let e=8+this.cacheTrack.size,i=new Uint8Array(e);i[0]=e>>>24&255,i[1]=e>>>16&255,i[2]=e>>>8&255,i[3]=255&e,i.set(ft.types.mdat,4),i.set(this.cacheTrack.data,8),this.cacheTrack.duration=t-this.cacheTrack.dts;let o=ft.moof(this.cacheTrack,this.cacheTrack.dts),s=new Uint8Array(o.byteLength+i.byteLength);s.set(o,0),s.set(i,o.byteLength),this.appendBuffer(s.buffer),r.handleRender(),r.updateStats({fps:!0,ts:t,buf:r.demux&&r.demux.delay||0}),r._times.videoStart||(r._times.videoStart=Se(),r.handlePlayToRenderTimes())}else r.debug.log("MediaSource","timeInit set false , cacheTrack = {}"),this.timeInit=!1,this.cacheTrack={};this.cacheTrack||(this.cacheTrack={}),this.cacheTrack.id=1,this.cacheTrack.sequenceNumber=++this.sequenceNumber,this.cacheTrack.size=a,this.cacheTrack.dts=t,this.cacheTrack.cts=o,this.cacheTrack.isKeyframe=i,this.cacheTrack.data=s,this.cacheTrack.flags={isLeading:0,dependsOn:i?2:1,isDependedOn:i?1:0,hasRedundancy:0,isNonSync:i?0:1},this.timeInit||1!==n.buffered.length||(r.debug.log("MediaSource","timeInit set true"),this.timeInit=!0,n.currentTime=n.buffered.end(0)),!this.isInitInfo&&n.videoWidth>0&&n.videoHeight>0&&(r.debug.log("MediaSource",`updateVideoInfo: ${n.videoWidth},${n.videoHeight}`),r.video.updateVideoInfo({width:n.videoWidth,height:n.videoHeight}),r.video.initCanvasViewSize(),this.isInitInfo=!0)}appendBuffer(e){const{debug:t,events:{proxy:i}}=this.player;if(null===this.sourceBuffer&&(this.sourceBuffer=this.mediaSource.addSourceBuffer(ee),i(this.sourceBuffer,"error",(e=>{t.error("MediaSource","sourceBuffer error",e),this.player.emit(F.mseSourceBufferError,e)}))),this.mediaSourceAppendBufferError)t.error("MediaSource","this.mediaSourceAppendBufferError is true");else if(this.mediaSourceAppendBufferFull)t.error("MediaSource","this.mediaSourceAppendBufferFull is true");else if(!1===this.sourceBuffer.updating&&this.isStateOpen)try{this.sourceBuffer.appendBuffer(e)}catch(e){t.warn("MediaSource","this.sourceBuffer.appendBuffer()",e.code,e),22===e.code?(this.stop(),this.mediaSourceAppendBufferFull=!0,this.emit(V.mediaSourceFull)):11===e.code?(this.stop(),this.mediaSourceAppendBufferError=!0,this.emit(V.mediaSourceAppendBufferError)):(t.error("MediaSource","appendBuffer error",e),this.player.emit(F.mseSourceBufferError,e))}else this.isStateClosed?this.player.emitError(V.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed"):this.isStateEnded?this.player.emitError(V.mseSourceBufferError,"mediaSource is closed"):!0===this.sourceBuffer.updating&&this.player.emit(F.mseSourceBufferBusy)}stop(){this.abortSourceBuffer(),this.removeSourceBuffer(),this.endOfStream()}dropSourceBuffer(e){const t=this.player.video.$videoElement;this.dropping=e,t.buffered.length>0&&t.buffered.end(0)-t.currentTime>1&&(this.player.debug.warn("MediaSource","dropSourceBuffer",`$video.buffered.end(0) is ${t.buffered.end(0)} - $video.currentTime ${t.currentTime}`),t.currentTime=t.buffered.end(0))}removeBuffer(e,t){if(this.isStateOpen&&!1===this.sourceBuffer.updating)try{this.sourceBuffer.remove(e,t)}catch(e){this.player.debug.warn("MediaSource","removeBuffer() error",e)}else this.player.debug.warn("MediaSource","removeBuffer() this.isStateOpen is",this.isStateOpen,"this.sourceBuffer.updating",this.sourceBuffer.updating)}endOfStream(){const e=this.player.video&&this.player.video.$videoElement;if(this.isStateOpen&&e&&e.readyState>=1)try{this.mediaSource.endOfStream()}catch(e){this.player.debug.warn("MediaSource","endOfStream() error",e)}}abortSourceBuffer(){this.isStateOpen&&this.sourceBuffer&&(this.sourceBuffer.abort(),this.sourceBuffer=null)}removeSourceBuffer(){if(!this.isStateClosed&&this.mediaSource&&this.sourceBuffer)try{this.mediaSource.removeSourceBuffer(this.sourceBuffer)}catch(e){this.player.debug.warn("MediaSource","removeSourceBuffer() error",e)}}getSourceBufferUpdating(){return this.sourceBuffer&&this.sourceBuffer.updating}}const yt=()=>"undefined"!=typeof navigator&&parseFloat((""+(/CPU.*OS ([0-9_]{3,4})[0-9_]{0,1}|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))<10&&!window.MSStream,vt=()=>"wakeLock"in navigator;class wt{constructor(e){if(this.player=e,this.enabled=!1,vt()){this._wakeLock=null;const e=()=>{null!==this._wakeLock&&"visible"===document.visibilityState&&this.enable()};document.addEventListener("visibilitychange",e),document.addEventListener("fullscreenchange",e)}else yt()?this.noSleepTimer=null:(this.noSleepVideo=document.createElement("video"),this.noSleepVideo.setAttribute("title","No Sleep"),this.noSleepVideo.setAttribute("playsinline",""),this._addSourceToVideo(this.noSleepVideo,"webm","data:video/webm;base64,GkXfowEAAAAAAAAfQoaBAUL3gQFC8oEEQvOBCEKChHdlYm1Ch4EEQoWBAhhTgGcBAAAAAAAVkhFNm3RALE27i1OrhBVJqWZTrIHfTbuMU6uEFlSua1OsggEwTbuMU6uEHFO7a1OsghV17AEAAAAAAACkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmAQAAAAAAAEUq17GDD0JATYCNTGF2ZjU1LjMzLjEwMFdBjUxhdmY1NS4zMy4xMDBzpJBlrrXf3DCDVB8KcgbMpcr+RImIQJBgAAAAAAAWVK5rAQAAAAAAD++uAQAAAAAAADLXgQFzxYEBnIEAIrWcg3VuZIaFVl9WUDiDgQEj44OEAmJaAOABAAAAAAAABrCBsLqBkK4BAAAAAAAPq9eBAnPFgQKcgQAitZyDdW5khohBX1ZPUkJJU4OBAuEBAAAAAAAAEZ+BArWIQOdwAAAAAABiZIEgY6JPbwIeVgF2b3JiaXMAAAAAAoC7AAAAAAAAgLUBAAAAAAC4AQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAQAAABUAAABlbmNvZGVyPUxhdmM1NS41Mi4xMDIBBXZvcmJpcyVCQ1YBAEAAACRzGCpGpXMWhBAaQlAZ4xxCzmvsGUJMEYIcMkxbyyVzkCGkoEKIWyiB0JBVAABAAACHQXgUhIpBCCGEJT1YkoMnPQghhIg5eBSEaUEIIYQQQgghhBBCCCGERTlokoMnQQgdhOMwOAyD5Tj4HIRFOVgQgydB6CCED0K4moOsOQghhCQ1SFCDBjnoHITCLCiKgsQwuBaEBDUojILkMMjUgwtCiJqDSTX4GoRnQXgWhGlBCCGEJEFIkIMGQcgYhEZBWJKDBjm4FITLQagahCo5CB+EIDRkFQCQAACgoiiKoigKEBqyCgDIAAAQQFEUx3EcyZEcybEcCwgNWQUAAAEACAAAoEiKpEiO5EiSJFmSJVmSJVmS5omqLMuyLMuyLMsyEBqyCgBIAABQUQxFcRQHCA1ZBQBkAAAIoDiKpViKpWiK54iOCISGrAIAgAAABAAAEDRDUzxHlETPVFXXtm3btm3btm3btm3btm1blmUZCA1ZBQBAAAAQ0mlmqQaIMAMZBkJDVgEACAAAgBGKMMSA0JBVAABAAACAGEoOogmtOd+c46BZDppKsTkdnEi1eZKbirk555xzzsnmnDHOOeecopxZDJoJrTnnnMSgWQqaCa0555wnsXnQmiqtOeeccc7pYJwRxjnnnCateZCajbU555wFrWmOmkuxOeecSLl5UptLtTnnnHPOOeecc84555zqxekcnBPOOeecqL25lpvQxTnnnE/G6d6cEM4555xzzjnnnHPOOeecIDRkFQAABABAEIaNYdwpCNLnaCBGEWIaMulB9+gwCRqDnELq0ehopJQ6CCWVcVJKJwgNWQUAAAIAQAghhRRSSCGFFFJIIYUUYoghhhhyyimnoIJKKqmooowyyyyzzDLLLLPMOuyssw47DDHEEEMrrcRSU2011lhr7jnnmoO0VlprrbVSSimllFIKQkNWAQAgAAAEQgYZZJBRSCGFFGKIKaeccgoqqIDQkFUAACAAgAAAAABP8hzRER3RER3RER3RER3R8RzPESVREiVREi3TMjXTU0VVdWXXlnVZt31b2IVd933d933d+HVhWJZlWZZlWZZlWZZlWZZlWZYgNGQVAAACAAAghBBCSCGFFFJIKcYYc8w56CSUEAgNWQUAAAIACAAAAHAUR3EcyZEcSbIkS9IkzdIsT/M0TxM9URRF0zRV0RVdUTdtUTZl0zVdUzZdVVZtV5ZtW7Z125dl2/d93/d93/d93/d93/d9XQdCQ1YBABIAADqSIymSIimS4ziOJElAaMgqAEAGAEAAAIriKI7jOJIkSZIlaZJneZaomZrpmZ4qqkBoyCoAABAAQAAAAAAAAIqmeIqpeIqoeI7oiJJomZaoqZoryqbsuq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq4LhIasAgAkAAB0JEdyJEdSJEVSJEdygNCQVQCADACAAAAcwzEkRXIsy9I0T/M0TxM90RM901NFV3SB0JBVAAAgAIAAAAAAAAAMybAUy9EcTRIl1VItVVMt1VJF1VNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVN0zRNEwgNWQkAkAEAkBBTLS3GmgmLJGLSaqugYwxS7KWxSCpntbfKMYUYtV4ah5RREHupJGOKQcwtpNApJq3WVEKFFKSYYyoVUg5SIDRkhQAQmgHgcBxAsixAsiwAAAAAAAAAkDQN0DwPsDQPAAAAAAAAACRNAyxPAzTPAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAA0DwP8DwR8EQRAAAAAAAAACzPAzTRAzxRBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAAsDwP8EQR0DwRAAAAAAAAACzPAzxRBDzRAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEOAAABBgIRQasiIAiBMAcEgSJAmSBM0DSJYFTYOmwTQBkmVB06BpME0AAAAAAAAAAAAAJE2DpkHTIIoASdOgadA0iCIAAAAAAAAAAAAAkqZB06BpEEWApGnQNGgaRBEAAAAAAAAAAAAAzzQhihBFmCbAM02IIkQRpgkAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAGHAAAAgwoQwUGrIiAIgTAHA4imUBAIDjOJYFAACO41gWAABYliWKAABgWZooAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAYcAAACDChDBQashIAiAIAcCiKZQHHsSzgOJYFJMmyAJYF0DyApgFEEQAIAAAocAAACLBBU2JxgEJDVgIAUQAABsWxLE0TRZKkaZoniiRJ0zxPFGma53meacLzPM80IYqiaJoQRVE0TZimaaoqME1VFQAAUOAAABBgg6bE4gCFhqwEAEICAByKYlma5nmeJ4qmqZokSdM8TxRF0TRNU1VJkqZ5niiKommapqqyLE3zPFEURdNUVVWFpnmeKIqiaaqq6sLzPE8URdE0VdV14XmeJ4qiaJqq6roQRVE0TdNUTVV1XSCKpmmaqqqqrgtETxRNU1Vd13WB54miaaqqq7ouEE3TVFVVdV1ZBpimaaqq68oyQFVV1XVdV5YBqqqqruu6sgxQVdd1XVmWZQCu67qyLMsCAAAOHAAAAoygk4wqi7DRhAsPQKEhKwKAKAAAwBimFFPKMCYhpBAaxiSEFEImJaXSUqogpFJSKRWEVEoqJaOUUmopVRBSKamUCkIqJZVSAADYgQMA2IGFUGjISgAgDwCAMEYpxhhzTiKkFGPOOScRUoox55yTSjHmnHPOSSkZc8w556SUzjnnnHNSSuacc845KaVzzjnnnJRSSuecc05KKSWEzkEnpZTSOeecEwAAVOAAABBgo8jmBCNBhYasBABSAQAMjmNZmuZ5omialiRpmud5niiapiZJmuZ5nieKqsnzPE8URdE0VZXneZ4oiqJpqirXFUXTNE1VVV2yLIqmaZqq6rowTdNUVdd1XZimaaqq67oubFtVVdV1ZRm2raqq6rqyDFzXdWXZloEsu67s2rIAAPAEBwCgAhtWRzgpGgssNGQlAJABAEAYg5BCCCFlEEIKIYSUUggJAAAYcAAACDChDBQashIASAUAAIyx1lprrbXWQGettdZaa62AzFprrbXWWmuttdZaa6211lJrrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmstpZRSSimllFJKKaWUUkoppZRSSgUA+lU4APg/2LA6wknRWGChISsBgHAAAMAYpRhzDEIppVQIMeacdFRai7FCiDHnJKTUWmzFc85BKCGV1mIsnnMOQikpxVZjUSmEUlJKLbZYi0qho5JSSq3VWIwxqaTWWoutxmKMSSm01FqLMRYjbE2ptdhqq7EYY2sqLbQYY4zFCF9kbC2m2moNxggjWywt1VprMMYY3VuLpbaaizE++NpSLDHWXAAAd4MDAESCjTOsJJ0VjgYXGrISAAgJACAQUooxxhhzzjnnpFKMOeaccw5CCKFUijHGnHMOQgghlIwx5pxzEEIIIYRSSsaccxBCCCGEkFLqnHMQQgghhBBKKZ1zDkIIIYQQQimlgxBCCCGEEEoopaQUQgghhBBCCKmklEIIIYRSQighlZRSCCGEEEIpJaSUUgohhFJCCKGElFJKKYUQQgillJJSSimlEkoJJYQSUikppRRKCCGUUkpKKaVUSgmhhBJKKSWllFJKIYQQSikFAAAcOAAABBhBJxlVFmGjCRcegEJDVgIAZAAAkKKUUiktRYIipRikGEtGFXNQWoqocgxSzalSziDmJJaIMYSUk1Qy5hRCDELqHHVMKQYtlRhCxhik2HJLoXMOAAAAQQCAgJAAAAMEBTMAwOAA4XMQdAIERxsAgCBEZohEw0JweFAJEBFTAUBigkIuAFRYXKRdXECXAS7o4q4DIQQhCEEsDqCABByccMMTb3jCDU7QKSp1IAAAAAAADADwAACQXAAREdHMYWRobHB0eHyAhIiMkAgAAAAAABcAfAAAJCVAREQ0cxgZGhscHR4fICEiIyQBAIAAAgAAAAAggAAEBAQAAAAAAAIAAAAEBB9DtnUBAAAAAAAEPueBAKOFggAAgACjzoEAA4BwBwCdASqwAJAAAEcIhYWIhYSIAgIABhwJ7kPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99YAD+/6tQgKOFggADgAqjhYIAD4AOo4WCACSADqOZgQArADECAAEQEAAYABhYL/QACIBDmAYAAKOFggA6gA6jhYIAT4AOo5mBAFMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAGSADqOFggB6gA6jmYEAewAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAj4AOo5mBAKMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAKSADqOFggC6gA6jmYEAywAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAz4AOo4WCAOSADqOZgQDzADECAAEQEAAYABhYL/QACIBDmAYAAKOFggD6gA6jhYIBD4AOo5iBARsAEQIAARAQFGAAYWC/0AAiAQ5gGACjhYIBJIAOo4WCATqADqOZgQFDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggFPgA6jhYIBZIAOo5mBAWsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAXqADqOFggGPgA6jmYEBkwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIBpIAOo4WCAbqADqOZgQG7ADECAAEQEAAYABhYL/QACIBDmAYAAKOFggHPgA6jmYEB4wAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIB5IAOo4WCAfqADqOZgQILADECAAEQEAAYABhYL/QACIBDmAYAAKOFggIPgA6jhYICJIAOo5mBAjMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAjqADqOFggJPgA6jmYECWwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYICZIAOo4WCAnqADqOZgQKDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggKPgA6jhYICpIAOo5mBAqsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCArqADqOFggLPgA6jmIEC0wARAgABEBAUYABhYL/QACIBDmAYAKOFggLkgA6jhYIC+oAOo5mBAvsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAw+ADqOZgQMjADECAAEQEAAYABhYL/QACIBDmAYAAKOFggMkgA6jhYIDOoAOo5mBA0sAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA0+ADqOFggNkgA6jmYEDcwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIDeoAOo4WCA4+ADqOZgQObADECAAEQEAAYABhYL/QACIBDmAYAAKOFggOkgA6jhYIDuoAOo5mBA8MAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA8+ADqOFggPkgA6jhYID+oAOo4WCBA+ADhxTu2sBAAAAAAAAEbuPs4EDt4r3gQHxghEr8IEK"),this._addSourceToVideo(this.noSleepVideo,"mp4","data:video/mp4;base64,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"),this.noSleepVideo.addEventListener("loadedmetadata",(()=>{this.noSleepVideo.duration<=1?this.noSleepVideo.setAttribute("loop",""):this.noSleepVideo.addEventListener("timeupdate",(()=>{this.noSleepVideo.currentTime>.5&&(this.noSleepVideo.currentTime=Math.random())}))})))}_addSourceToVideo(e,t,i){var o=document.createElement("source");o.src=i,o.type=`video/${t}`,e.appendChild(o)}get isEnabled(){return this.enabled}enable(){const e=this.player.debug;if(vt())return navigator.wakeLock.request("screen").then((t=>{this._wakeLock=t,this.enabled=!0,e.log("wakeLock","Wake Lock active."),this._wakeLock.addEventListener("release",(()=>{e.log("wakeLock","Wake Lock released.")}))})).catch((t=>{throw this.enabled=!1,e.error("wakeLock",`${t.name}, ${t.message}`),t}));if(yt())return this.disable(),this.noSleepTimer=window.setInterval((()=>{document.hidden||(window.location.href=window.location.href.split("#")[0],window.setTimeout(window.stop,0))}),15e3),this.enabled=!0,Promise.resolve();return this.noSleepVideo.play().then((e=>(this.enabled=!0,e))).catch((e=>{throw this.enabled=!1,e}))}disable(){const e=this.player.debug;vt()?(this._wakeLock&&this._wakeLock.release(),this._wakeLock=null):yt()?this.noSleepTimer&&(e.warn("wakeLock","NoSleep now disabled for older iOS devices."),window.clearInterval(this.noSleepTimer),this.noSleepTimer=null):this.noSleepVideo.pause(),this.enabled=!1}}class St extends Ue{constructor(e,t){var i;super(),this.$container=e,this._opt=Object.assign({},m,t),this.debug=new fe(this),this.debug.log("Player","init"),this._opt.forceNoOffscreen=!0,(Te()||/ipad|android(?!.*mobile)|tablet|kindle|silk/i.test(window.navigator.userAgent.toLowerCase()))&&(this.debug.log("Player","isMobile and set _opt.controlAutoHide false"),this._opt.controlAutoHide=!1),this._opt.autoUseSystemFullScreen&&(ye.isEnabled&&this._opt.useWebFullScreen&&(this.debug.log("Player","screenfull.isEnabled is true and _opt.useWebFullScreen is true , set _opt.useWebFullScreen false"),this._opt.useWebFullScreen=!1),Me(ye.isEnabled)&&Me(this._opt.useWebFullScreen)&&(this.debug.log("Player","screenfull.isEnabled is false and _opt.useWebFullScreen is false , set _opt.useWebFullScreen true"),this._opt.useWebFullScreen=!0)),this._opt.useWCS&&(this._opt.useWCS="VideoEncoder"in window),this._opt.useMSE&&(this._opt.useMSE=window.MediaSource&&window.MediaSource.isTypeSupported(ee)),this._opt.wcsUseVideoRender&&(this._opt.wcsUseVideoRender=window.MediaStreamTrackGenerator&&"function"==typeof window.MediaStreamTrackGenerator),this._opt.useMSE&&(this._opt.useWCS&&this.debug.log("Player","useWCS set true->false"),this._opt.forceNoOffscreen||this.debug.log("Player","forceNoOffscreen set false->true"),this._opt.useWCS=!1,this._opt.forceNoOffscreen=!0),this._opt.forceNoOffscreen||("undefined"==typeof OffscreenCanvas?(this._opt.forceNoOffscreen=!0,this._opt.useOffscreen=!1):this._opt.useOffscreen=!0),this._opt.hasAudio||(this._opt.operateBtns.audio=!1),this._opt.hasControl=this._hasControl(),this._loading=!1,this._playing=!1,this._hasLoaded=!1,this._destroyed=!1,this._closed=!1,this._checkHeartTimeout=null,this._checkLoadingTimeout=null,this._checkStatsInterval=null,this._startBpsTime=null,this._isPlayingBeforePageHidden=!1,this._stats={buf:0,fps:0,abps:0,vbps:0,ts:0},this._times={playInitStart:"",playStart:"",streamStart:"",streamResponse:"",demuxStart:"",decodeStart:"",videoStart:"",playTimestamp:"",streamTimestamp:"",streamResponseTimestamp:"",demuxTimestamp:"",decodeTimestamp:"",videoTimestamp:"",allTimestamp:""},this._videoTimestamp=0,this._audioTimestamp=0,i=this,Object.defineProperty(i,"rect",{get:()=>{const e=i.$container.getBoundingClientRect();return e.width=Math.max(e.width,i.$container.clientWidth),e.height=Math.max(e.height,i.$container.clientHeight),e}}),["bottom","height","left","right","top","width"].forEach((e=>{Object.defineProperty(i,e,{get:()=>i.rect[e]})})),this.events=new be(this),this.video=new Xe(this),this._opt.hasAudio&&(this.audio=new Ze(this)),this.recorder=new it(this),this._onlyMseOrWcsVideo()?this.loaded=!0:this.decoderWorker=new ot(this),this.stream=null,this.demux=null,this._lastVolume=null,this._opt.useWCS&&(this.webcodecsDecoder=new lt(this),this.loaded=!0),this._opt.useMSE&&(this.mseDecoder=new bt(this),this.loaded=!0),this.control=new gt(this),Te()&&(this.keepScreenOn=new wt(this)),(e=>{try{const t=t=>{Fe(t)===e.$container&&(e.emit(O.fullscreen,e.fullscreen),e.fullscreen?e._opt.useMSE&&e.resize():e.resize())};ye.on("change",t),e.events.destroys.push((()=>{ye.off("change",t)}))}catch(e){}if(e.on(F.decoderWorkerInit,(()=>{e.debug.log("player","has loaded"),e.loaded=!0})),e.on(F.play,(()=>{e.loading=!1})),e.on(F.fullscreen,(t=>{if(t)try{ye.request(e.$container).then((()=>{})).catch((t=>{Te()&&e._opt.useWebFullScreen&&(e.webFullscreen=!0)}))}catch(t){Te()&&e._opt.useWebFullScreen&&(e.webFullscreen=!0)}else try{ye.exit().then((()=>{e.webFullscreen&&(e.webFullscreen=!1)})).catch((()=>{e.webFullscreen=!1}))}catch(t){e.webFullscreen=!1}})),Te()&&e.on(F.webFullscreen,(t=>{t?e.$container.classList.add("jessibuca-fullscreen-web"):e.$container.classList.remove("jessibuca-fullscreen-web"),e.emit(O.fullscreen,e.fullscreen)})),e.on(F.resize,(()=>{e.video&&e.video.resize()})),e._opt.debug){const t=[F.timeUpdate],i=[F.stats,F.playToRenderTimes,F.audioInfo,F.videoInfo];Object.keys(F).forEach((o=>{e.on(F[o],(r=>{t.includes(o)||(i.includes(o)&&(r=JSON.stringify(r)),e.debug.log("player events",F[o],r))}))})),Object.keys(V).forEach((t=>{e.on(V[t],(i=>{e.debug.log("player event error",V[t],i)}))}))}})(this),(e=>{const{_opt:t,debug:i,events:{proxy:o}}=e;t.supportDblclickFullscreen&&o(e.$container,"dblclick",(t=>{const i=Fe(t).nodeName.toLowerCase();"canvas"!==i&&"video"!==i||(e.fullscreen=!e.fullscreen)})),o(document,"visibilitychange",(()=>{t.hiddenAutoPause&&(i.log("visibilitychange",document.visibilityState,e._isPlayingBeforePageHidden),"visible"===document.visibilityState?e._isPlayingBeforePageHidden&&e.play():(e._isPlayingBeforePageHidden=e.playing,e.playing&&e.pause()))})),o(window,"fullscreenchange",(()=>{null!==e.keepScreenOn&&"visible"===document.visibilityState&&e.enableWakeLock()}))})(this),this.debug.log("Player","init and version is",p),this._opt.useWCS&&this.debug.log("Player","use WCS"),this._opt.useMSE&&this.debug.log("Player","use MSE"),this._opt.useOffscreen&&this.debug.log("Player","use offscreen");try{this.debug.log("Player options",JSON.stringify(this._opt))}catch(e){}}async destroy(){this._destroyed=!0,this._loading=!1,this._playing=!1,this._hasLoaded=!1,this._lastVolume=null,this._times={playInitStart:"",playStart:"",streamStart:"",streamResponse:"",demuxStart:"",decodeStart:"",videoStart:"",playTimestamp:"",streamTimestamp:"",streamResponseTimestamp:"",demuxTimestamp:"",decodeTimestamp:"",videoTimestamp:"",allTimestamp:""},this.decoderWorker&&(await this.decoderWorker.destroy(),this.decoderWorker=null),this.video&&(this.video.destroy(),this.video=null),this.audio&&(this.audio.destroy(),this.audio=null),this.stream&&(await this.stream.destroy(),this.stream=null),this.recorder&&(this.recorder.destroy(),this.recorder=null),this.control&&(this.control.destroy(),this.control=null),this.webcodecsDecoder&&(this.webcodecsDecoder.destroy(),this.webcodecsDecoder=null),this.mseDecoder&&(this.mseDecoder.destroy(),this.mseDecoder=null),this.demux&&(this.demux.destroy(),this.demux=null),this.events&&(this.events.destroy(),this.events=null),this.clearCheckHeartTimeout(),this.clearCheckLoadingTimeout(),this.clearStatsInterval(),this.releaseWakeLock(),this.keepScreenOn=null,this.resetStats(),this._audioTimestamp=0,this._videoTimestamp=0,this.emit("destroy"),this.off(),this.debug.log("play","destroy end")}set fullscreen(e){Te()&&this._opt.useWebFullScreen?(this.emit(F.webFullscreen,e),setTimeout((()=>{this.updateOption({rotate:e?270:0}),this.resize()}),10)):this.emit(F.fullscreen,e)}get fullscreen(){return ye.isFullscreen||this.webFullscreen}set webFullscreen(e){this.emit(F.webFullscreen,e)}get webFullscreen(){return this.$container.classList.contains("jessibuca-fullscreen-web")}set loaded(e){this._hasLoaded=e}get loaded(){return this._hasLoaded}set playing(e){e&&(this.loading=!1),this.playing!==e&&(this._playing=e,this.emit(F.playing,e),this.emit(F.volumechange,this.volume),e?this.emit(F.play):this.emit(F.pause))}get playing(){return this._playing}get volume(){return this.audio&&this.audio.volume||0}set volume(e){e!==this.volume&&(this.audio&&this.audio.setVolume(e),this._lastVolume=e)}get lastVolume(){return this._lastVolume}set loading(e){this.loading!==e&&(this._loading=e,this.emit(F.loading,this._loading))}get loading(){return this._loading}set recording(e){e?this.playing&&this.recorder&&this.recorder.startRecord():this.recorder&&this.recorder.stopRecordAndSave()}get recording(){return!!this.recorder&&this.recorder.recording}set audioTimestamp(e){null!==e&&(this._audioTimestamp=e)}get audioTimestamp(){return this._audioTimestamp}set videoTimestamp(e){null!==e&&(this._videoTimestamp=e,this._opt.useWCS||this._opt.useMSE||this.audioTimestamp&&this.videoTimestamp&&this.audio&&this.audio.emit(F.videoSyncAudio,{audioTimestamp:this.audioTimestamp,videoTimestamp:this.videoTimestamp,diff:this.audioTimestamp-this.videoTimestamp}))}get videoTimestamp(){return this._videoTimestamp}get isDebug(){return!0===this._opt.debug}updateOption(e){this._opt=Object.assign({},this._opt,e)}init(){return new Promise(((e,t)=>{this.stream||(this.stream=new $e(this)),this.audio||this._opt.hasAudio&&(this.audio=new Ze(this)),this.demux||(this.demux=new nt(this)),this._opt.useWCS&&(this.webcodecsDecoder||(this.webcodecsDecoder=new lt(this))),this._opt.useMSE&&(this.mseDecoder||(this.mseDecoder=new bt(this))),this.decoderWorker||this._onlyMseOrWcsVideo()?e():(this.decoderWorker=new ot(this),this.debug.log("Player","waiting decoderWorker init"),this.once(F.decoderWorkerInit,(()=>{this.debug.log("Player","decoderWorker init success"),this.loaded=!0,e()})))}))}play(e,t){return new Promise(((i,o)=>{if(!e&&!this._opt.url)return o();this._closed=!1,this.loading=!0,this.playing=!1,this._times.playInitStart=Se(),e||(e=this._opt.url),this._opt.url=e,this.clearCheckHeartTimeout(),this.init().then((()=>{this._times.playStart=Se(),this._opt.isNotMute&&this.mute(!1),this.webcodecsDecoder&&this.webcodecsDecoder.once(V.webcodecsH265NotSupport,(()=>{this.emit(V.webcodecsH265NotSupport),this._opt.autoWasm||this.emit(F.error,V.webcodecsH265NotSupport)})),this.mseDecoder&&(this.mseDecoder.once(V.mediaSourceH265NotSupport,(()=>{this.emit(V.mediaSourceH265NotSupport),this._opt.autoWasm||this.emit(F.error,V.mediaSourceH265NotSupport)})),this.mseDecoder.once(V.mediaSourceFull,(()=>{this.emitError(V.mediaSourceFull)})),this.mseDecoder.once(V.mediaSourceAppendBufferError,(()=>{this.emitError(V.mediaSourceAppendBufferError)})),this.mseDecoder.once(V.mediaSourceBufferListLarge,(()=>{this.emitError(V.mediaSourceBufferListLarge)})),this.mseDecoder.once(V.mediaSourceAppendBufferEndTimeout,(()=>{this.emitError(V.mediaSourceAppendBufferEndTimeout)}))),this.enableWakeLock(),this.stream.fetchStream(e,t),this.checkLoadingTimeout(),this.stream.once(V.fetchError,(e=>{this.emitError(V.fetchError,e)})),this.stream.once(V.websocketError,(e=>{this.emitError(V.websocketError,e)})),this.stream.once(F.streamEnd,(e=>{this.emitError(F.streamEnd,e)})),this.stream.once(F.streamSuccess,(()=>{i(),this._times.streamResponse=Se(),this.video.play(),this.checkStatsInterval()}))})).catch((e=>{o(e)}))}))}close(){return new Promise(((e,t)=>{this._close().then((()=>{this.video&&this.video.clearView(),e()}))}))}resumeAudioAfterPause(){this.lastVolume&&(this.volume=this.lastVolume)}_close(){return new Promise(((e,t)=>{this._closed=!0,this.stream&&(this.stream.destroy(),this.stream=null),this.demux&&(this.demux.destroy(),this.demux=null),this.decoderWorker&&(this.decoderWorker.destroy(),this.decoderWorker=null),this.webcodecsDecoder&&(this.webcodecsDecoder.destroy(),this.webcodecsDecoder=null),this.mseDecoder&&(this.mseDecoder.destroy(),this.mseDecoder=null),this.audio&&(this.audio.destroy(),this.audio=null),this.clearCheckHeartTimeout(),this.clearCheckLoadingTimeout(),this.clearStatsInterval(),this.playing=!1,this.loading=!1,this.recording=!1,this.video&&(this.video.resetInit(),this.video.pause(!0)),this.releaseWakeLock(),this.resetStats(),this._audioTimestamp=0,this._videoTimestamp=0,this._times={playInitStart:"",playStart:"",streamStart:"",streamResponse:"",demuxStart:"",decodeStart:"",videoStart:"",playTimestamp:"",streamTimestamp:"",streamResponseTimestamp:"",demuxTimestamp:"",decodeTimestamp:"",videoTimestamp:"",allTimestamp:""},setTimeout((()=>{e()}),0)}))}pause(e=!1){return e?this.close():this._close()}mute(e){if(this.audio){const t=this.audio.getLastVolume();this.audio.mute(e),this._lastVolume=e?0:t||.5}}resize(){this.video.resize()}startRecord(e,t){this.recording||(this.recorder.setFileName(e,t),this.recording=!0)}stopRecordAndSave(){this.recording&&(this.recording=!1)}_hasControl(){let e=!1,t=!1;return Object.keys(this._opt.operateBtns).forEach((e=>{this._opt.operateBtns[e]&&(t=!0)})),(this._opt.showBandwidth||this._opt.text||t)&&(e=!0),e}_onlyMseOrWcsVideo(){return!1===this._opt.hasAudio&&(this._opt.useMSE||this._opt.useWCS&&!this._opt.useOffscreen)}checkHeart(){this.clearCheckHeartTimeout(),this.checkHeartTimeout()}checkHeartTimeout(){this._checkHeartTimeout=setTimeout((()=>{if(this.playing){if(0!==this._stats.fps)return;if(this.isDestroyedOrClosed())return;this.pause().then((()=>{this.emit(F.timeout,F.delayTimeout),this.emit(F.delayTimeout)}))}}),1e3*this._opt.heartTimeout)}checkStatsInterval(){this._checkStatsInterval=setInterval((()=>{this.updateStats()}),1e3)}clearCheckHeartTimeout(){this._checkHeartTimeout&&(clearTimeout(this._checkHeartTimeout),this._checkHeartTimeout=null)}checkLoadingTimeout(){this._checkLoadingTimeout=setTimeout((()=>{this.playing||this.isDestroyedOrClosed()||this.pause().then((()=>{this.emit(F.timeout,F.loadingTimeout),this.emit(F.loadingTimeout)}))}),1e3*this._opt.loadingTimeout)}clearCheckLoadingTimeout(){this._checkLoadingTimeout&&(clearTimeout(this._checkLoadingTimeout),this._checkLoadingTimeout=null)}clearStatsInterval(){this._checkStatsInterval&&(clearInterval(this._checkStatsInterval),this._checkStatsInterval=null)}handleRender(){this.isDestroyedOrClosed()||(this.loading&&(this.emit(F.start),this.loading=!1,this.clearCheckLoadingTimeout()),this.playing||(this.playing=!0),this.checkHeart())}updateStats(e={}){if(this.isDestroyedOrClosed())return;this._startBpsTime||(this._startBpsTime=Se()),je(e.ts)&&(this._stats.ts=e.ts),je(e.buf)&&(this._stats.buf=e.buf),e.fps&&(this._stats.fps+=1),e.abps&&(this._stats.abps+=e.abps),e.vbps&&(this._stats.vbps+=e.vbps);const t=Se();t-this._startBpsTime<1e3||(this.emit(F.stats,this._stats),this.emit(F.performance,function(e){let t=0;return e>=24?t=2:e>=15&&(t=1),t}(this._stats.fps)),this._stats.fps=0,this._stats.abps=0,this._stats.vbps=0,this._startBpsTime=t)}resetStats(){this._startBpsTime=null,this._stats={buf:0,fps:0,abps:0,vbps:0,ts:0}}enableWakeLock(){this._opt.keepScreenOn&&this.keepScreenOn&&this.keepScreenOn.enable()}releaseWakeLock(){this._opt.keepScreenOn&&this.keepScreenOn&&this.keepScreenOn.disable()}handlePlayToRenderTimes(){if(this.isDestroyedOrClosed())return;const e=this._times;e.playTimestamp=e.playStart-e.playInitStart,e.streamTimestamp=e.streamStart-e.playStart,e.streamResponseTimestamp=e.streamResponse-e.streamStart,e.demuxTimestamp=e.demuxStart-e.streamResponse,e.decodeTimestamp=e.decodeStart-e.demuxStart,e.videoTimestamp=e.videoStart-e.decodeStart,e.allTimestamp=e.videoStart-e.playInitStart,this.emit(F.playToRenderTimes,e)}getOption(){return this._opt}emitError(e,t=""){this.emit(F.error,e,t),this.emit(e,t)}isControlBarShow(){const e=this._opt.hasControl,t=this._opt.controlAutoHide;let i=e&&!t;return i&&this.control&&(i=this.control.getBarIsShow()),i}getControlBarShow(){let e=!1;return this.control&&(e=this.control.getBarIsShow()),e}toggleControlBar(e){this.control&&(this.control.toggleBar(e),this.resize())}isDestroyed(){return this._destroyed}isClosed(){return this._closed}isDestroyedOrClosed(){return this.isDestroyed()||this.isClosed()}}class Et extends Ue{constructor(e){super();let t=e,i=e.container;if("string"==typeof e.container&&(i=document.querySelector(e.container)),!i)throw new Error("Jessibuca need container option");if("CANVAS"===i.nodeName||"VIDEO"===i.nodeName)throw new Error(`Jessibuca container type can not be ${i.nodeName} type`);if(t.videoBuffer>=t.heartTimeout)throw new Error(`Jessibuca videoBuffer ${t.videoBuffer}s must be less than heartTimeout ${t.heartTimeout}s`);if(this._checkHasCreated(i))throw new Error("Jessibuca container has been created and can not be created again",i);if(t.videoBuffer>10&&console.warn("Jessibuca",`videoBuffer ${t.videoBuffer}s is too long, will black screen for ${t.videoBuffer}s , it is recommended to set it to less than 10s`),!i.classList)throw new Error("Jessibuca container option must be DOM Element");var o,r,s;i.classList.add("jessibuca-container"),o=i,r=h,s="xxxxxxxxxxxx4xxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)})),o&&(o.dataset?o.dataset[r]=s:o.setAttribute("data-"+r,s)),delete t.container,t.forceNoOffscreen=!0,Te()&&(t.controlAutoHide=!1),je(t.videoBuffer)&&(t.videoBuffer=1e3*Number(t.videoBuffer)),je(t.timeout)&&(xe(t.loadingTimeout)&&(t.loadingTimeout=t.timeout),xe(t.heartTimeout)&&(t.heartTimeout=t.timeout)),this._opt=t,this.$container=i,this._loadingTimeoutReplayTimes=0,this._heartTimeoutReplayTimes=0,this.initDecoderWorkerTimeout=null,this._destroyed=!1,this.events=new be(this),this.debug=new fe(this),this._initPlayer(i,t),console.log(`Jessibuca version: ${p}`)}async destroy(){var e,t;this._destroyed=!0,this.off(),this._clearInitDecoderWorkerTimeout(),this.player&&(await this.player.destroy(),this.player=null),this.events&&(this.events.destroy(),this.events=null),this.$container&&(this.$container.classList.remove("jessibuca-container"),this.$container.classList.remove("jessibuca-fullscreen-web"),e=this.$container,t=h,e&&(e.dataset?delete e.dataset[t]:e.removeAttribute("data-"+t)),this.$container=null),this._opt={},this._loadingTimeoutReplayTimes=0,this._heartTimeoutReplayTimes=0}_initPlayer(e,t){this.player=new St(e,t);try{this.debug.log("jessibuca","_initPlayer",JSON.stringify(this.player.getOption()))}catch(e){}this._bindEvents()}_resetPlayer(e={}){this.player.destroy(),this.player=null,this._opt=Object.assign(this._opt,e),this._opt.url="",this._initPlayer(this.$container,this._opt)}_bindEvents(){Object.keys(O).forEach((e=>{this.player.on(O[e],(t=>{this.emit(e,t)}))}))}isDestroyed(){return this._destroyed}setDebug(e){this.player.updateOption({debug:!!e})}mute(){this.player.mute(!0)}cancelMute(){this.player.mute(!1)}setVolume(e){this.player.volume=e}audioResume(){this.player.audio&&this.player.audio.audioEnabled(!0)}setTimeout(e){e=Number(e),this.player.updateOption({timeout:e,loadingTimeout:e,heartTimeout:e})}setScaleMode(e){let t={isFullResize:!1,isResize:!1};switch(e=Number(e)){case z:t.isFullResize=!1,t.isResize=!1;break;case Y:t.isFullResize=!1,t.isResize=!0;break;case X:t.isFullResize=!0,t.isResize=!0}this.player.updateOption(t),this.resize()}pause(){return new Promise(((e,t)=>{this.player?this.player.pause().then((()=>{e()})).catch((e=>{t(e)})):t("player is null")}))}async close(){return await this.destroy(),!0}clearView(){this.player.video.clearView()}play(e,t={}){return new Promise(((i,o)=>{if(!this.isDestroyed())return e||this._opt.url?void(e?this._opt.url?e===this._opt.url?this.player.playing?i():(this.clearView(),this.player.play(this._opt.url,this._opt.playOptions).then((()=>{i(),this.player.resumeAudioAfterPause()})).catch((e=>{this.debug.warn("jessibuca","pause -> play and play error",e),this.player.pause().then((()=>{o(e)}))}))):this.player.pause().then((()=>{this.clearView(),this._play(e,t).then((()=>{i()})).catch((e=>{this.debug.warn("jessibuca","this._play error",e),o(e)}))})).catch((e=>{this.debug.warn("jessibuca","this._opt.url is null and pause error",e),o(e)})):this._play(e,t).then((()=>{i()})).catch((e=>{this.debug.warn("jessibuca","this._play error",e),o(e)})):this.player.play(this._opt.url,this._opt.playOptions).then((()=>{i(),this.player.resumeAudioAfterPause()})).catch((e=>{this.debug.warn("jessibuca","url is null and play error",e),this.player.pause().then((()=>{o(e)}))}))):(this.emit(F.error,V.playError),void o("play url is empty"));o("Jessibuca is destroyed")}))}_play(e,t={}){return new Promise(((i,o)=>{this._opt.url=e,this._opt.playOptions=t;const r=0===e.indexOf("http"),s=r?A:n,a=r||-1!==e.indexOf(".flv")||this.player._opt.isFlv?d:c;this.player.updateOption({protocol:s,demuxType:a}),this.player.once(V.webglAlignmentError,(()=>{this.pause().then((()=>{this.debug.log("Jessibuca","webglAlignmentError"),this._resetPlayer({openWebglAlignment:!0}),this.play(e,t).then((()=>{this.debug.log("Jessibuca","webglAlignmentError and play success")})).catch((()=>{this.debug.log("Jessibuca","webglAlignmentError and play error")}))}))})),this.player.once(V.webglContextLostError,(()=>{this.pause().then((()=>{this.debug.log("Jessibuca","webglContextLostError and paused")})).catch((()=>{this.debug.warn("Jessibuca","webglContextLostError and paused error")}))})),this.player.once(V.webglInitError,(()=>{this.pause().then((()=>{this.debug.log("Jessibuca","webglInitError and paused")})).catch((()=>{this.debug.warn("Jessibuca","webglInitError and paused error")}))})),this.player.once(V.mediaSourceH265NotSupport,(()=>{this.pause().then((()=>{this.player._opt.autoWasm?(this.debug.log("Jessibuca","auto wasm [mse-> wasm] reset player and play"),this._resetPlayer({useMSE:!1,useWCS:!1}),this.play(e,t).then((()=>{this.debug.log("Jessibuca","auto wasm [mse-> wasm] reset player and play success")})).catch((()=>{this.debug.log("Jessibuca","auto wasm [mse-> wasm] reset player and play error")}))):this.debug.log("Jessibuca","media source h265 not support and paused")}))})),this.player.once(V.mediaSourceFull,(()=>{this.pause().then((()=>{this.debug.log("Jessibuca","media source full"),this._resetPlayer(),this.play(e,t).then((()=>{this.debug.log("Jessibuca","media source full and reset player and play success")})).catch((()=>{this.debug.warn("Jessibuca","media source full and reset player and play error")}))}))})),this.player.once(V.mediaSourceAppendBufferError,(()=>{this.pause().then((()=>{this.debug.log("Jessibuca","media source append buffer error"),this._resetPlayer(),this.play(e,t).then((()=>{this.debug.log("Jessibuca","media source append buffer error and reset player and play success")})).catch((()=>{this.debug.warn("Jessibuca","media source append buffer error and reset player and play error")}))}))})),this.player.once(V.mediaSourceBufferListLarge,(()=>{this.pause().then((()=>{this.debug.log("Jessibuca","media source buffer list large"),this._resetPlayer(),this.play(e,t).then((()=>{this.debug.log("Jessibuca","media source buffer list large and reset player and play success")})).catch((()=>{this.debug.warn("Jessibuca","media source buffer list large and reset player and play error")}))}))})),this.player.once(V.mediaSourceAppendBufferEndTimeout,(()=>{this.pause().then((()=>{this.debug.log("Jessibuca","media source append buffer end timeout"),this._resetPlayer(),this.play(e,t).then((()=>{this.debug.log("Jessibuca","media source append buffer end timeout and reset player and play success")})).catch((()=>{this.debug.warn("Jessibuca","media source append buffer end timeout and reset player and play error")}))}))})),this.player.once(V.mseSourceBufferError,(()=>{this.pause().then((()=>{this.player._opt.autoWasm?(this.debug.log("Jessibuca","auto wasm [mse-> wasm] reset player and play"),this._resetPlayer({useMSE:!1}),this.play(e,t).then((()=>{this.debug.log("Jessibuca","auto wasm [mse-> wasm] reset player and play success")})).catch((()=>{this.debug.warn("Jessibuca","auto wasm [mse-> wasm] reset player and play error")}))):this.debug.log("Jessibuca","mse source buffer error and paused")}))})),this.player.once(V.webcodecsH265NotSupport,(()=>{this.pause().then((()=>{this.player._opt.autoWasm?(this.debug.log("Jessibuca","auto wasm [wcs-> wasm] reset player and play"),this._resetPlayer({useWCS:!1,useMSE:!1}),this.play(e,t).then((()=>{this.debug.log("Jessibuca","auto wasm [wcs-> wasm] reset player and play success")})).catch((()=>{this.debug.warn("Jessibuca","auto wasm [wcs-> wasm] reset player and play error")}))):this.debug.log("Jessibuca","webcodecs h265 not support and paused")}))})),this.player.once(V.webcodecsWidthOrHeightChange,(()=>{this.pause().then((()=>{this.debug.log("Jessibuca","webcodecs Width Or Height Change reset player and play"),this._resetPlayer({useWCS:!0}),this.play(e,t).then((()=>{this.debug.log("Jessibuca","webcodecs Width Or Height Change reset player and play success")})).catch((()=>{this.debug.warn("Jessibuca","webcodecs Width Or Height Change reset player and play error")}))}))})),this.player.once(V.webcodecsDecodeError,(()=>{this.pause().then((()=>{this.player._opt.autoWasm?(this.debug.log("Jessibuca","webcodecs decode error reset player and play"),this._resetPlayer({useWCS:!1}),this.play(e,t).then((()=>{this.debug.log("Jessibuca","webcodecs decode error reset player and play success")})).catch((()=>{this.debug.warn("Jessibuca","webcodecs decode error reset player and play error")}))):this.debug.log("Jessibuca","webcodecs decode error and paused")}))})),this.player.once(V.webcodecsConfigureError,(()=>{this.pause().then((()=>{this.player._opt.autoWasm?(this.debug.log("Jessibuca","webcodecs Configure error reset player and play"),this._resetPlayer({useWCS:!1}),this.play(e,t).then((()=>{this.debug.log("Jessibuca","webcodecs Configure error reset player and play success")})).catch((()=>{this.debug.warn("Jessibuca","webcodecs Configure error reset player and play error")}))):this.debug.log("Jessibuca","webcodecs Configure error and paused")}))})),this.player.once(V.wasmDecodeError,(()=>{this.player._opt.wasmDecodeErrorReplay?this.pause().then((()=>{this.debug.log("Jessibuca","wasm decode error and reset player and play"),this._resetPlayer({useWCS:!1}),this.play(e,t).then((()=>{this.debug.log("Jessibuca","wasm decode error and reset player and play success")})).catch((e=>{this.debug.warn("Jessibuca","wasm decode error and reset player and play error")}))})):this.pause().then((()=>{this.debug.log("Jessibuca","wasm decode error and paused")})).catch((e=>{this.debug.warn("Jessibuca","wasm decode error and paused error",e)}))})),this.player.once(V.fetchError,(()=>{this.pause().then((()=>{this.debug.log("Jessibuca","fetch error and pause play")})).catch((e=>{this.debug.warn("Jessibuca","fetch error and pause play error",e)}))})),this.player.once(V.websocketError,(()=>{this.pause().then((()=>{this.debug.log("Jessibuca","websocket Error and pause play")})).catch((e=>{this.debug.warn("Jessibuca","websocket Error and pause play error",e)}))})),this.player.once(F.streamEnd,(()=>{this.pause().then((()=>{this.debug.log("Jessibuca","stream End and pause play")})).catch((e=>{this.debug.warn("Jessibuca","stream End and pause play error",e)}))})),this.player.on(F.delayTimeout,(()=>{this.player._opt.heartTimeoutReplay&&(this._heartTimeoutReplayTimes{this._heartTimeoutReplayTimes=0})).catch((()=>{})))})),this.player.on(F.loadingTimeout,(()=>{this.player._opt.loadingTimeoutReplay&&(this._loadingTimeoutReplayTimes{this._loadingTimeoutReplayTimes=0})).catch((()=>{})))})),this.hasLoaded()?this.player.play(e,t).then((()=>{i()})).catch((e=>{this.debug.warn("Jessibuca","hasLoaded and play error",e),this.player&&this.player.pause().then((()=>{o(e)}))})):(this.debug.log("Jessibuca","_play ant waiting decoderWorkerInit"),this._checkInitDecoderWorkerTimeout(),this.player.once(F.decoderWorkerInit,(()=>{this._clearInitDecoderWorkerTimeout(),this.isDestroyed()||(this.debug.log("Jessibuca","_play decoderWorkerInit success and play"),this.player.play(e,t).then((()=>{i()})).catch((e=>{this.debug.warn("Jessibuca","decoderWorkerInit and play error",e),this.player&&this.player.pause().then((()=>{o(e)}))})))})))}))}resize(){this.player.resize()}setBufferTime(e){e=Number(e),this.player.updateOption({videoBuffer:1e3*e}),this.player.decoderWorker&&this.player.decoderWorker.updateWorkConfig({key:"videoBuffer",value:1e3*e})}setRotate(e){e=parseInt(e,10);this.player._opt.rotate!==e&&-1!==[0,90,180,270].indexOf(e)&&(this.player.updateOption({rotate:e}),this.resize())}hasLoaded(){return this.player.loaded}setKeepScreenOn(){this.player.updateOption({keepScreenOn:!0})}setFullscreen(e){const t=!!e;this.player.fullscreen!==t&&(this.player.fullscreen=t)}screenshot(e,t,i,o){return this.player.video?this.player.video.screenshot(e,t,i,o):""}startRecord(e,t){return new Promise(((i,o)=>{this.player.playing?(this.player.startRecord(e,t),i()):o()}))}stopRecordAndSave(){this.player.recording&&this.player.stopRecordAndSave()}isPlaying(){return!!this.player&&this.player.playing}isMute(){return!this.player.audio||this.player.audio.isMute}isRecording(){return this.player.recorder.recording}_checkHasCreated(e){if(!e)return!1;const t=function(e,t){return e?e.dataset?e.dataset[t]:e.getAttribute("data-"+t):""}(e,h);return!!t}toggleControlBar(e){this.isDestroyed()||this.player&&this.player.toggleControlBar(e)}getControlBarShow(){if(this.isDestroyed())return!1;let e=!1;return this.player&&(e=this.player.getControlBarShow()),e}_clearInitDecoderWorkerTimeout(){this.initDecoderWorkerTimeout&&(clearTimeout(this.initDecoderWorkerTimeout),this.initDecoderWorkerTimeout=null)}_checkInitDecoderWorkerTimeout(){this._clearInitDecoderWorkerTimeout(),this.initDecoderWorkerTimeout=setTimeout((()=>{this._handleInitDecoderWorkerTimeout()}),1e3*this.player._opt.loadingDecoderWorkerTimeout)}_handleInitDecoderWorkerTimeout(){this.pause().then((()=>{this.debug.log("Jessibuca","init decoder worker timeout and pause play")})).catch((e=>{this.debug.warn("Jessibuca","init decoder worker timeout and pause play error",e)}))}}return a(Et,"ERROR",V),a(Et,"TIMEOUT",{loadingTimeout:F.loadingTimeout,delayTimeout:F.delayTimeout}),window.Jessibuca=Et,Et})); +!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).jessibuca=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,t){return e(t={exports:{}},t.exports),t.exports}var i,r=t((function(e){e.exports=function(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e},e.exports.__esModule=!0,e.exports.default=e.exports})),o=(i=r)&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i;const s=0,a=1,n="flv",A="m7s",d="mp4",c="webm",l="jessibuca",u='"3.3.15"',h={videoBuffer:1e3,videoBufferDelay:1e3,isResize:!0,isFullResize:!1,isFlv:!1,debug:!1,hotKey:!1,loadingTimeout:10,heartTimeout:5,timeout:10,loadingTimeoutReplay:!0,heartTimeoutReplay:!0,loadingTimeoutReplayTimes:3,heartTimeoutReplayTimes:3,supportDblclickFullscreen:!1,showBandwidth:!1,keepScreenOn:!1,isNotMute:!1,hasAudio:!0,hasVideo:!0,operateBtns:{fullscreen:!1,screenshot:!1,play:!1,audio:!1,record:!1},controlAutoHide:!1,hasControl:!1,loadingText:"",background:"",decoder:"decoder.js",url:"",rotate:0,forceNoOffscreen:!0,hiddenAutoPause:!1,protocol:a,demuxType:n,useWCS:!1,wcsUseVideoRender:!1,useMSE:!1,useOffscreen:!1,autoWasm:!0,wasmDecodeErrorReplay:!0,openWebglAlignment:!1,wasmDecodeAudioSyncVideo:!1,recordType:c,useWebFullScreen:!1,loadingDecoderWorkerTimeout:10,autoUseSystemFullScreen:!0},p="init",g="initVideo",m="render",f="playAudio",b="initAudio",y="audioCode",v="videoCode",w="wasmError",S="Invalid NAL unit size",E=1,B=2,C=8,R=9,k="init",T="decode",I="audioDecode",x="close",D="updateConfig",j={fullscreen:"fullscreen$2",webFullscreen:"webFullscreen",decoderWorkerInit:"decoderWorkerInit",play:"play",playing:"playing",pause:"pause",mute:"mute",load:"load",loading:"loading",videoInfo:"videoInfo",timeUpdate:"timeUpdate",audioInfo:"audioInfo",log:"log",error:"error",kBps:"kBps",timeout:"timeout",delayTimeout:"delayTimeout",loadingTimeout:"loadingTimeout",stats:"stats",performance:"performance",record:"record",recording:"recording",recordingTimestamp:"recordingTimestamp",recordStart:"recordStart",recordEnd:"recordEnd",recordCreateError:"recordCreateError",buffer:"buffer",videoFrame:"videoFrame",start:"start",metadata:"metadata",resize:"resize",streamEnd:"streamEnd",streamSuccess:"streamSuccess",streamMessage:"streamMessage",streamError:"streamError",volumechange:"volumechange",volume:"volume",destroy:"destroy",mseSourceOpen:"mseSourceOpen",mseSourceClose:"mseSourceClose",mseSourceBufferError:"mseSourceBufferError",mseSourceBufferBusy:"mseSourceBufferBusy",mseSourceBufferFull:"mseSourceBufferFull",videoWaiting:"videoWaiting",videoTimeUpdate:"videoTimeUpdate",videoSyncAudio:"videoSyncAudio",playToRenderTimes:"playToRenderTimes"},L={load:j.load,timeUpdate:j.timeUpdate,videoInfo:j.videoInfo,audioInfo:j.audioInfo,error:j.error,kBps:j.kBps,log:j.log,start:j.start,timeout:j.timeout,loadingTimeout:j.loadingTimeout,delayTimeout:j.delayTimeout,fullscreen:"fullscreen",webFullscreen:j.webFullscreen,play:j.play,pause:j.pause,mute:j.mute,stats:j.stats,volumechange:j.volumechange,performance:j.performance,recordingTimestamp:j.recordingTimestamp,recordStart:j.recordStart,recordEnd:j.recordEnd,playToRenderTimes:j.playToRenderTimes,volume:j.volume},F={playError:"playIsNotPauseOrUrlIsNull",fetchError:"fetchError",websocketError:"websocketError",webcodecsH265NotSupport:"webcodecsH265NotSupport",webcodecsConfigureError:"webcodecsConfigureError",webcodecsDecodeError:"webcodecsDecodeError",webcodecsWidthOrHeightChange:"webcodecsWidthOrHeightChange",mediaSourceH265NotSupport:"mediaSourceH265NotSupport",mediaSourceFull:j.mseSourceBufferFull,mseSourceBufferError:j.mseSourceBufferError,mediaSourceAppendBufferError:"mediaSourceAppendBufferError",mediaSourceBufferListLarge:"mediaSourceBufferListLarge",mediaSourceAppendBufferEndTimeout:"mediaSourceAppendBufferEndTimeout",wasmDecodeError:"wasmDecodeError",webglAlignmentError:"webglAlignmentError",webglContextLostError:"webglContextLostError",webglInitError:"webglInitError"},O="notConnect",V="open",M="close",U="error",Q={download:"download",base64:"base64",blob:"blob"},W={7:"H264(AVC)",12:"H265(HEVC)"},J=12,P={10:"AAC",7:"ALAW",8:"MULAW"},G=38,N=0,H=1,z=2,Y="webcodecs",X="webgl",q="offscreen",Z="key",K="delta",_='video/mp4; codecs="avc1.64002A"',$="ended",ee="open",te="closed",ie=1e3,re=27,oe=38,se=40,ae="A key frame is required after configure() or flush()",ne="Cannot call 'decode' on a closed codec",Ae="The user aborted a request",de="AbortError",ce="AbortError",le=0,ue=1,he=3,pe=16;class ge{constructor(e){this.log=function(t){if(e._opt&&e._opt.debug){for(var i=arguments.length,r=new Array(i>1?i-1:0),o=1;o1?i-1:0),o=1;o1?t-1:0),r=1;r3&&void 0!==arguments[3]?arguments[3]:{};if(!e)return;if(Array.isArray(t))return t.map((t=>this.proxy(e,t,i,r)));e.addEventListener(t,i,r);const o=()=>e.removeEventListener(t,i,r);return this.destroys.push(o),o}destroy(){this.master.debug&&this.master.debug.log("Events","destroy"),this.destroys.forEach((e=>e()))}}var fe=t((function(e){!function(){var t="undefined"!=typeof window&&void 0!==window.document?window.document:{},i=e.exports,r=function(){for(var e,i=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],r=0,o=i.length,s={};r0&&void 0!==arguments[0]?arguments[0]:"";const t=e.split(","),i=atob(t[1]),r=t[0].replace("data:","").replace(";base64","");let o=i.length,s=new Uint8Array(o);for(;o--;)s[o]=i.charCodeAt(o);return new File([s],"file",{type:r})}function ve(){return(new Date).getTime()}function we(e,t,i){return Math.max(Math.min(e,Math.max(t,i)),Math.min(t,i))}function Se(e,t,i){if(e)return"object"==typeof t&&Object.keys(t).forEach((i=>{Se(e,i,t[i])})),e.style[t]=i,e}function Ee(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!e)return 0;const r=getComputedStyle(e,null).getPropertyValue(t);return i?parseFloat(r):r}function Be(){return performance&&"function"==typeof performance.now?performance.now():Date.now()}function Ce(e){let t=0,i=Be();return r=>{t+=r;const o=Be(),s=o-i;s>=1e3&&(e(t/s*1e3),i=o,t=0)}}function Re(){return/iphone|ipod|android.*mobile|windows.*phone|blackberry.*mobile/i.test(window.navigator.userAgent.toLowerCase())}function ke(e){if(null==e||""===e||0===parseInt(e)||isNaN(parseInt(e)))return"0KB/s";let t=parseFloat(e);return t=t.toFixed(2),t+"KB/s"}function Te(e){return null==e}function Ie(e){return!0===e||!1===e}function xe(e){return!Te(e)}function De(e){var t;if(e>-1){var i=Math.floor(e/3600),r=Math.floor(e/60)%60,o=e%60;t=i<10?"0"+i+":":i+":",r<10&&(t+="0"),t+=r+":",(o=Math.round(o))<10&&(t+="0"),t+=o.toFixed(0)}return t}function je(e){const t=e||window.event;return t.target||t.srcElement}function Le(e){let t=!1;return e&&e.parentNode&&(e.parentNode.removeChild(e),t=!0),t}function Fe(e,t){let i=[];i[0]=t?28:44,i[1]=1,i[2]=0,i[3]=0,i[4]=0;const r=new Uint8Array(i.length+e.byteLength);return r.set(i,0),r.set(e,i.length),r}function Oe(e){return!0!==e&&"true"!==e}fe.isEnabled,(()=>{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const 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(e){}})();class Ve{on(e,t,i){const r=this.e||(this.e={});return(r[e]||(r[e]=[])).push({fn:t,ctx:i}),this}once(e,t,i){const r=this;function o(){r.off(e,o);for(var s=arguments.length,a=new Array(s),n=0;n1?i-1:0),o=1;o{delete i[e]})),void delete this.e;const r=i[e],o=[];if(r&&t)for(let e=0,i=r.length;e=200&&t.status<=299}function Je(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(i){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var Pe=Ue.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),Ge="object"!=typeof window||window!==Ue?function(){}:"download"in HTMLAnchorElement.prototype&&!Pe?function(e,t,i){var r=Ue.URL||Ue.webkitURL,o=document.createElementNS("http://www.w3.org/1999/xhtml","a");t=t||e.name||"download",o.download=t,o.rel="noopener","string"==typeof e?(o.href=e,o.origin!==location.origin?We(o.href)?Qe(e,t,i):Je(o,o.target="_blank"):Je(o)):(o.href=r.createObjectURL(e),setTimeout((function(){r.revokeObjectURL(o.href)}),4e4),setTimeout((function(){Je(o)}),0))}:"msSaveOrOpenBlob"in navigator?function(e,t,i){if(t=t||e.name||"download","string"==typeof e)if(We(e))Qe(e,t,i);else{var r=document.createElement("a");r.href=e,r.target="_blank",setTimeout((function(){Je(r)}))}else navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=typeof t&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([String.fromCharCode(65279),e],{type:e.type}):e}(e,i),t)}:function(e,t,i,r){if((r=r||open("","_blank"))&&(r.document.title=r.document.body.innerText="downloading..."),"string"==typeof e)return Qe(e,t,i);var o="application/octet-stream"===e.type,s=/constructor/i.test(Ue.HTMLElement)||Ue.safari,a=/CriOS\/[\d]+/.test(navigator.userAgent);if((a||o&&s||Pe)&&"undefined"!=typeof FileReader){var n=new FileReader;n.onloadend=function(){var e=n.result;e=a?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),r?r.location.href=e:location=e,r=null},n.readAsDataURL(e)}else{var A=Ue.URL||Ue.webkitURL,d=A.createObjectURL(e);r?r.location=d:location.href=d,r=null,setTimeout((function(){A.revokeObjectURL(d)}),4e4)}};class Ne extends Me{constructor(e){super(),this.player=e;const t=document.createElement("canvas");t.style.position="absolute",t.style.top=0,t.style.left=0,this.$videoElement=t,e.$container.appendChild(this.$videoElement),this.context2D=null,this.contextGl=null,this.contextGlRender=null,this.contextGlDestroy=null,this.bitmaprenderer=null,this.renderType=null,this.isContextGlRenderLost=!1,this.videoInfo={width:"",height:"",encType:""},this._initCanvasRender(),this.player.debug.log("CanvasVideo","init")}async destroy(){super.destroy(),this.contextGl&&(this.contextGl=null),this.context2D&&(this.context2D=null),this.contextGlRender&&(this.contextGlDestroy&&this.contextGlDestroy(),this.contextGlDestroy=null,this.contextGlRender=null),this.bitmaprenderer&&(this.bitmaprenderer=null),this.renderType=null,this.isContextGlRenderLost=!1,this.player.debug.log("CanvasVideoLoader","destroy")}_initContextGl(){if(this.contextGl=function(e){let t=null;const i=["webgl","experimental-webgl","moz-webgl","webkit-3d"];let r=0;for(;!t&&r{var i=["attribute vec4 vertexPos;","attribute vec4 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos.xy;","}"].join("\n"),r=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join("\n");t&&e.pixelStorei(e.UNPACK_ALIGNMENT,1);var o=e.createShader(e.VERTEX_SHADER);e.shaderSource(o,i),e.compileShader(o),e.getShaderParameter(o,e.COMPILE_STATUS)||console.log("Vertex shader failed to compile: "+e.getShaderInfoLog(o));var s=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(s,r),e.compileShader(s),e.getShaderParameter(s,e.COMPILE_STATUS)||console.log("Fragment shader failed to compile: "+e.getShaderInfoLog(s));var a=e.createProgram();e.attachShader(a,o),e.attachShader(a,s),e.linkProgram(a),e.getProgramParameter(a,e.LINK_STATUS)||console.log("Program failed to compile: "+e.getProgramInfoLog(a)),e.useProgram(a);var n=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,n),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),e.STATIC_DRAW);var A=e.getAttribLocation(a,"vertexPos");e.enableVertexAttribArray(A),e.vertexAttribPointer(A,2,e.FLOAT,!1,0,0);var d=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,d),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),e.STATIC_DRAW);var c=e.getAttribLocation(a,"texturePos");function l(t,i){var r=e.createTexture();return e.bindTexture(e.TEXTURE_2D,r),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),e.uniform1i(e.getUniformLocation(a,t),i),r}e.enableVertexAttribArray(c),e.vertexAttribPointer(c,2,e.FLOAT,!1,0,0);var u=l("ySampler",0),h=l("uSampler",1),p=l("vSampler",2);return{render:function(t,i,r,o,s){e.viewport(0,0,t,i),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,u),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,t,i,0,e.LUMINANCE,e.UNSIGNED_BYTE,r),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,h),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,t/2,i/2,0,e.LUMINANCE,e.UNSIGNED_BYTE,o),e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,p),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,t/2,i/2,0,e.LUMINANCE,e.UNSIGNED_BYTE,s),e.drawArrays(e.TRIANGLE_STRIP,0,4)},destroy:function(){try{e.deleteProgram(a),e.deleteBuffer(n),e.deleteBuffer(d),e.deleteTexture(u),e.deleteTexture(h),e.deleteTexture(p)}catch(e){}}}})(this.contextGl,this.player._opt.openWebglAlignment);this.contextGlRender=e.render,this.contextGlDestroy=e.destroy}else this.player.debug.error("CanvasVideoLoader","init webgl fail"),this.player.emitError(F.webglInitError)}_initContext2D(){this.context2D=this.$videoElement.getContext("2d")}_initCanvasRender(){this.player._opt.useWCS&&!this._supportOffscreen()?(this.renderType=Y,this._initContext2D()):this._supportOffscreen()?(this.renderType=q,this._bindOffscreen()):(this.renderType=X,this._initContextGl())}_supportOffscreen(){return"function"==typeof this.$videoElement.transferControlToOffscreen&&this.player._opt.useOffscreen}_bindOffscreen(){this.bitmaprenderer=this.$videoElement.getContext("bitmaprenderer")}initCanvasViewSize(){this.$videoElement.width=this.videoInfo.width,this.$videoElement.height=this.videoInfo.height,this.resize()}render(e){switch(this.player.videoTimestamp=e.ts,this.renderType){case q:this.bitmaprenderer.transferFromImageBitmap(e.buffer);break;case X:if(this.isContextGlRenderLost)return;try{this.contextGlRender(this.$videoElement.width,this.$videoElement.height,e.output[0],e.output[1],e.output[2])}catch(e){this.player.debug.error("CanvasVideoLoader","webgl render error and emit webglContextLostError",e),this.isContextGlRenderLost=!0,this.player.emitError(F.webglContextLostError)}break;case Y:this.context2D.drawImage(e.videoFrame,0,0,this.$videoElement.width,this.$videoElement.height),(t=e.videoFrame).close?t.close():t.destroy&&t.destroy()}var t}screenshot(e,t,i,r){e=e||ve(),r=r||Q.download;const o={png:"image/png",jpeg:"image/jpeg",webp:"image/webp"};let s=.92;!o[t]&&Q[t]&&(r=t,t="png",i=void 0),"string"==typeof i&&(r=i,i=void 0),void 0!==i&&(s=Number(i));const a=this.$videoElement.toDataURL(o[t]||o.png,s);if(r===Q.base64)return a;{const t=ye(a);if(r===Q.blob)return t;r===Q.download&&Ge(t,e)}}clearView(){switch(this.renderType){case q:(function(e,t){const i=document.createElement("canvas");return i.width=e,i.height=t,window.createImageBitmap(i,0,0,e,t)})(this.$videoElement.width,this.$videoElement.height).then((e=>{this.bitmaprenderer.transferFromImageBitmap(e)}));break;case X:this.contextGl.clear(this.contextGl.COLOR_BUFFER_BIT);break;case Y:this.context2D.clearRect(0,0,this.$videoElement.width,this.$videoElement.height)}}resize(){this.player.debug.log("canvasVideo","resize");const e=this.player._opt;let t=this.player.width,i=this.player.height;this.player.isControlBarShow()&&(Re()&&this.player.fullscreen&&e.useWebFullScreen?t-=G:i-=G);let r=this.$videoElement.width,o=this.$videoElement.height;const s=e.rotate;let a=(t-r)/2,n=(i-o)/2;270!==s&&90!==s||(r=this.$videoElement.height,o=this.$videoElement.width);const A=t/r,d=i/o;let c=A>d?d:A;e.isResize||A!==d&&(c=A+","+d),e.isFullResize&&(c=A>d?A:d);let l="scale("+c+")";s&&(l+=" rotate("+s+"deg)"),this.$videoElement.style.transform=l,this.$videoElement.style.left=a+"px",this.$videoElement.style.top=n+"px"}}class He extends Me{constructor(e){super(),this.player=e;const t=document.createElement("video"),i=document.createElement("canvas");t.muted=!0,t.disablePictureInPicture=!0,function(){const e=window.navigator.userAgent.toLowerCase();return/android/i.test(e)}()&&(t.poster="noposter"),t.style.position="absolute",t.style.top=0,t.style.left=0,this._delayPlay=!1,e.$container.appendChild(t),this.videoInfo={width:"",height:"",encType:""};const r=this.player._opt;r.useWCS&&r.wcsUseVideoRender&&(this.trackGenerator=new MediaStreamTrackGenerator({kind:"video"}),t.srcObject=new MediaStream([this.trackGenerator]),this.vwriter=this.trackGenerator.writable.getWriter()),this.$videoElement=t,this.$canvasElement=i,this.canvasContext=i.getContext("2d"),this.fixChromeVideoFlashBug(),this.resize();const{proxy:o}=this.player.events;o(this.$videoElement,"canplay",(()=>{this.player.debug.log("Video","canplay"),this._delayPlay&&(this.player.debug.log("Video","canplay and _delayPlay is true and next play()"),this._play())})),o(this.$videoElement,"waiting",(()=>{this.player.debug.log("Video","waiting")})),o(this.$videoElement,"timeupdate",(e=>{const t=parseInt(e.timeStamp,10);this.player.emit(j.timeUpdate,t),!this.isPlaying()&&this.init&&(this.player.debug.log("Video","timeupdate and this.isPlaying is false and retry play"),this.$videoElement.play())})),this.player.debug.log("Video","init")}async destroy(){super.destroy(),this.$canvasElement=null,this.canvasContext=null,this.$videoElement&&(this.$videoElement.pause(),this.$videoElement.currentTime=0,this.$videoElement.src="",this.$videoElement.removeAttribute("src"),this.$videoElement=null),this.trackGenerator&&(this.trackGenerator.stop(),this.trackGenerator=null),this.vwriter&&(await this.vwriter.close(),this.vwriter=null),this.player.debug.log("Video","destroy")}fixChromeVideoFlashBug(){const e=function(){const e=navigator.userAgent.toLowerCase(),t={},i={IE:window.ActiveXObject||"ActiveXObject"in window,Chrome:e.indexOf("chrome")>-1&&e.indexOf("safari")>-1,Firefox:e.indexOf("firefox")>-1,Opera:e.indexOf("opera")>-1,Safari:e.indexOf("safari")>-1&&-1==e.indexOf("chrome"),Edge:e.indexOf("edge")>-1,QQBrowser:/qqbrowser/.test(e),WeixinBrowser:/MicroMessenger/i.test(e)};for(let r in i)if(i[r]){let i="";if("IE"===r)i=e.match(/(msie\s|trident.*rv:)([\w.]+)/)[2];else if("Chrome"===r){for(let e in navigator.mimeTypes)"application/360softmgrplugin"===navigator.mimeTypes[e].type&&(r="360");i=e.match(/chrome\/([\d.]+)/)[1]}else"Firefox"===r?i=e.match(/firefox\/([\d.]+)/)[1]:"Opera"===r?i=e.match(/opera\/([\d.]+)/)[1]:"Safari"===r?i=e.match(/version\/([\d.]+)/)[1]:"Edge"===r?i=e.match(/edge\/([\d.]+)/)[1]:"QQBrowser"===r&&(i=e.match(/qqbrowser\/([\d.]+)/)[1]);t.type=r,t.version=parseInt(i)}return t}().type.toLowerCase();if("chrome"===e||"edge"===e){const e=this.player.$container;e.style.backdropFilter="blur(0px)",e.style.translateZ="0"}}play(){if(this.$videoElement){const e=this._getVideoReadyState();if(this.player.debug.log("Video",`play and readyState: ${e}`),0===e)return this.player.debug.warn("Video","readyState is 0 and set _delayPlay to true"),void(this._delayPlay=!0);this._play()}}_getVideoReadyState(){let e=0;return this.$videoElement&&(e=this.$videoElement.readyState),e}_play(){this.$videoElement&&this.$videoElement.play().then((()=>{this._delayPlay=!1,this.player.debug.log("Video","_play success"),setTimeout((()=>{this.isPlaying()||(this.player.debug.warn("Video","play failed and retry play"),this._play())}),100)})).catch((e=>{this.player.debug.error("Video","_play error",e)}))}pause(e){e?this.$videoElement&&this.$videoElement.pause():setTimeout((()=>{this.$videoElement&&this.$videoElement.pause()}),100)}clearView(){}screenshot(e,t,i,r){e=e||ve(),r=r||Q.download;const o={png:"image/png",jpeg:"image/jpeg",webp:"image/webp"};let s=.92;!o[t]&&Q[t]&&(r=t,t="png",i=void 0),"string"==typeof i&&(r=i,i=void 0),void 0!==i&&(s=Number(i));const a=this.$videoElement;let n=this.$canvasElement;n.width=a.videoWidth,n.height=a.videoHeight,this.canvasContext.drawImage(a,0,0,n.width,n.height);const A=n.toDataURL(o[t]||o.png,s);if(this.canvasContext.clearRect(0,0,n.width,n.height),n.width=0,n.height=0,r===Q.base64)return A;{const t=ye(A);if(r===Q.blob)return t;r===Q.download&&Ge(t,e)}}initCanvasViewSize(){this.resize()}render(e){this.vwriter&&(this.vwriter.write(e.videoFrame),e.videoFrame.close())}resize(){let e=this.player.width,t=this.player.height;const i=this.player._opt,r=i.rotate;this.player.isControlBarShow()&&(Re()&&this.player.fullscreen&&i.useWebFullScreen?e-=G:t-=G),this.$videoElement.width=e,this.$videoElement.height=t,270!==r&&90!==r||(this.$videoElement.width=t,this.$videoElement.height=e);let o=(e-this.$videoElement.width)/2,s=(t-this.$videoElement.height)/2,a="contain";i.isResize||(a="fill"),i.isFullResize&&(a="none"),this.$videoElement.style.objectFit=a,this.$videoElement.style.transform="rotate("+r+"deg)",this.$videoElement.style.left=o+"px",this.$videoElement.style.top=s+"px"}isPlaying(){return this.$videoElement&&!this.$videoElement.paused}}class ze{constructor(e){return new(ze.getLoaderFactory(e._opt))(e)}static getLoaderFactory(e){return e.useMSE||e.useWCS&&!e.useOffscreen&&e.wcsUseVideoRender?He:Ne}}class Ye extends Ve{constructor(e){super(),this.bufferList=[],this.player=e,this.scriptNode=null,this.hasInitScriptNode=!1,this.audioContextChannel=null,this.audioContext=new(window.AudioContext||window.webkitAudioContext),this.gainNode=this.audioContext.createGain();const t=this.audioContext.createBufferSource();t.buffer=this.audioContext.createBuffer(1,1,22050),t.connect(this.audioContext.destination),t.noteOn?t.noteOn(0):t.start(0),this.audioBufferSourceNode=t,this.mediaStreamAudioDestinationNode=this.audioContext.createMediaStreamDestination(),this.audioEnabled(!0),this.gainNode.gain.value=0,this._prevVolume=null,this.playing=!1,this.audioSyncVideoOption={diff:null},this.audioInfo={encType:"",channels:"",sampleRate:""},this.init=!1,this.hasAudio=!1,this.on(j.videoSyncAudio,(e=>{this.audioSyncVideoOption=e})),this.player.debug.log("AudioContext","init")}resetInit(){this.init=!1,this.audioInfo={encType:"",channels:"",sampleRate:""}}async destroy(){this.closeAudio(),this.resetInit(),this.audioContext&&(await this.audioContext.close(),this.audioContext=null),this.gainNode=null,this.hasAudio=!1,this.playing=!1,this.scriptNode&&(this.scriptNode.onaudioprocess=be,this.scriptNode=null),this.audioBufferSourceNode=null,this.mediaStreamAudioDestinationNode=null,this.hasInitScriptNode=!1,this.audioSyncVideoOption={diff:null},this._prevVolume=null,this.off(),this.player.debug.log("AudioContext","destroy")}updateAudioInfo(e){e.encTypeCode&&(this.audioInfo.encType=P[e.encTypeCode],this.audioInfo.encTypeCode=e.encTypeCode),e.channels&&(this.audioInfo.channels=e.channels),e.sampleRate&&(this.audioInfo.sampleRate=e.sampleRate),this.audioInfo.sampleRate&&this.audioInfo.channels&&this.audioInfo.encType&&!this.init&&(this.player.emit(j.audioInfo,this.audioInfo),this.init=!0)}get isPlaying(){return this.playing}get isMute(){return 0===this.gainNode.gain.value}get volume(){return this.gainNode.gain.value}get bufferSize(){return this.bufferList.length}initScriptNode(){if(this.playing=!0,this.hasInitScriptNode)return;const e=this.audioInfo.channels,t=this.audioContext.createScriptProcessor(1024,0,e);t.onaudioprocess=t=>{const i=t.outputBuffer;if(this.bufferList.length&&this.playing){if(!this.player._opt.useWCS&&!this.player._opt.useMSE&&this.player._opt.wasmDecodeAudioSyncVideo){if(this.audioSyncVideoOption.diff>ie)return void this.player.debug.warn("AudioContext",`audioSyncVideoOption more than diff :${this.audioSyncVideoOption.diff}, waiting`);if(this.audioSyncVideoOption.diff<-1e3){this.player.debug.warn("AudioContext",`audioSyncVideoOption less than diff :${this.audioSyncVideoOption.diff}, dropping`);let e=this.bufferList.shift();for(;e.ts-this.player.videoTimestamp<-1e3&&this.bufferList.length>0;)e=this.bufferList.shift();if(0===this.bufferList.length)return}}if(0===this.bufferList.length)return;const t=this.bufferList.shift();t&&t.ts&&(this.player.audioTimestamp=t.ts);for(let r=0;r0?this.player.emit(j.mute,!1):this._prevVolume>0&&0===e&&this.player.emit(j.mute,!0),this.gainNode.gain.value=e,this.gainNode.gain.setValueAtTime(e,this.audioContext.currentTime),this.player.emit(j.volumechange,this.player.volume),this.player.emit(j.volume,this.player.volume),this._prevVolume=e)}closeAudio(){this.hasInitScriptNode&&(this.scriptNode&&this.scriptNode.disconnect(this.gainNode),this.gainNode&&this.gainNode.disconnect(this.audioContext.destination),this.gainNode&&this.gainNode.disconnect(this.mediaStreamAudioDestinationNode)),this.clear()}audioEnabled(e){e?"suspended"===this.audioContext.state&&this.audioContext.resume():"running"===this.audioContext.state&&this.audioContext.suspend()}isStateRunning(){return"running"===this.audioContext.state}isStateSuspended(){return"suspended"===this.audioContext.state}clear(){this.bufferList=[]}play(e,t){this.isMute||(this.hasAudio=!0,this.bufferList.push({buffer:e,ts:t}),this.bufferList.length>20&&(this.player.debug.warn("AudioContext",`bufferList is large: ${this.bufferList.length}`),this.bufferList.length>50&&this.bufferList.shift()))}pause(){this.audioSyncVideoOption={diff:null},this.playing=!1,this.clear()}resume(){this.playing=!0}getLastVolume(){return this._prevVolume}}class Xe{constructor(e){return new(Xe.getLoaderFactory())(e)}static getLoaderFactory(){return Ye}}class qe extends Ve{constructor(e){super(),this.player=e,this.playing=!1,this.abortController=new AbortController,this.streamRate=Ce((t=>{e.emit(j.kBps,(t/1024).toFixed(2))})),e.debug.log("FetchStream","init")}async destroy(){this.abort(),this.off(),this.streamRate=null,this.player.debug.log("FetchStream","destroy")}fetchStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{demux:i}=this.player;this.player.debug.log("FetchStream","fetchStream",e,JSON.stringify(t)),this.player._times.streamStart=ve();const r=Object.assign({signal:this.abortController.signal},{headers:t.headers||{}});fetch(e,r).then((e=>{const t=e.body.getReader();this.emit(j.streamSuccess);const r=()=>{t.read().then((e=>{let{done:t,value:o}=e;t?i.close():(this.streamRate&&this.streamRate(o.byteLength),i.dispatch(o),r())})).catch((e=>{i.close();const t=e.toString();-1===t.indexOf(Ae)&&-1===t.indexOf(de)&&e.name!==ce&&(this.abort(),this.emit(F.fetchError,e),this.player.emit(j.error,F.fetchError))}))};r()})).catch((e=>{"AbortError"!==e.name&&(i.close(),this.abort(),this.emit(F.fetchError,e),this.player.emit(j.error,F.fetchError))}))}abort(){this.abortController&&(this.abortController.abort(),this.abortController=null)}}class Ze extends Ve{constructor(e){super(),this.player=e,this.socket=null,this.socketStatus=O,this.wsUrl=null,this.streamRate=Ce((t=>{e.emit(j.kBps,(t/1024).toFixed(2))})),e.debug.log("WebsocketLoader","init")}async destroy(){this.socket&&(this.socket.close(1e3,"Client disconnecting"),this.socket=null),this.socketStatus=O,this.streamRate=null,this.wsUrl=null,this.off(),this.player.debug.log("websocketLoader","destroy")}_createWebSocket(){const e=this.player,{debug:t,events:{proxy:i},demux:r}=e;this.socket=new WebSocket(this.wsUrl),this.socket.binaryType="arraybuffer",i(this.socket,"open",(()=>{this.emit(j.streamSuccess),t.log("websocketLoader","socket open"),this.socketStatus=V})),i(this.socket,"message",(e=>{this.streamRate&&this.streamRate(e.data.byteLength),this._handleMessage(e.data)})),i(this.socket,"close",(()=>{t.log("websocketLoader","socket close"),this.emit(j.streamEnd),this.socketStatus=M})),i(this.socket,"error",(e=>{t.log("websocketLoader","socket error"),this.emit(F.websocketError,e),this.player.emit(j.error,F.websocketError),this.socketStatus=U,r.close(),t.log("websocketLoader","socket error:",e)}))}_handleMessage(e){const{demux:t}=this.player;t?t.dispatch(e):this.player.debug.warn("websocketLoader","websocket handle message demux is null")}fetchStream(e,t){this.player._times.streamStart=ve(),this.wsUrl=e,this._createWebSocket()}}class Ke{constructor(e){return new(Ke.getLoaderFactory(e._opt.protocol))(e)}static getLoaderFactory(e){return e===a?qe:e===s?Ze:void 0}}var _e=t((function(t){function i(e,t){if(!e)throw"First parameter is required.";t=new r(e,t=t||{type:"video"});var s=this;function a(i){i&&(t.initCallback=function(){i(),i=t.initCallback=null});var r=new o(e,t);(h=new r(e,t)).record(),u("recording"),t.disableLogs||console.log("Initialized recorderType:",h.constructor.name,"for output-type:",t.type)}function n(e){if(e=e||function(){},h){if("paused"===s.state)return s.resumeRecording(),void setTimeout((function(){n(e)}),1);"recording"===s.state||t.disableLogs||console.warn('Recording state should be: "recording", however current state is: ',s.state),t.disableLogs||console.log("Stopped recording "+t.type+" stream."),"gif"!==t.type?h.stop(i):(h.stop(),i()),u("stopped")}else g();function i(i){if(h){Object.keys(h).forEach((function(e){"function"!=typeof h[e]&&(s[e]=h[e])}));var r=h.blob;if(!r){if(!i)throw"Recording failed.";h.blob=r=i}if(r&&!t.disableLogs&&console.log(r.type,"->",b(r.size)),e){var o;try{o=l.createObjectURL(r)}catch(e){}"function"==typeof e.call?e.call(s,o):e(o)}t.autoWriteToDisk&&d((function(e){var i={};i[t.type+"Blob"]=e,x.Store(i)}))}else"function"==typeof e.call?e.call(s,""):e("")}}function A(e){postMessage((new FileReaderSync).readAsDataURL(e))}function d(e,i){if(!e)throw"Pass a callback function over getDataURL.";var r=i?i.blob:(h||{}).blob;if(!r)return t.disableLogs||console.warn("Blob encoder did not finish its job yet."),void setTimeout((function(){d(e,i)}),1e3);if("undefined"==typeof Worker||navigator.mozGetUserMedia){var o=new FileReader;o.readAsDataURL(r),o.onload=function(t){e(t.target.result)}}else{var s=function(e){try{var t=l.createObjectURL(new Blob([e.toString(),"this.onmessage = function (eee) {"+e.name+"(eee.data);}"],{type:"application/javascript"})),i=new Worker(t);return l.revokeObjectURL(t),i}catch(e){}}(A);s.onmessage=function(t){e(t.data)},s.postMessage(r)}}function c(e){e=e||0,"paused"!==s.state?"stopped"!==s.state&&(e>=s.recordingDuration?n(s.onRecordingStopped):(e+=1e3,setTimeout((function(){c(e)}),1e3))):setTimeout((function(){c(e)}),1e3)}function u(e){s&&(s.state=e,"function"==typeof s.onStateChanged.call?s.onStateChanged.call(s,e):s.onStateChanged(e))}var h,p='It seems that recorder is destroyed or "startRecording" is not invoked for '+t.type+" recorder.";function g(){!0!==t.disableLogs&&console.warn(p)}var m={startRecording:function(i){return t.disableLogs||console.log("RecordRTC version: ",s.version),i&&(t=new r(e,i)),t.disableLogs||console.log("started recording "+t.type+" stream."),h?(h.clearRecordedData(),h.record(),u("recording"),s.recordingDuration&&c(),s):(a((function(){s.recordingDuration&&c()})),s)},stopRecording:n,pauseRecording:function(){h?"recording"===s.state?(u("paused"),h.pause(),t.disableLogs||console.log("Paused recording.")):t.disableLogs||console.warn("Unable to pause the recording. Recording state: ",s.state):g()},resumeRecording:function(){h?"paused"===s.state?(u("recording"),h.resume(),t.disableLogs||console.log("Resumed recording.")):t.disableLogs||console.warn("Unable to resume the recording. Recording state: ",s.state):g()},initRecorder:a,setRecordingDuration:function(e,t){if(void 0===e)throw"recordingDuration is required.";if("number"!=typeof e)throw"recordingDuration must be a number.";return s.recordingDuration=e,s.onRecordingStopped=t||function(){},{onRecordingStopped:function(e){s.onRecordingStopped=e}}},clearRecordedData:function(){h?(h.clearRecordedData(),t.disableLogs||console.log("Cleared old recorded data.")):g()},getBlob:function(){if(h)return h.blob;g()},getDataURL:d,toURL:function(){if(h)return l.createObjectURL(h.blob);g()},getInternalRecorder:function(){return h},save:function(e){h?y(h.blob,e):g()},getFromDisk:function(e){h?i.getFromDisk(t.type,e):g()},setAdvertisementArray:function(e){t.advertisement=[];for(var i=e.length,r=0;r-1&&"netscape"in window&&/ rv:/.test(navigator.userAgent),g=!h&&!u&&!!navigator.webkitGetUserMedia||v()||-1!==navigator.userAgent.toLowerCase().indexOf("chrome/"),m=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);m&&!g&&-1!==navigator.userAgent.indexOf("CriOS")&&(m=!1,g=!0);var f=window.MediaStream;function b(e){if(0===e)return"0 Bytes";var t=parseInt(Math.floor(Math.log(e)/Math.log(1e3)),10);return(e/Math.pow(1e3,t)).toPrecision(3)+" "+["Bytes","KB","MB","GB","TB"][t]}function y(e,t){if(!e)throw"Blob object is required.";if(!e.type)try{e.type="video/webm"}catch(e){}var i=(e.type||"video/webm").split("/")[1];if(-1!==i.indexOf(";")&&(i=i.split(";")[0]),t&&-1!==t.indexOf(".")){var r=t.split(".");t=r[0],i=r[1]}var o=(t||Math.round(9999999999*Math.random())+888888888)+"."+i;if(void 0!==navigator.msSaveOrOpenBlob)return navigator.msSaveOrOpenBlob(e,o);if(void 0!==navigator.msSaveBlob)return navigator.msSaveBlob(e,o);var s=document.createElement("a");s.href=l.createObjectURL(e),s.download=o,s.style="display:none;opacity:0;color:transparent;",(document.body||document.documentElement).appendChild(s),"function"==typeof s.click?s.click():(s.target="_blank",s.dispatchEvent(new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0}))),l.revokeObjectURL(s.href)}function v(){return"undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||(!("undefined"==typeof process||"object"!=typeof process.versions||!process.versions.electron)||"object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent.indexOf("Electron")>=0)}function w(e,t){return e&&e.getTracks?e.getTracks().filter((function(e){return e.kind===(t||"audio")})):[]}function S(e,t){"srcObject"in t?t.srcObject=e:"mozSrcObject"in t?t.mozSrcObject=e:t.srcObject=e}void 0===f&&"undefined"!=typeof webkitMediaStream&&(f=webkitMediaStream),void 0!==f&&void 0===f.prototype.stop&&(f.prototype.stop=function(){this.getTracks().forEach((function(e){e.stop()}))}),i.invokeSaveAsDialog=y,i.getTracks=w,i.getSeekableBlob=function(e,t){if("undefined"==typeof EBML)throw new Error("Please link: https://www.webrtc-experiment.com/EBML.js");var i=new EBML.Reader,r=new EBML.Decoder,o=EBML.tools,s=new FileReader;s.onload=function(e){r.decode(this.result).forEach((function(e){i.read(e)})),i.stop();var s=o.makeMetadataSeekable(i.metadatas,i.duration,i.cues),a=this.result.slice(i.metadataSize),n=new Blob([s,a],{type:"video/webm"});t(n)},s.readAsArrayBuffer(e)},i.bytesToSize=b,i.isElectron=v;var E={};function B(){if(p||m||u)return!0;var e,t,i=navigator.userAgent,r=""+parseFloat(navigator.appVersion),o=parseInt(navigator.appVersion,10);return(g||h)&&(e=i.indexOf("Chrome"),r=i.substring(e+7)),-1!==(t=r.indexOf(";"))&&(r=r.substring(0,t)),-1!==(t=r.indexOf(" "))&&(r=r.substring(0,t)),o=parseInt(""+r,10),isNaN(o)&&(r=""+parseFloat(navigator.appVersion),o=parseInt(navigator.appVersion,10)),o>=49}function C(e,t){var i=this;if(void 0===e)throw'First argument "MediaStream" is required.';if("undefined"==typeof MediaRecorder)throw"Your browser does not support the Media Recorder API. Please try other modules e.g. WhammyRecorder or StereoAudioRecorder.";if("audio"===(t=t||{mimeType:"video/webm"}).type){var r;if(w(e,"video").length&&w(e,"audio").length)navigator.mozGetUserMedia?(r=new f).addTrack(w(e,"audio")[0]):r=new f(w(e,"audio")),e=r;t.mimeType&&-1!==t.mimeType.toString().toLowerCase().indexOf("audio")||(t.mimeType=g?"audio/webm":"audio/ogg"),t.mimeType&&"audio/ogg"!==t.mimeType.toString().toLowerCase()&&navigator.mozGetUserMedia&&(t.mimeType="audio/ogg")}var o,s=[];function a(){i.timestamps.push((new Date).getTime()),"function"==typeof t.onTimeStamp&&t.onTimeStamp(i.timestamps[i.timestamps.length-1],i.timestamps)}function n(e){return o&&o.mimeType?o.mimeType:e.mimeType||"video/webm"}function A(){s=[],o=null,i.timestamps=[]}this.getArrayOfBlobs=function(){return s},this.record=function(){i.blob=null,i.clearRecordedData(),i.timestamps=[],d=[],s=[];var r=t;t.disableLogs||console.log("Passing following config over MediaRecorder API.",r),o&&(o=null),g&&!B()&&(r="video/vp8"),"function"==typeof MediaRecorder.isTypeSupported&&r.mimeType&&(MediaRecorder.isTypeSupported(r.mimeType)||(t.disableLogs||console.warn("MediaRecorder API seems unable to record mimeType:",r.mimeType),r.mimeType="audio"===t.type?"audio/webm":"video/webm"));try{o=new MediaRecorder(e,r),t.mimeType=r.mimeType}catch(t){o=new MediaRecorder(e)}r.mimeType&&!MediaRecorder.isTypeSupported&&"canRecordMimeType"in o&&!1===o.canRecordMimeType(r.mimeType)&&(t.disableLogs||console.warn("MediaRecorder API seems unable to record mimeType:",r.mimeType)),o.ondataavailable=function(e){if(e.data&&d.push("ondataavailable: "+b(e.data.size)),"number"!=typeof t.timeSlice)!e.data||!e.data.size||e.data.size<100||i.blob?i.recordingCallback&&(i.recordingCallback(new Blob([],{type:n(r)})),i.recordingCallback=null):(i.blob=t.getNativeBlob?e.data:new Blob([e.data],{type:n(r)}),i.recordingCallback&&(i.recordingCallback(i.blob),i.recordingCallback=null));else if(e.data&&e.data.size&&(s.push(e.data),a(),"function"==typeof t.ondataavailable)){var o=t.getNativeBlob?e.data:new Blob([e.data],{type:n(r)});t.ondataavailable(o)}},o.onstart=function(){d.push("started")},o.onpause=function(){d.push("paused")},o.onresume=function(){d.push("resumed")},o.onstop=function(){d.push("stopped")},o.onerror=function(e){e&&(e.name||(e.name="UnknownError"),d.push("error: "+e),t.disableLogs||(-1!==e.name.toString().toLowerCase().indexOf("invalidstate")?console.error("The MediaRecorder is not in a state in which the proposed operation is allowed to be executed.",e):-1!==e.name.toString().toLowerCase().indexOf("notsupported")?console.error("MIME type (",r.mimeType,") is not supported.",e):-1!==e.name.toString().toLowerCase().indexOf("security")?console.error("MediaRecorder security error",e):"OutOfMemory"===e.name?console.error("The UA has exhaused the available memory. User agents SHOULD provide as much additional information as possible in the message attribute.",e):"IllegalStreamModification"===e.name?console.error("A modification to the stream has occurred that makes it impossible to continue recording. An example would be the addition of a Track while recording is occurring. User agents SHOULD provide as much additional information as possible in the message attribute.",e):"OtherRecordingError"===e.name?console.error("Used for an fatal error other than those listed above. User agents SHOULD provide as much additional information as possible in the message attribute.",e):"GenericError"===e.name?console.error("The UA cannot provide the codec or recording option that has been requested.",e):console.error("MediaRecorder Error",e)),function(e){if(!i.manuallyStopped&&o&&"inactive"===o.state)return delete t.timeslice,void o.start(6e5);setTimeout(void 0,1e3)}(),"inactive"!==o.state&&"stopped"!==o.state&&o.stop())},"number"==typeof t.timeSlice?(a(),o.start(t.timeSlice)):o.start(36e5),t.initCallback&&t.initCallback()},this.timestamps=[],this.stop=function(e){e=e||function(){},i.manuallyStopped=!0,o&&(this.recordingCallback=e,"recording"===o.state&&o.stop(),"number"==typeof t.timeSlice&&setTimeout((function(){i.blob=new Blob(s,{type:n(t)}),i.recordingCallback(i.blob)}),100))},this.pause=function(){o&&"recording"===o.state&&o.pause()},this.resume=function(){o&&"paused"===o.state&&o.resume()},this.clearRecordedData=function(){o&&"recording"===o.state&&i.stop(A),A()},this.getInternalRecorder=function(){return o},this.blob=null,this.getState=function(){return o&&o.state||"inactive"};var d=[];this.getAllStates=function(){return d},void 0===t.checkForInactiveTracks&&(t.checkForInactiveTracks=!1);i=this;!function r(){if(o&&!1!==t.checkForInactiveTracks)return!1===function(){if("active"in e){if(!e.active)return!1}else if("ended"in e&&e.ended)return!1;return!0}()?(t.disableLogs||console.log("MediaStream seems stopped."),void i.stop()):void setTimeout(r,1e3)}(),this.name="MediaStreamRecorder",this.toString=function(){return this.name}}function R(e,t){if(!w(e,"audio").length)throw"Your stream has no audio tracks.";var r,o=this,s=[],a=[],n=!1,A=0,d=2,c=(t=t||{}).desiredSampRate;function u(){if(!1===t.checkForInactiveTracks)return!0;if("active"in e){if(!e.active)return!1}else if("ended"in e&&e.ended)return!1;return!0}function h(e,t){function i(e,t){var i,r=e.numberOfAudioChannels,o=e.leftBuffers.slice(0),s=e.rightBuffers.slice(0),a=e.sampleRate,n=e.internalInterleavedLength,A=e.desiredSampRate;function d(e,t,i){var r=Math.round(e.length*(t/i)),o=[],s=Number((e.length-1)/(r-1));o[0]=e[0];for(var a=1;a96e3)&&(t.disableLogs||console.log("sample-rate must be under range 22050 and 96000.")),t.disableLogs||t.desiredSampRate&&console.log("Desired sample-rate: "+t.desiredSampRate);var y=!1;function v(){s=[],a=[],A=0,E=!1,n=!1,y=!1,p=null,o.leftchannel=s,o.rightchannel=a,o.numberOfAudioChannels=d,o.desiredSampRate=c,o.sampleRate=b,o.recordingLength=A,B={left:[],right:[],recordingLength:0}}function S(){r&&(r.onaudioprocess=null,r.disconnect(),r=null),g&&(g.disconnect(),g=null),v()}this.pause=function(){y=!0},this.resume=function(){if(!1===u())throw"Please make sure MediaStream is active.";if(!n)return t.disableLogs||console.log("Seems recording has been restarted."),void this.record();y=!1},this.clearRecordedData=function(){t.checkForInactiveTracks=!1,n&&this.stop(S),S()},this.name="StereoAudioRecorder",this.toString=function(){return this.name};var E=!1;r.onaudioprocess=function(e){if(!y)if(!1===u()&&(t.disableLogs||console.log("MediaStream seems stopped."),r.disconnect(),n=!1),n){E||(E=!0,t.onAudioProcessStarted&&t.onAudioProcessStarted(),t.initCallback&&t.initCallback());var i=e.inputBuffer.getChannelData(0),c=new Float32Array(i);if(s.push(c),2===d){var l=e.inputBuffer.getChannelData(1),h=new Float32Array(l);a.push(h)}A+=f,o.recordingLength=A,void 0!==t.timeSlice&&(B.recordingLength+=f,B.left.push(c),2===d&&B.right.push(h))}else g&&(g.disconnect(),g=null)},p.createMediaStreamDestination?r.connect(p.createMediaStreamDestination()):r.connect(p.destination),this.leftchannel=s,this.rightchannel=a,this.numberOfAudioChannels=d,this.desiredSampRate=c,this.sampleRate=b,o.recordingLength=A;var B={left:[],right:[],recordingLength:0};function C(){n&&"function"==typeof t.ondataavailable&&void 0!==t.timeSlice&&(B.left.length?(h({desiredSampRate:c,sampleRate:b,numberOfAudioChannels:d,internalInterleavedLength:B.recordingLength,leftBuffers:B.left,rightBuffers:1===d?[]:B.right},(function(e,i){var r=new Blob([i],{type:"audio/wav"});t.ondataavailable(r),setTimeout(C,t.timeSlice)})),B={left:[],right:[],recordingLength:0}):setTimeout(C,t.timeSlice))}}function k(e,t){if("undefined"==typeof html2canvas)throw"Please link: https://www.webrtc-experiment.com/screenshot.js";(t=t||{}).frameInterval||(t.frameInterval=10);var i=!1;["captureStream","mozCaptureStream","webkitCaptureStream"].forEach((function(e){e in document.createElement("canvas")&&(i=!0)}));var r,o,s,a=!(!window.webkitRTCPeerConnection&&!window.webkitGetUserMedia||!window.chrome),n=50,A=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);if(a&&A&&A[2]&&(n=parseInt(A[2],10)),a&&n<52&&(i=!1),t.useWhammyRecorder&&(i=!1),i)if(t.disableLogs||console.log("Your browser supports both MediRecorder API and canvas.captureStream!"),e instanceof HTMLCanvasElement)r=e;else{if(!(e instanceof CanvasRenderingContext2D))throw"Please pass either HTMLCanvasElement or CanvasRenderingContext2D.";r=e.canvas}else navigator.mozGetUserMedia&&(t.disableLogs||console.error("Canvas recording is NOT supported in Firefox."));this.record=function(){if(s=!0,i&&!t.useWhammyRecorder){var e;"captureStream"in r?e=r.captureStream(25):"mozCaptureStream"in r?e=r.mozCaptureStream(25):"webkitCaptureStream"in r&&(e=r.webkitCaptureStream(25));try{var a=new f;a.addTrack(w(e,"video")[0]),e=a}catch(e){}if(!e)throw"captureStream API are NOT available.";(o=new C(e,{mimeType:t.mimeType||"video/webm"})).record()}else h.frames=[],u=(new Date).getTime(),l();t.initCallback&&t.initCallback()},this.getWebPImages=function(i){if("canvas"===e.nodeName.toLowerCase()){var r=h.frames.length;h.frames.forEach((function(e,i){var o=r-i;t.disableLogs||console.log(o+"/"+r+" frames remaining"),t.onEncodingCallback&&t.onEncodingCallback(o,r);var s=e.image.toDataURL("image/webp",1);h.frames[i].image=s})),t.disableLogs||console.log("Generating WebM"),i()}else i()},this.stop=function(e){s=!1;var r=this;i&&o?o.stop(e):this.getWebPImages((function(){h.compile((function(i){t.disableLogs||console.log("Recording finished!"),r.blob=i,r.blob.forEach&&(r.blob=new Blob([],{type:"video/webm"})),e&&e(r.blob),h.frames=[]}))}))};var d=!1;function c(){h.frames=[],s=!1,d=!1}function l(){if(d)return u=(new Date).getTime(),setTimeout(l,500);if("canvas"===e.nodeName.toLowerCase()){var i=(new Date).getTime()-u;return u=(new Date).getTime(),h.frames.push({image:(r=document.createElement("canvas"),o=r.getContext("2d"),r.width=e.width,r.height=e.height,o.drawImage(e,0,0),r),duration:i}),void(s&&setTimeout(l,t.frameInterval))}var r,o;html2canvas(e,{grabMouse:void 0===t.showMousePointer||t.showMousePointer,onrendered:function(e){var i=(new Date).getTime()-u;if(!i)return setTimeout(l,t.frameInterval);u=(new Date).getTime(),h.frames.push({image:e.toDataURL("image/webp",1),duration:i}),s&&setTimeout(l,t.frameInterval)}})}this.pause=function(){d=!0,o instanceof C&&o.pause()},this.resume=function(){d=!1,o instanceof C?o.resume():s||this.record()},this.clearRecordedData=function(){s&&this.stop(c),c()},this.name="CanvasRecorder",this.toString=function(){return this.name};var u=(new Date).getTime(),h=new I.Video(100)}function T(e,t){function i(e){e=void 0!==e?e:10;var t=(new Date).getTime()-A;return t?s?(A=(new Date).getTime(),setTimeout(i,100)):(A=(new Date).getTime(),n.paused&&n.play(),l.drawImage(n,0,0,c.width,c.height),d.frames.push({duration:t,image:c.toDataURL("image/webp")}),void(o||setTimeout(i,e,e))):setTimeout(i,e,e)}function r(e,t,i,r,o){var s=document.createElement("canvas");s.width=c.width,s.height=c.height;var a,n,A,d=s.getContext("2d"),l=[],u=-1===t,h=t&&t>0&&t<=e.length?t:e.length,p=0,g=0,m=0,f=Math.sqrt(Math.pow(255,2)+Math.pow(255,2)+Math.pow(255,2)),b=i&&i>=0&&i<=1?i:0,y=r&&r>=0&&r<=1?r:0,v=!1;n=-1,A=(a={length:h,functionToLoop:function(t,i){var r,o,s,a=function(){!v&&s-r<=s*y||(u&&(v=!0),l.push(e[i])),t()};if(v)a();else{var n=new Image;n.onload=function(){d.drawImage(n,0,0,c.width,c.height);var e=d.getImageData(0,0,c.width,c.height);r=0,o=e.data.length,s=e.data.length/4;for(var t=0;t127)throw"TrackNumber > 127 not supported";return[128|e.trackNum,e.timecode>>8,255&e.timecode,t].map((function(e){return String.fromCharCode(e)})).join("")+e.frame}({discardable:0,frame:e.data.slice(4),invisible:0,keyframe:1,lacing:0,trackNum:1,timecode:Math.round(t)});return t+=e.duration,{data:i,id:163}})))}function i(e){for(var t=[];e>0;)t.push(255&e),e>>=8;return new Uint8Array(t.reverse())}function r(e){var t=[];e=(e.length%8?new Array(9-e.length%8).join("0"):"")+e;for(var i=0;i1?2*s[0].width:s[0].width;var n=1;3!==e&&4!==e||(n=2),5!==e&&6!==e||(n=3),7!==e&&8!==e||(n=4),9!==e&&10!==e||(n=5),o.height=s[0].height*n}else o.width=a.width||360,o.height=a.height||240;t&&t instanceof HTMLVideoElement&&u(t),s.forEach((function(e,t){u(e,t)})),setTimeout(l,a.frameInterval)}}function u(e,t){if(!r){var i=0,o=0,a=e.width,n=e.height;1===t&&(i=e.width),2===t&&(o=e.height),3===t&&(i=e.width,o=e.height),4===t&&(o=2*e.height),5===t&&(i=e.width,o=2*e.height),6===t&&(o=3*e.height),7===t&&(i=e.width,o=3*e.height),void 0!==e.stream.left&&(i=e.stream.left),void 0!==e.stream.top&&(o=e.stream.top),void 0!==e.stream.width&&(a=e.stream.width),void 0!==e.stream.height&&(n=e.stream.height),s.drawImage(e,i,o,a,n),"function"==typeof e.stream.onRender&&e.stream.onRender(s,i,o,a,n,t)}}function h(e){var i=document.createElement("video");return function(e,t){"srcObject"in t?t.srcObject=e:"mozSrcObject"in t?t.mozSrcObject=e:t.srcObject=e}(e,i),i.className=t,i.muted=!0,i.volume=0,i.width=e.width||a.width||360,i.height=e.height||a.height||240,i.play(),i}function p(t){i=[],(t=t||e).forEach((function(e){if(e.getTracks().filter((function(e){return"video"===e.kind})).length){var t=h(e);t.stream=e,i.push(t)}}))}void 0!==n?c.AudioContext=n:"undefined"!=typeof webkitAudioContext&&(c.AudioContext=webkitAudioContext),this.startDrawingFrames=function(){l()},this.appendStreams=function(t){if(!t)throw"First parameter is required.";t instanceof Array||(t=[t]),t.forEach((function(t){var r=new d;if(t.getTracks().filter((function(e){return"video"===e.kind})).length){var o=h(t);o.stream=t,i.push(o),r.addTrack(t.getTracks().filter((function(e){return"video"===e.kind}))[0])}if(t.getTracks().filter((function(e){return"audio"===e.kind})).length){var s=a.audioContext.createMediaStreamSource(t);a.audioDestination=a.audioContext.createMediaStreamDestination(),s.connect(a.audioDestination),r.addTrack(a.audioDestination.stream.getTracks().filter((function(e){return"audio"===e.kind}))[0])}e.push(r)}))},this.releaseStreams=function(){i=[],r=!0,a.gainNode&&(a.gainNode.disconnect(),a.gainNode=null),a.audioSources.length&&(a.audioSources.forEach((function(e){e.disconnect()})),a.audioSources=[]),a.audioDestination&&(a.audioDestination.disconnect(),a.audioDestination=null),a.audioContext&&a.audioContext.close(),a.audioContext=null,s.clearRect(0,0,o.width,o.height),o.stream&&(o.stream.stop(),o.stream=null)},this.resetVideoStreams=function(e){!e||e instanceof Array||(e=[e]),p(e)},this.name="MultiStreamsMixer",this.toString=function(){return this.name},this.getMixedStream=function(){r=!1;var t=function(){var e;p(),"captureStream"in o?e=o.captureStream():"mozCaptureStream"in o?e=o.mozCaptureStream():a.disableLogs||console.error("Upgrade to latest Chrome or otherwise enable this flag: chrome://flags/#enable-experimental-web-platform-features");var t=new d;return e.getTracks().filter((function(e){return"video"===e.kind})).forEach((function(e){t.addTrack(e)})),o.stream=t,t}(),i=function(){c.AudioContextConstructor||(c.AudioContextConstructor=new c.AudioContext);a.audioContext=c.AudioContextConstructor,a.audioSources=[],!0===a.useGainNode&&(a.gainNode=a.audioContext.createGain(),a.gainNode.connect(a.audioContext.destination),a.gainNode.gain.value=0);var t=0;if(e.forEach((function(e){if(e.getTracks().filter((function(e){return"audio"===e.kind})).length){t++;var i=a.audioContext.createMediaStreamSource(e);!0===a.useGainNode&&i.connect(a.gainNode),a.audioSources.push(i)}})),!t)return;return a.audioDestination=a.audioContext.createMediaStreamDestination(),a.audioSources.forEach((function(e){e.connect(a.audioDestination)})),a.audioDestination.stream}();return i&&i.getTracks().filter((function(e){return"audio"===e.kind})).forEach((function(e){t.addTrack(e)})),e.forEach((function(e){e.fullcanvas})),t}}function L(e,t){e=e||[];var i,r,o=this;(t=t||{elementClass:"multi-streams-mixer",mimeType:"video/webm",video:{width:360,height:240}}).frameInterval||(t.frameInterval=10),t.video||(t.video={}),t.video.width||(t.video.width=360),t.video.height||(t.video.height=240),this.record=function(){var o;i=new j(e,t.elementClass||"multi-streams-mixer"),(o=[],e.forEach((function(e){w(e,"video").forEach((function(e){o.push(e)}))})),o).length&&(i.frameInterval=t.frameInterval||10,i.width=t.video.width||360,i.height=t.video.height||240,i.startDrawingFrames()),t.previewStream&&"function"==typeof t.previewStream&&t.previewStream(i.getMixedStream()),(r=new C(i.getMixedStream(),t)).record()},this.stop=function(e){r&&r.stop((function(t){o.blob=t,e(t),o.clearRecordedData()}))},this.pause=function(){r&&r.pause()},this.resume=function(){r&&r.resume()},this.clearRecordedData=function(){r&&(r.clearRecordedData(),r=null),i&&(i.releaseStreams(),i=null)},this.addStreams=function(o){if(!o)throw"First parameter is required.";o instanceof Array||(o=[o]),e.concat(o),r&&i&&(i.appendStreams(o),t.previewStream&&"function"==typeof t.previewStream&&t.previewStream(i.getMixedStream()))},this.resetVideoStreams=function(e){i&&(!e||e instanceof Array||(e=[e]),i.resetVideoStreams(e))},this.getMixer=function(){return i},this.name="MultiStreamRecorder",this.toString=function(){return this.name}}function F(e,t){var i,r,o;function s(){return new ReadableStream({start:function(r){var o=document.createElement("canvas"),s=document.createElement("video"),a=!0;s.srcObject=e,s.muted=!0,s.height=t.height,s.width=t.width,s.volume=0,s.onplaying=function(){o.width=t.width,o.height=t.height;var e=o.getContext("2d"),n=1e3/t.frameRate,A=setInterval((function(){if(i&&(clearInterval(A),r.close()),a&&(a=!1,t.onVideoProcessStarted&&t.onVideoProcessStarted()),e.drawImage(s,0,0),"closed"!==r._controlledReadableStream.state)try{r.enqueue(e.getImageData(0,0,t.width,t.height))}catch(e){}}),n)},s.play()}})}function a(e,A){if(!t.workerPath&&!A)return i=!1,void fetch("https://unpkg.com/webm-wasm@latest/dist/webm-worker.js").then((function(t){t.arrayBuffer().then((function(t){a(e,t)}))}));if(!t.workerPath&&A instanceof ArrayBuffer){var d=new Blob([A],{type:"text/javascript"});t.workerPath=l.createObjectURL(d)}t.workerPath||console.error("workerPath parameter is missing."),(r=new Worker(t.workerPath)).postMessage(t.webAssemblyPath||"https://unpkg.com/webm-wasm@latest/dist/webm-wasm.wasm"),r.addEventListener("message",(function(e){"READY"===e.data?(r.postMessage({width:t.width,height:t.height,bitrate:t.bitrate||1200,timebaseDen:t.frameRate||30,realtime:t.realtime}),s().pipeTo(new WritableStream({write:function(e){i?console.error("Got image, but recorder is finished!"):r.postMessage(e.data.buffer,[e.data.buffer])}}))):e.data&&(o||n.push(e.data))}))}"undefined"!=typeof ReadableStream&&"undefined"!=typeof WritableStream||console.error("Following polyfill is strongly recommended: https://unpkg.com/@mattiasbuelens/web-streams-polyfill/dist/polyfill.min.js"),(t=t||{}).width=t.width||640,t.height=t.height||480,t.frameRate=t.frameRate||30,t.bitrate=t.bitrate||1200,t.realtime=t.realtime||!0,this.record=function(){n=[],o=!1,this.blob=null,a(e),"function"==typeof t.initCallback&&t.initCallback()},this.pause=function(){o=!0},this.resume=function(){o=!1};var n=[];this.stop=function(e){i=!0;var t=this;!function(e){r?(r.addEventListener("message",(function(t){null===t.data&&(r.terminate(),r=null,e&&e())})),r.postMessage(null)):e&&e()}((function(){t.blob=new Blob(n,{type:"video/webm"}),e(t.blob)}))},this.name="WebAssemblyRecorder",this.toString=function(){return this.name},this.clearRecordedData=function(){n=[],o=!1,this.blob=null},this.blob=null}i.DiskStorage=x,i.GifRecorder=D,i.MultiStreamRecorder=L,i.RecordRTCPromisesHandler=function(e,t){if(!this)throw'Use "new RecordRTCPromisesHandler()"';if(void 0===e)throw'First argument "MediaStream" is required.';var r=this;r.recordRTC=new i(e,t),this.startRecording=function(){return new Promise((function(e,t){try{r.recordRTC.startRecording(),e()}catch(e){t(e)}}))},this.stopRecording=function(){return new Promise((function(e,t){try{r.recordRTC.stopRecording((function(i){r.blob=r.recordRTC.getBlob(),r.blob&&r.blob.size?e(i):t("Empty blob.",r.blob)}))}catch(e){t(e)}}))},this.pauseRecording=function(){return new Promise((function(e,t){try{r.recordRTC.pauseRecording(),e()}catch(e){t(e)}}))},this.resumeRecording=function(){return new Promise((function(e,t){try{r.recordRTC.resumeRecording(),e()}catch(e){t(e)}}))},this.getDataURL=function(e){return new Promise((function(e,t){try{r.recordRTC.getDataURL((function(t){e(t)}))}catch(e){t(e)}}))},this.getBlob=function(){return new Promise((function(e,t){try{e(r.recordRTC.getBlob())}catch(e){t(e)}}))},this.getInternalRecorder=function(){return new Promise((function(e,t){try{e(r.recordRTC.getInternalRecorder())}catch(e){t(e)}}))},this.reset=function(){return new Promise((function(e,t){try{e(r.recordRTC.reset())}catch(e){t(e)}}))},this.destroy=function(){return new Promise((function(e,t){try{e(r.recordRTC.destroy())}catch(e){t(e)}}))},this.getState=function(){return new Promise((function(e,t){try{e(r.recordRTC.getState())}catch(e){t(e)}}))},this.blob=null,this.version="5.6.2"},i.WebAssemblyRecorder=F}));class $e extends Ve{constructor(e){super(),this.player=e,this.fileName="",this.fileType=e._opt.recordType||c,this.isRecording=!1,this.recordingTimestamp=0,this.recordingInterval=null,this.recorder=null,e.debug.log("Recorder","init")}destroy(){this._reset(),this.player.debug.log("Recorder","destroy")}setFileName(e,t){this.fileName=e,d!==t&&c!==t||(this.fileType=t)}get recording(){return this.isRecording}get recordTime(){return this.recordingTimestamp}startRecord(){const e=this.player.debug,t={type:"video",mimeType:"video/webm;codecs=h264",onTimeStamp:t=>{e.log("Recorder","record timestamp :"+t)},disableLogs:!this.player._opt.debug};try{const e=this.player.video.$videoElement.captureStream(25);if(this.player.audio&&this.player.audio.mediaStreamAudioDestinationNode&&this.player.audio.mediaStreamAudioDestinationNode.stream&&!this.player.audio.isStateSuspended()&&this.player.audio.hasAudio&&this.player._opt.hasAudio){const t=this.player.audio.mediaStreamAudioDestinationNode.stream;if(t.getAudioTracks().length>0){const i=t.getAudioTracks()[0];i&&i.enabled&&e.addTrack(i)}}this.recorder=_e(e,t)}catch(t){e.error("Recorder","startRecord error",t),this.emit(j.recordCreateError)}this.recorder&&(this.isRecording=!0,this.player.emit(j.recording,!0),this.recorder.startRecording(),e.log("Recorder","start recording"),this.player.emit(j.recordStart),this.recordingInterval=window.setInterval((()=>{this.recordingTimestamp+=1,this.player.emit(j.recordingTimestamp,this.recordingTimestamp)}),1e3))}stopRecordAndSave(){this.recorder&&this.isRecording&&this.recorder.stopRecording((()=>{this.player.debug.log("Recorder","stop recording"),this.player.emit(j.recordEnd);const e=(this.fileName||ve())+"."+(this.fileType||c);Ge(this.recorder.getBlob(),e),this._reset(),this.player.emit(j.recording,!1)}))}_reset(){this.isRecording=!1,this.recordingTimestamp=0,this.recorder&&(this.recorder.destroy(),this.recorder=null),this.fileName=null,this.recordingInterval&&clearInterval(this.recordingInterval),this.recordingInterval=null}}class et{constructor(e){return new(et.getLoaderFactory())(e)}static getLoaderFactory(){return $e}}class tt{constructor(e){this.player=e,this.decoderWorker=new Worker(e._opt.decoder),this._initDecoderWorker(),e.debug.log("decoderWorker","init")}async destroy(){this.decoderWorker&&(this.decoderWorker.postMessage({cmd:x}),this.decoderWorker.terminate(),this.decoderWorker=null),this.player.debug.log("decoderWorker","destroy")}_initDecoderWorker(){const{debug:e,events:{proxy:t}}=this.player;this.decoderWorker.onmessage=t=>{const i=t.data;switch(i.cmd){case p:e.log("decoderWorker","onmessage:",p),this.player.loaded||this.player.emit(j.load),this.player.emit(j.decoderWorkerInit),this._initWork();break;case v:e.log("decoderWorker","onmessage:",v,i.code),this.player._times.decodeStart||(this.player._times.decodeStart=ve()),this.player.video.updateVideoInfo({encTypeCode:i.code});break;case y:e.log("decoderWorker","onmessage:",y,i.code),this.player.audio&&this.player.audio.updateAudioInfo({encTypeCode:i.code});break;case g:if(e.log("decoderWorker","onmessage:",g,`width:${i.w},height:${i.h}`),this.player.video.updateVideoInfo({width:i.w,height:i.h}),!this.player._opt.openWebglAlignment&&i.w/2%4!=0)return void this.player.emit(F.webglAlignmentError);this.player.video.initCanvasViewSize();break;case b:e.log("decoderWorker","onmessage:",b,`channels:${i.channels},sampleRate:${i.sampleRate}`),this.player.audio&&(this.player.audio.updateAudioInfo(i),this.player.audio.initScriptNode(i));break;case m:this.player.handleRender(),this.player.video.render(i),this.player.emit(j.timeUpdate,i.ts),this.player.updateStats({fps:!0,ts:i.ts,buf:i.delay}),this.player._times.videoStart||(this.player._times.videoStart=ve(),this.player.handlePlayToRenderTimes());break;case f:this.player.playing&&this.player.audio&&this.player.audio.play(i.buffer,i.ts);break;case w:i.message&&-1!==i.message.indexOf(S)&&this.player.emitError(F.wasmDecodeError);break;default:this.player[i.cmd]&&this.player[i.cmd](i)}}}_initWork(){const e={debug:this.player._opt.debug,useOffscreen:this.player._opt.useOffscreen,useWCS:this.player._opt.useWCS,videoBuffer:this.player._opt.videoBuffer,videoBufferDelay:this.player._opt.videoBufferDelay,openWebglAlignment:this.player._opt.openWebglAlignment};this.decoderWorker.postMessage({cmd:k,opt:JSON.stringify(e),sampleRate:this.player.audio&&this.player.audio.audioContext.sampleRate||0})}decodeVideo(e,t,i){const r={type:B,ts:Math.max(t,0),isIFrame:i};this.decoderWorker.postMessage({cmd:T,buffer:e,options:r},[e.buffer])}decodeAudio(e,t){this.player._opt.useWCS||this.player._opt.useMSE?this._decodeAudioNoDelay(e,t):this._decodeAudio(e,t)}_decodeAudio(e,t){const i={type:E,ts:Math.max(t,0)};this.decoderWorker.postMessage({cmd:T,buffer:e,options:i},[e.buffer])}_decodeAudioNoDelay(e,t){this.decoderWorker.postMessage({cmd:I,buffer:e,ts:Math.max(t,0)},[e.buffer])}updateWorkConfig(e){this.decoderWorker.postMessage({cmd:D,key:e.key,value:e.value})}}class it extends Ve{constructor(e){super(),this.player=e,this.stopId=null,this.firstTimestamp=null,this.startTimestamp=null,this.delay=-1,this.bufferList=[],this.dropping=!1,this.initInterval()}destroy(){this.stopId&&(clearInterval(this.stopId),this.stopId=null),this.firstTimestamp=null,this.startTimestamp=null,this.delay=-1,this.bufferList=[],this.dropping=!1,this.off(),this.player.debug.log("CommonDemux","destroy")}getDelay(e){if(!e)return-1;if(this.firstTimestamp){if(e){const t=Date.now()-this.startTimestamp,i=e-this.firstTimestamp;this.delay=t>=i?t-i:i-t}}else this.firstTimestamp=e,this.startTimestamp=Date.now(),this.delay=-1;return this.delay}resetDelay(){this.firstTimestamp=null,this.startTimestamp=null,this.delay=-1,this.dropping=!1}initInterval(){this.player.debug.log("common dumex","init Interval");let e=()=>{let e;const t=this.player._opt.videoBuffer,i=this.player._opt.videoBufferDelay;if(!this.player.isDestroyedOrClosed())if(this.player._opt.useMSE&&this.player.mseDecoder&&this.player.mseDecoder.getSourceBufferUpdating())this.player.debug.warn("CommonDemux",`_loop getSourceBufferUpdating is true and bufferList length is ${this.bufferList.length}`);else if(this.bufferList.length)if(this.dropping){for(e=this.bufferList.shift(),e.type===E&&0===e.payload[1]&&this._doDecoderDecode(e);!e.isIFrame&&this.bufferList.length;)e=this.bufferList.shift(),e.type===E&&0===e.payload[1]&&this._doDecoderDecode(e);e.isIFrame&&this.getDelay(e.ts)<=Math.min(t,200)&&(this.dropping=!1,this._doDecoderDecode(e))}else e=this.bufferList[0],-1===this.getDelay(e.ts)?(this.bufferList.shift(),this._doDecoderDecode(e)):this.delay>t+i?(this.resetDelay(),this.dropping=!0):(e=this.bufferList[0],this.getDelay(e.ts)>t&&(this.bufferList.shift(),this._doDecoderDecode(e)))};e(),this.stopId=setInterval(e,10)}_doDecode(e,t,i,r,o){const s=this.player;let a={ts:i,cts:o,type:t,isIFrame:!1};s._opt.useWCS&&!s._opt.useOffscreen||s._opt.useMSE?(t===B&&(a.isIFrame=r),this.pushBuffer(e,a)):t===B?s.decoderWorker&&s.decoderWorker.decodeVideo(e,i,r):t===E&&s._opt.hasAudio&&s.decoderWorker&&s.decoderWorker.decodeAudio(e,i)}_doDecoderDecode(e){const t=this.player,{webcodecsDecoder:i,mseDecoder:r}=t;e.type===E?t._opt.hasAudio&&t.decoderWorker&&t.decoderWorker.decodeAudio(e.payload,e.ts):e.type===B&&(t._opt.useWCS&&!t._opt.useOffscreen?i.decodeVideo(e.payload,e.ts,e.isIFrame):t._opt.useMSE&&r.decodeVideo(e.payload,e.ts,e.isIFrame,e.cts))}pushBuffer(e,t){t.type===E?this.bufferList.push({ts:t.ts,payload:e,type:E}):t.type===B&&this.bufferList.push({ts:t.ts,cts:t.cts,payload:e,type:B,isIFrame:t.isIFrame})}close(){}_decodeEnhancedH265Video(e,t){const i=e[0],r=48&i,o=15&i,s=e.slice(1,5),a=new ArrayBuffer(4),n=new Uint32Array(a),A="a"==String.fromCharCode(s[0]);if(o===le){if(r===pe){const t=e.slice(5);if(!A){const e=new Uint8Array(5+t.length);e.set([28,0,0,0,0],0),e.set(t,5),this._doDecode(e,B,0,!0,0)}}}else if(o===ue){let i=e,o=0;const s=r===pe;if(!A){n[0]=e[4],n[1]=e[3],n[2]=e[2],n[3]=0,o=n[0];i=Fe(e.slice(8),s),this._doDecode(i,B,t,s,o)}}else if(o===he){const i=r===pe;let o=Fe(e.slice(5),i);this._doDecode(o,B,t,i,0)}}_isEnhancedH265Header(e){return 128==(128&e)}}class rt extends it{constructor(e){super(e),this.input=this._inputFlv(),this.flvDemux=this.dispatchFlvData(this.input),e.debug.log("FlvDemux","init")}destroy(){super.destroy(),this.input=null,this.flvDemux=null,this.player.debug.log("FlvDemux","destroy")}dispatch(e){this.flvDemux(e)}*_inputFlv(){yield 9;const e=new ArrayBuffer(4),t=new Uint8Array(e),i=new Uint32Array(e),r=this.player;for(;;){t[3]=0;const e=yield 15,o=e[4];t[0]=e[7],t[1]=e[6],t[2]=e[5];const s=i[0];t[0]=e[10],t[1]=e[9],t[2]=e[8];let a=i[0];16777215===a&&(t[3]=e[11],a=i[0]);const n=yield s;switch(o){case C:r._opt.hasAudio&&(r.updateStats({abps:n.byteLength}),n.byteLength>0&&this._doDecode(n,E,a));break;case R:if(r._times.demuxStart||(r._times.demuxStart=ve()),r._opt.hasVideo){r.updateStats({vbps:n.byteLength});const e=n[0];if(this._isEnhancedH265Header(e))this._decodeEnhancedH265Video(n,a);else{const e=n[0]>>4==1;if(n.byteLength>0){i[0]=n[4],i[1]=n[3],i[2]=n[2],i[3]=0;let t=i[0];this._doDecode(n,B,a,e,t)}}}}}}dispatchFlvData(e){let t=e.next(),i=null;return r=>{let o=new Uint8Array(r);if(i){let e=new Uint8Array(i.length+o.length);e.set(i),e.set(o,i.length),o=e,i=null}for(;o.length>=t.value;){let i=o.slice(t.value);t=e.next(o.slice(0,t.value)),o=i}o.length>0&&(i=o)}}close(){this.input&&this.input.return(null)}}class ot extends it{constructor(e){super(e),e.debug.log("M7sDemux","init")}destroy(){super.destroy(),this.player.debug.log("M7sDemux","destroy")}dispatch(e){const t=this.player,i=new DataView(e),r=i.getUint8(0),o=i.getUint32(1,!1),s=new ArrayBuffer(4),a=new Uint32Array(s);switch(r){case E:if(t._opt.hasAudio){const i=new Uint8Array(e,5);t.updateStats({abps:i.byteLength}),i.byteLength>0&&this._doDecode(i,r,o)}break;case B:if(t._opt.hasVideo)if(t._times.demuxStart||(t._times.demuxStart=ve()),i.byteLength>5){const s=new Uint8Array(e,5),n=s[0];if(this._isEnhancedH265Header(n))this._decodeEnhancedH265Video(s,o);else{const e=i.getUint8(5)>>4==1;t.updateStats({vbps:s.byteLength}),a[0]=s[4],a[1]=s[3],a[2]=s[2],a[3]=0;let n=a[0];this._doDecode(s,r,o,e,n)}}else this.player.debug.warn("M7sDemux","dispatch","dv byteLength is",i.byteLength)}}}class st{constructor(e){return new(st.getLoaderFactory(e._opt.demuxType))(e)}static getLoaderFactory(e){return e===A?ot:e===n?rt:void 0}}class at{constructor(e){this.TAG="ExpGolomb",this._buffer=e,this._buffer_index=0,this._total_bytes=e.byteLength,this._total_bits=8*e.byteLength,this._current_word=0,this._current_word_bits_left=0}destroy(){this._buffer=null}_fillCurrentWord(){let e=this._total_bytes-this._buffer_index,t=Math.min(4,e),i=new Uint8Array(4);i.set(this._buffer.subarray(this._buffer_index,this._buffer_index+t)),this._current_word=new DataView(i.buffer).getUint32(0,!1),this._buffer_index+=t,this._current_word_bits_left=8*t}readBits(e){if(e<=this._current_word_bits_left){let t=this._current_word>>>32-e;return this._current_word<<=e,this._current_word_bits_left-=e,t}let t=this._current_word_bits_left?this._current_word:0;t>>>=32-this._current_word_bits_left;let i=e-this._current_word_bits_left;this._fillCurrentWord();let r=Math.min(i,this._current_word_bits_left),o=this._current_word>>>32-r;return this._current_word<<=r,this._current_word_bits_left-=r,t=t<>>e))return this._current_word<<=e,this._current_word_bits_left-=e,e;return this._fillCurrentWord(),e+this._skipLeadingZero()}readUEG(){let e=this._skipLeadingZero();return this.readBits(e+1)-1}readSEG(){let e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)}}class nt{static _ebsp2rbsp(e){let t=e,i=t.byteLength,r=new Uint8Array(i),o=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(r[o]=t[e],o++);return new Uint8Array(r.buffer,0,o)}static parseSPS(e){let t=nt._ebsp2rbsp(e),i=new at(t);i.readByte();let r=i.readByte();i.readByte();let o=i.readByte();i.readUEG();let s=nt.getProfileString(r),a=nt.getLevelString(o),n=1,A=420,d=[0,420,422,444],c=8;if((100===r||110===r||122===r||244===r||44===r||83===r||86===r||118===r||128===r||138===r||144===r)&&(n=i.readUEG(),3===n&&i.readBits(1),n<=3&&(A=d[n]),c=i.readUEG()+8,i.readUEG(),i.readBits(1),i.readBool())){let e=3!==n?8:12;for(let t=0;t0&&e<16?(v=t[e-1],w=r[e-1]):255===e&&(v=i.readByte()<<8|i.readByte(),w=i.readByte()<<8|i.readByte())}if(i.readBool()&&i.readBool(),i.readBool()&&(i.readBits(4),i.readBool()&&i.readBits(24)),i.readBool()&&(i.readUEG(),i.readUEG()),i.readBool()){let e=i.readBits(32),t=i.readBits(32);E=i.readBool(),B=t,C=2*e,S=B/C}}let R=1;1===v&&1===w||(R=v/w);let k=0,T=0;if(0===n)k=1,T=2-g;else{k=3===n?1:2,T=(1===n?2:1)*(2-g)}let I=16*(h+1),x=16*(p+1)*(2-g);I-=(m+f)*k,x-=(b+y)*T;let D=Math.ceil(I*R);return i.destroy(),i=null,{profile_string:s,level_string:a,bit_depth:c,ref_frames:u,chroma_format:A,chroma_format_string:nt.getChromaFormatString(A),frame_rate:{fixed:E,fps:S,fps_den:C,fps_num:B},sar_ratio:{width:v,height:w},codec_size:{width:I,height:x},present_size:{width:D,height:x}}}static _skipScalingList(e,t){let i=8,r=8,o=0;for(let s=0;s ${t.codecWidth}, height ${i.height}-> ${t.codecHeight}`),void this.player.emit(F.webcodecsWidthOrHeightChange)}if(!this.isDecodeFirstIIframe&&i&&(this.isDecodeFirstIIframe=!0),this.isDecodeFirstIIframe){const r=new EncodedVideoChunk({data:e.slice(5),timestamp:t,type:i?Z:K});this.player.emit(j.timeUpdate,t);try{if(this.isDecodeStateClosed())return void this.player.debug.warn("Webcodecs","VideoDecoder isDecodeStateClosed true");this.decoder.decode(r)}catch(e){this.player.debug.error("Webcodecs","VideoDecoder",e),(-1!==e.toString().indexOf(ae)||-1!==e.toString().indexOf(ne))&&this.player.emitError(F.webcodecsDecodeError)}}else this.player.debug.warn("Webcodecs","VideoDecoder isDecodeFirstIIframe false")}else if(i&&0===e[1]){const t=15&e[0];if(this.player.video.updateVideoInfo({encTypeCode:t}),t===J)return void this.emit(F.webcodecsH265NotSupport);this.player._times.decodeStart||(this.player._times.decodeStart=ve());const i=function(e){let t=e.subarray(1,4),i="avc1.";for(let e=0;e<3;e++){let r=t[e].toString(16);r.length<2&&(r="0"+r),i+=r}return{codec:i,description:e}}(e.slice(5));this.player.debug.log("Webcodecs","VideoDecoder configure",i);try{this.decoder.configure(i)}catch(e){return this.player.debug.error("Webcodecs","VideoDecoder configure",e),void this.player.emit(F.webcodecsConfigureError)}this.hasInit=!0}}isDecodeStateClosed(){return"closed"===this.decoder.state}}const ct={play:"播放",pause:"暂停",audio:"",mute:"",screenshot:"截图",loading:"加载",fullscreen:"全屏",fullscreenExit:"退出全屏",record:"录制",recordStop:"停止录制"};var lt=Object.keys(ct).reduce(((e,t)=>(e[t]=`\n \n ${ct[t]?`${ct[t]}`:""}\n`,e)),{}),ut=(e,t)=>{const{events:{proxy:i}}=e,r=document.createElement("object");r.setAttribute("aria-hidden","true"),r.setAttribute("tabindex",-1),r.type="text/html",r.data="about:blank",Se(r,{display:"block",position:"absolute",top:"0",left:"0",height:"100%",width:"100%",overflow:"hidden",pointerEvents:"none",zIndex:"-1"});let o=e.width,s=e.height;i(r,"load",(()=>{i(r.contentDocument.defaultView,"resize",(()=>{e.width===o&&e.height===s||(o=e.width,s=e.height,e.emit(j.resize),n())}))})),e.$container.appendChild(r),e.on(j.destroy,(()=>{e.$container.removeChild(r)})),e.on(j.volumechange,(()=>{!function(e){if(0===e)Se(t.$volumeOn,"display","none"),Se(t.$volumeOff,"display","flex"),Se(t.$volumeHandle,"top","48px");else if(t.$volumeHandle&&t.$volumePanel){const i=Ee(t.$volumePanel,"height")||60,r=Ee(t.$volumeHandle,"height"),o=i-(i-r)*e-r;Se(t.$volumeHandle,"top",`${o}px`),Se(t.$volumeOn,"display","flex"),Se(t.$volumeOff,"display","none")}t.$volumePanelText&&(t.$volumePanelText.innerHTML=parseInt(100*e))}(e.volume)})),e.on(j.loading,(e=>{Se(t.$loading,"display",e?"flex":"none"),Se(t.$poster,"display","none"),e&&Se(t.$playBig,"display","none")}));const a=i=>{let r=Ie(i)?i:e.fullscreen;Se(t.$fullscreenExit,"display",r?"flex":"none"),Se(t.$fullscreen,"display",r?"none":"flex")},n=()=>{Re()&&t.$controls&&e._opt.useWebFullScreen&&setTimeout((()=>{if(e.fullscreen){let i=e.height/2-e.width+19,r=e.height/2-19;t.$controls.style.transform=`translateX(${-i}px) translateY(-${r}px) rotate(-90deg)`}else t.$controls.style.transform="translateX(0) translateY(0) rotate(0)"}),10)};try{fe.on("change",a),e.events.destroys.push((()=>{fe.off("change",a)}))}catch(e){}e.on(j.webFullscreen,(e=>{a(e),n()})),e.on(j.recording,(()=>{Se(t.$record,"display",e.recording?"none":"flex"),Se(t.$recordStop,"display",e.recording?"flex":"none"),Se(t.$recording,"display",e.recording?"flex":"none"),!e.recording&&t.$recordingTime&&(t.$recordingTime.innerHTML=De(0))})),e.on(j.recordingTimestamp,(e=>{t.$recordingTime&&(t.$recordingTime.innerHTML=De(e))})),e.on(j.playing,(e=>{Se(t.$play,"display",e?"none":"flex"),Se(t.$playBig,"display",e?"none":"block"),Se(t.$pause,"display",e?"flex":"none"),Se(t.$screenshot,"display",e?"flex":"none"),Se(t.$record,"display",e?"flex":"none"),Se(t.$qualityMenu,"display",e?"flex":"none"),Se(t.$volume,"display",e?"flex":"none"),a(),e||t.$speed&&(t.$speed.innerHTML=ke(""))})),e.on(j.kBps,(e=>{const i=ke(e);t.$speed&&(t.$speed.innerHTML=i)}))};function ht(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===i&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}ht('@keyframes rotation{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes magentaPulse{0%{background-color:#630030;-webkit-box-shadow:0 0 9px #333}50%{background-color:#a9014b;-webkit-box-shadow:0 0 18px #a9014b}to{background-color:#630030;-webkit-box-shadow:0 0 9px #333}}.jessibuca-container .jessibuca-icon{cursor:pointer;width:16px;height:16px}.jessibuca-container .jessibuca-poster{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;height:100%;width:100%;background-position:50%;background-repeat:no-repeat;background-size:contain;pointer-events:none}.jessibuca-container .jessibuca-play-big{position:absolute;display:none;height:100%;width:100%;background:rgba(0,0,0,.4)}.jessibuca-container .jessibuca-play-big:after{cursor:pointer;content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;width:48px;height:48px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACgklEQVRoQ+3ZPYsTQRjA8eeZZCFlWttAwCIkZOaZJt8hlvkeHrlccuAFT6wEG0FQOeQQLCIWih6chQgKgkkKIyqKCVYip54IWmiQkTmyYhFvd3Zn3yDb7szu/7cv7GaDkPEFM94PK0DSZ9DzDAyHw7uI2HRDlVJX5/N5r9FoHCYdr/fvCRiNRmpJ6AEidoUQ15NG+AH8BgD2n9AHANAmohdJQfwAfgGA4xF4bjabnW21Whob62ILoKNfAsAGEd2PU2ATcNSNiDf0/cE5/xAHxDpgEf0NADaJ6HLUiKgAbvcjpdSGlPJZVJCoAUfdSqkLxWLxTLlc/mkbEgtgET1TSnWklLdtIuIEuN23crlcp16vv7cBSQKgu38AwBYRXQyLSArg3hsjRDxNRE+CQhIF/BN9qVAobFYqle+mkLQAdLd+8K0T0U0TRJoAbvc9fVkJId75gaQRoLv1C2STiPTb7rFLWgE6+g0RncwyYEJEtawCvjDGmpzzp5kD6NfxfD7frtVqB17xen2a7oG3ALBm+oMoFQBEPD+dTvtBfpImDXjIGFvjnD/3c7ksG5MU4HDxWeZa0HB3XhKAXcdxOn5vUi9gnIDXSqm2lHLPK8pkfVyAbSLqm4T5HRs1YB8RO0KIid8g03FRAT4rpbpSyh3TINPxUQB2GGM9zvkn05gg420CJovLZT9ISNA5tgB9ItoOGhFmnh/AcZ/X9xhj65zzV2Eiwsz1A1j2B8dHAOgS0W6YnduY6wkYj8d3lFKn/j66Ea84jtOrVqtfbQSE3YYnYDAY5Eql0hYAnNDv6kKIx2F3anO+J8DmzqLY1goQxVE12ebqDJgcrSjGrs5AFEfVZJt/AF0m+jHzUTtnAAAAAElFTkSuQmCC");background-repeat:no-repeat;background-position:50%}.jessibuca-container .jessibuca-play-big:hover:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACEElEQVRoQ+2ZXStEQRjH/3/yIXwDdz7J+i7kvdisXCk3SiFJW27kglBcSFFKbqwQSa4krykuKB09Naf2Yndn5jgzc06d53Znd36/mWfeniVyHsw5PwqB0DOonYEoijYBlOpAFwCMkHwLDS/9mwhEDUCfAAyTXA4tYSLwC6CtCegegH6S56FETAR+AHRoACcBTJAUWa+RloBAXwAYIrnt0yBNgZi7qtbHgw8RFwLC/QFglOScawlXAjH3gUqrE1cirgVi7mkAYyS/0xbxJSDcdwAGSa6nKeFTIOZeUyL3aYiEEBDuLwDjJGf+KxFKIOY+BdBL8iipSGiBmHtWbbuftiJZERBuOfgGSK7aSGRJIObeUml1ayKSRQHhlgtkiaTcdltGVgUE+ppkV54FaiS78yrwqlLoOI8Cch2XV548W7WRpTVwA6DP9kGUFYEpAOUkT9LQAvtq1M+0udKkQSgBqSlJWWYxKXj8vRACK+o6bbRIdYI+Ba7U7rKjg7L53JdAhWTZBsy0rWuBXZUuNVMg23auBF7UIl2yBbJt70JAoKV6/WwLk6R9mgKSJlJ1kLTxFmkJyCla8UZd15GJQKvyumyJ8gy8DAEvfZoINPqD41EtUjmUgoaJwAaAnjrKebVI34OSq85NBNqlCAWgE0CV5GEWwI3vQlmCbcSinYFCwPEIFDPgeIC1P1/MgHaIHDf4Aydx2TF7wnKeAAAAAElFTkSuQmCC")}.jessibuca-container .jessibuca-recording{display:none;position:absolute;left:50%;top:0;padding:0 3px;transform:translateX(-50%);justify-content:space-around;align-items:center;width:95px;height:20px;background:#000;opacity:1;border-radius:0 0 8px 8px;z-index:1}.jessibuca-container .jessibuca-recording .jessibuca-recording-red-point{width:8px;height:8px;background:#ff1f1f;border-radius:50%;animation:magentaPulse 1s linear infinite}.jessibuca-container .jessibuca-recording .jessibuca-recording-time{font-size:14px;font-weight:500;color:#ddd}.jessibuca-container .jessibuca-recording .jessibuca-icon-recordStop{width:16px;height:16px;cursor:pointer}.jessibuca-container .jessibuca-loading{display:none;flex-direction:column;justify-content:center;align-items:center;position:absolute;z-index:20;left:0;top:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none}.jessibuca-container .jessibuca-loading-text{line-height:20px;font-size:13px;color:#fff;margin-top:10px}.jessibuca-container .jessibuca-controls{background-color:#161616;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-end;position:absolute;z-index:40;left:0;right:0;bottom:0;height:38px;width:100%;padding-left:13px;padding-right:13px;font-size:14px;color:#fff;opacity:0;visibility:hidden;-webkit-user-select:none;user-select:none}.jessibuca-container .jessibuca-controls .jessibuca-controls-item{position:relative;display:flex;justify-content:center;padding:0 8px}.jessibuca-container .jessibuca-controls .jessibuca-controls-item:hover .icon-title-tips{visibility:visible;opacity:1}.jessibuca-container .jessibuca-controls .jessibuca-fullscreen,.jessibuca-container .jessibuca-controls .jessibuca-fullscreen-exit,.jessibuca-container .jessibuca-controls .jessibuca-icon-audio,.jessibuca-container .jessibuca-controls .jessibuca-microphone-close,.jessibuca-container .jessibuca-controls .jessibuca-pause,.jessibuca-container .jessibuca-controls .jessibuca-play,.jessibuca-container .jessibuca-controls .jessibuca-record,.jessibuca-container .jessibuca-controls .jessibuca-record-stop,.jessibuca-container .jessibuca-controls .jessibuca-screenshot{display:none}.jessibuca-container .jessibuca-controls .jessibuca-icon-audio,.jessibuca-container .jessibuca-controls .jessibuca-icon-mute{z-index:1}.jessibuca-container .jessibuca-controls .jessibuca-controls-bottom{display:flex;justify-content:space-between;height:100%}.jessibuca-container .jessibuca-controls .jessibuca-controls-bottom .jessibuca-controls-left,.jessibuca-container .jessibuca-controls .jessibuca-controls-bottom .jessibuca-controls-right{display:flex;align-items:center}.jessibuca-container.jessibuca-controls-show .jessibuca-controls{opacity:1;visibility:visible}.jessibuca-container.jessibuca-controls-show-auto-hide .jessibuca-controls{opacity:.8;visibility:visible;display:none}.jessibuca-container.jessibuca-hide-cursor *{cursor:none!important}.jessibuca-container .jessibuca-icon-loading{width:50px;height:50px;background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%;animation:rotation 1s linear infinite}.jessibuca-container .jessibuca-icon-screenshot{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAE5UlEQVRoQ+1YW2sdVRT+1s7JxbsoVkEUrIIX0ouz15zYNA+N1RdtQfCltlUfvLbqL/BCwZ8grbHtizQqPojgBSr0JkiMmT2nxgapqBURtPVCq7HxJCeZJVPmxDlzZubMmXOSEsnAvOy917fXt9e39tp7E5b4R0vcfywTuNgRbBgBx3HuJqLVzPzmYjprjHkcwAlmLqXNm4XAISLaSESPaq2HF4OE67rbRGRYRA7btn1fbgLGmKsA/Azg0gBkGzO/vZAkHMd5hIiqc5wHcCMz/5k0Z2oExsfHV1QqldPAf8lORNu11m8tBAljzFYAYWxRSl1vWdZvuQj4RsYYF4AVBlgIOVVlE55HRIxt23ZuCfmGjuOsJ6LPoiAistW27XfaEYmIbOYhPc9bXywWR1oiEJDYQkR1zrYjEjGyqfqbKd8a7kJVtLgQ+30i8pht2wfyRKIdmJkJBPkQTbILfudJ7CTZNBvVpggEcgpvc/ML38zESbLJsxBNE/A9biX0rdjGyTQXgbxyapdsarb0PMlXtWnGoXbKpm0Essqp3bJpK4E0OXmed3+hUBDP8w5FI91M0rdcyLLILElOCbaZilSWeXMncRx4klTCY1spfG3dhZJWx3GcDUR0EEB3ZMw0ET2gtT6SZWWzjmlrBIJCl0hAKfWgZVmHszqXZVxbCSxpCS2JJA6umIhe8ZKKVLPbaBJ+S9toqVRa53nedgAbAKwIwH4FcAzAa0R0l4i8F7PPz189k6RFRA+LyNcAXojDV0oNW5b1eW4Cxpg9AHZkSaaa6hhzb065uDSCH2LmRB8Sk9gY4293g43Qo/1pV80m8yQMfZSZ781cB1zXHRKRZ2IMpgD8A+DamL4ZItqitX4/jbQx5iEA7wLoihn3V/ACckWMJN/QWj9b1x5tGBsbW6uUOh5pPy0iL3Z2dn6ilJqanp5ep5TaJSLhF4NppdRNaU8gPmapVLrO87yfIoXuWyJ6uVKp+HmFjo6OQSJ6FcBtYT+UUmstyxqvkWuUgDFmP4AnQu2/e563qlgs+u9DNZ8xZhRAX7VRRPbath0XuXk7Y8xeAE+FgL6fnJzsHRwcLIfBR0ZGLunq6poAsDLUvp+Zw7b1r9PGmJMAbg8Z7WDmoThZuK67WkS+DD18fcPMdzSQUBR/EzN/nIC/SUQ+DPXV4dclsTHmHAD/SfHCNzc3t7Kvr++HJKeMMacA3BL0nyuXyzcPDAxMxo0fHR29slAo/Ajg6qD/fE9Pzw29vb1/x42fmJi4vFwu+5G/LOg/y8zXNJLQ2dAES5JANMQ7mfn1jBI6ycx3NiMhItqstf4oAX+ziHwQ6qvDj5NQNIn/ALCKmX+JSeIvABRD7fuY+ekGBPYBeDI05tTMzExvf3+/vz2Hk91/ET8RSeI6/DoCpVJpjed5fmKGvzMAXpqdnT3oed5Ud3d3v4jsAqBr9Ei0Rmv9VRqBBPzvROQVETnq2xJRdRu9tRF+bCVOKWT+Kvl/TSIFk6SW/LAjKfjV5K8rZABi8dOOEv7FI7Z8x6zwEWbemLbyMfJr5qiSiJ96oclymBOR3bZtP9+M89WxxpjdAHY2sN3DzM8ljWl4I3Nd9x7/OE1ENcdpETnmH3e11n41zv0l4J8RkU+J6AAz+xtF4teQQG7PFslwmcAiLfSyhC72Qv9/I/Avns2OT7QJskoAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-screenshot:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAED0lEQVRoQ+2ZycsdRRTFf2ejqHFAMQqiYBTUoElUHLNx3GgCgpuYRF2o0UT9CxwQ/BMkMSbZSKLiQgQHUDCJgjiAxiEiESdEcJbEedgcKaj3UV+/6q7u/jovPPkK3qbr1ql76p5bt6qemPKmKfefeQKHOoLFCNg+H1gi6fFJOmv7VmCvpD1N87Yh8ApwNXCzpB2TIGF7DRDm2inpmt4EbB8LfAMcGUHWSHryYJKwfRMwmuMP4BRJv9TN2RgB2wuB72BWsq+V9MTBIGF7NZBiGzhJ0o+9CIRBtt8FLqgADC6nRDbpVO9Iuqi3hCKB5cDrGZDVkp4aIhIV2aSQyyW9MScCkcQqIOfsnCORkc3I31b5VtyFRmg1IQ7dt0ja3icSQ2C2JhAjUU2ykd+dE7tBNp2i2olAJJFuc+nCt564QTadF6IzgUhiVGiqyinKaQjZpJP2ItBXTkPJZhACXeU0pGwGI9BWTkPLZlACBTldG4o5EA6E1dY66edcyNrs8Q36zg1vVaTazNs7iXPgDVJJzYs7VRvHRzaDEohyugJ4CTi84sg/wHWSdnVxsGQ7aQLXS9pZcqpL/6AEplpCU5HE8YpJ9YrXUKQ6baN1+HPaRm1fBqwFQnKGK2ZoPwCvAo8Ai4FnMpPMHMwapHUj8DFwbw3+Dklv9iZgexOwvktSRduxU2VDlErwmyXV+lCbxLbDdndlCT3TX3vV7JgnKfRuSVflfMkSsL0ZuDMz4E/gL+CETN+/wCpJzzaRtn0D8DRwWMbu1/gCcnSm7zFJd1W/jxGwvQx4r2IYnlbuA14GAomQFw8B6YtBKFSnNj2BxEJ3IvB1pdB9CjwQ8yqYhcg/DJxZ8WOZpA/SbzkC24DbEqOfgPMkBRKzmu23gEuSj1sk5SI3Y2J7C3BHMuZz4FxJf6fgto8APgIWJd+3SUrHjr9O294HnJUMWi8pSGqs2V4CvJ88fH0i6eyChKr4KyS9WIO/Ang+6RvDz0XgABCeFEdtkaQv65yy/QVweuwPY0+T9FuNQ8cAXwHHxf7wdHiypN9r7BfEl8GjYv9+SceXJLQ/mSDYTh2Baog3SHq0pYT2STqno4RWSnqhBn8l8FzSN4bfJol/jkn8bXUS228DFyfft0paVyCwFbg9sQkSDEkctueZZju8iO+tJPEYfo7A0piYKd73wP3xnB+20cvjNnphxdmlkj4sEMjhfwY8COyOY0fb6Bkl/K6FLKxS+M1KpDhJY8mvrG5doRwlf66QZfGbjhLh4pEt35kV3iUp/IvTunU8qtTil/7gaHOY2yjpntaez9b5RmBDYewmSXfX2RRvZLYvbThOh+NuqMa9Ww1+yLnXgO2SwkZR24oEens2oYHzBCa00PMSOtQL/f+NwH+Hg8hAnbrYgQAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-play{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACgklEQVRoQ+3ZPYsTQRjA8eeZZCFlWttAwCIkZOaZJt8hlvkeHrlccuAFT6wEG0FQOeQQLCIWih6chQgKgkkKIyqKCVYip54IWmiQkTmyYhFvd3Zn3yDb7szu/7cv7GaDkPEFM94PK0DSZ9DzDAyHw7uI2HRDlVJX5/N5r9FoHCYdr/fvCRiNRmpJ6AEidoUQ15NG+AH8BgD2n9AHANAmohdJQfwAfgGA4xF4bjabnW21Whob62ILoKNfAsAGEd2PU2ATcNSNiDf0/cE5/xAHxDpgEf0NADaJ6HLUiKgAbvcjpdSGlPJZVJCoAUfdSqkLxWLxTLlc/mkbEgtgET1TSnWklLdtIuIEuN23crlcp16vv7cBSQKgu38AwBYRXQyLSArg3hsjRDxNRE+CQhIF/BN9qVAobFYqle+mkLQAdLd+8K0T0U0TRJoAbvc9fVkJId75gaQRoLv1C2STiPTb7rFLWgE6+g0RncwyYEJEtawCvjDGmpzzp5kD6NfxfD7frtVqB17xen2a7oG3ALBm+oMoFQBEPD+dTvtBfpImDXjIGFvjnD/3c7ksG5MU4HDxWeZa0HB3XhKAXcdxOn5vUi9gnIDXSqm2lHLPK8pkfVyAbSLqm4T5HRs1YB8RO0KIid8g03FRAT4rpbpSyh3TINPxUQB2GGM9zvkn05gg420CJovLZT9ISNA5tgB9ItoOGhFmnh/AcZ/X9xhj65zzV2Eiwsz1A1j2B8dHAOgS0W6YnduY6wkYj8d3lFKn/j66Ea84jtOrVqtfbQSE3YYnYDAY5Eql0hYAnNDv6kKIx2F3anO+J8DmzqLY1goQxVE12ebqDJgcrSjGrs5AFEfVZJt/AF0m+jHzUTtnAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-play:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACEElEQVRoQ+2ZXStEQRjH/3/yIXwDdz7J+i7kvdisXCk3SiFJW27kglBcSFFKbqwQSa4krykuKB09Naf2Yndn5jgzc06d53Znd36/mWfeniVyHsw5PwqB0DOonYEoijYBlOpAFwCMkHwLDS/9mwhEDUCfAAyTXA4tYSLwC6CtCegegH6S56FETAR+AHRoACcBTJAUWa+RloBAXwAYIrnt0yBNgZi7qtbHgw8RFwLC/QFglOScawlXAjH3gUqrE1cirgVi7mkAYyS/0xbxJSDcdwAGSa6nKeFTIOZeUyL3aYiEEBDuLwDjJGf+KxFKIOY+BdBL8iipSGiBmHtWbbuftiJZERBuOfgGSK7aSGRJIObeUml1ayKSRQHhlgtkiaTcdltGVgUE+ppkV54FaiS78yrwqlLoOI8Cch2XV548W7WRpTVwA6DP9kGUFYEpAOUkT9LQAvtq1M+0udKkQSgBqSlJWWYxKXj8vRACK+o6bbRIdYI+Ba7U7rKjg7L53JdAhWTZBsy0rWuBXZUuNVMg23auBF7UIl2yBbJt70JAoKV6/WwLk6R9mgKSJlJ1kLTxFmkJyCla8UZd15GJQKvyumyJ8gy8DAEvfZoINPqD41EtUjmUgoaJwAaAnjrKebVI34OSq85NBNqlCAWgE0CV5GEWwI3vQlmCbcSinYFCwPEIFDPgeIC1P1/MgHaIHDf4Aydx2TF7wnKeAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-pause{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAABA0lEQVRoQ+1YwQqCUBAcfWXXsLr2AXWTPXno8yVB8AP6Aa3oHI+kCDqYaawJljSe133uzO44bx0M/HEG/v1gAd9mkAyQgY4I/F8LJUlyrQFtD2AtIkcNoFEU+Z7n7QD4DfFHEVlocrVmgAUAIAOl3mILPcDgEFcUhyrUKMGUUcroc3NQRimj9XJBGaWMvvPydKN0o6/9QTdKN6rZANxj6EbpRulGuZnjYqs8BbyR8Ub2Izeys+u6yyAIDpo/ehzHM2NMDsA0xFsRmWhyfTIDWSXxCEBmrd2EYXjSHJqm6bQoii2AOYBL5Z0xgFxEVppcrQvQJO0zhgX0iXbdWWSADHRE4AZQ731AhEUeNwAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-pause:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAA7klEQVRoQ+2YSwrCQBBEX6HiVvxsPYDewfN7By/gD9ciQkvERQwJdBSiYs0mEDo96aruombEjy/9+P/jAj7NoBkwA28i8H8tFBFRA9oeWEo6ZgCNiDGwAYpn3TpKmmVytWbABQBmoNRbbqEHGB7iiuJYhRol2DJqGX1uDsuoZdRmLuNZSzGWUcuoZdRHSp/IylNgK2ErYSthK3FHwLcSvpXIjoLt9Jfa6TMwl3TIMBkRE2AH9BriL5KGmVyvWIltJXEfKN6tJJ0ym0bECFgDU+Ba+WZQFCdpkcnVuoBM0i5jXECXaNftZQbMwJsI3AAPN3dAQflHegAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-record{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAC+UlEQVRoQ+1ZS2sTURT+zlDJYE3XSq219QHVuEjnJDT+Bff9Abqw2voAEfGxqygUqWhVFHGl/yMLu9BwByxk5SNI66ML6U7axjhHbmhgWiftncxoOiV3FcI53z3f/e65594zhIQPSnj86BBot4IdBToKRFyBnbeFlFIScVEiuYvIWC6Xe2YK8pcC7SYA4CMzH4mDQBXAqilQBDsLQLfPf9FxnF4i8kwwmypARI+Wl5dvmIBEsUmlUkNE9NaHsVCpVAZGR0d/m+A2JSAid3K53E0TkCg2pVKpz7KseR/GfKVSGYxMAMA0M1+JEpyJb6lUOm5ZVnkrAsVisaunp+esiByr1Wp3R0ZGvmifzZK4XQQWHMc52MgBpdQuAOcAXABwuB400ZTjONdaIjA7O5u2bVsnWU1EujzP+5nP5xdMVjvIJkCBD8x8VCm1G8AYgAkAAxt8Z5j5YmgCSqlTAJ4D2OcD/AXgATNfbYVEAIFPIvKKiE4D6GuCea8xX6gtpJT6DmBvECgRFRzHeROWRAABE4iWCbwHEFhkPM/L5vP5dyaz+23+KwHXdR3P854S0YG1ILSCuthNMfNM2OC1/RYENLY+ygcBnPfht6ZAA6BYLNr6dyqVokKhsGpaNQ2TWJstreXaE2aed133sojcj41AKyvdzCdAgSXLsk4MDw9/a/i4rntbRPxFNZoC/5jAV2be759DKTUJ4FZSFFi0bbs/k8noy2R9dAjEuWU2YgXkQOK3kD6BMsysi2Z9JC2Jdcw/ALzwPO+xvmcl7Rj177JVEbkO4BARjSflFDJJuW1dBxJPoCIiL4noDIB1BS0pW6j+oJmbm+uuVqvjRKQfLr0bZHnIzJf0f6HeAybahrUJqAPruhLlcnnPysqKfpXp11n/Gv62zoHAroS+AafT6QkiGrIsazKbzX7eVIHEt1US39gCkOzWYthkjNE+tuZujDGZQ8XRXn8N4KT5lLFZ6uaYPt+nwyDuvC80YdhvB9uOAu1WoaNAR4GIK/AHvdr+QAexB7EAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-record:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACfUlEQVRoQ+2ZSYsUQRCFvycK4nJXXEbHBdwO4kn/gv9CD467ICIutxEFkREdFUU86T/xojcPntyQcT2INw+uISFVkD1Wd2dWlU7nUHlqisiX+fJFZGREi8yHMt8/HYG5VrBToFOg4QnMPxcyM2t4KE2nT0i6EwvylwIjQOCFpE1tEPgGfI0FamC3AFgazP8IrJL0KwZzkAI3gLMxIA1ttgCPA4w3wHpJP2NwBxG4KOlcDEgTGzNbA8wEGP57vA0CU5JONtlczFwz2wY8HUbAzBYCB4CtwCVJb33OIAXmioC70LoyBsxsEXAQOApsLIhelnS6FgEzW+5BBvwA/FS+SPJFa40KBZ5L2mxmS4AJ4IjHxCzwaUnHkgmY2V7gLrAyAPwOXJN0qg6DCgIvgQfAPsDjo2pcKddLciEz+wCs6AO6W9KjVBIVBGIgahN4BvRLMjslPYlZPbT53wR2AbeBtcUmXEFPdh5U06mbd/shBBzbr/Jx4FCAX0+BEsDMFocEYrNmFcE+BD4XsXZL0oyZnQCutkagzkn3m1NBwDe/Q9L74MAuFEqUn5op8I8JvJO0elacTALnc1HAH3Njkvwx+WeYWUegTa/pwaqIgexdyIN4uyRPmqULZRXEvulPwD3gpr+zcrtGQxfzRHYG2AAczuUWiom3kc4D2RN4BdwH9gM9CS0XFyoLGu9UuN974eIFVDiuSzruH5LqgRhtU20q8kBPV8LMlhVVmVdnYwX+SMdAZVeieAF7eeltmElJr4cpkH1bJfvGVvatxdR4bMu+teZuWxtKxWncXn8I7EldtQV7vz79fp9KwZp//9CksB8F206BuVahU6BToOEJ/Ab7+KdABdTt8AAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-recordStop{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-recordStop:hover{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-fullscreen{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-fullscreen:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAFvklEQVRoQ+2ZaaiVVRSGn9fS0iabCNO0eSaosAmplKJRxMiygSQCixQipBKMoDRBon5EI/0pQ8JuRQTVj4omo+FH04/muVum2GCDWVYr3ss+8t3vfud8+3guXi6cBYc7nD2sd6+11/BuMcxFw1x/ugCG2oL9LBAR44HeFkr9B/wMbAOMBT4B9gC+BiZL+rfZ3Ijw+PuB6cA6YFdgAzAy/V41NQB/rpL0QNWAAS4UEVbQm+XKj8B4SX/VTYiIicC9wMnAjnXjC9/fKemaWgARsSfwEbBbxeDPgAOBL4AdgF2AD4ETJP2dq0xEHArcA4yGvjv4D/Br2vOo9P/ycosl3ZQD4IDkFiMqBl8LPASMkfRdREwFVknalKt8Y1xETJDUGxFea0NE2CX9aWbF+ZLuzgEwBlgPbNtEqYuAlZLsl4MmEWGL/t5iwQWS7sgB4Iv1TcE//yyZ1Ke9AOiR9MNgIGihvAOCrWJZKGlZDoCjgTdTZLDy1wGLS1HCkehF4DxJ9t0tlhbKXwbcAByRFp8taWUOgN2B94G9AZ/A9sD5wIPAdqUFngAuBTZuiUu1UH4O8DjwVQrR3nZuVhiNCEcFT3S4swX2k7QmImYDs3zqJRCOzfOBTe2AaKW8pOUR4cPy/tbH9+0cSc/mWMATfkp5wAtMlLQuAXNo7QEcfYqyBLjZFssBUad8IVI5bDsqWs7OAuCREeHselCaeLgkx/o+iQi71lPAsSUQyyQtrLsM6SB8h8oyxydf2Meu/CrgnGGZJcluNUDKpYRN9zEwCVgLjJPUb8OIODiBOKSw2lhJDr8tJSIc5ZzE7JIN6ad8OijrNQ9w8nJynSrppRwAjXhs5e0+lYklIo4DHgP2AUa1k8wiwjnmGeB0YIDyBSv4MB2yHQnPkvRGDgAjfxs4vq48iIhpwCuSXAq0JRHh6HZB0W2qFnCmBu4CludaYCen8zrl29K2w8Hp0o+U9EutBTrca0imdzuyITn2wqZdC3Qt0OEJDAsXcnHXLKmWSwn/PUmSK9JaiYgR5VKjdlKbAyJiL+DU3H7AtIpLhMslublvKinBXAg83E4pkWodZ2J3WO60XPVWSlLend9MSU9mJbKI+DxxPzPcvDdJ8Y2a6TfgCjcguZaIiFHA94ArTnd7S6oyf0TsC3yZ+oFLJD1SCyAVWp8Cnvxy6oRcXm+Winp+DXClK9S6fiAiXKrYPYu0jYu128tzI6LRD7gzPFPS8zkAXAGaHXDF6InTi41Ei2akablbAm8XfQ44rKSMmTezdn2SgLpinQK4nJ8i6fVaAGmyS2nX4JbNnVBuJ1V3RyPCzZD7abetDdmYXNFsRx/PFBEeMzMNmCbJRMIAqWpoDGDnNNIlb89gKV844VMSiKIrmdL8ILEdayPCljotMXeOQq/lADDdZ17IhK1daAbgTqiKdGrajNRZIZ2wSV732GW2w9HGbMcL7kvSJb5a0n05AEzqOnw69hqAT2pVxcSOlE8AbP2LgVvMfiQGorGVm5hjgJPSP26TdH0OADft3wJV3GhjfsfKF1zJILzX08AZLSy3SNLSHACOPnaXslkHXfmiMqnZd5xvBuJWSTfmAHCC8h2ootfdYJshnpASkX+eCKxo9bBRtWkKk3OBt5KrmgO1JUwf2n3LslTSohwAjs/vmmmoGGyGYnW64Da9SwBfdlOBLieyGOtCeeAt/K7gvbyWyQEnuiqZJ8l0zAAph9FxgMuHdqpUx23XTivqoo/fBdIdqxta/r5foit+WQZgF/IlNgFlxfx+VaS57V5O8eaD/Jbmu2Lqw+H3XEn+rlLS6887iTz285ILOruL1zwyrWFrFHWyVXwv+/JRjgVM5Vnp/ZN7GIyTmgsvb/iopNVObJL+8IIpyfnOrK+j2yNidKP6jAiD8CF5Xc+fnA7PXtB4o3Od1SvpvWYH046rtGv2rTK+C2CrHHOLTboW6FqgwxP4Hz4mJ0+J869tAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-fullscreenExit{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAADd0lEQVRoQ+2Zz2sdVRTHv+fJBDW6anDVXen6wZszYxYBiYgtFGst3VSDunKjpS0GpUlqfjVpsVVs6aaL0or4YxMVFCJZ2ZLdPUP+gq5bQnTxtNAkfTnlhnnlkmQy9yV9780rudt77tzv5/y4v4bQ4Y06XD/2ANodwec/AiJygJnvtdvTWfPnRkBEJAiCN8rl8kMfiPn5+Ve7u7v3rays0Orq6lJfX99/PuN2auMDoAD+BvA2M6/mTWSMOUtE48D6AjHGzN/kjdlNvy+AnWOOmQ/lTSYiEwDOWzsimgrDcCRvzG76GwGw8/zJzO9sN6GInAMwbW1UdSSKoqndCMwb6wNwGsB39Q+p6h/M/C4R2dTa1AoHYBWKyCkA1+pqiWi2Wq0e7e/vf7yRoJAAKcQggMtuJKIoOtoxACnE0/xOi/SXMAxPuhCFjUBdpIjYVWXSEf0TM3/g9BeriDMKdSPEz8z8vrU1xgwT0YXCrEJZy1iSJKOqOub0/8jMA0mSfKKqNwoPkHp7ioiGHIhRIvpHVa93BEBa2JcAfOlALAHo6RgAKzRJkk9V1S6xL7kpV4idOM31taxaIKJHqmpPnMMA9hcOQES2PDJkAT1XAAC+ZebPfWB3auNzmLObVsNRUNUXVHUujuM7OxXnMy4XwOcj29mIyOuq+lapVGrYCelKpkEQ3CyXy4tbzdN0AGPMxr2iYZ+sra3FcRybtgCIiK2BKw2rdgaUSqWoUqlIkQAepFDdAF7cBq5ERI9rtdr1OI7tmE2t6SmUEYFHAEaexYW/1QC2EF+ru5GIvg7D0D2GNJxprQY4o6qv1I/b6SpzOYqiLxpWng5oOQAzXxWRWwA+dkRfYOb1p5hGW6sBJpn5KytSRG4D+KguWFXHoyhy7xdeLC0F2ChSRL4H8OFuINoKYIUbY34gogHH3eeZef1K6tPaDpCm068A3nMEDzHzxY4BUNWSiPxORO6z5aDPPlGICNQ9bYyZIaLjjudzIQoFkKbTbwCO+UI0HcB9J/LdeY0xs0R02IGYYObRrWqiFQCfEZEtSHsfmGZm+4qxbbM/hQD8BeBNa0hEM2EYnmgLgP3lFARBT1dXly4vL//b29tbzQNIU+llAHeJaLFSqRzJes5vegR8xGbZLCwsHKzVav8z8/0sm0ID+MDvAfh4qZk2exFopnd9vv0ELrXBQO7fD10AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-fullscreenExit:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAC/ElEQVRoQ+2Zy49NQRCHvx+ReK6IlZ34E7CUiCAR4xEbTLCyQRATYswwb2IQZDYWgojHZpCQECts+ResiQwLj0RClNSkb9Lu3HtPz7mZc8+V6eXt6tP1VVV3VdcVbT7U5vozC9BqD/7/HjCzlZLet9rS9fbP9ICZvQPWSfqRAmFmS4ClMHm+JiR9S1mXVyYFwIBXwEZJv7I2MrPjQH8A6JN0OWtNM/OpAL7HS0mbsjYzswGgN8gNS+rJWtPM/HQAfJ9nkrY22tDMTgMjQaZH0nAzCmatTQE4ClyNPvQU2CbJQ2vKKB2Aa2hmR4DrkbbPgQ5Jv6sJSgkQILqA0dgTkjraBiBAxPHtPz2UtDuGKK0HKkqamd8qg5HS9yXtjebLdYjrHNRqiAeS9gQvnQGGSnML1bvGzOwc0BfN35PUaWYHgRulBwjW9ju+O4JwqM/AWFsABIgLwKkIYgJY1jYAAeJQuGIXVIVcKTKxh8WfBin9J+AVpx/eFWUEqFkyNACKp0rhgWYArkg6kQibSyylmPOklQdibijBX+fSLHFRJkDid+qKmdlaYENOI0zeEcBNSZ9qbVIEQHWuyGOTNZLetgrAz8ClPFpHa1ZL8rf5lFGEB2oBfAxQi4D5DeDmAP7mGJPka0oD4LnDr9imH/xFe8AP4vLIjBclxWXItCOtaIBjwOKo3HaFRyWdnLbmYUHhAJKumdkt4ECk9JCkSitmWixFAwxKOjt5uZvdBvZH2vZLit8XSSBFA/yjpJndAfY1A9FSgOCJu0BnBNErqfIkzfRCywECxCNgR6Rtt6TzmdqHBmyKXG4ZM4sTWc04NzNPWE+AuG3ZlZInSuGBinXMbBzYGVkrE6JUACGcHgPbUyGKAIj7REmZ18y897o5ghiQ5E/bltRChwE/kF7Xj0jyLkbDYWbzgBfA+iA4LmlXqwD8LydvszjAF0lfswBCKC0E3gBeP22p186f8RBKUbaejJmtAr5L+lBPptQAKfCzAClWmkmZWQ/MpHVTvv0X9iFAQGQyevIAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-audio{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACrUlEQVRoQ+2ZPYgTURCAZzbBXJnCeL2Cnb87b9MEtPBUrrMQFAtrtT5/ClGs9LBWWz0RtbBUFCF4oJDsbO68wsLA2YqQSmLlvpEHu7IuMdlLcus+yUKKhJfZ+ebnvZl5CJY/aLn+MAP41x7M1QPMfFtr/crzvHfTAs8FoNPp1LTWzwHgqIg0lFLvrQHwfX8BER8DwC6jNCIecF13wwoA3/dvIuKNpLJa60Oe560XGoCZd4rICiKeTCtaeABmPg4AJmRqg6xcaABmvg4At4aFRyEBhoVM4UMoCplHADCfJTEL5YEsIVNID5iQAYCHALCYxeq5b6PMfF5EBAAEESthGK7W6/XPRpFWq7W3VCqtZg2ZcT3g+/6i4zjzIlLSWn/yPO/DIGMNLCWY2Sj/+xGRK0qpZfNDEASnROTFVi0fr8+aA8z8Ld6KEfGt67oLYwMAwEUium8EREn7OgeAjwCwPyo/nrque3YSgAtE9GDaAM1mc65arc4Zuf1+P2w0Gt9jJZl5DQAORt+fENG5wgEw8zUAMB/zbBBRwyqAIAjuiMjlSOlNItpjFUCqWl0josMzgChR/9hGAWBbknjmAdPhDdqa0gfZzAMJKyVP4v8hhJYRcSni+0JEu63ahZj5anyQici6UuqIVQDdbrfS6/UqRulyufyTiH5sF8AlIro37VpoWEHIzGZ2tM+sEZFnSqkzk9RCS0R01wjIsZz+mug53hDRia0AnI4bGgDYISItz/M2jYC8Gpp2u30MEWuO4zha665Sqp0ZYFStX/iWchRAItFGzoHSsrJ2ZFl1mHg6bfVYJeGJv85CC++BpIJZ5kSFC6G0ha0e7mYJqcJ7IOkRay84UhD2XjHFIFZf8iW9YcYoYRi+tO6aNeupOs66iU/icV46zf/MAKZpzXFk/QL+JG1PUPhRiQAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-audio:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACSElEQVRoQ+2Zu4sUQRCHf5+C+gf4yBXMfMYHGvjCzEBQDIzV+HwEohipGKupD0QNDE8UEwUFTe68wEDhTMVUMFJ+0tArzbjs9u3Ojt0wBR0M9MzUV1XdXVWNKhcq1189wP/2YKcesH1d0nPgdVvgnQDY3iTpqaT9kuaAt9UA2D4o6aGkzVHpXcByFQC2r0q60lB2D7BUNIDtjZIeSDoyRNGyAWwfiiET4n6YlAtg+7Kka2PCozyAMSHT5CkLIIbMfUlbMhdmOQCZIVOeB2LI3JN0NNPq6bTZe8D2aUmOY72kN8DnoIXt7eF5FSEzkQdsB+OEsFwr6RPwbpixhqYStoPyqVwAbkaAY5KeTWD5wStZHrD9XdJgK34FhBP9H8kFOAvciQBhn3/RAcBHSTvjfx4DJ6cBOAPcbRvA9gZJYQT5DfwYKGl7UdLu+PwIOFUiwCVJYQRZBuZqA7gh6XxUegXYVhtAmq0uAnt7gLhQm9vorBZx74Hcc6D3QLKH/z2JGyVnlYs4pCfzEe4rsLW2XehicpAtAftqAwiZbhhBfgE/ZwVwDrjddi40KiG0HXpHO+KcJ8CJaXKheeBWBOgqnf6W1BwvgcOrATieFDTrJL0HViJAVwXNgVgPrJH0BfiQDTDKtREiNK7KLSnHASQLLacP1PxcVkWWq8PU3emq2yqJJ0b1Qsv2QKpdZp+orBBqmrfq5m5mSJXtgUZI1XnB0YCo94opCal6L/ka3ghtlIXqrllzT9VJ5k19Ek/y0zbf6QHatOYk3/oDujC8QMWgjf4AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-mute{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-mute:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAHsUlEQVRoQ+2Z969VVRCFv7H33nvvvfcSe2+xxJgY4z9j/Bs0/mABFQXBhl1sgNjQSCyoiL2BDaxs873MJsfDuZd7gfeQxJ3cvAfv3HP22rNmzZo5wRq+Yg3fP/8DWN0RXCYCpZSzgM2Br4GPgW8j4s9hNlpKWQfYETgUOB44GtgMmA1MBF4BFkdEGea+Xdd2AbgF2B2YD0wHZkbEZ4M+qJSyIbArcARwMnAUsC/wO/AscCfwQkT8Meg9+13XBeBx4EjgZ+ClPLGXI+KbfjcqpXivLYA9gWOA0/PnDsDGwOeA977bCAwb1V7P7gIwDpBG2wJfAg/nZ3oXiFLK2sD6ef0+uWlp48kbSddfwAfAVOB+YNZoRuBG4CLgbGDLpNLTwIPAjDaIUsomwM7A4cCJyfm9ga0Bwbn+Bt4fKwDyV+5eAZyayWgkHgGmmBdNEKUUk/U44DzgNGA/YN1WyBWBucATwH3Aq6MZgbXyRAVxMXABsFUrEi9GxILkvbQ5JwGfABiR9ho7APXJpRSTzxO9CjgF2ClBPJrJ+JYSm/Io2Mvyeq+r1Km3G3sAPrmUsktu3pyQItskiFkpiS8CnybfBXl+5sBu8K8qP3YASik+/DdgEaBWbw+cCVwHnJRF7gd5nJEwwT9JmglC2hmRZiRUoQ8HzYFSynrABhk+C17PQtolozcBC/Kklb7FwCHANbk5f3d5zZuAlDI5rdoqj/pvxMwHBaHKaE3ie5eXxKWU7QCjb6WeHxHfDVMH1GlV521AinyUSnR5Jqr6XhP1JzUdeKwBQpqdkSBUMf+tMAjA68YPAOBA4FhgSToBJbhzdUVADyQlrMKTgdfyZJVVE1qLYGWta2FGQpm1UPldT1AQl2ZhE4R2xGgZAetJT1qUUoyeVDQCUyJi5jAA/JJlX99iNF7OgnYl4EcKbdS64Y8JtNJpXoKwGJrYFjm9kPliBDRznq4GT+No3ZCqHoY/zaVr8xnjI+KFYQEojz7M05JGPsQICOCwVgTakdB6mBOCsEIrxdWamDMT0iSapAcBB+T99Vq6Vb8nTQWgqx23IgCMwDONCAhAOghAo9dVrARSI1Hp5H1UMUG4WekpODcqrQQm1aw5ioDfU920Ih6YHuuBiJAFA+fASOY3ABhuXeYljRzYtNcNkwavZ/4YRblvJExM5dTN+38aPTfpx9/nAHdlHgnI52nNJ0WEtn4oAIax5oBfHgaAD5LLJp72WRDSoyb+91ln9s8Dsb5owd8Bbk/gyrFSbK49FBEzxhpAs05IC/NIGbXH0JnKbQFIyeuBvRLAbW44VW+1A2jmxJMZjXd1odlD7JER0L7bsRkBAeh4zQ9ltEZgzCnUjLh0MicmJZ0+TBD2Gkbg5pTm94A7snmSQv8ZAIKR956iEjs1IlQczaJ14obsJ7xGibV4mnOVQpNXRxJ35Zx+Zhpwj5GIiIWlFOVSo6j5ky4WLBNflTMCqtBqS+IuEMqnfshEVe91vUqsYxddsImubJsDyqjFTgBD54AevymjtZDphbQF/epAnxIxYh+sMc9nsiqPUse2VOeqOZRednk2SNrqiREhqKHqwFdZyOxfNXUC0I0KwGFVr0rc6zkWMM2bG7Jbsy6oTEZC2pjo0sUiah/iWObqdLH3R4QyPBQA7fRz2YBXANWNCqBt5vqdun/7NTepadOpujykOu2QItoMI+RyuuFh6ZYnDGslPAHD7Mk4BvTmypoAPBXNXHvqsDwAUsND8aQtYvJeu2Ak9EZq/7SIEJTqdHCOdewjTHjtx8AReCP7XBsVT8gC45BLWfNUmg3N8jZe/24E5Lb38nAEoPrIfYE9VaOd0w6jZHGTbh9EhNcMDODWDKeKIPIvsh/Qo1+Ykqf5ks+DLtXG++lwjazfdRRzbgOENcIaYGLrar1GN/prRPj9gQHIP2lkuNVuGwzlzBOxU7LntSvTCph4gyyHAwLQF1mRPVGpaERteOq0w0hI26UTQGdP/abYXS2lmzWZlkSE6iEnvc7S76alkP2q2q2LtGrK1X6rjlWsATZJWguHZfYCqlvtCeoE0Eg4AbSx6rsGfkNTSnGTqo+8tYsyUsqdPt+mpV9iVwBWWVvEEXuccyersEWrTgAtdkZipHOLCOtEzzUwgHqHdJImtRs3Cs5F7bYsRBa4rnu2B1uO10ckszE8U+Xs3FSnnrPYNpKhATQoZUNu+bcyGwk/5ong2vdtA5DjTXqqSnUo1o5E51S8AlkhAI1oSBsfrm6b4OaGvyuDTZUSQHMyt8z7gVYk6lTc4uaoRoXSTiyMiF+aUVgpABkNtdpCZ16Y4OaGUbHLqnkxCABzzHFkOxLSyeT31dTciLCOLF0rDaARDVVKVXJq4Rsac0PV0ke57LOVUe207906B1sZCXPBnDDHlGpP325tTu0lVgmF2glVSlGlPEUT3Eg4DFbvBVdfVzl56PmOLNXOg/D7RtQa4YxW8PPaqrTKItBSKR8qCLksJWzgLWbaaOvASxFhgexcpRQrsAehSCgWTsOdj/7YfrOzygE0gFjgfN0kDaSVUbAaa6N9xaTB67nyXbP0UQxUrEVdtBtNACa3Rc9ISCOLne5Tdzt7eQBSIEzsukedwTIvxkcNQL/TXZV/W+MB/AMANfVPjBGemwAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jessibuca-container .jessibuca-icon-text{font-size:14px;width:30px}.jessibuca-container .jessibuca-speed{font-size:14px;color:#fff}.jessibuca-container .jessibuca-quality-menu-list{position:absolute;left:50%;bottom:100%;visibility:hidden;opacity:0;transform:translateX(-50%);transition:visibility .3s,opacity .3s;background-color:rgba(0,0,0,.5);border-radius:4px}.jessibuca-container .jessibuca-quality-menu-list.jessibuca-quality-menu-shown{visibility:visible;opacity:1}.jessibuca-container .icon-title-tips{pointer-events:none;position:absolute;left:50%;bottom:100%;visibility:hidden;opacity:0;transform:translateX(-50%);transition:visibility .3s ease 0s,opacity .3s ease 0s;background-color:rgba(0,0,0,.5);border-radius:4px}.jessibuca-container .icon-title{display:inline-block;padding:5px 10px;font-size:12px;white-space:nowrap;color:#fff}.jessibuca-container .jessibuca-quality-menu{padding:8px 0}.jessibuca-container .jessibuca-quality-menu-item{display:block;height:25px;margin:0;padding:0 10px;cursor:pointer;font-size:14px;text-align:center;width:50px;color:hsla(0,0%,100%,.5);transition:color .3s,background-color .3s}.jessibuca-container .jessibuca-quality-menu-item:hover{background-color:hsla(0,0%,100%,.2)}.jessibuca-container .jessibuca-quality-menu-item:focus{outline:none}.jessibuca-container .jessibuca-quality-menu-item.jessibuca-quality-menu-item-active{color:#2298fc}.jessibuca-container .jessibuca-volume-panel-wrap{position:absolute;left:50%;bottom:100%;visibility:hidden;opacity:0;transform:translateX(-50%) translateY(22%);transition:visibility .3s,opacity .3s;background-color:rgba(0,0,0,.5);border-radius:4px;height:120px;width:50px;overflow:hidden}.jessibuca-container .jessibuca-volume-panel-wrap.jessibuca-volume-panel-wrap-show{visibility:visible;opacity:1}.jessibuca-container .jessibuca-volume-panel{cursor:pointer;position:absolute;top:21px;height:60px;width:50px;overflow:hidden}.jessibuca-container .jessibuca-volume-panel-text{position:absolute;left:0;top:0;width:50px;height:20px;line-height:20px;text-align:center;color:#fff;font-size:12px}.jessibuca-container .jessibuca-volume-panel-handle{position:absolute;top:48px;left:50%;width:12px;height:12px;border-radius:12px;margin-left:-6px;background:#fff}.jessibuca-container .jessibuca-volume-panel-handle:before{bottom:-54px;background:#fff}.jessibuca-container .jessibuca-volume-panel-handle:after{bottom:6px;background:hsla(0,0%,100%,.2)}.jessibuca-container .jessibuca-volume-panel-handle:after,.jessibuca-container .jessibuca-volume-panel-handle:before{content:"";position:absolute;display:block;left:50%;width:3px;margin-left:-1px;height:60px}.jessibuca-container.jessibuca-fullscreen-web .jessibuca-controls{width:100vh}.jessibuca-container.jessibuca-fullscreen-web .jessibuca-play-big:after{transform:translate(-50%,-50%) rotate(270deg)}.jessibuca-container.jessibuca-fullscreen-web .jessibuca-loading{flex-direction:row}.jessibuca-container.jessibuca-fullscreen-web .jessibuca-loading-text{transform:rotate(270deg)}');class pt{constructor(e){var t;this.player=e,((e,t)=>{e._opt.hasControl&&e._opt.controlAutoHide?e.$container.classList.add("jessibuca-controls-show-auto-hide"):e.$container.classList.add("jessibuca-controls-show");const i=e._opt,r=i.operateBtns;e.$container.insertAdjacentHTML("beforeend",`\n ${i.background?`
`:""}\n
\n ${lt.loading}\n ${i.loadingText?`
${i.loadingText}
`:""}\n
\n ${i.hasControl&&r.play?'
':""}\n ${i.hasControl?`\n
\n
\n
00:00:01
\n
${lt.recordStop}
\n
\n `:""}\n ${i.hasControl?`\n
\n
\n
\n ${i.showBandwidth?'
':""}\n
\n
\n ${r.audio?`\n
\n ${lt.audio}\n ${lt.mute}\n
\n
\n
\n
\n
\n
\n
\n `:""}\n ${r.play?`
${lt.play}
${lt.pause}
`:""}\n ${r.screenshot?`
${lt.screenshot}
`:""}\n ${r.record?`
${lt.record}
${lt.recordStop}
`:""}\n ${r.fullscreen?`
${lt.fullscreen}
${lt.fullscreenExit}
`:""}\n
\n
\n
\n `:""}\n\n `),Object.defineProperty(t,"$poster",{value:e.$container.querySelector(".jessibuca-poster")}),Object.defineProperty(t,"$loading",{value:e.$container.querySelector(".jessibuca-loading")}),Object.defineProperty(t,"$play",{value:e.$container.querySelector(".jessibuca-play")}),Object.defineProperty(t,"$playBig",{value:e.$container.querySelector(".jessibuca-play-big")}),Object.defineProperty(t,"$recording",{value:e.$container.querySelector(".jessibuca-recording")}),Object.defineProperty(t,"$recordingTime",{value:e.$container.querySelector(".jessibuca-recording-time")}),Object.defineProperty(t,"$recordingStop",{value:e.$container.querySelector(".jessibuca-recording-stop")}),Object.defineProperty(t,"$pause",{value:e.$container.querySelector(".jessibuca-pause")}),Object.defineProperty(t,"$controls",{value:e.$container.querySelector(".jessibuca-controls")}),Object.defineProperty(t,"$fullscreen",{value:e.$container.querySelector(".jessibuca-fullscreen")}),Object.defineProperty(t,"$fullscreen",{value:e.$container.querySelector(".jessibuca-fullscreen")}),Object.defineProperty(t,"$volume",{value:e.$container.querySelector(".jessibuca-volume")}),Object.defineProperty(t,"$volumePanelWrap",{value:e.$container.querySelector(".jessibuca-volume-panel-wrap")}),Object.defineProperty(t,"$volumePanelText",{value:e.$container.querySelector(".jessibuca-volume-panel-text")}),Object.defineProperty(t,"$volumePanel",{value:e.$container.querySelector(".jessibuca-volume-panel")}),Object.defineProperty(t,"$volumeHandle",{value:e.$container.querySelector(".jessibuca-volume-panel-handle")}),Object.defineProperty(t,"$volumeOn",{value:e.$container.querySelector(".jessibuca-icon-audio")}),Object.defineProperty(t,"$volumeOff",{value:e.$container.querySelector(".jessibuca-icon-mute")}),Object.defineProperty(t,"$fullscreen",{value:e.$container.querySelector(".jessibuca-fullscreen")}),Object.defineProperty(t,"$fullscreenExit",{value:e.$container.querySelector(".jessibuca-fullscreen-exit")}),Object.defineProperty(t,"$record",{value:e.$container.querySelector(".jessibuca-record")}),Object.defineProperty(t,"$recordStop",{value:e.$container.querySelector(".jessibuca-record-stop")}),Object.defineProperty(t,"$screenshot",{value:e.$container.querySelector(".jessibuca-screenshot")}),Object.defineProperty(t,"$speed",{value:e.$container.querySelector(".jessibuca-speed")})})(e,this),t=this,Object.defineProperty(t,"controlsRect",{get:()=>t.$controls.getBoundingClientRect()}),ut(e,this),((e,t)=>{const{events:{proxy:i},debug:r}=e;function o(e){const{bottom:i,height:r}=t.$volumePanel.getBoundingClientRect(),{height:o}=t.$volumeHandle.getBoundingClientRect();return we(i-e.y-o/2,0,r-o/2)/(r-o)}if(i(window,["click","contextmenu"],(i=>{i.composedPath().indexOf(e.$container)>-1?t.isFocus=!0:t.isFocus=!1})),i(window,"orientationchange",(()=>{setTimeout((()=>{e.resize()}),300)})),i(t.$controls,"click",(e=>{e.stopPropagation()})),i(t.$pause,"click",(t=>{e.pause()})),i(t.$play,"click",(t=>{e.play(),e.resumeAudioAfterPause()})),i(t.$playBig,"click",(t=>{e.play(),e.resumeAudioAfterPause()})),i(t.$volume,"mouseover",(()=>{t.$volumePanelWrap.classList.add("jessibuca-volume-panel-wrap-show")})),i(t.$volume,"mouseout",(()=>{t.$volumePanelWrap.classList.remove("jessibuca-volume-panel-wrap-show")})),i(t.$volumeOn,"click",(i=>{i.stopPropagation(),Se(t.$volumeOn,"display","none"),Se(t.$volumeOff,"display","block");const r=e.volume;e.volume=0,e._lastVolume=r})),i(t.$volumeOff,"click",(i=>{i.stopPropagation(),Se(t.$volumeOn,"display","block"),Se(t.$volumeOff,"display","none"),e.volume=e.lastVolume||.5})),i(t.$screenshot,"click",(t=>{t.stopPropagation(),e.video.screenshot()})),i(t.$volumePanel,"click",(t=>{t.stopPropagation(),e.volume=o(t)})),i(t.$volumeHandle,"mousedown",(()=>{t.isVolumeDroging=!0})),i(t.$volumeHandle,"mousemove",(i=>{t.isVolumeDroging&&(e.volume=o(i))})),i(document,"mouseup",(()=>{t.isVolumeDroging&&(t.isVolumeDroging=!1)})),i(t.$record,"click",(t=>{t.stopPropagation(),e.recording=!0})),i(t.$recordStop,"click",(t=>{t.stopPropagation(),e.recording=!1})),i(t.$recordingStop,"click",(t=>{t.stopPropagation(),e.recording=!1})),i(t.$fullscreen,"click",(t=>{t.stopPropagation(),e.fullscreen=!0})),i(t.$fullscreenExit,"click",(t=>{t.stopPropagation(),e.fullscreen=!1})),e._opt.hasControl&&e._opt.controlAutoHide){i(e.$container,"mouseover",(()=>{e.fullscreen||(Se(t.$controls,"display","block"),o())})),i(e.$container,"mousemove",(()=>{e.$container&&t.$controls&&(e.fullscreen,"none"===t.$controls.style.display&&(Se(t.$controls,"display","block"),o()))})),i(e.$container,"mouseout",(()=>{s(),Se(t.$controls,"display","none")}));let r=null;const o=()=>{s(),r=setTimeout((()=>{Se(t.$controls,"display","none")}),5e3)},s=()=>{r&&(clearTimeout(r),r=null)}}})(e,this),e._opt.hotKey&&((e,t)=>{const{events:{proxy:i}}=e,r={};function o(e,t){r[e]?r[e].push(t):r[e]=[t]}o(re,(()=>{e.fullscreen&&(e.fullscreen=!1)})),o(oe,(()=>{e.volume+=.05})),o(se,(()=>{e.volume-=.05})),i(window,"keydown",(e=>{if(t.isFocus){const t=document.activeElement.tagName.toUpperCase(),i=document.activeElement.getAttribute("contenteditable");if("INPUT"!==t&&"TEXTAREA"!==t&&""!==i&&"true"!==i){const t=r[e.keyCode];t&&(e.preventDefault(),t.forEach((e=>e())))}}}))})(e,this),this.player.debug.log("Control","init")}destroy(){if(this.$poster){if(!Le(this.$poster)){const e=this.player.$container.querySelector(".jessibuca-poster");e&&this.player.$container&&this.player.$container.removeChild(e)}}if(this.$loading){if(!Le(this.$loading)){const e=this.player.$container.querySelector(".jessibuca-loading");e&&this.player.$container&&this.player.$container.removeChild(e)}}if(this.$controls){if(!Le(this.$controls)){const e=this.player.$container.querySelector(".jessibuca-controls");e&&this.player.$container&&this.player.$container.removeChild(e)}}if(this.$recording){if(!Le(this.$recording)){const e=this.player.$container.querySelector(".jessibuca-recording");e&&this.player.$container&&this.player.$container.removeChild(e)}}if(this.$playBig){if(!Le(this.$playBig)){const e=this.player.$container.querySelector(".jessibuca-play-big");e&&this.player.$container&&this.player.$container.removeChild(e)}}this.player.$container&&(this.player.$container.classList.remove("jessibuca-controls-show-auto-hide"),this.player.$container.classList.remove("jessibuca-controls-show")),this.player.debug.log("control","destroy")}autoSize(){const e=this.player;e.$container.style.padding="0 0";const t=e.width,i=e.height,r=t/i,o=e.video.$videoElement.width/e.video.$videoElement.height;if(r>o){const r=(t-i*o)/2;e.$container.style.padding=`0 ${r}px`}else{const r=(i-t/o)/2;e.$container.style.padding=`${r}px 0`}}toggleBar(e){this.$controls&&(Ie(e)||(e="none"===Ee(this.$controls,"display",!1)),Se(this.$controls,"display",e?"flex":"none"))}getBarIsShow(){let e=!1;return this.$controls&&(e="none"!==Ee(this.$controls,"display",!1)),e}}ht(".jessibuca-container{position:relative;display:block;width:100%;height:100%;overflow:hidden}.jessibuca-container.jessibuca-fullscreen-web{position:fixed;z-index:9999;left:0;top:0;right:0;bottom:0;width:100vw!important;height:100vh!important;background:#000}");class gt{static init(){gt.types={avc1:[],avcC:[],hvc1:[],hvcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};for(let e in gt.types)gt.types.hasOwnProperty(e)&&(gt.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let e=gt.constants={};e.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),e.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),e.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),e.STSC=e.STCO=e.STTS,e.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e.HDLR_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]),e.HDLR_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]),e.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),e.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),e.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static box(e){let t=8,i=null,r=Array.prototype.slice.call(arguments,1),o=r.length;for(let e=0;e>>24&255,i[1]=t>>>16&255,i[2]=t>>>8&255,i[3]=255&t,i.set(e,4);let s=8;for(let e=0;e>>24&255,e>>>16&255,e>>>8&255,255&e,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]))}static trak(e){return gt.box(gt.types.trak,gt.tkhd(e),gt.mdia(e))}static tkhd(e){let t=e.id,i=e.duration,r=e.presentWidth,o=e.presentHeight;return gt.box(gt.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,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,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,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,o>>>8&255,255&o,0,0]))}static mdia(e){return gt.box(gt.types.mdia,gt.mdhd(e),gt.hdlr(e),gt.minf(e))}static mdhd(e){let t=e.timescale,i=e.duration;return gt.box(gt.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,i>>>24&255,i>>>16&255,i>>>8&255,255&i,85,196,0,0]))}static hdlr(e){let t=null;return t="audio"===e.type?gt.constants.HDLR_AUDIO:gt.constants.HDLR_VIDEO,gt.box(gt.types.hdlr,t)}static minf(e){let t=null;return t="audio"===e.type?gt.box(gt.types.smhd,gt.constants.SMHD):gt.box(gt.types.vmhd,gt.constants.VMHD),gt.box(gt.types.minf,t,gt.dinf(),gt.stbl(e))}static dinf(){return gt.box(gt.types.dinf,gt.box(gt.types.dref,gt.constants.DREF))}static stbl(e){return gt.box(gt.types.stbl,gt.stsd(e),gt.box(gt.types.stts,gt.constants.STTS),gt.box(gt.types.stsc,gt.constants.STSC),gt.box(gt.types.stsz,gt.constants.STSZ),gt.box(gt.types.stco,gt.constants.STCO))}static stsd(e){return"audio"===e.type?gt.box(gt.types.stsd,gt.constants.STSD_PREFIX,gt.mp4a(e)):"avc"===e.videoType?gt.box(gt.types.stsd,gt.constants.STSD_PREFIX,gt.avc1(e)):gt.box(gt.types.stsd,gt.constants.STSD_PREFIX,gt.hvc1(e))}static mp4a(e){let t=e.channelCount,i=e.audioSampleRate,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return gt.box(gt.types.mp4a,r,gt.esds(e))}static esds(e){let t=e.config||[],i=t.length,r=new Uint8Array([0,0,0,0,3,23+i,0,1,0,4,15+i,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([i]).concat(t).concat([6,1,2]));return gt.box(gt.types.esds,r)}static avc1(e){let t=e.avcc;const i=e.codecWidth,r=e.codecHeight;let 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,i>>>8&255,255&i,r>>>8&255,255&r,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,255,255]);return gt.box(gt.types.avc1,o,gt.box(gt.types.avcC,t))}static hvc1(e){let t=e.avcc;const i=e.codecWidth,r=e.codecHeight;let 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,i>>>8&255,255&i,r>>>8&255,255&r,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,255,255]);return gt.box(gt.types.hvc1,o,gt.box(gt.types.hvcC,t))}static mvex(e){return gt.box(gt.types.mvex,gt.trex(e))}static trex(e){let t=e.id,i=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return gt.box(gt.types.trex,i)}static moof(e,t){return gt.box(gt.types.moof,gt.mfhd(e.sequenceNumber),gt.traf(e,t))}static mfhd(e){let t=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e]);return gt.box(gt.types.mfhd,t)}static traf(e,t){let i=e.id,r=gt.box(gt.types.tfhd,new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i])),o=gt.box(gt.types.tfdt,new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t])),s=gt.sdtp(e),a=gt.trun(e,s.byteLength+16+16+8+16+8+8);return gt.box(gt.types.traf,r,o,a,s)}static sdtp(e){let t=new Uint8Array(5),i=e.flags;return t[4]=i.isLeading<<6|i.dependsOn<<4|i.isDependedOn<<2|i.hasRedundancy,gt.box(gt.types.sdtp,t)}static trun(e,t){let i=new Uint8Array(28);t+=36,i.set([0,0,15,1,0,0,0,1,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);let r=e.duration,o=e.size,s=e.flags,a=e.cts;return i.set([r>>>24&255,r>>>16&255,r>>>8&255,255&r,o>>>24&255,o>>>16&255,o>>>8&255,255&o,s.isLeading<<2|s.dependsOn,s.isDependedOn<<6|s.hasRedundancy<<4|s.isNonSync,0,0,a>>>24&255,a>>>16&255,a>>>8&255,255&a],12),gt.box(gt.types.trun,i)}static mdat(e){return gt.box(gt.types.mdat,e)}}gt.init();class mt extends Ve{constructor(e){super(),this.player=e,this.isAvc=!0,this.mediaSource=new window.MediaSource,this.sourceBuffer=null,this.hasInit=!1,this.isInitInfo=!1,this.cacheTrack={},this.timeInit=!1,this.sequenceNumber=0,this.mediaSourceOpen=!1,this.dropping=!1,this.firstRenderTime=null,this.mediaSourceAppendBufferError=!1,this.mediaSourceAppendBufferFull=!1,this.isDecodeFirstIIframe=!1,this.player.video.$videoElement.src=window.URL.createObjectURL(this.mediaSource);const{debug:t,events:{proxy:i}}=e;i(this.mediaSource,"sourceopen",(()=>{this.mediaSourceOpen=!0,this.player.emit(j.mseSourceOpen)})),i(this.mediaSource,"sourceclose",(()=>{this.player.emit(j.mseSourceClose)})),e.debug.log("MediaSource","init")}destroy(){this.stop(),this.mediaSource=null,this.mediaSourceOpen=!1,this.sourceBuffer=null,this.hasInit=!1,this.isInitInfo=!1,this.sequenceNumber=0,this.cacheTrack=null,this.timeInit=!1,this.mediaSourceAppendBufferError=!1,this.mediaSourceAppendBufferFull=!1,this.isDecodeFirstIIframe=!1,this.off(),this.player.debug.log("MediaSource","destroy")}get state(){return this.mediaSource&&this.mediaSource.readyState}get isStateOpen(){return this.state===ee}get isStateClosed(){return this.state===te}get isStateEnded(){return this.state===$}get duration(){return this.mediaSource&&this.mediaSource.duration}set duration(e){this.mediaSource.duration=e}decodeVideo(e,t,i,r){const o=this.player;if(!(!o||o&&o.isDestroyedOrClosed()))if(this.hasInit){if(i&&0===e[1]){let t=At(e.slice(5));const i=this.player.video.videoInfo;i&&i.width&&i.height&&t&&t.codecWidth&&t.codecHeight&&(t.codecWidth!==i.width||t.codecHeight!==i.height)&&(this.player.debug.warn("MediaSource",`width or height is update, width ${i.width}-> ${t.codecWidth}, height ${i.height}-> ${t.codecHeight}`),this.isInitInfo=!1,this.player.video.init=!1)}if(!this.isDecodeFirstIIframe&&i&&(this.isDecodeFirstIIframe=!0),this.isDecodeFirstIIframe){null===this.firstRenderTime&&(this.firstRenderTime=t);const o=t-this.firstRenderTime;this._decodeVideo(e,o,i,r)}else this.player.debug.warn("MediaSource","decodeVideo isDecodeFirstIIframe false")}else if(i&&0===e[1]){const r=15&e[0];if(o.video.updateVideoInfo({encTypeCode:r}),r===J)return void this.emit(F.mediaSourceH265NotSupport);o._times.decodeStart||(o._times.decodeStart=ve()),this._decodeConfigurationRecord(e,t,i,r),this.hasInit=!0}}_decodeConfigurationRecord(e,t,i,r){let o=e.slice(5),s={};s=At(o);const a={id:1,type:"video",timescale:1e3,duration:0,avcc:o,codecWidth:s.codecWidth,codecHeight:s.codecHeight,videoType:s.videoType},n=gt.generateInitSegment(a);this.isAvc=!0,this.appendBuffer(n.buffer),this.sequenceNumber=0,this.cacheTrack=null,this.timeInit=!1}_decodeVideo(e,t,i,r){const o=this.player;let s=e.slice(5),a=s.byteLength;const n=o.video.$videoElement,A=o._opt.videoBufferDelay;if(n.buffered.length>1&&(this.removeBuffer(n.buffered.start(0),n.buffered.end(0)),this.timeInit=!1),this.dropping&&t-this.cacheTrack.dts>A)this.dropping=!1,this.cacheTrack={};else if(this.cacheTrack&&t>=this.cacheTrack.dts){let e=8+this.cacheTrack.size,i=new Uint8Array(e);i[0]=e>>>24&255,i[1]=e>>>16&255,i[2]=e>>>8&255,i[3]=255&e,i.set(gt.types.mdat,4),i.set(this.cacheTrack.data,8),this.cacheTrack.duration=t-this.cacheTrack.dts;let r=gt.moof(this.cacheTrack,this.cacheTrack.dts),s=new Uint8Array(r.byteLength+i.byteLength);s.set(r,0),s.set(i,r.byteLength),this.appendBuffer(s.buffer),o.handleRender(),o.updateStats({fps:!0,ts:t,buf:o.demux&&o.demux.delay||0}),o._times.videoStart||(o._times.videoStart=ve(),o.handlePlayToRenderTimes())}else o.debug.log("MediaSource","timeInit set false , cacheTrack = {}"),this.timeInit=!1,this.cacheTrack={};this.cacheTrack||(this.cacheTrack={}),this.cacheTrack.id=1,this.cacheTrack.sequenceNumber=++this.sequenceNumber,this.cacheTrack.size=a,this.cacheTrack.dts=t,this.cacheTrack.cts=r,this.cacheTrack.isKeyframe=i,this.cacheTrack.data=s,this.cacheTrack.flags={isLeading:0,dependsOn:i?2:1,isDependedOn:i?1:0,hasRedundancy:0,isNonSync:i?0:1},this.timeInit||1!==n.buffered.length||(o.debug.log("MediaSource","timeInit set true"),this.timeInit=!0,n.currentTime=n.buffered.end(0)),!this.isInitInfo&&n.videoWidth>0&&n.videoHeight>0&&(o.debug.log("MediaSource",`updateVideoInfo: ${n.videoWidth},${n.videoHeight}`),o.video.updateVideoInfo({width:n.videoWidth,height:n.videoHeight}),o.video.initCanvasViewSize(),this.isInitInfo=!0)}appendBuffer(e){const{debug:t,events:{proxy:i}}=this.player;if(null===this.sourceBuffer&&(this.sourceBuffer=this.mediaSource.addSourceBuffer(_),i(this.sourceBuffer,"error",(e=>{t.error("MediaSource","sourceBuffer error",e),this.player.emit(j.mseSourceBufferError,e)}))),this.mediaSourceAppendBufferError)t.error("MediaSource","this.mediaSourceAppendBufferError is true");else if(this.mediaSourceAppendBufferFull)t.error("MediaSource","this.mediaSourceAppendBufferFull is true");else if(!1===this.sourceBuffer.updating&&this.isStateOpen)try{this.sourceBuffer.appendBuffer(e)}catch(e){t.warn("MediaSource","this.sourceBuffer.appendBuffer()",e.code,e),22===e.code?(this.stop(),this.mediaSourceAppendBufferFull=!0,this.emit(F.mediaSourceFull)):11===e.code?(this.stop(),this.mediaSourceAppendBufferError=!0,this.emit(F.mediaSourceAppendBufferError)):(t.error("MediaSource","appendBuffer error",e),this.player.emit(j.mseSourceBufferError,e))}else this.isStateClosed?this.player.emitError(F.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed"):this.isStateEnded?this.player.emitError(F.mseSourceBufferError,"mediaSource is closed"):!0===this.sourceBuffer.updating&&this.player.emit(j.mseSourceBufferBusy)}stop(){this.abortSourceBuffer(),this.removeSourceBuffer(),this.endOfStream()}dropSourceBuffer(e){const t=this.player.video.$videoElement;this.dropping=e,t.buffered.length>0&&t.buffered.end(0)-t.currentTime>1&&(this.player.debug.warn("MediaSource","dropSourceBuffer",`$video.buffered.end(0) is ${t.buffered.end(0)} - $video.currentTime ${t.currentTime}`),t.currentTime=t.buffered.end(0))}removeBuffer(e,t){if(this.isStateOpen&&!1===this.sourceBuffer.updating)try{this.sourceBuffer.remove(e,t)}catch(e){this.player.debug.warn("MediaSource","removeBuffer() error",e)}else this.player.debug.warn("MediaSource","removeBuffer() this.isStateOpen is",this.isStateOpen,"this.sourceBuffer.updating",this.sourceBuffer.updating)}endOfStream(){const e=this.player.video&&this.player.video.$videoElement;if(this.isStateOpen&&e&&e.readyState>=1)try{this.mediaSource.endOfStream()}catch(e){this.player.debug.warn("MediaSource","endOfStream() error",e)}}abortSourceBuffer(){this.isStateOpen&&this.sourceBuffer&&(this.sourceBuffer.abort(),this.sourceBuffer=null)}removeSourceBuffer(){if(!this.isStateClosed&&this.mediaSource&&this.sourceBuffer)try{this.mediaSource.removeSourceBuffer(this.sourceBuffer)}catch(e){this.player.debug.warn("MediaSource","removeSourceBuffer() error",e)}}getSourceBufferUpdating(){return this.sourceBuffer&&this.sourceBuffer.updating}}const ft=()=>"undefined"!=typeof navigator&&parseFloat((""+(/CPU.*OS ([0-9_]{3,4})[0-9_]{0,1}|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))<10&&!window.MSStream,bt=()=>"wakeLock"in navigator;class yt{constructor(e){if(this.player=e,this.enabled=!1,bt()){this._wakeLock=null;const e=()=>{null!==this._wakeLock&&"visible"===document.visibilityState&&this.enable()};document.addEventListener("visibilitychange",e),document.addEventListener("fullscreenchange",e)}else ft()?this.noSleepTimer=null:(this.noSleepVideo=document.createElement("video"),this.noSleepVideo.setAttribute("title","No Sleep"),this.noSleepVideo.setAttribute("playsinline",""),this._addSourceToVideo(this.noSleepVideo,"webm","data:video/webm;base64,GkXfowEAAAAAAAAfQoaBAUL3gQFC8oEEQvOBCEKChHdlYm1Ch4EEQoWBAhhTgGcBAAAAAAAVkhFNm3RALE27i1OrhBVJqWZTrIHfTbuMU6uEFlSua1OsggEwTbuMU6uEHFO7a1OsghV17AEAAAAAAACkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmAQAAAAAAAEUq17GDD0JATYCNTGF2ZjU1LjMzLjEwMFdBjUxhdmY1NS4zMy4xMDBzpJBlrrXf3DCDVB8KcgbMpcr+RImIQJBgAAAAAAAWVK5rAQAAAAAAD++uAQAAAAAAADLXgQFzxYEBnIEAIrWcg3VuZIaFVl9WUDiDgQEj44OEAmJaAOABAAAAAAAABrCBsLqBkK4BAAAAAAAPq9eBAnPFgQKcgQAitZyDdW5khohBX1ZPUkJJU4OBAuEBAAAAAAAAEZ+BArWIQOdwAAAAAABiZIEgY6JPbwIeVgF2b3JiaXMAAAAAAoC7AAAAAAAAgLUBAAAAAAC4AQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAQAAABUAAABlbmNvZGVyPUxhdmM1NS41Mi4xMDIBBXZvcmJpcyVCQ1YBAEAAACRzGCpGpXMWhBAaQlAZ4xxCzmvsGUJMEYIcMkxbyyVzkCGkoEKIWyiB0JBVAABAAACHQXgUhIpBCCGEJT1YkoMnPQghhIg5eBSEaUEIIYQQQgghhBBCCCGERTlokoMnQQgdhOMwOAyD5Tj4HIRFOVgQgydB6CCED0K4moOsOQghhCQ1SFCDBjnoHITCLCiKgsQwuBaEBDUojILkMMjUgwtCiJqDSTX4GoRnQXgWhGlBCCGEJEFIkIMGQcgYhEZBWJKDBjm4FITLQagahCo5CB+EIDRkFQCQAACgoiiKoigKEBqyCgDIAAAQQFEUx3EcyZEcybEcCwgNWQUAAAEACAAAoEiKpEiO5EiSJFmSJVmSJVmS5omqLMuyLMuyLMsyEBqyCgBIAABQUQxFcRQHCA1ZBQBkAAAIoDiKpViKpWiK54iOCISGrAIAgAAABAAAEDRDUzxHlETPVFXXtm3btm3btm3btm3btm1blmUZCA1ZBQBAAAAQ0mlmqQaIMAMZBkJDVgEACAAAgBGKMMSA0JBVAABAAACAGEoOogmtOd+c46BZDppKsTkdnEi1eZKbirk555xzzsnmnDHOOeecopxZDJoJrTnnnMSgWQqaCa0555wnsXnQmiqtOeeccc7pYJwRxjnnnCateZCajbU555wFrWmOmkuxOeecSLl5UptLtTnnnHPOOeecc84555zqxekcnBPOOeecqL25lpvQxTnnnE/G6d6cEM4555xzzjnnnHPOOeecIDRkFQAABABAEIaNYdwpCNLnaCBGEWIaMulB9+gwCRqDnELq0ehopJQ6CCWVcVJKJwgNWQUAAAIAQAghhRRSSCGFFFJIIYUUYoghhhhyyimnoIJKKqmooowyyyyzzDLLLLPMOuyssw47DDHEEEMrrcRSU2011lhr7jnnmoO0VlprrbVSSimllFIKQkNWAQAgAAAEQgYZZJBRSCGFFGKIKaeccgoqqIDQkFUAACAAgAAAAABP8hzRER3RER3RER3RER3R8RzPESVREiVREi3TMjXTU0VVdWXXlnVZt31b2IVd933d933d+HVhWJZlWZZlWZZlWZZlWZZlWZYgNGQVAAACAAAghBBCSCGFFFJIKcYYc8w56CSUEAgNWQUAAAIACAAAAHAUR3EcyZEcSbIkS9IkzdIsT/M0TxM9URRF0zRV0RVdUTdtUTZl0zVdUzZdVVZtV5ZtW7Z125dl2/d93/d93/d93/d93/d9XQdCQ1YBABIAADqSIymSIimS4ziOJElAaMgqAEAGAEAAAIriKI7jOJIkSZIlaZJneZaomZrpmZ4qqkBoyCoAABAAQAAAAAAAAIqmeIqpeIqoeI7oiJJomZaoqZoryqbsuq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq4LhIasAgAkAAB0JEdyJEdSJEVSJEdygNCQVQCADACAAAAcwzEkRXIsy9I0T/M0TxM90RM901NFV3SB0JBVAAAgAIAAAAAAAAAMybAUy9EcTRIl1VItVVMt1VJF1VNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVN0zRNEwgNWQkAkAEAkBBTLS3GmgmLJGLSaqugYwxS7KWxSCpntbfKMYUYtV4ah5RREHupJGOKQcwtpNApJq3WVEKFFKSYYyoVUg5SIDRkhQAQmgHgcBxAsixAsiwAAAAAAAAAkDQN0DwPsDQPAAAAAAAAACRNAyxPAzTPAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAA0DwP8DwR8EQRAAAAAAAAACzPAzTRAzxRBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAAsDwP8EQR0DwRAAAAAAAAACzPAzxRBDzRAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEOAAABBgIRQasiIAiBMAcEgSJAmSBM0DSJYFTYOmwTQBkmVB06BpME0AAAAAAAAAAAAAJE2DpkHTIIoASdOgadA0iCIAAAAAAAAAAAAAkqZB06BpEEWApGnQNGgaRBEAAAAAAAAAAAAAzzQhihBFmCbAM02IIkQRpgkAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAGHAAAAgwoQwUGrIiAIgTAHA4imUBAIDjOJYFAACO41gWAABYliWKAABgWZooAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAYcAAACDChDBQashIAiAIAcCiKZQHHsSzgOJYFJMmyAJYF0DyApgFEEQAIAAAocAAACLBBU2JxgEJDVgIAUQAABsWxLE0TRZKkaZoniiRJ0zxPFGma53meacLzPM80IYqiaJoQRVE0TZimaaoqME1VFQAAUOAAABBgg6bE4gCFhqwEAEICAByKYlma5nmeJ4qmqZokSdM8TxRF0TRNU1VJkqZ5niiKommapqqyLE3zPFEURdNUVVWFpnmeKIqiaaqq6sLzPE8URdE0VdV14XmeJ4qiaJqq6roQRVE0TdNUTVV1XSCKpmmaqqqqrgtETxRNU1Vd13WB54miaaqqq7ouEE3TVFVVdV1ZBpimaaqq68oyQFVV1XVdV5YBqqqqruu6sgxQVdd1XVmWZQCu67qyLMsCAAAOHAAAAoygk4wqi7DRhAsPQKEhKwKAKAAAwBimFFPKMCYhpBAaxiSEFEImJaXSUqogpFJSKRWEVEoqJaOUUmopVRBSKamUCkIqJZVSAADYgQMA2IGFUGjISgAgDwCAMEYpxhhzTiKkFGPOOScRUoox55yTSjHmnHPOSSkZc8w556SUzjnnnHNSSuacc845KaVzzjnnnJRSSuecc05KKSWEzkEnpZTSOeecEwAAVOAAABBgo8jmBCNBhYasBABSAQAMjmNZmuZ5omialiRpmud5niiapiZJmuZ5nieKqsnzPE8URdE0VZXneZ4oiqJpqirXFUXTNE1VVV2yLIqmaZqq6rowTdNUVdd1XZimaaqq67oubFtVVdV1ZRm2raqq6rqyDFzXdWXZloEsu67s2rIAAPAEBwCgAhtWRzgpGgssNGQlAJABAEAYg5BCCCFlEEIKIYSUUggJAAAYcAAACDChDBQashIASAUAAIyx1lprrbXWQGettdZaa62AzFprrbXWWmuttdZaa6211lJrrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmstpZRSSimllFJKKaWUUkoppZRSSgUA+lU4APg/2LA6wknRWGChISsBgHAAAMAYpRhzDEIppVQIMeacdFRai7FCiDHnJKTUWmzFc85BKCGV1mIsnnMOQikpxVZjUSmEUlJKLbZYi0qho5JSSq3VWIwxqaTWWoutxmKMSSm01FqLMRYjbE2ptdhqq7EYY2sqLbQYY4zFCF9kbC2m2moNxggjWywt1VprMMYY3VuLpbaaizE++NpSLDHWXAAAd4MDAESCjTOsJJ0VjgYXGrISAAgJACAQUooxxhhzzjnnpFKMOeaccw5CCKFUijHGnHMOQgghlIwx5pxzEEIIIYRSSsaccxBCCCGEkFLqnHMQQgghhBBKKZ1zDkIIIYQQQimlgxBCCCGEEEoopaQUQgghhBBCCKmklEIIIYRSQighlZRSCCGEEEIpJaSUUgohhFJCCKGElFJKKYUQQgillJJSSimlEkoJJYQSUikppRRKCCGUUkpKKaVUSgmhhBJKKSWllFJKIYQQSikFAAAcOAAABBhBJxlVFmGjCRcegEJDVgIAZAAAkKKUUiktRYIipRikGEtGFXNQWoqocgxSzalSziDmJJaIMYSUk1Qy5hRCDELqHHVMKQYtlRhCxhik2HJLoXMOAAAAQQCAgJAAAAMEBTMAwOAA4XMQdAIERxsAgCBEZohEw0JweFAJEBFTAUBigkIuAFRYXKRdXECXAS7o4q4DIQQhCEEsDqCABByccMMTb3jCDU7QKSp1IAAAAAAADADwAACQXAAREdHMYWRobHB0eHyAhIiMkAgAAAAAABcAfAAAJCVAREQ0cxgZGhscHR4fICEiIyQBAIAAAgAAAAAggAAEBAQAAAAAAAIAAAAEBB9DtnUBAAAAAAAEPueBAKOFggAAgACjzoEAA4BwBwCdASqwAJAAAEcIhYWIhYSIAgIABhwJ7kPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99YAD+/6tQgKOFggADgAqjhYIAD4AOo4WCACSADqOZgQArADECAAEQEAAYABhYL/QACIBDmAYAAKOFggA6gA6jhYIAT4AOo5mBAFMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAGSADqOFggB6gA6jmYEAewAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAj4AOo5mBAKMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAKSADqOFggC6gA6jmYEAywAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAz4AOo4WCAOSADqOZgQDzADECAAEQEAAYABhYL/QACIBDmAYAAKOFggD6gA6jhYIBD4AOo5iBARsAEQIAARAQFGAAYWC/0AAiAQ5gGACjhYIBJIAOo4WCATqADqOZgQFDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggFPgA6jhYIBZIAOo5mBAWsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAXqADqOFggGPgA6jmYEBkwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIBpIAOo4WCAbqADqOZgQG7ADECAAEQEAAYABhYL/QACIBDmAYAAKOFggHPgA6jmYEB4wAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIB5IAOo4WCAfqADqOZgQILADECAAEQEAAYABhYL/QACIBDmAYAAKOFggIPgA6jhYICJIAOo5mBAjMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAjqADqOFggJPgA6jmYECWwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYICZIAOo4WCAnqADqOZgQKDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggKPgA6jhYICpIAOo5mBAqsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCArqADqOFggLPgA6jmIEC0wARAgABEBAUYABhYL/QACIBDmAYAKOFggLkgA6jhYIC+oAOo5mBAvsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAw+ADqOZgQMjADECAAEQEAAYABhYL/QACIBDmAYAAKOFggMkgA6jhYIDOoAOo5mBA0sAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA0+ADqOFggNkgA6jmYEDcwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIDeoAOo4WCA4+ADqOZgQObADECAAEQEAAYABhYL/QACIBDmAYAAKOFggOkgA6jhYIDuoAOo5mBA8MAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA8+ADqOFggPkgA6jhYID+oAOo4WCBA+ADhxTu2sBAAAAAAAAEbuPs4EDt4r3gQHxghEr8IEK"),this._addSourceToVideo(this.noSleepVideo,"mp4","data:video/mp4;base64,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"),this.noSleepVideo.addEventListener("loadedmetadata",(()=>{this.noSleepVideo.duration<=1?this.noSleepVideo.setAttribute("loop",""):this.noSleepVideo.addEventListener("timeupdate",(()=>{this.noSleepVideo.currentTime>.5&&(this.noSleepVideo.currentTime=Math.random())}))})))}_addSourceToVideo(e,t,i){var r=document.createElement("source");r.src=i,r.type=`video/${t}`,e.appendChild(r)}get isEnabled(){return this.enabled}enable(){const e=this.player.debug;if(bt())return navigator.wakeLock.request("screen").then((t=>{this._wakeLock=t,this.enabled=!0,e.log("wakeLock","Wake Lock active."),this._wakeLock.addEventListener("release",(()=>{e.log("wakeLock","Wake Lock released.")}))})).catch((t=>{throw this.enabled=!1,e.error("wakeLock",`${t.name}, ${t.message}`),t}));if(ft())return this.disable(),this.noSleepTimer=window.setInterval((()=>{document.hidden||(window.location.href=window.location.href.split("#")[0],window.setTimeout(window.stop,0))}),15e3),this.enabled=!0,Promise.resolve();return this.noSleepVideo.play().then((e=>(this.enabled=!0,e))).catch((e=>{throw this.enabled=!1,e}))}disable(){const e=this.player.debug;bt()?(this._wakeLock&&this._wakeLock.release(),this._wakeLock=null):ft()?this.noSleepTimer&&(e.warn("wakeLock","NoSleep now disabled for older iOS devices."),window.clearInterval(this.noSleepTimer),this.noSleepTimer=null):this.noSleepVideo.pause(),this.enabled=!1}}class vt extends Ve{constructor(e,t){var i;super(),this.$container=e,this._opt=Object.assign({},h,t),this.debug=new ge(this),this.debug.log("Player","init"),this._opt.forceNoOffscreen=!0,(Re()||/ipad|android(?!.*mobile)|tablet|kindle|silk/i.test(window.navigator.userAgent.toLowerCase()))&&(this.debug.log("Player","isMobile and set _opt.controlAutoHide false"),this._opt.controlAutoHide=!1),this._opt.autoUseSystemFullScreen&&(fe.isEnabled&&this._opt.useWebFullScreen&&(this.debug.log("Player","screenfull.isEnabled is true and _opt.useWebFullScreen is true , set _opt.useWebFullScreen false"),this._opt.useWebFullScreen=!1),Oe(fe.isEnabled)&&Oe(this._opt.useWebFullScreen)&&(this.debug.log("Player","screenfull.isEnabled is false and _opt.useWebFullScreen is false , set _opt.useWebFullScreen true"),this._opt.useWebFullScreen=!0)),this._opt.useWCS&&(this._opt.useWCS="VideoEncoder"in window),this._opt.useMSE&&(this._opt.useMSE=window.MediaSource&&window.MediaSource.isTypeSupported(_)),this._opt.wcsUseVideoRender&&(this._opt.wcsUseVideoRender=window.MediaStreamTrackGenerator&&"function"==typeof window.MediaStreamTrackGenerator),this._opt.useMSE&&(this._opt.useWCS&&this.debug.log("Player","useWCS set true->false"),this._opt.forceNoOffscreen||this.debug.log("Player","forceNoOffscreen set false->true"),this._opt.useWCS=!1,this._opt.forceNoOffscreen=!0),this._opt.forceNoOffscreen||("undefined"==typeof OffscreenCanvas?(this._opt.forceNoOffscreen=!0,this._opt.useOffscreen=!1):this._opt.useOffscreen=!0),this._opt.hasAudio||(this._opt.operateBtns.audio=!1),this._opt.hasControl=this._hasControl(),this._loading=!1,this._playing=!1,this._hasLoaded=!1,this._destroyed=!1,this._closed=!1,this._checkHeartTimeout=null,this._checkLoadingTimeout=null,this._checkStatsInterval=null,this._startBpsTime=null,this._isPlayingBeforePageHidden=!1,this._stats={buf:0,fps:0,abps:0,vbps:0,ts:0},this._times={playInitStart:"",playStart:"",streamStart:"",streamResponse:"",demuxStart:"",decodeStart:"",videoStart:"",playTimestamp:"",streamTimestamp:"",streamResponseTimestamp:"",demuxTimestamp:"",decodeTimestamp:"",videoTimestamp:"",allTimestamp:""},this._videoTimestamp=0,this._audioTimestamp=0,i=this,Object.defineProperty(i,"rect",{get:()=>{const e=i.$container.getBoundingClientRect();return e.width=Math.max(e.width,i.$container.clientWidth),e.height=Math.max(e.height,i.$container.clientHeight),e}}),["bottom","height","left","right","top","width"].forEach((e=>{Object.defineProperty(i,e,{get:()=>i.rect[e]})})),this.events=new me(this),this.video=new ze(this),this._opt.hasAudio&&(this.audio=new Xe(this)),this.recorder=new et(this),this._onlyMseOrWcsVideo()?this.loaded=!0:this.decoderWorker=new tt(this),this.stream=null,this.demux=null,this._lastVolume=null,this._opt.useWCS&&(this.webcodecsDecoder=new dt(this),this.loaded=!0),this._opt.useMSE&&(this.mseDecoder=new mt(this),this.loaded=!0),this.control=new pt(this),Re()&&(this.keepScreenOn=new yt(this)),(e=>{try{const t=t=>{je(t)===e.$container&&(e.emit(L.fullscreen,e.fullscreen),e.fullscreen?e._opt.useMSE&&e.resize():e.resize())};fe.on("change",t),e.events.destroys.push((()=>{fe.off("change",t)}))}catch(e){}if(e.on(j.decoderWorkerInit,(()=>{e.debug.log("player","has loaded"),e.loaded=!0})),e.on(j.play,(()=>{e.loading=!1})),e.on(j.fullscreen,(t=>{if(t)try{fe.request(e.$container).then((()=>{})).catch((t=>{Re()&&e._opt.useWebFullScreen&&(e.webFullscreen=!0)}))}catch(t){Re()&&e._opt.useWebFullScreen&&(e.webFullscreen=!0)}else try{fe.exit().then((()=>{e.webFullscreen&&(e.webFullscreen=!1)})).catch((()=>{e.webFullscreen=!1}))}catch(t){e.webFullscreen=!1}})),Re()&&e.on(j.webFullscreen,(t=>{t?e.$container.classList.add("jessibuca-fullscreen-web"):e.$container.classList.remove("jessibuca-fullscreen-web"),e.emit(L.fullscreen,e.fullscreen)})),e.on(j.resize,(()=>{e.video&&e.video.resize()})),e._opt.debug){const t=[j.timeUpdate],i=[j.stats,j.playToRenderTimes,j.audioInfo,j.videoInfo];Object.keys(j).forEach((r=>{e.on(j[r],(o=>{t.includes(r)||(i.includes(r)&&(o=JSON.stringify(o)),e.debug.log("player events",j[r],o))}))})),Object.keys(F).forEach((t=>{e.on(F[t],(i=>{e.debug.log("player event error",F[t],i)}))}))}})(this),(e=>{const{_opt:t,debug:i,events:{proxy:r}}=e;t.supportDblclickFullscreen&&r(e.$container,"dblclick",(t=>{const i=je(t).nodeName.toLowerCase();"canvas"!==i&&"video"!==i||(e.fullscreen=!e.fullscreen)})),r(document,"visibilitychange",(()=>{t.hiddenAutoPause&&(i.log("visibilitychange",document.visibilityState,e._isPlayingBeforePageHidden),"visible"===document.visibilityState?e._isPlayingBeforePageHidden&&e.play():(e._isPlayingBeforePageHidden=e.playing,e.playing&&e.pause()))})),r(window,"fullscreenchange",(()=>{null!==e.keepScreenOn&&"visible"===document.visibilityState&&e.enableWakeLock()}))})(this),this.debug.log("Player","init and version is",u),this._opt.useWCS&&this.debug.log("Player","use WCS"),this._opt.useMSE&&this.debug.log("Player","use MSE"),this._opt.useOffscreen&&this.debug.log("Player","use offscreen");try{this.debug.log("Player options",JSON.stringify(this._opt))}catch(e){}}async destroy(){this._destroyed=!0,this._loading=!1,this._playing=!1,this._hasLoaded=!1,this._lastVolume=null,this._times={playInitStart:"",playStart:"",streamStart:"",streamResponse:"",demuxStart:"",decodeStart:"",videoStart:"",playTimestamp:"",streamTimestamp:"",streamResponseTimestamp:"",demuxTimestamp:"",decodeTimestamp:"",videoTimestamp:"",allTimestamp:""},this.decoderWorker&&(await this.decoderWorker.destroy(),this.decoderWorker=null),this.video&&(this.video.destroy(),this.video=null),this.audio&&(this.audio.destroy(),this.audio=null),this.stream&&(await this.stream.destroy(),this.stream=null),this.recorder&&(this.recorder.destroy(),this.recorder=null),this.control&&(this.control.destroy(),this.control=null),this.webcodecsDecoder&&(this.webcodecsDecoder.destroy(),this.webcodecsDecoder=null),this.mseDecoder&&(this.mseDecoder.destroy(),this.mseDecoder=null),this.demux&&(this.demux.destroy(),this.demux=null),this.events&&(this.events.destroy(),this.events=null),this.clearCheckHeartTimeout(),this.clearCheckLoadingTimeout(),this.clearStatsInterval(),this.releaseWakeLock(),this.keepScreenOn=null,this.resetStats(),this._audioTimestamp=0,this._videoTimestamp=0,this.emit("destroy"),this.off(),this.debug.log("play","destroy end")}set fullscreen(e){Re()&&this._opt.useWebFullScreen?(this.emit(j.webFullscreen,e),setTimeout((()=>{this.updateOption({rotate:e?270:0}),this.resize()}),10)):this.emit(j.fullscreen,e)}get fullscreen(){return fe.isFullscreen||this.webFullscreen}set webFullscreen(e){this.emit(j.webFullscreen,e)}get webFullscreen(){return this.$container.classList.contains("jessibuca-fullscreen-web")}set loaded(e){this._hasLoaded=e}get loaded(){return this._hasLoaded}set playing(e){e&&(this.loading=!1),this.playing!==e&&(this._playing=e,this.emit(j.playing,e),this.emit(j.volumechange,this.volume),e?this.emit(j.play):this.emit(j.pause))}get playing(){return this._playing}get volume(){return this.audio&&this.audio.volume||0}set volume(e){e!==this.volume&&(this.audio&&this.audio.setVolume(e),this._lastVolume=e)}get lastVolume(){return this._lastVolume}set loading(e){this.loading!==e&&(this._loading=e,this.emit(j.loading,this._loading))}get loading(){return this._loading}set recording(e){e?this.playing&&this.recorder&&this.recorder.startRecord():this.recorder&&this.recorder.stopRecordAndSave()}get recording(){return!!this.recorder&&this.recorder.recording}set audioTimestamp(e){null!==e&&(this._audioTimestamp=e)}get audioTimestamp(){return this._audioTimestamp}set videoTimestamp(e){null!==e&&(this._videoTimestamp=e,this._opt.useWCS||this._opt.useMSE||this.audioTimestamp&&this.videoTimestamp&&this.audio&&this.audio.emit(j.videoSyncAudio,{audioTimestamp:this.audioTimestamp,videoTimestamp:this.videoTimestamp,diff:this.audioTimestamp-this.videoTimestamp}))}get videoTimestamp(){return this._videoTimestamp}get isDebug(){return!0===this._opt.debug}updateOption(e){this._opt=Object.assign({},this._opt,e)}init(){return new Promise(((e,t)=>{this.stream||(this.stream=new Ke(this)),this.audio||this._opt.hasAudio&&(this.audio=new Xe(this)),this.demux||(this.demux=new st(this)),this._opt.useWCS&&(this.webcodecsDecoder||(this.webcodecsDecoder=new dt(this))),this._opt.useMSE&&(this.mseDecoder||(this.mseDecoder=new mt(this))),this.decoderWorker||this._onlyMseOrWcsVideo()?e():(this.decoderWorker=new tt(this),this.debug.log("Player","waiting decoderWorker init"),this.once(j.decoderWorkerInit,(()=>{this.debug.log("Player","decoderWorker init success"),this.loaded=!0,e()})))}))}play(e,t){return new Promise(((i,r)=>{if(!e&&!this._opt.url)return r();this._closed=!1,this.loading=!0,this.playing=!1,this._times.playInitStart=ve(),e||(e=this._opt.url),this._opt.url=e,this.clearCheckHeartTimeout(),this.init().then((()=>{this._times.playStart=ve(),this._opt.isNotMute&&this.mute(!1),this.webcodecsDecoder&&this.webcodecsDecoder.once(F.webcodecsH265NotSupport,(()=>{this.emit(F.webcodecsH265NotSupport),this._opt.autoWasm||this.emit(j.error,F.webcodecsH265NotSupport)})),this.mseDecoder&&(this.mseDecoder.once(F.mediaSourceH265NotSupport,(()=>{this.emit(F.mediaSourceH265NotSupport),this._opt.autoWasm||this.emit(j.error,F.mediaSourceH265NotSupport)})),this.mseDecoder.once(F.mediaSourceFull,(()=>{this.emitError(F.mediaSourceFull)})),this.mseDecoder.once(F.mediaSourceAppendBufferError,(()=>{this.emitError(F.mediaSourceAppendBufferError)})),this.mseDecoder.once(F.mediaSourceBufferListLarge,(()=>{this.emitError(F.mediaSourceBufferListLarge)})),this.mseDecoder.once(F.mediaSourceAppendBufferEndTimeout,(()=>{this.emitError(F.mediaSourceAppendBufferEndTimeout)}))),this.enableWakeLock(),this.stream.fetchStream(e,t),this.checkLoadingTimeout(),this.stream.once(F.fetchError,(e=>{this.emitError(F.fetchError,e)})),this.stream.once(F.websocketError,(e=>{this.emitError(F.websocketError,e)})),this.stream.once(j.streamEnd,(e=>{this.emitError(j.streamEnd,e)})),this.stream.once(j.streamSuccess,(()=>{i(),this._times.streamResponse=ve(),this.video.play(),this.checkStatsInterval()}))})).catch((e=>{r(e)}))}))}close(){return new Promise(((e,t)=>{this._close().then((()=>{this.video&&this.video.clearView(),e()}))}))}resumeAudioAfterPause(){this.lastVolume&&(this.volume=this.lastVolume)}_close(){return new Promise(((e,t)=>{this._closed=!0,this.stream&&(this.stream.destroy(),this.stream=null),this.demux&&(this.demux.destroy(),this.demux=null),this.decoderWorker&&(this.decoderWorker.destroy(),this.decoderWorker=null),this.webcodecsDecoder&&(this.webcodecsDecoder.destroy(),this.webcodecsDecoder=null),this.mseDecoder&&(this.mseDecoder.destroy(),this.mseDecoder=null),this.audio&&(this.audio.destroy(),this.audio=null),this.clearCheckHeartTimeout(),this.clearCheckLoadingTimeout(),this.clearStatsInterval(),this.playing=!1,this.loading=!1,this.recording=!1,this.video&&(this.video.resetInit(),this.video.pause(!0)),this.releaseWakeLock(),this.resetStats(),this._audioTimestamp=0,this._videoTimestamp=0,this._times={playInitStart:"",playStart:"",streamStart:"",streamResponse:"",demuxStart:"",decodeStart:"",videoStart:"",playTimestamp:"",streamTimestamp:"",streamResponseTimestamp:"",demuxTimestamp:"",decodeTimestamp:"",videoTimestamp:"",allTimestamp:""},setTimeout((()=>{e()}),0)}))}pause(){return arguments.length>0&&void 0!==arguments[0]&&arguments[0]?this.close():this._close()}mute(e){if(this.audio){const t=this.audio.getLastVolume();this.audio.mute(e),this._lastVolume=e?0:t||.5}}resize(){this.video.resize()}startRecord(e,t){this.recording||(this.recorder.setFileName(e,t),this.recording=!0)}stopRecordAndSave(){this.recording&&(this.recording=!1)}_hasControl(){let e=!1,t=!1;return Object.keys(this._opt.operateBtns).forEach((e=>{this._opt.operateBtns[e]&&(t=!0)})),(this._opt.showBandwidth||this._opt.text||t)&&(e=!0),e}_onlyMseOrWcsVideo(){return!1===this._opt.hasAudio&&(this._opt.useMSE||this._opt.useWCS&&!this._opt.useOffscreen)}checkHeart(){this.clearCheckHeartTimeout(),this.checkHeartTimeout()}checkHeartTimeout(){this._checkHeartTimeout=setTimeout((()=>{if(this.playing){if(0!==this._stats.fps)return;if(this.isDestroyedOrClosed())return;this.pause().then((()=>{this.emit(j.timeout,j.delayTimeout),this.emit(j.delayTimeout)}))}}),1e3*this._opt.heartTimeout)}checkStatsInterval(){this._checkStatsInterval=setInterval((()=>{this.updateStats()}),1e3)}clearCheckHeartTimeout(){this._checkHeartTimeout&&(clearTimeout(this._checkHeartTimeout),this._checkHeartTimeout=null)}checkLoadingTimeout(){this._checkLoadingTimeout=setTimeout((()=>{this.playing||this.isDestroyedOrClosed()||this.pause().then((()=>{this.emit(j.timeout,j.loadingTimeout),this.emit(j.loadingTimeout)}))}),1e3*this._opt.loadingTimeout)}clearCheckLoadingTimeout(){this._checkLoadingTimeout&&(clearTimeout(this._checkLoadingTimeout),this._checkLoadingTimeout=null)}clearStatsInterval(){this._checkStatsInterval&&(clearInterval(this._checkStatsInterval),this._checkStatsInterval=null)}handleRender(){this.isDestroyedOrClosed()||(this.loading&&(this.emit(j.start),this.loading=!1,this.clearCheckLoadingTimeout()),this.playing||(this.playing=!0),this.checkHeart())}updateStats(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.isDestroyedOrClosed())return;this._startBpsTime||(this._startBpsTime=ve()),xe(e.ts)&&(this._stats.ts=e.ts),xe(e.buf)&&(this._stats.buf=e.buf),e.fps&&(this._stats.fps+=1),e.abps&&(this._stats.abps+=e.abps),e.vbps&&(this._stats.vbps+=e.vbps);const t=ve();t-this._startBpsTime<1e3||(this.emit(j.stats,this._stats),this.emit(j.performance,function(e){let t=0;return e>=24?t=2:e>=15&&(t=1),t}(this._stats.fps)),this._stats.fps=0,this._stats.abps=0,this._stats.vbps=0,this._startBpsTime=t)}resetStats(){this._startBpsTime=null,this._stats={buf:0,fps:0,abps:0,vbps:0,ts:0}}enableWakeLock(){this._opt.keepScreenOn&&this.keepScreenOn&&this.keepScreenOn.enable()}releaseWakeLock(){this._opt.keepScreenOn&&this.keepScreenOn&&this.keepScreenOn.disable()}handlePlayToRenderTimes(){if(this.isDestroyedOrClosed())return;const e=this._times;e.playTimestamp=e.playStart-e.playInitStart,e.streamTimestamp=e.streamStart-e.playStart,e.streamResponseTimestamp=e.streamResponse-e.streamStart,e.demuxTimestamp=e.demuxStart-e.streamResponse,e.decodeTimestamp=e.decodeStart-e.demuxStart,e.videoTimestamp=e.videoStart-e.decodeStart,e.allTimestamp=e.videoStart-e.playInitStart,this.emit(j.playToRenderTimes,e)}getOption(){return this._opt}emitError(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";this.emit(j.error,e,t),this.emit(e,t)}isControlBarShow(){const e=this._opt.hasControl,t=this._opt.controlAutoHide;let i=e&&!t;return i&&this.control&&(i=this.control.getBarIsShow()),i}getControlBarShow(){let e=!1;return this.control&&(e=this.control.getBarIsShow()),e}toggleControlBar(e){this.control&&(this.control.toggleBar(e),this.resize())}isDestroyed(){return this._destroyed}isClosed(){return this._closed}isDestroyedOrClosed(){return this.isDestroyed()||this.isClosed()}}class wt extends Ve{constructor(e){super();let t=e,i=e.container;if("string"==typeof e.container&&(i=document.querySelector(e.container)),!i)throw new Error("Jessibuca need container option");if("CANVAS"===i.nodeName||"VIDEO"===i.nodeName)throw new Error(`Jessibuca container type can not be ${i.nodeName} type`);if(t.videoBuffer>=t.heartTimeout)throw new Error(`Jessibuca videoBuffer ${t.videoBuffer}s must be less than heartTimeout ${t.heartTimeout}s`);if(this._checkHasCreated(i))throw new Error("Jessibuca container has been created and can not be created again",i);if(t.videoBuffer>10&&console.warn("Jessibuca",`videoBuffer ${t.videoBuffer}s is too long, will black screen for ${t.videoBuffer}s , it is recommended to set it to less than 10s`),!i.classList)throw new Error("Jessibuca container option must be DOM Element");var r,o,s;i.classList.add("jessibuca-container"),r=i,o=l,s="xxxxxxxxxxxx4xxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)})),r&&(r.dataset?r.dataset[o]=s:r.setAttribute("data-"+o,s)),delete t.container,t.forceNoOffscreen=!0,Re()&&(t.controlAutoHide=!1),xe(t.videoBuffer)&&(t.videoBuffer=1e3*Number(t.videoBuffer)),xe(t.timeout)&&(Te(t.loadingTimeout)&&(t.loadingTimeout=t.timeout),Te(t.heartTimeout)&&(t.heartTimeout=t.timeout)),this._opt=t,this.$container=i,this._loadingTimeoutReplayTimes=0,this._heartTimeoutReplayTimes=0,this.initDecoderWorkerTimeout=null,this._destroyed=!1,this.events=new me(this),this.debug=new ge(this),this._initPlayer(i,t),console.log('Jessibuca version: "3.3.15"')}async destroy(){var e,t;this._destroyed=!0,this.off(),this._clearInitDecoderWorkerTimeout(),this.player&&(await this.player.destroy(),this.player=null),this.events&&(this.events.destroy(),this.events=null),this.$container&&(this.$container.classList.remove("jessibuca-container"),this.$container.classList.remove("jessibuca-fullscreen-web"),e=this.$container,t=l,e&&(e.dataset?delete e.dataset[t]:e.removeAttribute("data-"+t)),this.$container=null),this._opt={},this._loadingTimeoutReplayTimes=0,this._heartTimeoutReplayTimes=0}_initPlayer(e,t){this.player=new vt(e,t);try{this.debug.log("jessibuca","_initPlayer",JSON.stringify(this.player.getOption()))}catch(e){}this._bindEvents()}_resetPlayer(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.player.destroy(),this.player=null,this._opt=Object.assign(this._opt,e),this._opt.url="",this._initPlayer(this.$container,this._opt)}_bindEvents(){Object.keys(L).forEach((e=>{this.player.on(L[e],(t=>{this.emit(e,t)}))}))}isDestroyed(){return this._destroyed}setDebug(e){this.player.updateOption({debug:!!e})}mute(){this.player.mute(!0)}cancelMute(){this.player.mute(!1)}setVolume(e){this.player.volume=e}audioResume(){this.player.audio&&this.player.audio.audioEnabled(!0)}setTimeout(e){e=Number(e),this.player.updateOption({timeout:e,loadingTimeout:e,heartTimeout:e})}setScaleMode(e){let t={isFullResize:!1,isResize:!1};switch(e=Number(e)){case N:t.isFullResize=!1,t.isResize=!1;break;case H:t.isFullResize=!1,t.isResize=!0;break;case z:t.isFullResize=!0,t.isResize=!0}this.player.updateOption(t),this.resize()}pause(){return new Promise(((e,t)=>{this.player?this.player.pause().then((()=>{e()})).catch((e=>{t(e)})):t("player is null")}))}async close(){return await this.destroy(),!0}clearView(){this.player.video.clearView()}play(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,r)=>{if(!this.isDestroyed())return e||this._opt.url?void(e?this._opt.url?e===this._opt.url?this.player.playing?i():(this.clearView(),this.player.play(this._opt.url,this._opt.playOptions).then((()=>{i(),this.player.resumeAudioAfterPause()})).catch((e=>{this.debug.warn("jessibuca","pause -> play and play error",e),this.player.pause().then((()=>{r(e)}))}))):this.player.pause().then((()=>{this.clearView(),this._play(e,t).then((()=>{i()})).catch((e=>{this.debug.warn("jessibuca","this._play error",e),r(e)}))})).catch((e=>{this.debug.warn("jessibuca","this._opt.url is null and pause error",e),r(e)})):this._play(e,t).then((()=>{i()})).catch((e=>{this.debug.warn("jessibuca","this._play error",e),r(e)})):this.player.play(this._opt.url,this._opt.playOptions).then((()=>{i(),this.player.resumeAudioAfterPause()})).catch((e=>{this.debug.warn("jessibuca","url is null and play error",e),this.player.pause().then((()=>{r(e)}))}))):(this.emit(j.error,F.playError),void r("play url is empty"));r("Jessibuca is destroyed")}))}_play(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,r)=>{this._opt.url=e,this._opt.playOptions=t;const o=0===e.indexOf("http"),d=o?a:s,c=o||-1!==e.indexOf(".flv")||this.player._opt.isFlv?n:A;this.player.updateOption({protocol:d,demuxType:c}),this.player.once(F.webglAlignmentError,(()=>{this.pause().then((()=>{this.debug.log("Jessibuca","webglAlignmentError"),this._resetPlayer({openWebglAlignment:!0}),this.play(e,t).then((()=>{this.debug.log("Jessibuca","webglAlignmentError and play success")})).catch((()=>{this.debug.log("Jessibuca","webglAlignmentError and play error")}))}))})),this.player.once(F.webglContextLostError,(()=>{this.pause().then((()=>{this.debug.log("Jessibuca","webglContextLostError and paused")})).catch((()=>{this.debug.warn("Jessibuca","webglContextLostError and paused error")}))})),this.player.once(F.webglInitError,(()=>{this.pause().then((()=>{this.debug.log("Jessibuca","webglInitError and paused")})).catch((()=>{this.debug.warn("Jessibuca","webglInitError and paused error")}))})),this.player.once(F.mediaSourceH265NotSupport,(()=>{this.pause().then((()=>{this.player._opt.autoWasm?(this.debug.log("Jessibuca","auto wasm [mse-> wasm] reset player and play"),this._resetPlayer({useMSE:!1,useWCS:!1}),this.play(e,t).then((()=>{this.debug.log("Jessibuca","auto wasm [mse-> wasm] reset player and play success")})).catch((()=>{this.debug.log("Jessibuca","auto wasm [mse-> wasm] reset player and play error")}))):this.debug.log("Jessibuca","media source h265 not support and paused")}))})),this.player.once(F.mediaSourceFull,(()=>{this.pause().then((()=>{this.debug.log("Jessibuca","media source full"),this._resetPlayer(),this.play(e,t).then((()=>{this.debug.log("Jessibuca","media source full and reset player and play success")})).catch((()=>{this.debug.warn("Jessibuca","media source full and reset player and play error")}))}))})),this.player.once(F.mediaSourceAppendBufferError,(()=>{this.pause().then((()=>{this.debug.log("Jessibuca","media source append buffer error"),this._resetPlayer(),this.play(e,t).then((()=>{this.debug.log("Jessibuca","media source append buffer error and reset player and play success")})).catch((()=>{this.debug.warn("Jessibuca","media source append buffer error and reset player and play error")}))}))})),this.player.once(F.mediaSourceBufferListLarge,(()=>{this.pause().then((()=>{this.debug.log("Jessibuca","media source buffer list large"),this._resetPlayer(),this.play(e,t).then((()=>{this.debug.log("Jessibuca","media source buffer list large and reset player and play success")})).catch((()=>{this.debug.warn("Jessibuca","media source buffer list large and reset player and play error")}))}))})),this.player.once(F.mediaSourceAppendBufferEndTimeout,(()=>{this.pause().then((()=>{this.debug.log("Jessibuca","media source append buffer end timeout"),this._resetPlayer(),this.play(e,t).then((()=>{this.debug.log("Jessibuca","media source append buffer end timeout and reset player and play success")})).catch((()=>{this.debug.warn("Jessibuca","media source append buffer end timeout and reset player and play error")}))}))})),this.player.once(F.mseSourceBufferError,(()=>{this.pause().then((()=>{this.player._opt.autoWasm?(this.debug.log("Jessibuca","auto wasm [mse-> wasm] reset player and play"),this._resetPlayer({useMSE:!1}),this.play(e,t).then((()=>{this.debug.log("Jessibuca","auto wasm [mse-> wasm] reset player and play success")})).catch((()=>{this.debug.warn("Jessibuca","auto wasm [mse-> wasm] reset player and play error")}))):this.debug.log("Jessibuca","mse source buffer error and paused")}))})),this.player.once(F.webcodecsH265NotSupport,(()=>{this.pause().then((()=>{this.player._opt.autoWasm?(this.debug.log("Jessibuca","auto wasm [wcs-> wasm] reset player and play"),this._resetPlayer({useWCS:!1,useMSE:!1}),this.play(e,t).then((()=>{this.debug.log("Jessibuca","auto wasm [wcs-> wasm] reset player and play success")})).catch((()=>{this.debug.warn("Jessibuca","auto wasm [wcs-> wasm] reset player and play error")}))):this.debug.log("Jessibuca","webcodecs h265 not support and paused")}))})),this.player.once(F.webcodecsWidthOrHeightChange,(()=>{this.pause().then((()=>{this.debug.log("Jessibuca","webcodecs Width Or Height Change reset player and play"),this._resetPlayer({useWCS:!0}),this.play(e,t).then((()=>{this.debug.log("Jessibuca","webcodecs Width Or Height Change reset player and play success")})).catch((()=>{this.debug.warn("Jessibuca","webcodecs Width Or Height Change reset player and play error")}))}))})),this.player.once(F.webcodecsDecodeError,(()=>{this.pause().then((()=>{this.player._opt.autoWasm?(this.debug.log("Jessibuca","webcodecs decode error reset player and play"),this._resetPlayer({useWCS:!1}),this.play(e,t).then((()=>{this.debug.log("Jessibuca","webcodecs decode error reset player and play success")})).catch((()=>{this.debug.warn("Jessibuca","webcodecs decode error reset player and play error")}))):this.debug.log("Jessibuca","webcodecs decode error and paused")}))})),this.player.once(F.webcodecsConfigureError,(()=>{this.pause().then((()=>{this.player._opt.autoWasm?(this.debug.log("Jessibuca","webcodecs Configure error reset player and play"),this._resetPlayer({useWCS:!1}),this.play(e,t).then((()=>{this.debug.log("Jessibuca","webcodecs Configure error reset player and play success")})).catch((()=>{this.debug.warn("Jessibuca","webcodecs Configure error reset player and play error")}))):this.debug.log("Jessibuca","webcodecs Configure error and paused")}))})),this.player.once(F.wasmDecodeError,(()=>{this.player._opt.wasmDecodeErrorReplay?this.pause().then((()=>{this.debug.log("Jessibuca","wasm decode error and reset player and play"),this._resetPlayer({useWCS:!1}),this.play(e,t).then((()=>{this.debug.log("Jessibuca","wasm decode error and reset player and play success")})).catch((e=>{this.debug.warn("Jessibuca","wasm decode error and reset player and play error")}))})):this.pause().then((()=>{this.debug.log("Jessibuca","wasm decode error and paused")})).catch((e=>{this.debug.warn("Jessibuca","wasm decode error and paused error",e)}))})),this.player.once(F.fetchError,(()=>{this.pause().then((()=>{this.debug.log("Jessibuca","fetch error and pause play")})).catch((e=>{this.debug.warn("Jessibuca","fetch error and pause play error",e)}))})),this.player.once(F.websocketError,(()=>{this.pause().then((()=>{this.debug.log("Jessibuca","websocket Error and pause play")})).catch((e=>{this.debug.warn("Jessibuca","websocket Error and pause play error",e)}))})),this.player.once(j.streamEnd,(()=>{this.pause().then((()=>{this.debug.log("Jessibuca","stream End and pause play")})).catch((e=>{this.debug.warn("Jessibuca","stream End and pause play error",e)}))})),this.player.on(j.delayTimeout,(()=>{this.player._opt.heartTimeoutReplay&&(this._heartTimeoutReplayTimes{this._heartTimeoutReplayTimes=0})).catch((()=>{})))})),this.player.on(j.loadingTimeout,(()=>{this.player._opt.loadingTimeoutReplay&&(this._loadingTimeoutReplayTimes{this._loadingTimeoutReplayTimes=0})).catch((()=>{})))})),this.hasLoaded()?this.player.play(e,t).then((()=>{i()})).catch((e=>{this.debug.warn("Jessibuca","hasLoaded and play error",e),this.player&&this.player.pause().then((()=>{r(e)}))})):(this.debug.log("Jessibuca","_play ant waiting decoderWorkerInit"),this._checkInitDecoderWorkerTimeout(),this.player.once(j.decoderWorkerInit,(()=>{this._clearInitDecoderWorkerTimeout(),this.isDestroyed()||(this.debug.log("Jessibuca","_play decoderWorkerInit success and play"),this.player.play(e,t).then((()=>{i()})).catch((e=>{this.debug.warn("Jessibuca","decoderWorkerInit and play error",e),this.player&&this.player.pause().then((()=>{r(e)}))})))})))}))}resize(){this.player.resize()}setBufferTime(e){e=Number(e),this.player.updateOption({videoBuffer:1e3*e}),this.player.decoderWorker&&this.player.decoderWorker.updateWorkConfig({key:"videoBuffer",value:1e3*e})}setRotate(e){e=parseInt(e,10);this.player._opt.rotate!==e&&-1!==[0,90,180,270].indexOf(e)&&(this.player.updateOption({rotate:e}),this.resize())}hasLoaded(){return this.player.loaded}setKeepScreenOn(){this.player.updateOption({keepScreenOn:!0})}setFullscreen(e){const t=!!e;this.player.fullscreen!==t&&(this.player.fullscreen=t)}screenshot(e,t,i,r){return this.player.video?this.player.video.screenshot(e,t,i,r):""}startRecord(e,t){return new Promise(((i,r)=>{this.player.playing?(this.player.startRecord(e,t),i()):r()}))}stopRecordAndSave(){this.player.recording&&this.player.stopRecordAndSave()}isPlaying(){return!!this.player&&this.player.playing}isMute(){return!this.player.audio||this.player.audio.isMute}isRecording(){return this.player.recorder.recording}_checkHasCreated(e){if(!e)return!1;const t=function(e,t){return e?e.dataset?e.dataset[t]:e.getAttribute("data-"+t):""}(e,l);return!!t}toggleControlBar(e){this.isDestroyed()||this.player&&this.player.toggleControlBar(e)}getControlBarShow(){if(this.isDestroyed())return!1;let e=!1;return this.player&&(e=this.player.getControlBarShow()),e}_clearInitDecoderWorkerTimeout(){this.initDecoderWorkerTimeout&&(clearTimeout(this.initDecoderWorkerTimeout),this.initDecoderWorkerTimeout=null)}_checkInitDecoderWorkerTimeout(){this._clearInitDecoderWorkerTimeout(),this.initDecoderWorkerTimeout=setTimeout((()=>{this._handleInitDecoderWorkerTimeout()}),1e3*this.player._opt.loadingDecoderWorkerTimeout)}_handleInitDecoderWorkerTimeout(){this.pause().then((()=>{this.debug.log("Jessibuca","init decoder worker timeout and pause play")})).catch((e=>{this.debug.warn("Jessibuca","init decoder worker timeout and pause play error",e)}))}}return o(wt,"ERROR",F),o(wt,"TIMEOUT",{loadingTimeout:j.loadingTimeout,delayTimeout:j.delayTimeout}),window.Jessibuca=wt,wt})); diff --git a/src/demux/m7sLoader.js b/src/demux/m7sLoader.js index 83e2f09c..9bc20aec 100644 --- a/src/demux/m7sLoader.js +++ b/src/demux/m7sLoader.js @@ -11,7 +11,6 @@ export default class M7sLoader extends CommonLoader { destroy() { super.destroy(); this.player.debug.log('M7sDemux', 'destroy') - this.player = null; } dispatch(data) { diff --git a/src/recorder/recordRTCLoader.js b/src/recorder/recordRTCLoader.js index 300759b4..8b9c0e37 100644 --- a/src/recorder/recordRTCLoader.js +++ b/src/recorder/recordRTCLoader.js @@ -13,6 +13,7 @@ export default class RecordRTCLoader extends Emitter { this.isRecording = false; this.recordingTimestamp = 0; this.recordingInterval = null; + this.recorder = null; player.debug.log('Recorder', 'init'); } diff --git a/src/worker/index.js b/src/worker/index.js index 73cbd751..9510776c 100644 --- a/src/worker/index.js +++ b/src/worker/index.js @@ -10,9 +10,12 @@ export default class DecoderWorker { } async destroy() { - this.decoderWorker.postMessage({cmd: WORKER_SEND_TYPE.close}) - this.decoderWorker.terminate(); - this.decoderWorker = null; + if (this.decoderWorker) { + this.decoderWorker.postMessage({cmd: WORKER_SEND_TYPE.close}) + this.decoderWorker.terminate(); + this.decoderWorker = null; + } + this.player.debug.log(`decoderWorker`, 'destroy'); }